mirror of https://github.com/crytic/slither
commit
6322e201f6
@ -1,40 +1,60 @@ |
||||
[ |
||||
{ |
||||
"calls": [ |
||||
"msg.sender.send(this.balance)" |
||||
], |
||||
"contract": "Test", |
||||
"filename": "tests/arbitrary_send.sol", |
||||
"function": "direct", |
||||
"sourceMapping": [ |
||||
"check": "arbitrary-send", |
||||
"expressions": [ |
||||
{ |
||||
"expression": "msg.sender.send(this.balance)", |
||||
"source_mapping": { |
||||
"filename": "tests/arbitrary_send.sol", |
||||
"length": 29, |
||||
"lines": [ |
||||
12 |
||||
], |
||||
"start": 174 |
||||
} |
||||
} |
||||
], |
||||
"function": { |
||||
"name": "direct", |
||||
"source_mapping": { |
||||
"filename": "tests/arbitrary_send.sol", |
||||
"length": 29, |
||||
"length": 63, |
||||
"lines": [ |
||||
12 |
||||
11, |
||||
12, |
||||
13 |
||||
], |
||||
"start": 174 |
||||
"start": 147 |
||||
} |
||||
], |
||||
"vuln": "ArbitrarySend" |
||||
} |
||||
}, |
||||
{ |
||||
"calls": [ |
||||
"destination.send(this.balance)" |
||||
], |
||||
"contract": "Test", |
||||
"filename": "tests/arbitrary_send.sol", |
||||
"function": "indirect", |
||||
"sourceMapping": [ |
||||
"check": "arbitrary-send", |
||||
"expressions": [ |
||||
{ |
||||
"expression": "destination.send(this.balance)", |
||||
"source_mapping": { |
||||
"filename": "tests/arbitrary_send.sol", |
||||
"length": 30, |
||||
"lines": [ |
||||
20 |
||||
], |
||||
"start": 307 |
||||
} |
||||
} |
||||
], |
||||
"function": { |
||||
"name": "indirect", |
||||
"source_mapping": { |
||||
"filename": "tests/arbitrary_send.sol", |
||||
"length": 30, |
||||
"length": 66, |
||||
"lines": [ |
||||
20 |
||||
19, |
||||
20, |
||||
21 |
||||
], |
||||
"start": 307 |
||||
"start": 278 |
||||
} |
||||
], |
||||
"vuln": "ArbitrarySend" |
||||
} |
||||
} |
||||
] |
@ -1,16 +1,18 @@ |
||||
[ |
||||
{ |
||||
"contract": "C", |
||||
"sourceMapping": { |
||||
"filename": "tests/backdoor.sol", |
||||
"length": 74, |
||||
"lines": [ |
||||
5, |
||||
6, |
||||
7 |
||||
], |
||||
"start": 43 |
||||
}, |
||||
"vuln": "backdoor" |
||||
"check": "backdoor", |
||||
"function": { |
||||
"name": "i_am_a_backdoor", |
||||
"source_mapping": { |
||||
"filename": "tests/backdoor.sol", |
||||
"length": 74, |
||||
"lines": [ |
||||
5, |
||||
6, |
||||
7 |
||||
], |
||||
"start": 43 |
||||
} |
||||
} |
||||
} |
||||
] |
@ -1,18 +1,18 @@ |
||||
[ |
||||
{ |
||||
"contract": "C", |
||||
"filename": "tests/backdoor.sol", |
||||
"function": "i_am_a_backdoor", |
||||
"sourceMapping": { |
||||
"filename": "tests/backdoor.sol", |
||||
"length": 74, |
||||
"lines": [ |
||||
5, |
||||
6, |
||||
7 |
||||
], |
||||
"start": 43 |
||||
}, |
||||
"vuln": "SuicidalFunc" |
||||
"check": "suicidal", |
||||
"function": { |
||||
"name": "i_am_a_backdoor", |
||||
"source_mapping": { |
||||
"filename": "tests/backdoor.sol", |
||||
"length": 74, |
||||
"lines": [ |
||||
5, |
||||
6, |
||||
7 |
||||
], |
||||
"start": 43 |
||||
} |
||||
} |
||||
} |
||||
] |
@ -1,88 +1,56 @@ |
||||
[ |
||||
{ |
||||
"contract": "B", |
||||
"filename": "tests/const_state_variables.sol", |
||||
"sourceMapping": [ |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
10 |
||||
], |
||||
"start": 235 |
||||
}, |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
14 |
||||
], |
||||
"start": 331 |
||||
"check": "constable-states", |
||||
"variables": [ |
||||
{ |
||||
"name": "myFriendsAddress", |
||||
"source_mapping": { |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 76, |
||||
"lines": [ |
||||
7 |
||||
], |
||||
"start": 130 |
||||
} |
||||
}, |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 76, |
||||
"lines": [ |
||||
7 |
||||
], |
||||
"start": 130 |
||||
"name": "test", |
||||
"source_mapping": { |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
10 |
||||
], |
||||
"start": 235 |
||||
} |
||||
}, |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 76, |
||||
"lines": [ |
||||
26 |
||||
], |
||||
"start": 494 |
||||
"name": "text2", |
||||
"source_mapping": { |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
14 |
||||
], |
||||
"start": 331 |
||||
} |
||||
} |
||||
], |
||||
"unusedVars": [ |
||||
"myFriendsAddress", |
||||
"test", |
||||
"text2" |
||||
], |
||||
"vuln": "ConstStateVariableCandidates" |
||||
] |
||||
}, |
||||
{ |
||||
"contract": "B", |
||||
"filename": "tests/const_state_variables.sol", |
||||
"sourceMapping": [ |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
10 |
||||
], |
||||
"start": 235 |
||||
}, |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
14 |
||||
], |
||||
"start": 331 |
||||
}, |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 76, |
||||
"lines": [ |
||||
7 |
||||
], |
||||
"start": 130 |
||||
}, |
||||
{ |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 76, |
||||
"lines": [ |
||||
26 |
||||
], |
||||
"start": 494 |
||||
"check": "constable-states", |
||||
"variables": [ |
||||
{ |
||||
"name": "mySistersAddress", |
||||
"source_mapping": { |
||||
"filename": "tests/const_state_variables.sol", |
||||
"length": 76, |
||||
"lines": [ |
||||
26 |
||||
], |
||||
"start": 494 |
||||
} |
||||
} |
||||
], |
||||
"unusedVars": [ |
||||
"mySistersAddress" |
||||
], |
||||
"vuln": "ConstStateVariableCandidates" |
||||
] |
||||
} |
||||
] |
@ -1,71 +1,71 @@ |
||||
[ |
||||
{ |
||||
"contract": "ContractWithFunctionNotCalled", |
||||
"filename": "tests/external_function.sol", |
||||
"function": "funcNotCalled", |
||||
"sourceMapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 40, |
||||
"lines": [ |
||||
21, |
||||
22, |
||||
23 |
||||
], |
||||
"start": 351 |
||||
}, |
||||
"vuln": "ExternalFunc" |
||||
"check": "external-function", |
||||
"function": { |
||||
"name": "funcNotCalled3", |
||||
"source_mapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 41, |
||||
"lines": [ |
||||
13, |
||||
14, |
||||
15 |
||||
], |
||||
"start": 257 |
||||
} |
||||
} |
||||
}, |
||||
{ |
||||
"contract": "ContractWithFunctionNotCalled", |
||||
"filename": "tests/external_function.sol", |
||||
"function": "funcNotCalled2", |
||||
"sourceMapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 41, |
||||
"lines": [ |
||||
17, |
||||
18, |
||||
19 |
||||
], |
||||
"start": 304 |
||||
}, |
||||
"vuln": "ExternalFunc" |
||||
"check": "external-function", |
||||
"function": { |
||||
"name": "funcNotCalled2", |
||||
"source_mapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 41, |
||||
"lines": [ |
||||
17, |
||||
18, |
||||
19 |
||||
], |
||||
"start": 304 |
||||
} |
||||
} |
||||
}, |
||||
{ |
||||
"contract": "ContractWithFunctionNotCalled", |
||||
"filename": "tests/external_function.sol", |
||||
"function": "funcNotCalled3", |
||||
"sourceMapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 41, |
||||
"lines": [ |
||||
13, |
||||
14, |
||||
15 |
||||
], |
||||
"start": 257 |
||||
}, |
||||
"vuln": "ExternalFunc" |
||||
"check": "external-function", |
||||
"function": { |
||||
"name": "funcNotCalled", |
||||
"source_mapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 40, |
||||
"lines": [ |
||||
21, |
||||
22, |
||||
23 |
||||
], |
||||
"start": 351 |
||||
} |
||||
} |
||||
}, |
||||
{ |
||||
"contract": "ContractWithFunctionNotCalled2", |
||||
"filename": "tests/external_function.sol", |
||||
"function": "funcNotCalled", |
||||
"sourceMapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 304, |
||||
"lines": [ |
||||
32, |
||||
33, |
||||
34, |
||||
35, |
||||
36, |
||||
37, |
||||
38, |
||||
39 |
||||
], |
||||
"start": 552 |
||||
}, |
||||
"vuln": "ExternalFunc" |
||||
"check": "external-function", |
||||
"function": { |
||||
"name": "funcNotCalled", |
||||
"source_mapping": { |
||||
"filename": "tests/external_function.sol", |
||||
"length": 304, |
||||
"lines": [ |
||||
32, |
||||
33, |
||||
34, |
||||
35, |
||||
36, |
||||
37, |
||||
38, |
||||
39 |
||||
], |
||||
"start": 552 |
||||
} |
||||
} |
||||
} |
||||
] |
@ -1,21 +1,20 @@ |
||||
[ |
||||
{ |
||||
"contract": "OnlyLocked", |
||||
"functions_payable": [ |
||||
"receive" |
||||
], |
||||
"sourceMapping": [ |
||||
"check": "locked-ether", |
||||
"functions": [ |
||||
{ |
||||
"filename": "tests/locked_ether.sol", |
||||
"length": 72, |
||||
"lines": [ |
||||
4, |
||||
5, |
||||
6 |
||||
], |
||||
"start": 47 |
||||
"name": "receive", |
||||
"source_mapping": { |
||||
"filename": "tests/locked_ether.sol", |
||||
"length": 72, |
||||
"lines": [ |
||||
4, |
||||
5, |
||||
6 |
||||
], |
||||
"start": 47 |
||||
} |
||||
} |
||||
], |
||||
"vuln": "LockedEther" |
||||
] |
||||
} |
||||
] |
@ -1,18 +1,31 @@ |
||||
[ |
||||
{ |
||||
"contract": "Sender", |
||||
"filename": "tests/low_level_calls.sol", |
||||
"function": "send", |
||||
"sourceMapping": [ |
||||
"check": "low-level-calls", |
||||
"expressions": [ |
||||
{ |
||||
"expression": "_receiver.call.value(msg.value).gas(7777)()", |
||||
"source_mapping": { |
||||
"filename": "tests/low_level_calls.sol", |
||||
"length": 43, |
||||
"lines": [ |
||||
6 |
||||
], |
||||
"start": 100 |
||||
} |
||||
} |
||||
], |
||||
"function": { |
||||
"name": "send", |
||||
"source_mapping": { |
||||
"filename": "tests/low_level_calls.sol", |
||||
"length": 43, |
||||
"length": 101, |
||||
"lines": [ |
||||
6 |
||||
5, |
||||
6, |
||||
7 |
||||
], |
||||
"start": 100 |
||||
"start": 49 |
||||
} |
||||
], |
||||
"vuln": "Low level call" |
||||
} |
||||
} |
||||
] |
@ -1,223 +1,246 @@ |
||||
[ |
||||
{ |
||||
"contract": "T", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 17, |
||||
"lines": [ |
||||
56 |
||||
], |
||||
"start": 695 |
||||
"check": "naming-convention", |
||||
"convention": "CapWords", |
||||
"name": { |
||||
"name": "naming", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 598, |
||||
"lines": [ |
||||
3, |
||||
4, |
||||
5, |
||||
6, |
||||
7, |
||||
8, |
||||
9, |
||||
10, |
||||
11, |
||||
12, |
||||
13, |
||||
14, |
||||
15, |
||||
16, |
||||
17, |
||||
18, |
||||
19, |
||||
20, |
||||
21, |
||||
22, |
||||
23, |
||||
24, |
||||
25, |
||||
26, |
||||
27, |
||||
28, |
||||
29, |
||||
30, |
||||
31, |
||||
32, |
||||
33, |
||||
34, |
||||
35, |
||||
36, |
||||
37, |
||||
38, |
||||
39, |
||||
40, |
||||
41, |
||||
42, |
||||
43, |
||||
44, |
||||
45, |
||||
46, |
||||
47, |
||||
48 |
||||
], |
||||
"start": 26 |
||||
} |
||||
}, |
||||
"variable": "_myPublicVar", |
||||
"vuln": "NamingConvention" |
||||
"type": "contract" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 598, |
||||
"lines": [ |
||||
3, |
||||
4, |
||||
5, |
||||
6, |
||||
7, |
||||
8, |
||||
9, |
||||
10, |
||||
11, |
||||
12, |
||||
13, |
||||
14, |
||||
15, |
||||
16, |
||||
17, |
||||
18, |
||||
19, |
||||
20, |
||||
21, |
||||
22, |
||||
23, |
||||
24, |
||||
25, |
||||
26, |
||||
27, |
||||
28, |
||||
29, |
||||
30, |
||||
31, |
||||
32, |
||||
33, |
||||
34, |
||||
35, |
||||
36, |
||||
37, |
||||
38, |
||||
39, |
||||
40, |
||||
41, |
||||
42, |
||||
43, |
||||
44, |
||||
45, |
||||
46, |
||||
47, |
||||
48 |
||||
], |
||||
"start": 26 |
||||
"check": "naming-convention", |
||||
"convention": "CapWords", |
||||
"name": { |
||||
"name": "numbers", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 23, |
||||
"lines": [ |
||||
6 |
||||
], |
||||
"start": 77 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "enum" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 16, |
||||
"lines": [ |
||||
11 |
||||
], |
||||
"start": 183 |
||||
"check": "naming-convention", |
||||
"convention": "CapWords", |
||||
"name": { |
||||
"name": "event_", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 19, |
||||
"lines": [ |
||||
23 |
||||
], |
||||
"start": 303 |
||||
} |
||||
}, |
||||
"variable": "Var_One", |
||||
"vuln": "NamingConvention" |
||||
"type": "event" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
14, |
||||
15, |
||||
16 |
||||
], |
||||
"start": 227 |
||||
"check": "naming-convention", |
||||
"convention": "CapWords", |
||||
"name": { |
||||
"name": "test", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 20, |
||||
"lines": [ |
||||
14, |
||||
15, |
||||
16 |
||||
], |
||||
"start": 227 |
||||
} |
||||
}, |
||||
"struct": "test", |
||||
"vuln": "NamingConvention" |
||||
"type": "structure" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"modifier": "CantDo", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 36, |
||||
"lines": [ |
||||
41, |
||||
42, |
||||
43 |
||||
], |
||||
"start": 545 |
||||
"check": "naming-convention", |
||||
"convention": "UPPER_CASE_WITH_UNDERSCORES", |
||||
"name": { |
||||
"name": "MY_other_CONSTANT", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 35, |
||||
"lines": [ |
||||
9 |
||||
], |
||||
"start": 141 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "variable_constant" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"function": "GetOne", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 71, |
||||
"lines": [ |
||||
30, |
||||
31, |
||||
32, |
||||
33 |
||||
], |
||||
"start": 405 |
||||
"check": "naming-convention", |
||||
"convention": "l_O_I_should_not_be_used", |
||||
"name": { |
||||
"name": "l", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 10, |
||||
"lines": [ |
||||
67 |
||||
], |
||||
"start": 847 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "variable" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"event": "event_", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 19, |
||||
"lines": [ |
||||
23 |
||||
], |
||||
"start": 303 |
||||
"check": "naming-convention", |
||||
"convention": "mixedCase", |
||||
"name": { |
||||
"name": "GetOne", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 71, |
||||
"lines": [ |
||||
30, |
||||
31, |
||||
32, |
||||
33 |
||||
], |
||||
"start": 405 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"contract": "naming", |
||||
"enum": "numbers", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 23, |
||||
"lines": [ |
||||
6 |
||||
], |
||||
"start": 77 |
||||
"check": "naming-convention", |
||||
"convention": "mixedCase", |
||||
"name": { |
||||
"name": "CantDo", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 36, |
||||
"lines": [ |
||||
41, |
||||
42, |
||||
43 |
||||
], |
||||
"start": 545 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "modifier" |
||||
}, |
||||
{ |
||||
"constant": "MY_other_CONSTANT", |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 35, |
||||
"lines": [ |
||||
9 |
||||
], |
||||
"start": 141 |
||||
"check": "naming-convention", |
||||
"convention": "mixedCase", |
||||
"name": { |
||||
"name": "Number2", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 12, |
||||
"lines": [ |
||||
35 |
||||
], |
||||
"start": 512 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "parameter" |
||||
}, |
||||
{ |
||||
"constant": "l", |
||||
"contract": "T", |
||||
"filename": "tests/naming_convention.sol", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 10, |
||||
"lines": [ |
||||
67 |
||||
], |
||||
"start": 847 |
||||
"check": "naming-convention", |
||||
"convention": "mixedCase", |
||||
"name": { |
||||
"name": "_used", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 10, |
||||
"lines": [ |
||||
59 |
||||
], |
||||
"start": 748 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "parameter" |
||||
}, |
||||
{ |
||||
"argument": "Number2", |
||||
"contract": "naming", |
||||
"filename": "tests/naming_convention.sol", |
||||
"function": "setInt", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 12, |
||||
"lines": [ |
||||
35 |
||||
], |
||||
"start": 512 |
||||
"check": "naming-convention", |
||||
"convention": "mixedCase", |
||||
"name": { |
||||
"name": "Var_One", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 16, |
||||
"lines": [ |
||||
11 |
||||
], |
||||
"start": 183 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "variable" |
||||
}, |
||||
{ |
||||
"argument": "_used", |
||||
"contract": "T", |
||||
"filename": "tests/naming_convention.sol", |
||||
"function": "test", |
||||
"sourceMapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 10, |
||||
"lines": [ |
||||
59 |
||||
], |
||||
"start": 748 |
||||
"check": "naming-convention", |
||||
"convention": "mixedCase", |
||||
"name": { |
||||
"name": "_myPublicVar", |
||||
"source_mapping": { |
||||
"filename": "tests/naming_convention.sol", |
||||
"length": 17, |
||||
"lines": [ |
||||
56 |
||||
], |
||||
"start": 695 |
||||
} |
||||
}, |
||||
"vuln": "NamingConvention" |
||||
"type": "variable" |
||||
} |
||||
] |
@ -1,16 +1,16 @@ |
||||
[ |
||||
{ |
||||
"pragma": [ |
||||
"0.4.21" |
||||
], |
||||
"sourceMapping": [ |
||||
"check": "solc-version", |
||||
"expressions": [ |
||||
{ |
||||
"filename": "old_solc.sol", |
||||
"length": 23, |
||||
"lines": [], |
||||
"start": 0 |
||||
"expression": "0.4.21", |
||||
"source_mapping": { |
||||
"filename": "old_solc.sol", |
||||
"length": 23, |
||||
"lines": [], |
||||
"start": 0 |
||||
} |
||||
} |
||||
], |
||||
"vuln": "OldPragma" |
||||
] |
||||
} |
||||
] |
@ -1,27 +1,29 @@ |
||||
[ |
||||
{ |
||||
"sourceMapping": [ |
||||
"check": "pragma", |
||||
"expressions": [ |
||||
{ |
||||
"filename": "tests/pragma.0.4.23.sol", |
||||
"length": 24, |
||||
"lines": [ |
||||
1 |
||||
], |
||||
"start": 0 |
||||
"expression": "^0.4.23", |
||||
"source_mapping": { |
||||
"filename": "tests/pragma.0.4.23.sol", |
||||
"length": 24, |
||||
"lines": [ |
||||
1 |
||||
], |
||||
"start": 0 |
||||
} |
||||
}, |
||||
{ |
||||
"filename": "tests/pragma.0.4.24.sol", |
||||
"length": 24, |
||||
"lines": [ |
||||
1 |
||||
], |
||||
"start": 0 |
||||
"expression": "^0.4.24", |
||||
"source_mapping": { |
||||
"filename": "tests/pragma.0.4.24.sol", |
||||
"length": 24, |
||||
"lines": [ |
||||
1 |
||||
], |
||||
"start": 0 |
||||
} |
||||
} |
||||
], |
||||
"versions": [ |
||||
"^0.4.23", |
||||
"^0.4.24" |
||||
], |
||||
"vuln": "ConstantPragma" |
||||
] |
||||
} |
||||
] |
@ -1,47 +1,53 @@ |
||||
[ |
||||
{ |
||||
"calls": [ |
||||
"! (msg.sender.call.value(userBalance[msg.sender])())" |
||||
], |
||||
"contract": "Reentrancy", |
||||
"filename": "tests/reentrancy.sol", |
||||
"function": "withdrawBalance", |
||||
"send_eth": [ |
||||
"! (msg.sender.call.value(userBalance[msg.sender])())" |
||||
], |
||||
"sourceMapping": [ |
||||
{ |
||||
"filename": "tests/reentrancy.sol", |
||||
"length": 37, |
||||
"lines": [ |
||||
4 |
||||
], |
||||
"start": 52 |
||||
}, |
||||
"check": "reentrancy", |
||||
"external_calls": [ |
||||
{ |
||||
"expression": "! (msg.sender.call.value(userBalance[msg.sender])())", |
||||
"source_mapping": { |
||||
"filename": "tests/reentrancy.sol", |
||||
"length": 92, |
||||
"lines": [ |
||||
17, |
||||
18, |
||||
19 |
||||
], |
||||
"start": 478 |
||||
} |
||||
} |
||||
], |
||||
"external_calls_sending_eth": [], |
||||
"function": { |
||||
"name": "withdrawBalance", |
||||
"source_mapping": { |
||||
"filename": "tests/reentrancy.sol", |
||||
"length": 92, |
||||
"length": 314, |
||||
"lines": [ |
||||
14, |
||||
15, |
||||
16, |
||||
17, |
||||
18, |
||||
19 |
||||
19, |
||||
20, |
||||
21 |
||||
], |
||||
"start": 478 |
||||
}, |
||||
"start": 299 |
||||
} |
||||
}, |
||||
"variables_written": [ |
||||
{ |
||||
"filename": "tests/reentrancy.sol", |
||||
"length": 92, |
||||
"lines": [ |
||||
17, |
||||
18, |
||||
19 |
||||
], |
||||
"start": 478 |
||||
"expression": "userBalance[msg.sender] = 0", |
||||
"name": "userBalance", |
||||
"source_mapping": { |
||||
"filename": "tests/reentrancy.sol", |
||||
"length": 27, |
||||
"lines": [ |
||||
20 |
||||
], |
||||
"start": 579 |
||||
} |
||||
} |
||||
], |
||||
"varsWritten": [ |
||||
"userBalance" |
||||
], |
||||
"vuln": "Reentrancy" |
||||
] |
||||
} |
||||
] |
@ -1,36 +1,64 @@ |
||||
[ |
||||
{ |
||||
"contract": "TxOrigin", |
||||
"filename": "tests/tx_origin.sol", |
||||
"function": "bug0", |
||||
"sourceMapping": [ |
||||
"check": "tx-origin", |
||||
"expressions": [ |
||||
{ |
||||
"expression": "require(bool)(tx.origin == owner)", |
||||
"source_mapping": { |
||||
"filename": "tests/tx_origin.sol", |
||||
"length": 27, |
||||
"lines": [ |
||||
10 |
||||
], |
||||
"start": 140 |
||||
} |
||||
} |
||||
], |
||||
"function": { |
||||
"name": "bug0", |
||||
"source_mapping": { |
||||
"filename": "tests/tx_origin.sol", |
||||
"length": 27, |
||||
"length": 60, |
||||
"lines": [ |
||||
10 |
||||
9, |
||||
10, |
||||
11 |
||||
], |
||||
"start": 140 |
||||
"start": 114 |
||||
} |
||||
], |
||||
"vuln": "TxOrigin" |
||||
} |
||||
}, |
||||
{ |
||||
"contract": "TxOrigin", |
||||
"filename": "tests/tx_origin.sol", |
||||
"function": "bug2", |
||||
"sourceMapping": [ |
||||
"check": "tx-origin", |
||||
"expressions": [ |
||||
{ |
||||
"expression": "tx.origin != owner", |
||||
"source_mapping": { |
||||
"filename": "tests/tx_origin.sol", |
||||
"length": 57, |
||||
"lines": [ |
||||
14, |
||||
15, |
||||
16 |
||||
], |
||||
"start": 206 |
||||
} |
||||
} |
||||
], |
||||
"function": { |
||||
"name": "bug2", |
||||
"source_mapping": { |
||||
"filename": "tests/tx_origin.sol", |
||||
"length": 57, |
||||
"length": 89, |
||||
"lines": [ |
||||
13, |
||||
14, |
||||
15, |
||||
16 |
||||
16, |
||||
17 |
||||
], |
||||
"start": 206 |
||||
"start": 180 |
||||
} |
||||
], |
||||
"vuln": "TxOrigin" |
||||
} |
||||
} |
||||
] |
@ -1,120 +1,120 @@ |
||||
[ |
||||
{ |
||||
"contract": "Test", |
||||
"filename": "tests/uninitialized.sol", |
||||
"check": "uninitialized-state", |
||||
"functions": [ |
||||
"use" |
||||
], |
||||
"sourceMapping": [ |
||||
{ |
||||
"name": "transfer", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 82, |
||||
"lines": [ |
||||
7, |
||||
8, |
||||
9 |
||||
], |
||||
"start": 81 |
||||
} |
||||
} |
||||
], |
||||
"variable": { |
||||
"name": "destination", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 34, |
||||
"length": 19, |
||||
"lines": [ |
||||
15 |
||||
5 |
||||
], |
||||
"start": 189 |
||||
}, |
||||
"start": 55 |
||||
} |
||||
} |
||||
}, |
||||
{ |
||||
"check": "uninitialized-state", |
||||
"functions": [ |
||||
{ |
||||
"name": "use", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 143, |
||||
"lines": [ |
||||
23, |
||||
24, |
||||
25, |
||||
26 |
||||
], |
||||
"start": 356 |
||||
} |
||||
} |
||||
], |
||||
"variable": { |
||||
"name": "balances", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 143, |
||||
"length": 34, |
||||
"lines": [ |
||||
23, |
||||
24, |
||||
25, |
||||
26 |
||||
15 |
||||
], |
||||
"start": 356 |
||||
"start": 189 |
||||
} |
||||
], |
||||
"variable": "balances", |
||||
"vuln": "UninitializedStateVars" |
||||
} |
||||
}, |
||||
{ |
||||
"contract": "Test2", |
||||
"filename": "tests/uninitialized.sol", |
||||
"check": "uninitialized-state", |
||||
"functions": [ |
||||
"use" |
||||
], |
||||
"sourceMapping": [ |
||||
{ |
||||
"name": "use", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 117, |
||||
"lines": [ |
||||
53, |
||||
54, |
||||
55, |
||||
56 |
||||
], |
||||
"start": 875 |
||||
} |
||||
} |
||||
], |
||||
"variable": { |
||||
"name": "st", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 15, |
||||
"lines": [ |
||||
45 |
||||
], |
||||
"start": 695 |
||||
}, |
||||
{ |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 117, |
||||
"lines": [ |
||||
53, |
||||
54, |
||||
55, |
||||
56 |
||||
], |
||||
"start": 875 |
||||
} |
||||
], |
||||
"variable": "st", |
||||
"vuln": "UninitializedStateVars" |
||||
} |
||||
}, |
||||
{ |
||||
"contract": "Test2", |
||||
"filename": "tests/uninitialized.sol", |
||||
"check": "uninitialized-state", |
||||
"functions": [ |
||||
"init" |
||||
], |
||||
"sourceMapping": [ |
||||
{ |
||||
"name": "init", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 52, |
||||
"lines": [ |
||||
49, |
||||
50, |
||||
51 |
||||
], |
||||
"start": 817 |
||||
} |
||||
} |
||||
], |
||||
"variable": { |
||||
"name": "v", |
||||
"source_mapping": { |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 6, |
||||
"lines": [ |
||||
47 |
||||
], |
||||
"start": 748 |
||||
}, |
||||
{ |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 52, |
||||
"lines": [ |
||||
49, |
||||
50, |
||||
51 |
||||
], |
||||
"start": 817 |
||||
} |
||||
], |
||||
"variable": "v", |
||||
"vuln": "UninitializedStateVars" |
||||
}, |
||||
{ |
||||
"contract": "Uninitialized", |
||||
"filename": "tests/uninitialized.sol", |
||||
"functions": [ |
||||
"transfer" |
||||
], |
||||
"sourceMapping": [ |
||||
{ |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 19, |
||||
"lines": [ |
||||
5 |
||||
], |
||||
"start": 55 |
||||
}, |
||||
{ |
||||
"filename": "tests/uninitialized.sol", |
||||
"length": 82, |
||||
"lines": [ |
||||
7, |
||||
8, |
||||
9 |
||||
], |
||||
"start": 81 |
||||
} |
||||
], |
||||
"variable": "destination", |
||||
"vuln": "UninitializedStateVars" |
||||
} |
||||
} |
||||
] |
@ -1,29 +1,52 @@ |
||||
[ |
||||
{ |
||||
"contract": "User", |
||||
"check": "unused-return", |
||||
"expressions": [ |
||||
"a.add(0)", |
||||
"t.f()" |
||||
], |
||||
"filename": "tests/unused_return.sol", |
||||
"sourceMapping": [ |
||||
{ |
||||
"filename": "tests/unused_return.sol", |
||||
"length": 5, |
||||
"lines": [ |
||||
18 |
||||
], |
||||
"start": 263 |
||||
"expression": "a.add(0)", |
||||
"source_mapping": { |
||||
"filename": "tests/unused_return.sol", |
||||
"length": 8, |
||||
"lines": [ |
||||
22 |
||||
], |
||||
"start": 337 |
||||
} |
||||
}, |
||||
{ |
||||
"expression": "t.f()", |
||||
"source_mapping": { |
||||
"filename": "tests/unused_return.sol", |
||||
"length": 5, |
||||
"lines": [ |
||||
18 |
||||
], |
||||
"start": 263 |
||||
} |
||||
} |
||||
], |
||||
"function": { |
||||
"name": "test", |
||||
"source_mapping": { |
||||
"filename": "tests/unused_return.sol", |
||||
"length": 8, |
||||
"length": 347, |
||||
"lines": [ |
||||
22 |
||||
17, |
||||
18, |
||||
19, |
||||
20, |
||||
21, |
||||
22, |
||||
23, |
||||
24, |
||||
25, |
||||
26, |
||||
27, |
||||
28, |
||||
29 |
||||
], |
||||
"start": 337 |
||||
"start": 230 |
||||
} |
||||
], |
||||
"vuln": "UnusedReturn" |
||||
} |
||||
} |
||||
] |
@ -1,20 +1,18 @@ |
||||
[ |
||||
{ |
||||
"contract": "B", |
||||
"filename": "tests/unused_state.sol", |
||||
"sourceMapping": [ |
||||
"check": "unused-state", |
||||
"variables": [ |
||||
{ |
||||
"filename": "tests/unused_state.sol", |
||||
"length": 14, |
||||
"lines": [ |
||||
4 |
||||
], |
||||
"start": 42 |
||||
"name": "unused", |
||||
"source_mapping": { |
||||
"filename": "tests/unused_state.sol", |
||||
"length": 14, |
||||
"lines": [ |
||||
4 |
||||
], |
||||
"start": 42 |
||||
} |
||||
} |
||||
], |
||||
"unusedVars": [ |
||||
"unused" |
||||
], |
||||
"vuln": "unusedStateVars" |
||||
] |
||||
} |
||||
] |
Loading…
Reference in new issue