[ [ { "elements": [ { "type": "function", "name": "bad3", "source_mapping": { "start": 363, "length": 58, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 395, "length": 19, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 363, "length": 58, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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.6.11/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#21)\" \n", "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L21)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22", "id": "211bbc7b73c90c6ae03f3e73c2b306c74699381229a4af6d4687891b024f2189", "check": "weak-prng", "impact": "High", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad1", "source_mapping": { "start": 122, "length": 56, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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 = now % 10", "source_mapping": { "start": 154, "length": 17, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 9 ], "starting_column": 7, "ending_column": 24 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad1", "source_mapping": { "start": 122, "length": 56, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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.6.11/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#9)\" \n", "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L9)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10", "id": "4651cdacc944504d793e3c0dfa85684df0c31ccd1435fb1bdf7f952a5c743aac", "check": "weak-prng", "impact": "High", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad2", "source_mapping": { "start": 184, "length": 78, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 216, "length": 39, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 184, "length": 78, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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.6.11/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#13)\" \n", "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L13)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14", "id": "95c977967e6bb17afe7c6c10389750fcd98a2f0bf7fa9beb08d3e7214e2f63d7", "check": "weak-prng", "impact": "High", "confidence": "Medium" }, { "elements": [ { "type": "function", "name": "bad0", "source_mapping": { "start": 45, "length": 68, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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": 499, "filename_used": "/GENERIC_PATH", "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", "filename_short": "tests/detectors/weak-prng/0.6.11/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.6.11/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#5)\" \n", "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L5)\" \n", "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6", "id": "bfdb804ad9a58c4a694182e0f4dff561ffe37a0680f850763136ac57af57cea6", "check": "weak-prng", "impact": "High", "confidence": "Medium" } ] ]