[ [ { "elements": [ { "type": "function", "name": "bad0", "source_mapping": { "start": 45, "length": 68, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 4, 5, 6 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad0()" } }, { "type": "node", "name": "i = block.timestamp % 10", "source_mapping": { "start": 77, "length": 29, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 5 ], "starting_column": 7, "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { "start": 45, "length": 68, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 4, 5, 6 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad0()" } } } } ], "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#5)\" \n", "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L5)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6", "id": "1699e708ab01560cde36ac92caaf0abd7c3de733431340f4719b1dfd3544a6ef", "check": "weak-prng", "impact": "High", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad1", "source_mapping": { "start": 122, "length": 68, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 8, 9, 10 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad1()" } }, { "type": "node", "name": "i = block.timestamp % 10", "source_mapping": { "start": 154, "length": 29, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 9 ], "starting_column": 7, "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad1", "source_mapping": { "start": 122, "length": 68, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 8, 9, 10 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad1()" } } } } ], "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#9)\" \n", "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L9)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10", "id": "e27e978d7016cb26d0d372e84c7f4e1bbd6e45af239e195823b3b138713430a6", "check": "weak-prng", "impact": "High", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad2", "source_mapping": { "start": 196, "length": 78, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 12, 13, 14 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad2()" } }, { "type": "node", "name": "i = uint256(blockhash(uint256)(10000)) % 10", "source_mapping": { "start": 228, "length": 39, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 13 ], "starting_column": 7, "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad2", "source_mapping": { "start": 196, "length": 78, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 12, 13, 14 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad2()" } } } } ], "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#13)\" \n", "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L13)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14", "id": "0afae786715bc7bc677a2525aec172999533a2bc1ee62d9b974c9f13a45755c6", "check": "weak-prng", "impact": "High", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad3", "source_mapping": { "start": 375, "length": 58, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 20, 21, 22 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad3()" } }, { "type": "node", "name": "i = foo() % 10", "source_mapping": { "start": 407, "length": 19, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 21 ], "starting_column": 7, "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad3", "source_mapping": { "start": 375, "length": 58, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 20, 21, 22 ], "starting_column": 5, "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "contract", "name": "BadPRNG", "source_mapping": { "start": 0, "length": 511, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.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, 21, 22, 23, 24, 25, 26, 27 ], "starting_column": 1, "ending_column": 2 } }, "signature": "bad3()" } } } } ], "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#21)\" \n", "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L21)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22", "id": "b3e0dbd29c5e74eaae470dcfe1ff523c67da580b1ae0c07559c02ee67d9d4c86", "check": "weak-prng", "impact": "High", "confidence": "Medium" } ] ]