019b3836-5aed-7156-88df-9adf8c6e59cd
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 |
|---|---|---|---|---|
| 8977 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 8978 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 98414 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 98415 | capability.graph | complete | 1 / 3 | 1 week ago |
| 98416 | detector.run | complete | 1 / 3 | 1 week ago |
| 98417 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113851 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-om__rx15 model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5ca0-be54-74c2-8c82-645bdb25953e -------- 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:52:13.200465+00:00",
"returncode": 1
},
"project": {
"mode": "bytecode",
"bytecode_length": 4208,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": null,
"no_findings": null,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0xe0 00000007: PUSH1 0x02 00000009: EXP 0000000a: PUSH1 0x00 0000000c: CALLDATALOAD 0000000d: DIV 0000000e: PUSH4 0x38bbfa50 00000013: DUP2 00000014: EQ 00000015: PUSH2 0x0031 00000018: JUMPI 00000019: DUP1 0000001a: PUSH4 0x73db0844 0000001f: EQ 00000020: PUSH2 0x0144 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0xa2e62045 0000002a: EQ 0000002b: PUSH2 0x014d 0000002e: JUMPI 0000002f: JUMPDEST 00000030: STOP 00000031: JUMPDEST 00000032: PUSH1 0x40 00000034: DUP1 00000035: MLOAD 00000036: PUSH1 0x20 00000038: PUSH1 0x24 0000003a: DUP1 0000003b: CALLDATALOAD 0000003c: PUSH1 0x04 0000003e: DUP2 0000003f: DUP2 00000040: ADD 00000041: CALLDATALOAD 00000042: PUSH1 0x1f 00000044: DUP2 00000045: ADD 00000046: DUP6 00000047: SWAP1 00000048: DIV 00000049: DUP6 0000004a: MUL 0000004b: DUP7 0000004c: ADD 0000004d: DUP6 0000004e: ADD 0000004f: SWAP1 00000050: SWAP7 00000051: MSTORE 00000052: DUP6 00000053: DUP6 00000054: MSTORE 00000055: PUSH2 0x002f 00000058: SWAP6 00000059: DUP2 0000005a: CALLDATALOAD 0000005b: SWAP6 0000005c: SWAP2 0000005d: SWAP5 0000005e: PUSH1 0x44 00000060: SWAP5 00000061: SWAP3 00000062: SWAP4 00000063: SWAP1 00000064: SWAP3 00000065: ADD 00000066: SWAP2 00000067: DUP2 00000068: SWAP1 00000069: DUP5 0000006a: ADD 0000006b: DUP4 0000006c: DUP3 0000006d: DUP1 0000006e: DUP3 0000006f: DUP5 00000070: CALLDATACOPY 00000071: POP 00000072: POP 00000073: PUSH1 0x40 00000075: DUP1 00000076: MLOAD 00000077: PUSH1 0x20 00000079: SWAP8 0000007a: CALLDATALOAD 0000007b: DUP1 0000007c: DUP11 0000007d: ADD 0000007e: CALLDATALOAD 0000007f: PUSH1 0x1f 00000081: DUP2 00000082: ADD 00000083: DUP11 00000084: SWAP1 00000085: DIV 00000086: DUP11 00000087: MUL 00000088: DUP4 00000089: ADD 0000008a: DUP11 0000008b: ADD 0000008c: SWAP1 0000008d: SWAP4 0000008e: MSTORE 0000008f: DUP3 00000090: DUP3 00000091: MSTORE 00000092: SWAP7 00000093: SWAP9 00000094: SWAP8 00000095: PUSH1 0x64 00000097: SWAP8 00000098: SWAP2 00000099: SWAP7 0000009a: POP 0000009b: PUSH1 0x24 0000009d: SWAP2 0000009e: SWAP1 0000009f: SWAP2 000000a0: ADD 000000a1: SWAP5 000000a2: POP 000000a3: SWAP1 000000a4: SWAP3 000000a5: POP 000000a6: DUP3 000000a7: SWAP2 000000a8: POP 000000a9: DUP5 000000aa: ADD 000000ab: DUP4 000000ac: DUP3 000000ad: DUP1 000000ae: DUP3 000000af: DUP5 000000b0: CALLDATACOPY 000000b1: POP 000000b2: SWAP5 000000b3: SWAP7 000000b4: POP 000000b5: POP 000000b6: POP 000000b7: POP 000000b8: POP 000000b9: POP 000000ba: POP 000000bb: PUSH2 0x028a 000000be: PUSH1 0x00 000000c0: DUP1 000000c1: SLOAD 000000c2: PUSH1 0x40 000000c4: DUP1 000000c5: MLOAD 000000c6: PUSH1 0xe0 000000c8: PUSH1 0x02 000000ca: EXP 000000cb: PUSH4 0x38cc4831 000000d0: MUL 000000d1: DUP2 000000d2: MSTORE 000000d3: SWAP1 000000d4: MLOAD 000000d5: DUP4 000000d6: SWAP3 000000d7: PUSH1 0x01 000000d9: PUSH1 0xa0 000000db: PUSH1 0x02 000000dd: EXP 000000de: SUB 000000df: AND 000000e0: SWAP2 000000e1: PUSH4 0x38cc4831 000000e6: SWAP2 000000e7: PUSH1 0x04 000000e9: DUP3 000000ea: DUP2 000000eb: ADD 000000ec: SWAP3 000000ed: PUSH1 0x20 000000ef: SWAP3 000000f0: SWAP2 000000f1: SWAP1 000000f2: DUP3 000000f3: SWAP1 000000f4: SUB 000000f5: ADD 000000f6: DUP2 000000f7: DUP8 000000f8: DUP8 000000f9: PUSH2 0x61da 000000fc: GAS 000000fd: SUB 000000fe: CALL 000000ff: ISZERO 00000100: PUSH2 0x0002 00000103: JUMPI 00000104: POP 00000105: POP 00000106: PUSH1 0x40 00000108: MLOAD 00000109: MLOAD 0000010a: SWAP2 0000010b: POP 0000010c: POP 0000010d: PUSH1 0x01 0000010f: PUSH1 0xa0 00000111: PUSH1 0x02 00000113: EXP 00000114: SUB 00000115: DUP2 00000116: AND 00000117: DUP3 00000118: EQ 00000119: ISZERO 0000011a: PUSH2 0x03c8 0000011d: JUMPI 0000011e: PUSH2 0x0370 00000121: PUSH1 0x00 00000123: JUMPDEST 00000124: PUSH1 0x00 00000126: PUSH1 0x00 00000128: PUSH2 0x075a 0000012b: PUSH20 0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed 00000140: JUMPDEST 00000141: EXTCODESIZE 00000142: SWAP1 00000143: JUMP 00000144: JUMPDEST 00000145: PUSH2 0x0278 00000148: PUSH1 0x02 0000014a: SLOAD 0000014b: DUP2 0000014c: JUMP 0000014d: JUMPDEST 0000014e: PUSH1 0x40 00000150: DUP1 00000151: MLOAD 00000152: DUP1 00000153: DUP3 00000154: ADD 00000155: DUP3 00000156: MSTORE 00000157: PUSH1 0x03 00000159: DUP2 0000015a: MSTORE 0000015b: PUSH32 0x55524c0000000000000000000000000000000000000000000000000000000000 0000017c: PUSH1 0x20 0000017e: DUP3 0000017f: DUP2 00000180: ADD 00000181: SWAP2 00000182: SWAP1 00000183: SWAP2 00000184: MSTORE 00000185: DUP3 00000186: MLOAD 00000187: PUSH1 0x80 00000189: DUP2 0000018a: ADD 0000018b: DUP5 0000018c: MSTORE 0000018d: PUSH1 0x44 0000018f: DUP2 00000190: MSTORE 00000191: PUSH32 0x6a736f6e2868747470733a2f2f706f6c6f6e6965782e636f6d2f7075626c6963 000001b2: DUP2 000001b3: DUP4 000001b4: ADD 000001b5: MSTORE 000001b6: PUSH32 0x3f636f6d6d616e643d72657475726e5469636b6572292e555344545f4554482e 000001d7: DUP2 000001d8: DUP6 000001d9: ADD 000001da: MSTORE 000001db: PUSH32 0x6c61737400000000000000000000000000000000000000000000000000000000 000001fc: PUSH1 0x60 000001fe: DUP3 000001ff: ADD 00000200: MSTORE 00000201: PUSH1 0x00 00000203: DUP1 00000204: SLOAD 00000205: DUP6 00000206: MLOAD 00000207: PUSH1 0xe0 00000209: PUSH1 0x02 0000020b: EXP 0000020c: PUSH4 0x38cc4831 00000211: MUL 00000212: DUP2 00000213: MSTORE 00000214: SWAP6 00000215: MLOAD 00000216: PUSH2 0x002f 00000219: SWAP7 0000021a: PUSH2 0x036d 0000021d: SWAP7 0000021e: SWAP4 0000021f: SWAP6 00000220: SWAP4 00000221: SWAP5 00000222: SWAP4 00000223: DUP7 00000224: SWAP4 00000225: DUP5 00000226: SWAP4 00000227: DUP5 00000228: SWAP4 00000229: PUSH1 0x01 0000022b: PUSH1 0xa0 0000022d: PUSH1 0x02 0000022f: EXP 00000230: SUB 00000231: SWAP1 00000232: SWAP3 00000233: AND 00000234: SWAP3 00000235: PUSH4 0x38cc4831 0000023a: SWAP3 0000023b: PUSH1 0x04 0000023d: DUP2 0000023e: DUP2 0000023f: ADD 00000240: SWAP4 00000241: SWAP2 00000242: DUP3 00000243: SWAP1 00000244: SUB 00000245: ADD 00000246: DUP2 00000247: DUP8 00000248: DUP8 00000249: PUSH2 0x61da 0000024c: GAS 0000024d: SUB 0000024e: CALL 0000024f: ISZERO 00000250: PUSH2 0x0002 00000253: JUMPI 00000254: POP 00000255: POP 00000256: PUSH1 0x40 00000258: MLOAD 00000259: MLOAD 0000025a: SWAP2 0000025b: POP 0000025c: POP 0000025d: PUSH1 0x01 0000025f: PUSH1 0xa0 00000261: PUSH1 0x02 00000263: EXP 00000264: SUB 00000265: DUP2 00000266: AND 00000267: PUSH1 0x00 00000269: EQ 0000026a: ISZERO 0000026b: PUSH2 0x052d 0000026e: JUMPI 0000026f: PUSH2 0x04d5 00000272: PUSH1 0x00 00000274: PUSH2 0x0123 00000277: JUMP 00000278: JUMPDEST 00000279: PUSH1 0x40 0000027b: DUP1 0000027c: MLOAD 0000027d: SWAP2 0000027e: DUP3 0000027f: MSTORE 00000280: MLOAD 00000281: SWAP1 00000282: DUP2 00000283: SWAP1 00000284: SUB 00000285: PUSH1 0x20 00000287: ADD 00000288: SWAP1 00000289: RETURN 0000028a: JUMPDEST 0000028b: PUSH1 0x01 0000028d: PUSH1 0xa0 0000028f: PUSH1 0x02 00000291: EXP 00000292: SUB 00000293: AND 00000294: CALLER 00000295: PUSH1 0x01 00000297: PUSH1 0xa0 00000299: PUSH1 0x02 0000029b: EXP 0000029c: SUB 0000029d: AND 0000029e: EQ 0000029f: ISZERO 000002a0: ISZERO 000002a1: PUSH2 0x02a9 000002a4: JUMPI 000002a5: PUSH2 0x0002 000002a8: JUMP 000002a9: JUMPDEST 000002aa: PUSH2 0x0365 000002ad: DUP3 000002ae: PUSH1 0x02 000002b0: PUSH1 0x40 000002b2: DUP1 000002b3: MLOAD 000002b4: PUSH1 0x20 000002b6: DUP2 000002b7: ADD 000002b8: SWAP1 000002b9: SWAP2 000002ba: MSTORE 000002bb: PUSH1 0x00 000002bd: SWAP1 000002be: DUP2 000002bf: SWAP1 000002c0: MSTORE 000002c1: DUP3 000002c2: DUP2 000002c3: DUP1 000002c4: DUP1 000002c5: JUMPDEST 000002c6: DUP4 000002c7: MLOAD 000002c8: DUP2 000002c9: LT 000002ca: ISZERO 000002cb: PUSH2 0x0347 000002ce: JUMPI 000002cf: PUSH1 0x30 000002d1: PUSH1 0xf8 000002d3: PUSH1 0x02 000002d5: EXP 000002d6: MUL 000002d7: DUP5 000002d8: DUP3 000002d9: DUP2 000002da: MLOAD 000002db: DUP2 000002dc: LT 000002dd: ISZERO 000002de: PUSH2 0x0002 000002e1: JUMPI 000002e2: ADD 000002e3: PUSH1 0x20 000002e5: ADD 000002e6: MLOAD 000002e7: PUSH1 0xf8 000002e9: PUSH1 0x02 000002eb: EXP 000002ec: SWAP1 000002ed: DUP2 000002ee: SWAP1 000002ef: DIV 000002f0: MUL 000002f1: PUSH1 0x01 000002f3: PUSH1 0xf8 000002f5: PUSH1 0x02 000002f7: EXP 000002f8: SUB 000002f9: NOT 000002fa: AND 000002fb: LT 000002fc: DUP1 000002fd: ISZERO 000002fe: SWAP1 000002ff: PUSH2 0x0332 00000302: JUMPI 00000303: POP 00000304: PUSH1 0x39 00000306: PUSH1 0xf8 00000308: PUSH1 0x02 0000030a: EXP 0000030b: MUL 0000030c: DUP5 0000030d: DUP3 0000030e: DUP2 0000030f: MLOAD 00000310: DUP2 00000311: LT 00000312: ISZERO 00000313: PUSH2 0x0002 00000316: JUMPI 00000317: ADD 00000318: PUSH1 0x20 0000031a: ADD 0000031b: MLOAD 0000031c: PUSH1 0xf8 0000031e: PUSH1 0x02 00000320: EXP 00000321: SWAP1 00000322: DUP2 00000323: SWAP1 00000324: DIV 00000325: MUL 00000326: PUSH1 0x01 00000328: PUSH1 0xf8 0000032a: PUSH1 0x02 0000032c: EXP 0000032d: SUB 0000032e: NOT 0000032f: AND 00000330: GT 00000331: ISZERO 00000332: JUMPDEST 00000333: ISZERO 00000334: PUSH2 0x0444 00000337: JUMPI 00000338: DUP2 00000339: ISZERO 0000033a: PUSH2 0x04a5 0000033d: JUMPI 0000033e: DUP6 0000033f: PUSH1 0x00 00000341: EQ 00000342: ISZERO 00000343: PUSH2 0x049c 00000346: JUMPI 00000347: JUMPDEST 00000348: PUSH1 0x00 0000034a: DUP7 0000034b: GT 0000034c: ISZERO 0000034d: PUSH2 0x035a 00000350: JUMPI 00000351: PUSH1 0x0a 00000353: DUP7 00000354: SWAP1 00000355: EXP 00000356: SWAP1 00000357: SWAP3 00000358: MUL 00000359: SWAP2 0000035a: JUMPDEST 0000035b: POP 0000035c: SWAP1 0000035d: SWAP6 0000035e: SWAP5 0000035f: POP 00000360: POP 00000361: POP 00000362: POP 00000363: POP 00000364: JUMP 00000365: JUMPDEST 00000366: PUSH1 0x02 00000368: SSTORE 00000369: POP 0000036a: POP 0000036b: POP 0000036c: JUMP 0000036d: JUMPDEST 0000036e: POP 0000036f: JUMP 00000370: JUMPDEST 00000371: POP 00000372: PUSH1 0x00 00000374: PUSH1 0x00 00000376: SWAP1 00000377: SLOAD 00000378: SWAP1 00000379: PUSH2 0x0100 0000037c: EXP 0000037d: SWAP1 0000037e: DIV 0000037f: PUSH1 0x01 00000381: PUSH1 0xa0 00000383: PUSH1 0x02 00000385: EXP 00000386: SUB 00000387: AND 00000388: PUSH1 0x01 0000038a: PUSH1 0xa0 0000038c: PUSH1 0x02 0000038e: EXP 0000038f: SUB 00000390: AND 00000391: PUSH4 0x38cc4831 00000396: PUSH1 0x40 00000398: MLOAD 00000399: DUP2 0000039a: PUSH1 0xe0 0000039c: PUSH1 0x02 0000039e: EXP 0000039f: MUL 000003a0: DUP2 000003a1: MSTORE 000003a2: PUSH1 0x04 000003a4: ADD 000003a5: DUP1 000003a6: SWAP1 000003a7: POP 000003a8: PUSH1 0x20 000003aa: PUSH1 0x40 000003ac: MLOAD 000003ad: DUP1 000003ae: DUP4 000003af: SUB 000003b0: DUP2 000003b1: PUSH1 0x00 000003b3: DUP8 000003b4: PUSH2 0x61da 000003b7: GAS 000003b8: SUB 000003b9: CALL 000003ba: ISZERO 000003bb: PUSH2 0x0002 000003be: JUMPI 000003bf: POP 000003c0: POP 000003c1: PUSH1 0x40 000003c3: MLOAD 000003c4: MLOAD 000003c5: SWAP2 000003c6: POP 000003c7: POP 000003c8: JUMPDEST 000003c9: PUSH1 0x01 000003cb: DUP1 000003cc: SLOAD 000003cd: PUSH1 0x01 000003cf: PUSH1 0xa0 000003d1: PUSH1 0x02 000003d3: EXP 000003d4: SUB 000003d5: NOT 000003d6: AND 000003d7: DUP3 000003d8: OR 000003d9: SWAP1 000003da: DUP2 000003db: SWAP1 000003dc: SSTORE 000003dd: PUSH1 0x40 000003df: DUP1 000003e0: MLOAD 000003e1: PUSH32 0xc281d19e00000000000000000000000000000000000000000000000000000000 00000402: DUP2 00000403: MSTORE 00000404: SWAP1 00000405: MLOAD 00000406: PUSH1 0x01 00000408: PUSH1 0xa0 0000040a: PUSH1 0x02 0000040c: EXP 0000040d: SUB 0000040e: SWAP3 0000040f: SWAP1 00000410: SWAP3 00000411: AND 00000412: SWAP2 00000413: PUSH4 0xc281d19e 00000418: SWAP2 00000419: PUSH1 0x04 0000041b: DUP2 0000041c: DUP2 0000041d: ADD 0000041e: SWAP3 0000041f: PUSH1 0x20 00000421: SWAP3 00000422: SWAP1 00000423: SWAP2 00000424: SWAP1 00000425: DUP3 00000426: SWAP1 00000427: SUB 00000428: ADD 00000429: DUP2 0000042a: PUSH1 0x00 0000042c: DUP8 0000042d: PUSH2 0x61da 00000430: GAS 00000431: SUB 00000432: CALL 00000433: ISZERO 00000434: PUSH2 0x0002 00000437: JUMPI 00000438: POP 00000439: POP 0000043a: PUSH1 0x40 0000043c: MLOAD 0000043d: MLOAD 0000043e: SWAP3 0000043f: POP 00000440: POP 00000441: POP 00000442: SWAP1 00000443: JUMP 00000444: JUMPDEST 00000445: DUP4 00000446: DUP2 00000447: DUP2 00000448: MLOAD 00000449: DUP2 0000044a: LT 0000044b: ISZERO 0000044c: PUSH2 0x0002 0000044f: JUMPI 00000450: ADD 00000451: PUSH1 0x20 00000453: ADD 00000454: MLOAD 00000455: PUSH1 0xf8 00000457: PUSH1 0x02 00000459: EXP 0000045a: SWAP1 0000045b: DUP2 0000045c: SWAP1 0000045d: DIV 0000045e: MUL 0000045f: PUSH1 0x01 00000461: PUSH1 0xf8 00000463: PUSH1 0x02 00000465: EXP 00000466: SUB 00000467: NOT 00000468: AND 00000469: PUSH32 0x2e00000000000000000000000000000000000000000000000000000000000000 0000048a: EQ 0000048b: ISZERO 0000048c: PUSH2 0x0494 0000048f: JUMPI 00000490: PUSH1 0x01 00000492: SWAP2 00000493: POP 00000494: JUMPDEST 00000495: PUSH1 0x01 00000497: ADD 00000498: PUSH2 0x02c5 0000049b: JUMP 0000049c: JUMPDEST 0000049d: PUSH1 0x00 0000049f: NOT 000004a0: SWAP6 000004a1: SWAP1 000004a2: SWAP6 000004a3: ADD 000004a4: SWAP5 000004a5: JUMPDEST 000004a6: PUSH1 0x0a 000004a8: DUP4 000004a9: MUL 000004aa: SWAP3 000004ab: POP 000004ac: DUP3 000004ad: POP 000004ae: PUSH1 0x30 000004b0: DUP5 000004b1: DUP3 000004b2: DUP2 000004b3: MLOAD 000004b4: DUP2 000004b5: LT 000004b6: ISZERO 000004b7: PUSH2 0x0002 000004ba: JUMPI 000004bb: ADD 000004bc: PUSH1 0x20 000004be: ADD 000004bf: MLOAD 000004c0: PUSH1 0xf8 000004c2: PUSH1 0x02 000004c4: EXP 000004c5: SWAP1 000004c6: DUP2 000004c7: SWAP1 000004c8: DIV 000004c9: DUP2 000004ca: MUL 000004cb: DIV 000004cc: SUB 000004cd: SWAP1 000004ce: SWAP3 000004cf: ADD 000004d0: SWAP2 000004d1: PUSH2 0x0494 000004d4: JUMP 000004d5: JUMPDEST 000004d6: POP 000004d7: PUSH1 0x00 000004d9: PUSH1 0x00 000004db: SWAP1 000004dc: SLOAD 000004dd: SWAP1 000004de: PUSH2 0x0100 000004e1: EXP 000004e2: SWAP1 000004e3: DIV 000004e4: PUSH1 0x01 000004e6: PUSH1 0xa0 000004e8: PUSH1 0x02 000004ea: EXP 000004eb: SUB 000004ec: AND 000004ed: PUSH1 0x01 000004ef: PUSH1 0xa0 000004f1: PUSH1 0x02 000004f3: EXP 000004f4: SUB 000004f5: AND 000004f6: PUSH4 0x38cc4831 000004fb: PUSH1 0x40 000004fd: MLOAD 000004fe: DUP2 000004ff: PUSH1 0xe0 00000501: PUSH1 0x02 00000503: EXP 00000504: MUL 00000505: DUP2 00000506: MSTORE 00000507: PUSH1 0x04 00000509: ADD 0000050a: DUP1 0000050b: SWAP1 0000050c: POP 0000050d: PUSH1 0x20 0000050f: PUSH1 0x40 00000511: MLOAD 00000512: DUP1 00000513: DUP4 00000514: SUB 00000515: DUP2 00000516: PUSH1 0x00 00000518: DUP8 00000519: PUSH2 0x61da 0000051c: GAS 0000051d: SUB 0000051e: CALL 0000051f: ISZERO 00000520: PUSH2 0x0002 00000523: JUMPI 00000524: POP 00000525: POP 00000526: PUSH1 0x40 00000528: MLOAD 00000529: MLOAD 0000052a: SWAP2 0000052b: POP 0000052c: POP 0000052d: JUMPDEST 0000052e: PUSH1 0x01 00000530: DUP1 00000531: SLOAD 00000532: PUSH1 0x01 00000534: PUSH1 0xa0 00000536: PUSH1 0x02 00000538: EXP 00000539: SUB 0000053a: NOT 0000053b: AND 0000053c: DUP3 0000053d: OR 0000053e: SWAP1 0000053f: DUP2 00000540: SWAP1 00000541: SSTORE 00000542: PUSH1 0x40 00000544: MLOAD 00000545: PUSH32 0x524f388900000000000000000000000000000000000000000000000000000000 00000566: DUP2 00000567: MSTORE 00000568: PUSH1 0x20 0000056a: PUSH1 0x04 0000056c: DUP3 0000056d: DUP2 0000056e: ADD 0000056f: DUP3 00000570: DUP2 00000571: MSTORE 00000572: DUP10 00000573: MLOAD 00000574: PUSH1 0x24 00000576: DUP6 00000577: ADD 00000578: MSTORE 00000579: DUP10 0000057a: MLOAD 0000057b: PUSH1 0x01 0000057d: PUSH1 0xa0 0000057f: PUSH1 0x02 00000581: EXP 00000582: SUB 00000583: SWAP6 00000584: SWAP1 00000585: SWAP6 00000586: AND 00000587: SWAP5 00000588: PUSH4 0x524f3889 0000058d: SWAP5 0000058e: DUP12 0000058f: SWAP5 00000590: SWAP3 00000591: SWAP4 00000592: DUP5 00000593: SWAP4 00000594: PUSH1 0x44 00000596: SWAP3 00000597: SWAP1 00000598: SWAP3 00000599: ADD 0000059a: SWAP3 0000059b: DUP7 0000059c: DUP4 0000059d: ADD 0000059e: SWAP3 0000059f: SWAP1 000005a0: SWAP2 000005a1: DUP3 000005a2: SWAP2 000005a3: DUP6 000005a4: SWAP2 000005a5: DUP4 000005a6: SWAP2 000005a7: DUP7 000005a8: SWAP2 000005a9: PUSH1 0x00 000005ab: SWAP2 000005ac: PUSH1 0x1f 000005ae: DUP6 000005af: ADD 000005b0: DIV 000005b1: PUSH1 0x03 000005b3: MUL 000005b4: PUSH1 0x0f 000005b6: ADD 000005b7: CALL 000005b8: POP 000005b9: SWAP1 000005ba: POP 000005bb: SWAP1 000005bc: DUP2 000005bd: ADD 000005be: SWAP1 000005bf: PUSH1 0x1f 000005c1: AND 000005c2: DUP1 000005c3: ISZERO 000005c4: PUSH2 0x05e1 000005c7: JUMPI 000005c8: DUP1 000005c9: DUP3 000005ca: SUB 000005cb: DUP1 000005cc: MLOAD 000005cd: PUSH1 0x01 000005cf: DUP4 000005d0: PUSH1 0x20 000005d2: SUB 000005d3: PUSH2 0x0100 000005d6: EXP 000005d7: SUB 000005d8: NOT 000005d9: AND 000005da: DUP2 000005db: MSTORE 000005dc: PUSH1 0x20 000005de: ADD 000005df: SWAP2 000005e0: POP 000005e1: JUMPDEST 000005e2: POP 000005e3: SWAP3 000005e4: POP 000005e5: POP 000005e6: POP 000005e7: PUSH1 0x20 000005e9: PUSH1 0x40 000005eb: MLOAD 000005ec: DUP1 000005ed: DUP4 000005ee: SUB 000005ef: DUP2 000005f0: PUSH1 0x00 000005f2: DUP8 000005f3: PUSH2 0x61da 000005f6: GAS 000005f7: SUB 000005f8: CALL 000005f9: ISZERO 000005fa: PUSH2 0x0002 000005fd: JUMPI 000005fe: POP 000005ff: POP 00000600: PUSH1 0x40 00000602: MLOAD 00000603: MLOAD 00000604: SWAP3 00000605: POP 00000606: POP 00000607: PUSH8 0x0de0b6b3a7640000 00000610: PUSH3 0x030d40 00000614: GASPRICE 00000615: MUL 00000616: ADD 00000617: DUP3 00000618: GT 00000619: ISZERO 0000061a: PUSH2 0x062b 0000061d: JUMPI 0000061e: POP 0000061f: PUSH1 0x00 00000621: SWAP2 00000622: POP 00000623: JUMPDEST 00000624: POP 00000625: SWAP4 00000626: SWAP3 00000627: POP 00000628: POP 00000629: POP 0000062a: JUMP 0000062b: JUMPDEST 0000062c: PUSH1 0x01 0000062e: PUSH1 0x00 00000630: SWAP1 00000631: SLOAD 00000632: SWAP1 00000633: PUSH2 0x0100 00000636: EXP 00000637: SWAP1 00000638: DIV 00000639: PUSH1 0x01 0000063b: PUSH1 0xa0 0000063d: PUSH1 0x02 0000063f: EXP 00000640: SUB 00000641: AND 00000642: PUSH1 0x01 00000644: PUSH1 0xa0 00000646: PUSH1 0x02 00000648: EXP 00000649: SUB 0000064a: AND 0000064b: PUSH4 0xadf59f99 00000650: DUP4 00000651: DUP9 00000652: DUP9 00000653: DUP9 00000654: PUSH1 0x40 00000656: MLOAD 00000657: DUP6 00000658: PUSH1 0xe0 0000065a: PUSH1 0x02 0000065c: EXP 0000065d: MUL 0000065e: DUP2 0000065f: MSTORE 00000660: PUSH1 0x04 00000662: ADD 00000663: DUP1 00000664: DUP5 00000665: DUP2 00000666: MSTORE 00000667: PUSH1 0x20 00000669: ADD 0000066a: DUP1 0000066b: PUSH1 0x20 0000066d: ADD 0000066e: DUP1 0000066f: PUSH1 0x20 00000671: ADD 00000672: DUP4 00000673: DUP2 00000674: SUB 00000675: DUP4 00000676: MSTORE 00000677: DUP6 00000678: DUP2 00000679: DUP2 0000067a: MLOAD 0000067b: DUP2 0000067c: MSTORE 0000067d: PUSH1 0x20 0000067f: ADD 00000680: SWAP2 00000681: POP 00000682: DUP1 00000683: MLOAD 00000684: SWAP1 00000685: PUSH1 0x20 00000687: ADD 00000688: SWAP1 00000689: DUP1 0000068a: DUP4 0000068b: DUP4 0000068c: DUP3 0000068d: SWAP1 0000068e: PUSH1 0x00 00000690: PUSH1 0x04 00000692: PUSH1 0x20 00000694: DUP5 00000695: PUSH1 0x1f 00000697: ADD 00000698: DIV 00000699: PUSH1 0x03 0000069b: MUL 0000069c: PUSH1 0x0f 0000069e: ADD 0000069f: CALL 000006a0: POP 000006a1: SWAP1 000006a2: POP 000006a3: SWAP1 000006a4: DUP2 000006a5: ADD 000006a6: SWAP1 000006a7: PUSH1 0x1f 000006a9: AND 000006aa: DUP1 000006ab: ISZERO 000006ac: PUSH2 0x06c9 000006af: JUMPI 000006b0: DUP1 000006b1: DUP3 000006b2: SUB 000006b3: DUP1 000006b4: MLOAD 000006b5: PUSH1 0x01 000006b7: DUP4 000006b8: PUSH1 0x20 000006ba: SUB 000006bb: PUSH2 0x0100 000006be: EXP 000006bf: SUB 000006c0: NOT 000006c1: AND 000006c2: DUP2 000006c3: MSTORE 000006c4: PUSH1 0x20 000006c6: ADD 000006c7: SWAP2 000006c8: POP 000006c9: JUMPDEST 000006ca: POP 000006cb: DUP4 000006cc: DUP2 000006cd: SUB 000006ce: DUP3 000006cf: MSTORE 000006d0: DUP5 000006d1: DUP2 000006d2: DUP2 000006d3: MLOAD 000006d4: DUP2 000006d5: MSTORE 000006d6: PUSH1 0x20 000006d8: ADD 000006d9: SWAP2 000006da: POP 000006db: DUP1 000006dc: MLOAD 000006dd: SWAP1 000006de: PUSH1 0x20 000006e0: ADD 000006e1: SWAP1 000006e2: DUP1 000006e3: DUP4 000006e4: DUP4 000006e5: DUP3 000006e6: SWAP1 000006e7: PUSH1 0x00 000006e9: PUSH1 0x04 000006eb: PUSH1 0x20 000006ed: DUP5 000006ee: PUSH1 0x1f 000006f0: ADD 000006f1: DIV 000006f2: PUSH1 0x03 000006f4: MUL 000006f5: PUSH1 0x0f 000006f7: ADD 000006f8: CALL 000006f9: POP 000006fa: SWAP1 000006fb: POP 000006fc: SWAP1 000006fd: DUP2 000006fe: ADD 000006ff: SWAP1 00000700: PUSH1 0x1f 00000702: AND 00000703: DUP1 00000704: ISZERO 00000705: PUSH2 0x0722 00000708: JUMPI 00000709: DUP1 0000070a: DUP3 0000070b: SUB 0000070c: DUP1 0000070d: MLOAD 0000070e: PUSH1 0x01 00000710: DUP4 00000711: PUSH1 0x20 00000713: SUB 00000714: PUSH2 0x0100 00000717: EXP 00000718: SUB 00000719: NOT 0000071a: AND 0000071b: DUP2 0000071c: MSTORE 0000071d: PUSH1 0x20 0000071f: ADD 00000720: SWAP2 00000721: POP 00000722: JUMPDEST 00000723: POP 00000724: SWAP6 00000725: POP 00000726: POP 00000727: POP 00000728: POP 00000729: POP 0000072a: POP 0000072b: PUSH1 0x20 0000072d: PUSH1 0x40 0000072f: MLOAD 00000730: DUP1 00000731: DUP4 00000732: SUB 00000733: DUP2 00000734: DUP6 00000735: DUP9 00000736: PUSH2 0x8502 00000739: GAS 0000073a: SUB 0000073b: CALL 0000073c: ISZERO 0000073d: PUSH2 0x0002 00000740: JUMPI 00000741: POP 00000742: POP 00000743: PUSH1 0x40 00000745: MLOAD 00000746: MLOAD 00000747: SWAP5 00000748: POP 00000749: PUSH2 0x0623 0000074c: SWAP3 0000074d: POP 0000074e: POP 0000074f: POP 00000750: JUMP 00000751: JUMPDEST 00000752: POP 00000753: PUSH1 0x00 00000755: JUMPDEST 00000756: SWAP2 00000757: SWAP1 00000758: POP 00000759: JUMP 0000075a: JUMPDEST 0000075b: GT 0000075c: ISZERO 0000075d: PUSH2 0x078e 00000760: JUMPI 00000761: POP 00000762: PUSH1 0x00 00000764: DUP1 00000765: SLOAD 00000766: PUSH1 0x01 00000768: PUSH1 0xa0 0000076a: PUSH1 0x02 0000076c: EXP 0000076d: SUB 0000076e: NOT 0000076f: AND 00000770: PUSH20 0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed 00000785: OR 00000786: SWAP1 00000787: SSTORE 00000788: PUSH1 0x01 0000078a: PUSH2 0x0755 0000078d: JUMP 0000078e: JUMPDEST 0000078f: PUSH1 0x00 00000791: PUSH2 0x07ad 00000794: PUSH20 0x9efbea6358bed926b293d2ce63a730d6d98d43dd 000007a9: PUSH2 0x0140 000007ac: JUMP 000007ad: JUMPDEST 000007ae: GT 000007af: ISZERO 000007b0: PUSH2 0x07e4 000007b3: JUMPI 000007b4: POP 000007b5: PUSH1 0x00 000007b7: DUP1 000007b8: SLOAD 000007b9: PUSH20 0x9efbea6358bed926b293d2ce63a730d6d98d43dd 000007ce: PUSH1 0x01 000007d0: PUSH1 0xa0 000007d2: PUSH1 0x02 000007d4: EXP 000007d5: SUB 000007d6: NOT 000007d7: SWAP2 000007d8: SWAP1 000007d9: SWAP2 000007da: AND 000007db: OR 000007dc: SWAP1 000007dd: SSTORE 000007de: PUSH1 0x01 000007e0: PUSH2 0x0755 000007e3: JUMP 000007e4: JUMPDEST 000007e5: PUSH1 0x00 000007e7: PUSH2 0x0803 000007ea: PUSH20 0x20e12a1f859b3feae5fb2a0a32c18f5a65555bbf 000007ff: PUSH2 0x0140 00000802: JUMP 00000803: JUMPDEST 00000804: GT 00000805: ISZERO 00000806: PUSH2 0x0751 00000809: JUMPI 0000080a: POP 0000080b: PUSH1 0x00 0000080d: DUP1 0000080e: SLOAD 0000080f: PUSH1 0x01 00000811: PUSH1 0xa0 00000813: PUSH1 0x02 00000815: EXP 00000816: SUB 00000817: NOT 00000818: AND 00000819: PUSH20 0x20e12a1f859b3feae5fb2a0a32c18f5a65555bbf 0000082e: OR 0000082f: SWAP1 00000830: SSTORE 00000831: PUSH1 0x01 00000833: PUSH2 0x0755 00000836: JUMP
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 |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x0e4b64501304d17285d8a4030364bf96f72213ed1d2837786f2dccb09dee0d9b
call_targets:
0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed, 0x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf6, 0xb3bf7996cc178edededf2b242121e0e8cfcbe4b5
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x0e4b64501304d17285d8a4030364bf96f72213ed1d2837786f2dccb09dee0d9b",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed",
"0x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf6",
"0xb3bf7996cc178edededf2b242121e0e8cfcbe4b5"
],
"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": "0x38bbfa50",
"selector": "0x38bbfa50",
"calldata_variants": [
"0x38bbfa50",
"0x38bbfa500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x73db0844",
"selector": "0x73db0844",
"calldata_variants": [
"0x73db0844",
"0x73db08440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa2e62045",
"selector": "0xa2e62045",
"calldata_variants": [
"0xa2e62045",
"0xa2e620450000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 254,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 590,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 953,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [],
"untrusted_call_count": 10
}
|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0x0e4b64501304d17285d8a4030364bf96f72213ed1d2837786f2dccb09dee0d9b
call_targets:
0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed, 0x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf6, 0xb3bf7996cc178edededf2b242121e0e8cfcbe4b5
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x0e4b64501304d17285d8a4030364bf96f72213ed1d2837786f2dccb09dee0d9b",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed",
"0x3dbdc81a6edc94c720b0b88fb65dbd7e395fdcf6",
"0xb3bf7996cc178edededf2b242121e0e8cfcbe4b5"
],
"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": "0x38bbfa50",
"selector": "0x38bbfa50",
"calldata_variants": [
"0x38bbfa50",
"0x38bbfa500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x73db0844",
"selector": "0x73db0844",
"calldata_variants": [
"0x73db0844",
"0x73db08440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa2e62045",
"selector": "0xa2e62045",
"calldata_variants": [
"0xa2e62045",
"0xa2e620450000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 254,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 590,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 953,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": []
}
|