{"analyzer_versions":{"semgrep":"1.163.0"},"body":{"counts":{"access-control":0,"centralization":0,"flash-loan":0,"front-running":0,"gas-dos":0,"logic":1,"math-overflow":0,"oracle-manipulation":0,"other":0,"reentrancy":1,"timestamp-dependence":0,"unchecked-call":2,"uninitialized":0},"findings":[{"class":"reentrancy","description":"Reentrancy in Reentrance.withdraw(uint256) (ReentranceSmoke.sol#6-11):\n\tExternal calls:\n\t- (ok,None) = msg.sender.call{value: amount}() (ReentranceSmoke.sol#8)\n\tState variables written after the call(s):\n\t- balances[msg.sender] -= amount (ReentranceSmoke.sol#10)\n\tReentrance.balances (ReentranceSmoke.sol#4) can be used in cross function reentrancies:\n\t- Reentrance.balances (ReentranceSmoke.sol#4)\n\t- Reentrance.deposit() (ReentranceSmoke.sol#5)\n\t- Reentrance.withdraw(uint256) (ReentranceSmoke.sol#6-11)\n","end_line":11,"file":"ReentranceSmoke.sol","id":"eb5c75b6451d148511788ca75863b48ea3f29a4c649313a3150ff19f3553e378","line":6,"references":["https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-eth"],"rule_id":"slither:reentrancy-eth","severity":"high","source":"slither","title":"Reentrancy in Reentrance.withdraw(uint256) (ReentranceSmoke.sol#6-11):"},{"class":"unchecked-call","description":"Low-level .call to an externally-controlled target. Combined with reentrancy or unchecked return values, this is a common fund-draining pattern.","file":"ReentranceSmoke.sol","id":"2ed9dbaca59a0e42561063299afa9250b422451c47aff8d9ff5f78fac3c30ac5","line":8,"references":["https://github.com/JE4NVRG/vegasec/blob/main/apps/web/src/lib/risk/solidity/semgrep-rules/vegasec-solidity.yml#vegasec-low-level-call-untrusted"],"rule_id":"semgrep:vegasec-low-level-call-untrusted","severity":"medium","source":"semgrep","title":"Low-level"},{"class":"logic","description":"Version constraint 0.8.19 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n\t- VerbatimInvalidDeduplication\n\t- FullInlinerNonExpressionSplitArgumentEvaluationOrder\n\t- MissingSideEffectsOnSelectorAccess.\nIt is used by:\n\t- 0.8.19 (ReentranceSmoke.sol#2)\n","file":"ReentranceSmoke.sol","id":"a72fa068d43e9398d7f9695f44afedd5572e04fe049af2e3b22a7c31de45c84c","line":2,"references":["https://github.com/crytic/slither/wiki/Detector-Documentation#solc-version"],"rule_id":"slither:solc-version","severity":"informational","source":"slither","title":"Version constraint 0.8.19 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)"},{"class":"unchecked-call","description":"Low level call in Reentrance.withdraw(uint256) (ReentranceSmoke.sol#6-11):\n\t- (ok,None) = msg.sender.call{value: amount}() (ReentranceSmoke.sol#8)\n","end_line":11,"file":"ReentranceSmoke.sol","id":"03ee7fe2fd287a55394b7b06706fe49b2d49e77f979404478240bfb6d64b6a17","line":6,"references":["https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls"],"rule_id":"slither:low-level-calls","severity":"informational","source":"slither","title":"Low level call in Reentrance.withdraw(uint256) (ReentranceSmoke.sol#6-11):"}],"warnings":[]},"canonical_version":"vss-canonical-1","coverage_status":"unknown","final_score":85,"findings_count":4,"generated_at":"2026-05-27T12:55:32.964Z","id":"VSS-20260527-PONIH93O","severity_counts":{"critical":0,"high":1,"informational":2,"low":0,"medium":1},"source_filename":"ReentranceSmoke.sol","source_hash":"76898ff728ec501d331d6f18dfb971118e0bf4805a9314fb8eafb49c6eba2336","surface":"solidity","warnings_count":0}