mirror of https://github.com/crytic/slither
parent
6368368658
commit
1af07d15bb
@ -0,0 +1,25 @@ |
||||
import json |
||||
from pathlib import Path |
||||
import urllib.request |
||||
|
||||
|
||||
def retrieve_json(url): |
||||
with urllib.request.urlopen(url) as response: |
||||
data = response.read().decode("utf-8") |
||||
return json.loads(data) |
||||
|
||||
|
||||
def organize_data(json_data): |
||||
version_bugs = {} |
||||
for version, info in json_data.items(): |
||||
version_bugs[version] = info["bugs"] |
||||
return version_bugs |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
url = "https://raw.githubusercontent.com/ethereum/solidity/develop/docs/bugs_by_version.json" |
||||
json_data = retrieve_json(url) |
||||
version_bugs = organize_data(json_data) |
||||
|
||||
with open(Path.cwd() / Path("slither/utils/buggy_versions.py"), "w") as file: |
||||
file.write(f"bugs_by_version = {version_bugs}") |
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@ |
||||
Different versions of Solidity are used: |
||||
- Version used: ['^0.4.24', '^0.4.25'] |
||||
- ^0.4.24 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#1) |
||||
- ^0.4.25 (tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol#1) |
||||
2 different versions of Solidity are used: |
||||
- Version constraint ^0.4.25 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol#1 |
||||
- Version constraint ^0.4.24 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol#1 |
||||
|
||||
|
@ -1,5 +1,6 @@ |
||||
Different versions of Solidity are used: |
||||
- Version used: ['^0.5.15', '^0.5.16'] |
||||
- ^0.5.15 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#1) |
||||
- ^0.5.16 (tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol#1) |
||||
2 different versions of Solidity are used: |
||||
- Version constraint ^0.5.16 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol#1 |
||||
- Version constraint ^0.5.15 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol#1 |
||||
|
||||
|
@ -1,5 +1,6 @@ |
||||
Different versions of Solidity are used: |
||||
- Version used: ['^0.6.10', '^0.6.11'] |
||||
- ^0.6.10 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#1) |
||||
- ^0.6.11 (tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol#1) |
||||
2 different versions of Solidity are used: |
||||
- Version constraint ^0.6.11 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol#1 |
||||
- Version constraint ^0.6.10 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol#1 |
||||
|
||||
|
@ -1,5 +1,6 @@ |
||||
Different versions of Solidity are used: |
||||
- Version used: ['^0.7.5', '^0.7.6'] |
||||
- ^0.7.5 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#1) |
||||
- ^0.7.6 (tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol#1) |
||||
2 different versions of Solidity are used: |
||||
- Version constraint ^0.7.6 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol#1 |
||||
- Version constraint ^0.7.5 is used by: |
||||
- tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol#1 |
||||
|
||||
|
@ -1,4 +1,21 @@ |
||||
solc-0.4.25 is not recommended for deployment |
||||
Version constraint 0.4.25 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- DirtyBytesArrayToStorage |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup |
||||
- ImplicitConstructorCallvalueCheck |
||||
- TupleAssignmentMultiStackSlotComponents |
||||
- MemoryArrayCreationOverflow |
||||
- privateCanBeOverridden |
||||
- SignedArrayStorageCopy |
||||
- ABIEncoderV2StorageArrayWithMultiSlotElement |
||||
- DynamicConstructorArgumentsClippedABIV2 |
||||
- UninitializedFunctionPointerInConstructor_0.4.x |
||||
- IncorrectEventSignatureInLibraries_0.4.x |
||||
- ABIEncoderV2PackedStorage_0.4.x. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#1 |
||||
|
||||
Pragma version0.4.25 (tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol#1) allows old versions |
||||
solc-0.4.25 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,19 @@ |
||||
Pragma version^0.5.15 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#1) allows old versions |
||||
Version constraint ^0.5.15 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup |
||||
- MissingEscapingInFormatting |
||||
- ImplicitConstructorCallvalueCheck |
||||
- TupleAssignmentMultiStackSlotComponents |
||||
- MemoryArrayCreationOverflow |
||||
- privateCanBeOverridden |
||||
- YulOptimizerRedundantAssignmentBreakContinue0.5. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol#1 |
||||
|
||||
solc-0.5.16 is not recommended for deployment |
||||
solc-0.5.16 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,21 @@ |
||||
Pragma version>=0.5.0<0.6.0 (tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#1) allows old versions |
||||
Version constraint >=0.5.0<0.6.0 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- DirtyBytesArrayToStorage |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup |
||||
- ImplicitConstructorCallvalueCheck |
||||
- TupleAssignmentMultiStackSlotComponents |
||||
- MemoryArrayCreationOverflow |
||||
- privateCanBeOverridden |
||||
- SignedArrayStorageCopy |
||||
- ABIEncoderV2StorageArrayWithMultiSlotElement |
||||
- DynamicConstructorArgumentsClippedABIV2 |
||||
- UninitializedFunctionPointerInConstructor |
||||
- IncorrectEventSignatureInLibraries |
||||
- ABIEncoderV2PackedStorage. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol#1 |
||||
|
||||
solc-0.5.16 is not recommended for deployment |
||||
solc-0.5.16 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,18 @@ |
||||
solc-0.5.16 is not recommended for deployment |
||||
Version constraint 0.5.16 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup |
||||
- MissingEscapingInFormatting |
||||
- ImplicitConstructorCallvalueCheck |
||||
- TupleAssignmentMultiStackSlotComponents |
||||
- MemoryArrayCreationOverflow |
||||
- privateCanBeOverridden. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#1 |
||||
|
||||
Pragma version0.5.16 (tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol#1) allows old versions |
||||
solc-0.5.16 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,17 @@ |
||||
solc-0.6.10 is not recommended for deployment |
||||
solc-0.6.10 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
Pragma version0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#1) allows old versions |
||||
Version constraint 0.6.10 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- FullInlinerNonExpressionSplitArgumentEvaluationOrder |
||||
- MissingSideEffectsOnSelectorAccess |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- DataLocationChangeInInternalOverride |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- SignedImmutables |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol#1 |
||||
|
||||
|
@ -1,4 +1,17 @@ |
||||
solc-0.6.11 is not recommended for deployment |
||||
Version constraint ^0.6.10 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- FullInlinerNonExpressionSplitArgumentEvaluationOrder |
||||
- MissingSideEffectsOnSelectorAccess |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- DataLocationChangeInInternalOverride |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- SignedImmutables |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#1 |
||||
|
||||
Pragma version^0.6.10 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol#1) allows old versions |
||||
solc-0.6.11 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,19 @@ |
||||
Pragma version>=0.6.0<0.7.0 (tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#1) allows old versions |
||||
Version constraint >=0.6.0<0.7.0 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup |
||||
- MissingEscapingInFormatting |
||||
- ArraySliceDynamicallyEncodedBaseType |
||||
- ImplicitConstructorCallvalueCheck |
||||
- TupleAssignmentMultiStackSlotComponents |
||||
- MemoryArrayCreationOverflow |
||||
- YulOptimizerRedundantAssignmentBreakContinue. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol#1 |
||||
|
||||
solc-0.6.11 is not recommended for deployment |
||||
solc-0.6.11 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,17 @@ |
||||
Pragma version0.6.11 (tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#1) allows old versions |
||||
Version constraint 0.6.11 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- FullInlinerNonExpressionSplitArgumentEvaluationOrder |
||||
- MissingSideEffectsOnSelectorAccess |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- DataLocationChangeInInternalOverride |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- SignedImmutables |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching |
||||
- EmptyByteArrayCopy |
||||
- DynamicArrayCleanup. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol#1 |
||||
|
||||
solc-0.6.11 is not recommended for deployment |
||||
solc-0.6.11 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,15 @@ |
||||
Pragma version0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#1) allows old versions |
||||
Version constraint 0.7.4 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- FullInlinerNonExpressionSplitArgumentEvaluationOrder |
||||
- MissingSideEffectsOnSelectorAccess |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- DataLocationChangeInInternalOverride |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- SignedImmutables |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol#1 |
||||
|
||||
solc-0.7.4 is not recommended for deployment |
||||
solc-0.7.4 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,15 @@ |
||||
Pragma version^0.7.4 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#1) allows old versions |
||||
solc-0.7.6 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
solc-0.7.6 is not recommended for deployment |
||||
Version constraint ^0.7.4 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- FullInlinerNonExpressionSplitArgumentEvaluationOrder |
||||
- MissingSideEffectsOnSelectorAccess |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- DataLocationChangeInInternalOverride |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- SignedImmutables |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol#1 |
||||
|
||||
|
@ -1,4 +1,6 @@ |
||||
Pragma version>=0.7.0<=0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#1) is too complex |
||||
Version constraint >=0.7.0<=0.7.6 is too complex. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol#1 |
||||
|
||||
solc-0.7.6 is not recommended for deployment |
||||
solc-0.7.6 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
@ -1,4 +1,15 @@ |
||||
Pragma version0.7.6 (tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#1) allows old versions |
||||
Version constraint 0.7.6 contain known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) |
||||
- FullInlinerNonExpressionSplitArgumentEvaluationOrder |
||||
- MissingSideEffectsOnSelectorAccess |
||||
- AbiReencodingHeadOverflowWithStaticArrayCleanup |
||||
- DirtyBytesArrayToStorage |
||||
- DataLocationChangeInInternalOverride |
||||
- NestedCalldataArrayAbiReencodingSizeValidation |
||||
- SignedImmutables |
||||
- ABIDecodeTwoDimensionalArrayMemory |
||||
- KeccakCaching. |
||||
It is used by: |
||||
- tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol#1 |
||||
|
||||
solc-0.7.6 is not recommended for deployment |
||||
solc-0.7.6 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. |
||||
|
||||
|
Loading…
Reference in new issue