mirror of https://github.com/crytic/slither
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
454 lines
15 KiB
454 lines
15 KiB
{
|
|
"success": true,
|
|
"error": null,
|
|
"results": {
|
|
"detectors": [
|
|
{
|
|
"check": "timestamp",
|
|
"impact": "Low",
|
|
"confidence": "Medium",
|
|
"description": "Timestamp.bad0() (tests/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/timestamp.sol#5)\n",
|
|
"elements": [
|
|
{
|
|
"type": "function",
|
|
"name": "bad0",
|
|
"source_mapping": {
|
|
"start": 47,
|
|
"length": 70,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
4,
|
|
5,
|
|
6
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Timestamp",
|
|
"source_mapping": {
|
|
"start": 0,
|
|
"length": 402,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "bad0()"
|
|
}
|
|
},
|
|
{
|
|
"type": "node",
|
|
"name": "require(bool)(block.timestamp == 0)",
|
|
"source_mapping": {
|
|
"start": 81,
|
|
"length": 29,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
5
|
|
],
|
|
"starting_column": 9,
|
|
"ending_column": 38
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "function",
|
|
"name": "bad0",
|
|
"source_mapping": {
|
|
"start": 47,
|
|
"length": 70,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
4,
|
|
5,
|
|
6
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Timestamp",
|
|
"source_mapping": {
|
|
"start": 0,
|
|
"length": 402,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "bad0()"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"check": "timestamp",
|
|
"impact": "Low",
|
|
"confidence": "Medium",
|
|
"description": "Timestamp.bad1() (tests/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/timestamp.sol#10)\n",
|
|
"elements": [
|
|
{
|
|
"type": "function",
|
|
"name": "bad1",
|
|
"source_mapping": {
|
|
"start": 126,
|
|
"length": 96,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
8,
|
|
9,
|
|
10,
|
|
11
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Timestamp",
|
|
"source_mapping": {
|
|
"start": 0,
|
|
"length": 402,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "bad1()"
|
|
}
|
|
},
|
|
{
|
|
"type": "node",
|
|
"name": "require(bool)(time == 0)",
|
|
"source_mapping": {
|
|
"start": 197,
|
|
"length": 18,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
10
|
|
],
|
|
"starting_column": 9,
|
|
"ending_column": 27
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "function",
|
|
"name": "bad1",
|
|
"source_mapping": {
|
|
"start": 126,
|
|
"length": 96,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
8,
|
|
9,
|
|
10,
|
|
11
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Timestamp",
|
|
"source_mapping": {
|
|
"start": 0,
|
|
"length": 402,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "bad1()"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"check": "timestamp",
|
|
"impact": "Low",
|
|
"confidence": "Medium",
|
|
"description": "Timestamp.bad2() (tests/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/timestamp.sol#14)\n",
|
|
"elements": [
|
|
{
|
|
"type": "function",
|
|
"name": "bad2",
|
|
"source_mapping": {
|
|
"start": 231,
|
|
"length": 79,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
13,
|
|
14,
|
|
15
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Timestamp",
|
|
"source_mapping": {
|
|
"start": 0,
|
|
"length": 402,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "bad2()"
|
|
}
|
|
},
|
|
{
|
|
"type": "node",
|
|
"name": "block.timestamp > 0",
|
|
"source_mapping": {
|
|
"start": 279,
|
|
"length": 24,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
14
|
|
],
|
|
"starting_column": 9,
|
|
"ending_column": 33
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "function",
|
|
"name": "bad2",
|
|
"source_mapping": {
|
|
"start": 231,
|
|
"length": 79,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
13,
|
|
14,
|
|
15
|
|
],
|
|
"starting_column": 5,
|
|
"ending_column": 6
|
|
},
|
|
"type_specific_fields": {
|
|
"parent": {
|
|
"type": "contract",
|
|
"name": "Timestamp",
|
|
"source_mapping": {
|
|
"start": 0,
|
|
"length": 402,
|
|
"filename_used": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_relative": "tests/timestamp.sol",
|
|
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
|
|
"filename_short": "tests/timestamp.sol",
|
|
"is_dependency": false,
|
|
"lines": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20
|
|
],
|
|
"starting_column": 1,
|
|
"ending_column": 2
|
|
}
|
|
},
|
|
"signature": "bad2()"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
} |