019b3844-a4e9-7163-8e21-e5c1a622f101
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 16101 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 16102 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 106577 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 106578 | capability.graph | complete | 1 / 3 | 1 week ago |
| 106579 | detector.run | complete | 1 / 3 | 1 week ago |
| 106580 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113910 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-9mtqqv_z model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5ca2-a982-7f12-ac45-7813ed9dc86c -------- user You are a security auditor. You ONLY have runtime bytecode + analysis artifacts. You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary, evidence bundle, callsites, storage slots, and detector findings. Special cases when reasoning from bytecode (be explicit about uncertainty): - Selector inference is best-effort; missing selectors are common. - Fallback/receive paths may be the only entrypoints. - CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage. - Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative. - Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown. - Guard detection is heuristic; absence of guards does NOT mean unguarded. - Returndata checking is unknown unless explicitly shown in evidence. - Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim. Output MUST be valid JSON matching the provided schema. - If you find nothing meaningful: set no_findings=true and findings=[]. - Otherwise: set no_findings=false and include findings with severity/category/title. - Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb". Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, accounting/invariant breaks, dangerous delegatecall, and untrusted external calls. Be conservative: if evidence is weak, mark severity low/medium and explain why. warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
{
"codex": {
"ran_at": "2026-04-05T07:54:18.959954+00:00",
"returncode": 1
},
"project": {
"mode": "bytecode",
"bytecode_length": 2890,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": null,
"no_findings": null,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0043 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x160e8be3 00000019: EQ 0000001a: PUSH2 0x00ef 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x4a0687ef 00000024: EQ 00000025: PUSH2 0x010f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x7687d19b 0000002f: EQ 00000030: PUSH2 0x012f 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xcf81464b 0000003a: EQ 0000003b: PUSH2 0x0142 0000003e: JUMPI 0000003f: PUSH2 0x00e5 00000042: JUMP 00000043: JUMPDEST 00000044: CALLDATASIZE 00000045: PUSH2 0x00e5 00000048: JUMPI 00000049: PUSH1 0x40 0000004b: DUP1 0000004c: MLOAD 0000004d: PUSH1 0x00 0000004f: DUP2 00000050: MSTORE 00000051: PUSH1 0x20 00000053: DUP2 00000054: ADD 00000055: SWAP2 00000056: DUP3 00000057: SWAP1 00000058: MSTORE 00000059: PUSH4 0xc68d4283 0000005e: PUSH1 0xe0 00000060: SHL 00000061: SWAP1 00000062: SWAP2 00000063: MSTORE 00000064: ADDRESS 00000065: SWAP1 00000066: PUSH4 0xc68d4283 0000006b: SWAP1 0000006c: PUSH2 0x007c 0000006f: SWAP1 00000070: CALLER 00000071: SWAP1 00000072: CALLVALUE 00000073: SWAP1 00000074: PUSH1 0x24 00000076: DUP2 00000077: ADD 00000078: PUSH2 0x04c0 0000007b: JUMP 0000007c: JUMPDEST 0000007d: PUSH1 0x00 0000007f: PUSH1 0x40 00000081: MLOAD 00000082: DUP1 00000083: DUP4 00000084: SUB 00000085: DUP2 00000086: PUSH1 0x00 00000088: DUP8 00000089: DUP1 0000008a: EXTCODESIZE 0000008b: ISZERO 0000008c: DUP1 0000008d: ISZERO 0000008e: PUSH2 0x0096 00000091: JUMPI 00000092: PUSH1 0x00 00000094: DUP1 00000095: REVERT 00000096: JUMPDEST 00000097: POP 00000098: GAS 00000099: CALL 0000009a: ISZERO 0000009b: DUP1 0000009c: ISZERO 0000009d: PUSH2 0x00aa 000000a0: JUMPI 000000a1: RETURNDATASIZE 000000a2: PUSH1 0x00 000000a4: DUP1 000000a5: RETURNDATACOPY 000000a6: RETURNDATASIZE 000000a7: PUSH1 0x00 000000a9: REVERT 000000aa: JUMPDEST 000000ab: POP 000000ac: POP 000000ad: PUSH1 0x40 000000af: MLOAD 000000b0: CALLVALUE 000000b1: DUP2 000000b2: MSTORE 000000b3: CALLER 000000b4: SWAP3 000000b5: POP 000000b6: PUSH32 0x25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df 000000d7: SWAP2 000000d8: POP 000000d9: PUSH1 0x20 000000db: ADD 000000dc: PUSH1 0x40 000000de: MLOAD 000000df: DUP1 000000e0: SWAP2 000000e1: SUB 000000e2: SWAP1 000000e3: LOG2 000000e4: STOP 000000e5: JUMPDEST 000000e6: PUSH2 0x00ed 000000e9: PUSH2 0x014a 000000ec: JUMP 000000ed: JUMPDEST 000000ee: STOP 000000ef: JUMPDEST 000000f0: CALLVALUE 000000f1: DUP1 000000f2: ISZERO 000000f3: PUSH2 0x00fb 000000f6: JUMPI 000000f7: PUSH1 0x00 000000f9: DUP1 000000fa: REVERT 000000fb: JUMPDEST 000000fc: POP 000000fd: PUSH2 0x00ed 00000100: PUSH2 0x010a 00000103: CALLDATASIZE 00000104: PUSH1 0x04 00000106: PUSH2 0x0525 00000109: JUMP 0000010a: JUMPDEST 0000010b: PUSH2 0x015c 0000010e: JUMP 0000010f: JUMPDEST 00000110: CALLVALUE 00000111: DUP1 00000112: ISZERO 00000113: PUSH2 0x011b 00000116: JUMPI 00000117: PUSH1 0x00 00000119: DUP1 0000011a: REVERT 0000011b: JUMPDEST 0000011c: POP 0000011d: PUSH2 0x00ed 00000120: PUSH2 0x012a 00000123: CALLDATASIZE 00000124: PUSH1 0x04 00000126: PUSH2 0x053e 00000129: JUMP 0000012a: JUMPDEST 0000012b: PUSH2 0x0229 0000012e: JUMP 0000012f: JUMPDEST 00000130: PUSH2 0x00ed 00000133: PUSH2 0x013d 00000136: CALLDATASIZE 00000137: PUSH1 0x04 00000139: PUSH2 0x053e 0000013c: JUMP 0000013d: JUMPDEST 0000013e: PUSH2 0x032f 00000141: JUMP 00000142: JUMPDEST 00000143: PUSH2 0x00ed 00000146: PUSH2 0x03d0 00000149: JUMP 0000014a: JUMPDEST 0000014b: PUSH2 0x015a 0000014e: PUSH2 0x0155 00000151: PUSH2 0x046d 00000154: JUMP 00000155: JUMPDEST 00000156: PUSH2 0x049c 00000159: JUMP 0000015a: JUMPDEST 0000015b: JUMP 0000015c: JUMPDEST 0000015d: PUSH1 0x40 0000015f: DUP1 00000160: MLOAD 00000161: PUSH1 0x00 00000163: DUP2 00000164: MSTORE 00000165: PUSH1 0x20 00000167: DUP2 00000168: ADD 00000169: SWAP2 0000016a: DUP3 0000016b: SWAP1 0000016c: MSTORE 0000016d: PUSH4 0x9d876741 00000172: PUSH1 0xe0 00000174: SHL 00000175: SWAP1 00000176: SWAP2 00000177: MSTORE 00000178: ADDRESS 00000179: SWAP1 0000017a: PUSH4 0x9d876741 0000017f: SWAP1 00000180: PUSH2 0x0190 00000183: SWAP1 00000184: CALLER 00000185: SWAP1 00000186: DUP6 00000187: SWAP1 00000188: PUSH1 0x24 0000018a: DUP2 0000018b: ADD 0000018c: PUSH2 0x04c0 0000018f: JUMP 00000190: JUMPDEST 00000191: PUSH1 0x00 00000193: PUSH1 0x40 00000195: MLOAD 00000196: DUP1 00000197: DUP4 00000198: SUB 00000199: DUP2 0000019a: PUSH1 0x00 0000019c: DUP8 0000019d: DUP1 0000019e: EXTCODESIZE 0000019f: ISZERO 000001a0: DUP1 000001a1: ISZERO 000001a2: PUSH2 0x01aa 000001a5: JUMPI 000001a6: PUSH1 0x00 000001a8: DUP1 000001a9: REVERT 000001aa: JUMPDEST 000001ab: POP 000001ac: GAS 000001ad: CALL 000001ae: ISZERO 000001af: DUP1 000001b0: ISZERO 000001b1: PUSH2 0x01be 000001b4: JUMPI 000001b5: RETURNDATASIZE 000001b6: PUSH1 0x00 000001b8: DUP1 000001b9: RETURNDATACOPY 000001ba: RETURNDATASIZE 000001bb: PUSH1 0x00 000001bd: REVERT 000001be: JUMPDEST 000001bf: POP 000001c0: POP 000001c1: PUSH1 0x40 000001c3: MLOAD 000001c4: CALLER 000001c5: SWAP3 000001c6: POP 000001c7: DUP4 000001c8: ISZERO 000001c9: PUSH2 0x08fc 000001cc: MUL 000001cd: SWAP2 000001ce: POP 000001cf: DUP4 000001d0: SWAP1 000001d1: PUSH1 0x00 000001d3: DUP2 000001d4: DUP2 000001d5: DUP2 000001d6: DUP6 000001d7: DUP9 000001d8: DUP9 000001d9: CALL 000001da: SWAP4 000001db: POP 000001dc: POP 000001dd: POP 000001de: POP 000001df: ISZERO 000001e0: DUP1 000001e1: ISZERO 000001e2: PUSH2 0x01ef 000001e5: JUMPI 000001e6: RETURNDATASIZE 000001e7: PUSH1 0x00 000001e9: DUP1 000001ea: RETURNDATACOPY 000001eb: RETURNDATASIZE 000001ec: PUSH1 0x00 000001ee: REVERT 000001ef: JUMPDEST 000001f0: POP 000001f1: PUSH1 0x40 000001f3: MLOAD 000001f4: DUP2 000001f5: DUP2 000001f6: MSTORE 000001f7: CALLER 000001f8: SWAP1 000001f9: PUSH32 0x3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d 0000021a: SWAP1 0000021b: PUSH1 0x20 0000021d: ADD 0000021e: JUMPDEST 0000021f: PUSH1 0x40 00000221: MLOAD 00000222: DUP1 00000223: SWAP2 00000224: SUB 00000225: SWAP1 00000226: LOG2 00000227: POP 00000228: JUMP 00000229: JUMPDEST 0000022a: PUSH1 0x01 0000022c: PUSH1 0x01 0000022e: PUSH1 0xa0 00000230: SHL 00000231: SUB 00000232: DUP2 00000233: AND 00000234: PUSH2 0x0284 00000237: JUMPI 00000238: PUSH1 0x40 0000023a: MLOAD 0000023b: PUSH3 0x461bcd 0000023f: PUSH1 0xe5 00000241: SHL 00000242: DUP2 00000243: MSTORE 00000244: PUSH1 0x20 00000246: PUSH1 0x04 00000248: DUP3 00000249: ADD 0000024a: MSTORE 0000024b: PUSH1 0x17 0000024d: PUSH1 0x24 0000024f: DUP3 00000250: ADD 00000251: MSTORE 00000252: PUSH32 0x5555505350726f78793a207a65726f2061646472657373000000000000000000 00000273: PUSH1 0x44 00000275: DUP3 00000276: ADD 00000277: MSTORE 00000278: PUSH1 0x64 0000027a: ADD 0000027b: JUMPDEST 0000027c: PUSH1 0x40 0000027e: MLOAD 0000027f: DUP1 00000280: SWAP2 00000281: SUB 00000282: SWAP1 00000283: REVERT 00000284: JUMPDEST 00000285: PUSH1 0x00 00000287: PUSH2 0x02ae 0000028a: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 000002ab: SLOAD 000002ac: SWAP1 000002ad: JUMP 000002ae: JUMPDEST 000002af: PUSH1 0x01 000002b1: PUSH1 0x01 000002b3: PUSH1 0xa0 000002b5: SHL 000002b6: SUB 000002b7: AND 000002b8: EQ 000002b9: PUSH2 0x0304 000002bc: JUMPI 000002bd: PUSH1 0x40 000002bf: MLOAD 000002c0: PUSH3 0x461bcd 000002c4: PUSH1 0xe5 000002c6: SHL 000002c7: DUP2 000002c8: MSTORE 000002c9: PUSH1 0x20 000002cb: PUSH1 0x04 000002cd: DUP3 000002ce: ADD 000002cf: MSTORE 000002d0: PUSH1 0x1e 000002d2: PUSH1 0x24 000002d4: DUP3 000002d5: ADD 000002d6: MSTORE 000002d7: PUSH32 0x5555505350726f78793a20616c726561647920696e697469616c697a65640000 000002f8: PUSH1 0x44 000002fa: DUP3 000002fb: ADD 000002fc: MSTORE 000002fd: PUSH1 0x64 000002ff: ADD 00000300: PUSH2 0x027b 00000303: JUMP 00000304: JUMPDEST 00000305: PUSH2 0x032c 00000308: DUP2 00000309: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 0000032a: SSTORE 0000032b: JUMP 0000032c: JUMPDEST 0000032d: POP 0000032e: JUMP 0000032f: JUMPDEST 00000330: PUSH1 0x40 00000332: DUP1 00000333: MLOAD 00000334: PUSH1 0x00 00000336: DUP2 00000337: MSTORE 00000338: PUSH1 0x20 0000033a: DUP2 0000033b: ADD 0000033c: SWAP2 0000033d: DUP3 0000033e: SWAP1 0000033f: MSTORE 00000340: PUSH4 0xc68d4283 00000345: PUSH1 0xe0 00000347: SHL 00000348: SWAP1 00000349: SWAP2 0000034a: MSTORE 0000034b: ADDRESS 0000034c: SWAP1 0000034d: PUSH4 0xc68d4283 00000352: SWAP1 00000353: PUSH2 0x0363 00000356: SWAP1 00000357: DUP5 00000358: SWAP1 00000359: CALLVALUE 0000035a: SWAP1 0000035b: PUSH1 0x24 0000035d: DUP2 0000035e: ADD 0000035f: PUSH2 0x04c0 00000362: JUMP 00000363: JUMPDEST 00000364: PUSH1 0x00 00000366: PUSH1 0x40 00000368: MLOAD 00000369: DUP1 0000036a: DUP4 0000036b: SUB 0000036c: DUP2 0000036d: PUSH1 0x00 0000036f: DUP8 00000370: DUP1 00000371: EXTCODESIZE 00000372: ISZERO 00000373: DUP1 00000374: ISZERO 00000375: PUSH2 0x037d 00000378: JUMPI 00000379: PUSH1 0x00 0000037b: DUP1 0000037c: REVERT 0000037d: JUMPDEST 0000037e: POP 0000037f: GAS 00000380: CALL 00000381: ISZERO 00000382: DUP1 00000383: ISZERO 00000384: PUSH2 0x0391 00000387: JUMPI 00000388: RETURNDATASIZE 00000389: PUSH1 0x00 0000038b: DUP1 0000038c: RETURNDATACOPY 0000038d: RETURNDATASIZE 0000038e: PUSH1 0x00 00000390: REVERT 00000391: JUMPDEST 00000392: POP 00000393: POP 00000394: POP 00000395: POP 00000396: DUP1 00000397: PUSH1 0x01 00000399: PUSH1 0x01 0000039b: PUSH1 0xa0 0000039d: SHL 0000039e: SUB 0000039f: AND 000003a0: PUSH32 0x25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df 000003c1: CALLVALUE 000003c2: PUSH1 0x40 000003c4: MLOAD 000003c5: PUSH2 0x021e 000003c8: SWAP2 000003c9: DUP2 000003ca: MSTORE 000003cb: PUSH1 0x20 000003cd: ADD 000003ce: SWAP1 000003cf: JUMP 000003d0: JUMPDEST 000003d1: PUSH1 0x40 000003d3: DUP1 000003d4: MLOAD 000003d5: PUSH1 0x00 000003d7: DUP2 000003d8: MSTORE 000003d9: PUSH1 0x20 000003db: DUP2 000003dc: ADD 000003dd: SWAP2 000003de: DUP3 000003df: SWAP1 000003e0: MSTORE 000003e1: PUSH4 0xc68d4283 000003e6: PUSH1 0xe0 000003e8: SHL 000003e9: SWAP1 000003ea: SWAP2 000003eb: MSTORE 000003ec: ADDRESS 000003ed: SWAP1 000003ee: PUSH4 0xc68d4283 000003f3: SWAP1 000003f4: PUSH2 0x0404 000003f7: SWAP1 000003f8: CALLER 000003f9: SWAP1 000003fa: CALLVALUE 000003fb: SWAP1 000003fc: PUSH1 0x24 000003fe: DUP2 000003ff: ADD 00000400: PUSH2 0x04c0 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH1 0x00 00000407: PUSH1 0x40 00000409: MLOAD 0000040a: DUP1 0000040b: DUP4 0000040c: SUB 0000040d: DUP2 0000040e: PUSH1 0x00 00000410: DUP8 00000411: DUP1 00000412: EXTCODESIZE 00000413: ISZERO 00000414: DUP1 00000415: ISZERO 00000416: PUSH2 0x041e 00000419: JUMPI 0000041a: PUSH1 0x00 0000041c: DUP1 0000041d: REVERT 0000041e: JUMPDEST 0000041f: POP 00000420: GAS 00000421: CALL 00000422: ISZERO 00000423: DUP1 00000424: ISZERO 00000425: PUSH2 0x0432 00000428: JUMPI 00000429: RETURNDATASIZE 0000042a: PUSH1 0x00 0000042c: DUP1 0000042d: RETURNDATACOPY 0000042e: RETURNDATASIZE 0000042f: PUSH1 0x00 00000431: REVERT 00000432: JUMPDEST 00000433: POP 00000434: POP 00000435: PUSH1 0x40 00000437: MLOAD 00000438: CALLVALUE 00000439: DUP2 0000043a: MSTORE 0000043b: CALLER 0000043c: SWAP3 0000043d: POP 0000043e: PUSH32 0x25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df 0000045f: SWAP2 00000460: POP 00000461: PUSH1 0x20 00000463: ADD 00000464: PUSH1 0x40 00000466: MLOAD 00000467: DUP1 00000468: SWAP2 00000469: SUB 0000046a: SWAP1 0000046b: LOG2 0000046c: JUMP 0000046d: JUMPDEST 0000046e: PUSH1 0x00 00000470: PUSH2 0x0497 00000473: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00000494: SLOAD 00000495: SWAP1 00000496: JUMP 00000497: JUMPDEST 00000498: SWAP1 00000499: POP 0000049a: SWAP1 0000049b: JUMP 0000049c: JUMPDEST 0000049d: CALLDATASIZE 0000049e: PUSH1 0x00 000004a0: DUP1 000004a1: CALLDATACOPY 000004a2: PUSH1 0x00 000004a4: DUP1 000004a5: CALLDATASIZE 000004a6: PUSH1 0x00 000004a8: DUP5 000004a9: GAS 000004aa: DELEGATECALL 000004ab: RETURNDATASIZE 000004ac: PUSH1 0x00 000004ae: DUP1 000004af: RETURNDATACOPY 000004b0: DUP1 000004b1: DUP1 000004b2: ISZERO 000004b3: PUSH2 0x04bb 000004b6: JUMPI 000004b7: RETURNDATASIZE 000004b8: PUSH1 0x00 000004ba: RETURN 000004bb: JUMPDEST 000004bc: RETURNDATASIZE 000004bd: PUSH1 0x00 000004bf: REVERT 000004c0: JUMPDEST 000004c1: PUSH1 0x01 000004c3: DUP1 000004c4: PUSH1 0xa0 000004c6: SHL 000004c7: SUB 000004c8: DUP5 000004c9: AND 000004ca: DUP2 000004cb: MSTORE 000004cc: PUSH1 0x00 000004ce: PUSH1 0x20 000004d0: DUP5 000004d1: DUP2 000004d2: DUP5 000004d3: ADD 000004d4: MSTORE 000004d5: PUSH1 0x60 000004d7: PUSH1 0x40 000004d9: DUP5 000004da: ADD 000004db: MSTORE 000004dc: DUP4 000004dd: MLOAD 000004de: DUP1 000004df: PUSH1 0x60 000004e1: DUP6 000004e2: ADD 000004e3: MSTORE 000004e4: PUSH1 0x00 000004e6: JUMPDEST 000004e7: DUP2 000004e8: DUP2 000004e9: LT 000004ea: ISZERO 000004eb: PUSH2 0x0502 000004ee: JUMPI 000004ef: DUP6 000004f0: DUP2 000004f1: ADD 000004f2: DUP4 000004f3: ADD 000004f4: MLOAD 000004f5: DUP6 000004f6: DUP3 000004f7: ADD 000004f8: PUSH1 0x80 000004fa: ADD 000004fb: MSTORE 000004fc: DUP3 000004fd: ADD 000004fe: PUSH2 0x04e6 00000501: JUMP 00000502: JUMPDEST 00000503: POP 00000504: PUSH1 0x00 00000506: PUSH1 0x80 00000508: DUP3 00000509: DUP7 0000050a: ADD 0000050b: ADD 0000050c: MSTORE 0000050d: PUSH1 0x80 0000050f: PUSH1 0x1f 00000511: NOT 00000512: PUSH1 0x1f 00000514: DUP4 00000515: ADD 00000516: AND 00000517: DUP6 00000518: ADD 00000519: ADD 0000051a: SWAP3 0000051b: POP 0000051c: POP 0000051d: POP 0000051e: SWAP5 0000051f: SWAP4 00000520: POP 00000521: POP 00000522: POP 00000523: POP 00000524: JUMP 00000525: JUMPDEST 00000526: PUSH1 0x00 00000528: PUSH1 0x20 0000052a: DUP3 0000052b: DUP5 0000052c: SUB 0000052d: SLT 0000052e: ISZERO 0000052f: PUSH2 0x0537 00000532: JUMPI 00000533: PUSH1 0x00 00000535: DUP1 00000536: REVERT 00000537: JUMPDEST 00000538: POP 00000539: CALLDATALOAD 0000053a: SWAP2 0000053b: SWAP1 0000053c: POP 0000053d: JUMP 0000053e: JUMPDEST 0000053f: PUSH1 0x00 00000541: PUSH1 0x20 00000543: DUP3 00000544: DUP5 00000545: SUB 00000546: SLT 00000547: ISZERO 00000548: PUSH2 0x0550 0000054b: JUMPI 0000054c: PUSH1 0x00 0000054e: DUP1 0000054f: REVERT 00000550: JUMPDEST 00000551: DUP2 00000552: CALLDATALOAD 00000553: PUSH1 0x01 00000555: PUSH1 0x01 00000557: PUSH1 0xa0 00000559: SHL 0000055a: SUB 0000055b: DUP2 0000055c: AND 0000055d: DUP2 0000055e: EQ 0000055f: PUSH2 0x0567 00000562: JUMPI 00000563: PUSH1 0x00 00000565: DUP1 00000566: REVERT 00000567: JUMPDEST 00000568: SWAP4 00000569: SWAP3 0000056a: POP 0000056b: POP 0000056c: POP 0000056d: JUMP 0000056e: INVALID 0000056f: LOG2 00000570: PUSH5 0x6970667358 00000576: UNKNOWN(0x22) 00000577: SLT 00000578: KECCAK256 00000579: CALLDATASIZE 0000057a: PUSH21 0x2b2c6bf9cae7f2505637ac624b580cedab1b7cae46 00000590: DUP12 00000591: UNKNOWN(0xC3) 00000592: GT 00000593: EXP 00000594: UNKNOWN(0xC4) 00000595: DUP7 00000596: DELEGATECALL 00000597: MOD 00000598: UNKNOWN(0xD9) 00000599: PUSH5 0x736f6c6343 0000059f: STOP 000005a0: ADDMOD 000005a1: LT 000005a2: STOP 000005a3: CALLER
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | yes | yes |
viewtrace_id: 0xef39d4802fc4f28276d5705fc6308ae54f98c6d22e9bcd42edd5f7f30af0362e
call_targets:
0x08ecf8ec4cec8a00d5460d3faf9f0719c80a3513, 0x33654b16a4de97bce05d7dd06803bf1066f3123c, 0x48acf0fbc6a8b38bc8b70b7c02a90c66858649ea, 0x75e58f16f95ac530789d22e55713c9f8dc22444c, 0x8147b99df7672a21809c9093e6f6ce1a60f119bd, 0x83fdcea7ddc5e360e88cd0abc5b8449e71264879, 0x9da054d80de6fcf920d4e22346ccf20aafdc83b5, 0xadc45df3cf1584624c97338bef33363bf5b97ada, 0xb27c52c7f84819e3157993489741cb60786ae330, 0xdbd0cf7716508818b78d76d05c65aeb01ee7be07, 0xf26967f92151487f8c6642199c3441b02398d19e
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "confirmed",
"attempts": 2,
"trace_id": "0xef39d4802fc4f28276d5705fc6308ae54f98c6d22e9bcd42edd5f7f30af0362e",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x08ecf8ec4cec8a00d5460d3faf9f0719c80a3513",
"0x33654b16a4de97bce05d7dd06803bf1066f3123c",
"0x48acf0fbc6a8b38bc8b70b7c02a90c66858649ea",
"0x75e58f16f95ac530789d22e55713c9f8dc22444c",
"0x8147b99df7672a21809c9093e6f6ce1a60f119bd",
"0x83fdcea7ddc5e360e88cd0abc5b8449e71264879",
"0x9da054d80de6fcf920d4e22346ccf20aafdc83b5",
"0xadc45df3cf1584624c97338bef33363bf5b97ada",
"0xb27c52c7f84819e3157993489741cb60786ae330",
"0xdbd0cf7716508818b78d76d05c65aeb01ee7be07",
"0xf26967f92151487f8c6642199c3441b02398d19e"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x160e8be3",
"selector": "0x160e8be3",
"calldata_variants": [
"0x160e8be3",
"0x160e8be30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4a0687ef",
"selector": "0x4a0687ef",
"calldata_variants": [
"0x4a0687ef",
"0x4a0687ef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7687d19b",
"selector": "0x7687d19b",
"calldata_variants": [
"0x7687d19b",
"0x7687d19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcf81464b",
"selector": "0xcf81464b",
"calldata_variants": [
"0xcf81464b",
"0xcf81464b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1194,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1430,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x9402b90c139e70ace8f6071e31433d4ad59202eb815236a31c0d14f47f73c6d2
call_targets:
0xc22bea0be9872d8b7b3933cec70ece4d53a900da
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9402b90c139e70ace8f6071e31433d4ad59202eb815236a31c0d14f47f73c6d2",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc22bea0be9872d8b7b3933cec70ece4d53a900da"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x160e8be3",
"selector": "0x160e8be3",
"calldata_variants": [
"0x160e8be3",
"0x160e8be30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4a0687ef",
"selector": "0x4a0687ef",
"calldata_variants": [
"0x4a0687ef",
"0x4a0687ef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7687d19b",
"selector": "0x7687d19b",
"calldata_variants": [
"0x7687d19b",
"0x7687d19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcf81464b",
"selector": "0xcf81464b",
"calldata_variants": [
"0xcf81464b",
"0xcf81464b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 153,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 429,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 473,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x9402b90c139e70ace8f6071e31433d4ad59202eb815236a31c0d14f47f73c6d2
call_targets:
0xc22bea0be9872d8b7b3933cec70ece4d53a900da
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9402b90c139e70ace8f6071e31433d4ad59202eb815236a31c0d14f47f73c6d2",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc22bea0be9872d8b7b3933cec70ece4d53a900da"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x160e8be3",
"selector": "0x160e8be3",
"calldata_variants": [
"0x160e8be3",
"0x160e8be30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4a0687ef",
"selector": "0x4a0687ef",
"calldata_variants": [
"0x4a0687ef",
"0x4a0687ef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7687d19b",
"selector": "0x7687d19b",
"calldata_variants": [
"0x7687d19b",
"0x7687d19b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcf81464b",
"selector": "0xcf81464b",
"calldata_variants": [
"0xcf81464b",
"0xcf81464b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 153,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 429,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 473,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|