019b3836-4ebf-72ce-a583-343d807b0e03
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 |
|---|---|---|---|---|
| 7427 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 7428 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 109406 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 109407 | capability.graph | complete | 1 / 3 | 1 week ago |
| 109408 | detector.run | complete | 1 / 3 | 1 week ago |
| 109409 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113937 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-sb54xom2 model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5ca3-837c-7182-851b-bac55aec345a -------- 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:55:14.625976+00:00",
"returncode": 1
},
"project": {
"mode": "bytecode",
"bytecode_length": 2512,
"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: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x002a 0000000a: JUMPI 0000000b: PUSH1 0xe0 0000000d: PUSH1 0x02 0000000f: EXP 00000010: PUSH1 0x00 00000012: CALLDATALOAD 00000013: DIV 00000014: PUSH4 0x693ec85e 00000019: DUP2 0000001a: EQ 0000001b: PUSH2 0x0032 0000001e: JUMPI 0000001f: DUP1 00000020: PUSH4 0xe51ace16 00000025: EQ 00000026: PUSH2 0x01cb 00000029: JUMPI 0000002a: JUMPDEST 0000002b: PUSH2 0x0000 0000002e: PUSH2 0x0002 00000031: JUMP 00000032: JUMPDEST 00000033: PUSH1 0x20 00000035: PUSH1 0x04 00000037: DUP1 00000038: CALLDATALOAD 00000039: DUP1 0000003a: DUP3 0000003b: ADD 0000003c: CALLDATALOAD 0000003d: PUSH1 0x1f 0000003f: DUP2 00000040: ADD 00000041: DUP5 00000042: SWAP1 00000043: DIV 00000044: SWAP1 00000045: SWAP4 00000046: MUL 00000047: PUSH1 0x80 00000049: SWAP1 0000004a: DUP2 0000004b: ADD 0000004c: PUSH1 0x40 0000004e: MSTORE 0000004f: PUSH1 0x60 00000051: DUP5 00000052: DUP2 00000053: MSTORE 00000054: PUSH2 0x0243 00000057: SWAP5 00000058: PUSH1 0x24 0000005a: SWAP4 0000005b: SWAP2 0000005c: SWAP3 0000005d: SWAP2 0000005e: DUP5 0000005f: ADD 00000060: SWAP2 00000061: DUP2 00000062: SWAP1 00000063: DUP4 00000064: DUP3 00000065: DUP1 00000066: DUP3 00000067: DUP5 00000068: CALLDATACOPY 00000069: POP 0000006a: SWAP5 0000006b: SWAP7 0000006c: POP 0000006d: POP 0000006e: POP 0000006f: POP 00000070: POP 00000071: POP 00000072: POP 00000073: PUSH1 0x00 00000075: PUSH1 0x00 00000077: PUSH1 0x00 00000079: PUSH1 0x00 0000007b: PUSH1 0x01 0000007d: PUSH1 0x00 0000007f: POP 00000080: DUP6 00000081: PUSH1 0x40 00000083: MLOAD 00000084: DUP1 00000085: DUP3 00000086: DUP1 00000087: MLOAD 00000088: SWAP1 00000089: PUSH1 0x20 0000008b: ADD 0000008c: SWAP1 0000008d: DUP1 0000008e: DUP4 0000008f: DUP4 00000090: DUP3 00000091: SWAP1 00000092: PUSH1 0x00 00000094: PUSH1 0x04 00000096: PUSH1 0x20 00000098: DUP5 00000099: PUSH1 0x1f 0000009b: ADD 0000009c: DIV 0000009d: PUSH1 0x0f 0000009f: MUL 000000a0: PUSH1 0x03 000000a2: ADD 000000a3: CALL 000000a4: POP 000000a5: SWAP1 000000a6: POP 000000a7: ADD 000000a8: SWAP2 000000a9: POP 000000aa: POP 000000ab: SWAP1 000000ac: DUP2 000000ad: MSTORE 000000ae: PUSH1 0x20 000000b0: ADD 000000b1: PUSH1 0x40 000000b3: MLOAD 000000b4: DUP1 000000b5: SWAP2 000000b6: SUB 000000b7: SWAP1 000000b8: KECCAK256 000000b9: PUSH1 0x00 000000bb: POP 000000bc: PUSH1 0x00 000000be: ADD 000000bf: PUSH1 0x14 000000c1: SWAP1 000000c2: SLOAD 000000c3: SWAP1 000000c4: PUSH2 0x0100 000000c7: EXP 000000c8: SWAP1 000000c9: DIV 000000ca: PUSH1 0xff 000000cc: AND 000000cd: ISZERO 000000ce: PUSH2 0x01c4 000000d1: JUMPI 000000d2: PUSH1 0x40 000000d4: MLOAD 000000d5: DUP6 000000d6: MLOAD 000000d7: PUSH1 0x01 000000d9: SWAP6 000000da: POP 000000db: DUP6 000000dc: SWAP2 000000dd: DUP8 000000de: SWAP2 000000df: DUP2 000000e0: SWAP1 000000e1: PUSH1 0x80 000000e3: SWAP1 000000e4: DUP1 000000e5: DUP4 000000e6: DUP2 000000e7: DUP5 000000e8: DUP11 000000e9: PUSH1 0x04 000000eb: PUSH1 0x20 000000ed: PUSH1 0x1f 000000ef: DUP6 000000f0: ADD 000000f1: DIV 000000f2: PUSH1 0x0f 000000f4: MUL 000000f5: PUSH1 0x03 000000f7: ADD 000000f8: CALL 000000f9: POP 000000fa: SWAP1 000000fb: POP 000000fc: ADD 000000fd: SWAP2 000000fe: POP 000000ff: POP 00000100: SWAP1 00000101: DUP2 00000102: MSTORE 00000103: PUSH1 0x20 00000105: ADD 00000106: PUSH1 0x40 00000108: MLOAD 00000109: DUP1 0000010a: SWAP2 0000010b: SUB 0000010c: SWAP1 0000010d: KECCAK256 0000010e: PUSH1 0x00 00000110: POP 00000111: PUSH1 0x02 00000113: ADD 00000114: PUSH1 0x00 00000116: POP 00000117: SLOAD 00000118: SWAP3 00000119: POP 0000011a: DUP3 0000011b: POP 0000011c: PUSH1 0x01 0000011e: PUSH1 0x00 00000120: POP 00000121: DUP6 00000122: PUSH1 0x40 00000124: MLOAD 00000125: DUP1 00000126: DUP3 00000127: DUP1 00000128: MLOAD 00000129: SWAP1 0000012a: PUSH1 0x20 0000012c: ADD 0000012d: SWAP1 0000012e: DUP1 0000012f: DUP4 00000130: DUP4 00000131: DUP3 00000132: SWAP1 00000133: PUSH1 0x00 00000135: PUSH1 0x04 00000137: PUSH1 0x20 00000139: DUP5 0000013a: PUSH1 0x1f 0000013c: ADD 0000013d: DIV 0000013e: PUSH1 0x0f 00000140: MUL 00000141: PUSH1 0x03 00000143: ADD 00000144: CALL 00000145: POP 00000146: SWAP1 00000147: POP 00000148: ADD 00000149: SWAP2 0000014a: POP 0000014b: POP 0000014c: SWAP1 0000014d: DUP2 0000014e: MSTORE 0000014f: PUSH1 0x20 00000151: ADD 00000152: PUSH1 0x40 00000154: MLOAD 00000155: DUP1 00000156: SWAP2 00000157: SUB 00000158: SWAP1 00000159: KECCAK256 0000015a: PUSH1 0x00 0000015c: POP 0000015d: PUSH1 0x01 0000015f: ADD 00000160: PUSH1 0x00 00000162: POP 00000163: SLOAD 00000164: SWAP2 00000165: POP 00000166: DUP2 00000167: POP 00000168: PUSH1 0x01 0000016a: PUSH1 0x00 0000016c: POP 0000016d: DUP6 0000016e: PUSH1 0x40 00000170: MLOAD 00000171: DUP1 00000172: DUP3 00000173: DUP1 00000174: MLOAD 00000175: SWAP1 00000176: PUSH1 0x20 00000178: ADD 00000179: SWAP1 0000017a: DUP1 0000017b: DUP4 0000017c: DUP4 0000017d: DUP3 0000017e: SWAP1 0000017f: PUSH1 0x00 00000181: PUSH1 0x04 00000183: PUSH1 0x20 00000185: DUP5 00000186: PUSH1 0x1f 00000188: ADD 00000189: DIV 0000018a: PUSH1 0x0f 0000018c: MUL 0000018d: PUSH1 0x03 0000018f: ADD 00000190: CALL 00000191: POP 00000192: SWAP1 00000193: POP 00000194: ADD 00000195: SWAP2 00000196: POP 00000197: POP 00000198: SWAP1 00000199: DUP2 0000019a: MSTORE 0000019b: PUSH1 0x20 0000019d: ADD 0000019e: PUSH1 0x40 000001a0: MLOAD 000001a1: DUP1 000001a2: SWAP2 000001a3: SUB 000001a4: SWAP1 000001a5: KECCAK256 000001a6: PUSH1 0x00 000001a8: POP 000001a9: PUSH1 0x00 000001ab: ADD 000001ac: PUSH1 0x00 000001ae: SWAP1 000001af: SLOAD 000001b0: SWAP1 000001b1: PUSH2 0x0100 000001b4: EXP 000001b5: SWAP1 000001b6: DIV 000001b7: PUSH1 0x01 000001b9: PUSH1 0xa0 000001bb: PUSH1 0x02 000001bd: EXP 000001be: SUB 000001bf: AND 000001c0: SWAP1 000001c1: POP 000001c2: DUP1 000001c3: POP 000001c4: JUMPDEST 000001c5: SWAP2 000001c6: SWAP4 000001c7: POP 000001c8: SWAP2 000001c9: SWAP4 000001ca: JUMP 000001cb: JUMPDEST 000001cc: PUSH1 0x20 000001ce: PUSH1 0x04 000001d0: DUP1 000001d1: CALLDATALOAD 000001d2: DUP1 000001d3: DUP3 000001d4: ADD 000001d5: CALLDATALOAD 000001d6: PUSH1 0x1f 000001d8: DUP2 000001d9: ADD 000001da: DUP5 000001db: SWAP1 000001dc: DIV 000001dd: SWAP1 000001de: SWAP4 000001df: MUL 000001e0: PUSH1 0x80 000001e2: SWAP1 000001e3: DUP2 000001e4: ADD 000001e5: PUSH1 0x40 000001e7: MSTORE 000001e8: PUSH1 0x60 000001ea: DUP5 000001eb: DUP2 000001ec: MSTORE 000001ed: PUSH2 0x0274 000001f0: SWAP5 000001f1: PUSH1 0x24 000001f3: SWAP4 000001f4: SWAP2 000001f5: SWAP3 000001f6: SWAP2 000001f7: DUP5 000001f8: ADD 000001f9: SWAP2 000001fa: DUP2 000001fb: SWAP1 000001fc: DUP4 000001fd: DUP3 000001fe: DUP1 000001ff: DUP3 00000200: DUP5 00000201: CALLDATACOPY 00000202: POP 00000203: SWAP5 00000204: SWAP7 00000205: POP 00000206: POP 00000207: POP 00000208: POP 00000209: POP 0000020a: POP 0000020b: POP 0000020c: PUSH1 0x00 0000020e: PUSH1 0x00 00000210: PUSH1 0x00 00000212: PUSH1 0x00 00000214: PUSH1 0x00 00000216: POP 00000217: SLOAD 00000218: CALLVALUE 00000219: LT 0000021a: ISZERO 0000021b: PUSH2 0x0294 0000021e: JUMPI 0000021f: PUSH1 0x40 00000221: MLOAD 00000222: PUSH1 0x01 00000224: PUSH1 0xa0 00000226: PUSH1 0x02 00000228: EXP 00000229: SUB 0000022a: CALLER 0000022b: AND 0000022c: SWAP1 0000022d: DUP3 0000022e: SWAP1 0000022f: CALLVALUE 00000230: SWAP1 00000231: DUP3 00000232: DUP2 00000233: DUP2 00000234: DUP2 00000235: DUP6 00000236: DUP9 00000237: DUP4 00000238: CALL 00000239: SWAP4 0000023a: POP 0000023b: POP 0000023c: POP 0000023d: POP 0000023e: POP 0000023f: PUSH2 0x04e0 00000242: JUMP 00000243: JUMPDEST 00000244: PUSH1 0x40 00000246: DUP1 00000247: MLOAD 00000248: SWAP5 00000249: ISZERO 0000024a: ISZERO 0000024b: DUP6 0000024c: MSTORE 0000024d: PUSH1 0x20 0000024f: DUP6 00000250: ADD 00000251: SWAP4 00000252: SWAP1 00000253: SWAP4 00000254: MSTORE 00000255: DUP4 00000256: DUP4 00000257: ADD 00000258: SWAP2 00000259: SWAP1 0000025a: SWAP2 0000025b: MSTORE 0000025c: PUSH1 0x01 0000025e: PUSH1 0xa0 00000260: PUSH1 0x02 00000262: EXP 00000263: SUB 00000264: AND 00000265: PUSH1 0x60 00000267: DUP4 00000268: ADD 00000269: MSTORE 0000026a: MLOAD 0000026b: SWAP1 0000026c: DUP2 0000026d: SWAP1 0000026e: SUB 0000026f: PUSH1 0x80 00000271: ADD 00000272: SWAP1 00000273: RETURN 00000274: JUMPDEST 00000275: PUSH1 0x40 00000277: DUP1 00000278: MLOAD 00000279: SWAP4 0000027a: ISZERO 0000027b: ISZERO 0000027c: DUP5 0000027d: MSTORE 0000027e: SWAP2 0000027f: ISZERO 00000280: ISZERO 00000281: PUSH1 0x20 00000283: DUP5 00000284: ADD 00000285: MSTORE 00000286: DUP3 00000287: DUP3 00000288: ADD 00000289: MSTORE 0000028a: MLOAD 0000028b: SWAP1 0000028c: DUP2 0000028d: SWAP1 0000028e: SUB 0000028f: PUSH1 0x60 00000291: ADD 00000292: SWAP1 00000293: RETURN 00000294: JUMPDEST 00000295: PUSH1 0x40 00000297: MLOAD 00000298: DUP5 00000299: MLOAD 0000029a: PUSH1 0x01 0000029c: SWAP2 0000029d: DUP7 0000029e: SWAP2 0000029f: DUP2 000002a0: SWAP1 000002a1: PUSH1 0x80 000002a3: SWAP1 000002a4: DUP1 000002a5: DUP4 000002a6: DUP2 000002a7: DUP5 000002a8: DUP11 000002a9: PUSH1 0x04 000002ab: PUSH1 0x03 000002ad: PUSH1 0x0f 000002af: PUSH1 0x20 000002b1: PUSH1 0x1f 000002b3: DUP8 000002b4: ADD 000002b5: DIV 000002b6: MUL 000002b7: ADD 000002b8: CALL 000002b9: POP 000002ba: SWAP1 000002bb: POP 000002bc: ADD 000002bd: SWAP2 000002be: POP 000002bf: POP 000002c0: SWAP1 000002c1: DUP2 000002c2: MSTORE 000002c3: PUSH1 0x20 000002c5: ADD 000002c6: PUSH1 0x40 000002c8: MLOAD 000002c9: DUP1 000002ca: SWAP2 000002cb: SUB 000002cc: SWAP1 000002cd: KECCAK256 000002ce: PUSH1 0x00 000002d0: POP 000002d1: PUSH1 0x00 000002d3: ADD 000002d4: PUSH1 0x14 000002d6: SWAP1 000002d7: SLOAD 000002d8: SWAP1 000002d9: PUSH2 0x0100 000002dc: EXP 000002dd: SWAP1 000002de: DIV 000002df: PUSH1 0xff 000002e1: AND 000002e2: ISZERO 000002e3: PUSH2 0x0338 000002e6: JUMPI 000002e7: PUSH1 0x40 000002e9: MLOAD 000002ea: DUP5 000002eb: MLOAD 000002ec: PUSH1 0x01 000002ee: SWAP5 000002ef: POP 000002f0: DUP5 000002f1: SWAP4 000002f2: POP 000002f3: DUP4 000002f4: SWAP2 000002f5: DUP7 000002f6: SWAP2 000002f7: DUP2 000002f8: SWAP1 000002f9: PUSH1 0x80 000002fb: SWAP1 000002fc: DUP1 000002fd: DUP4 000002fe: DUP2 000002ff: DUP5 00000300: DUP11 00000301: PUSH1 0x04 00000303: PUSH1 0x20 00000305: PUSH1 0x1f 00000307: DUP6 00000308: ADD 00000309: DIV 0000030a: PUSH1 0x0f 0000030c: MUL 0000030d: PUSH1 0x03 0000030f: ADD 00000310: CALL 00000311: POP 00000312: SWAP1 00000313: POP 00000314: ADD 00000315: SWAP2 00000316: POP 00000317: POP 00000318: SWAP1 00000319: DUP2 0000031a: MSTORE 0000031b: PUSH1 0x20 0000031d: ADD 0000031e: PUSH1 0x40 00000320: MLOAD 00000321: DUP1 00000322: SWAP2 00000323: SUB 00000324: SWAP1 00000325: KECCAK256 00000326: PUSH1 0x00 00000328: POP 00000329: PUSH1 0x02 0000032b: ADD 0000032c: PUSH1 0x00 0000032e: POP 0000032f: SLOAD 00000330: SWAP1 00000331: POP 00000332: DUP1 00000333: POP 00000334: PUSH2 0x04e0 00000337: JUMP 00000338: JUMPDEST 00000339: PUSH1 0x40 0000033b: MLOAD 0000033c: DUP5 0000033d: MLOAD 0000033e: PUSH1 0x01 00000340: SWAP2 00000341: DUP3 00000342: SWAP2 00000343: DUP8 00000344: SWAP2 00000345: SWAP1 00000346: DUP2 00000347: SWAP1 00000348: PUSH1 0x80 0000034a: SWAP1 0000034b: DUP1 0000034c: DUP4 0000034d: DUP2 0000034e: DUP5 0000034f: DUP12 00000350: PUSH1 0x04 00000352: PUSH1 0x20 00000354: PUSH1 0x1f 00000356: DUP6 00000357: ADD 00000358: DIV 00000359: PUSH1 0x0f 0000035b: MUL 0000035c: PUSH1 0x03 0000035e: ADD 0000035f: CALL 00000360: POP 00000361: SWAP1 00000362: POP 00000363: ADD 00000364: SWAP2 00000365: POP 00000366: POP 00000367: SWAP1 00000368: DUP2 00000369: MSTORE 0000036a: PUSH1 0x20 0000036c: ADD 0000036d: PUSH1 0x40 0000036f: MLOAD 00000370: DUP1 00000371: SWAP2 00000372: SUB 00000373: SWAP1 00000374: KECCAK256 00000375: PUSH1 0x00 00000377: POP 00000378: PUSH1 0x00 0000037a: ADD 0000037b: PUSH1 0x14 0000037d: PUSH2 0x0100 00000380: EXP 00000381: DUP2 00000382: SLOAD 00000383: DUP2 00000384: PUSH1 0xff 00000386: MUL 00000387: NOT 00000388: AND 00000389: SWAP1 0000038a: DUP4 0000038b: MUL 0000038c: OR 0000038d: SWAP1 0000038e: SSTORE 0000038f: POP 00000390: CALLER 00000391: PUSH1 0x01 00000393: PUSH1 0x00 00000395: POP 00000396: DUP6 00000397: PUSH1 0x40 00000399: MLOAD 0000039a: DUP1 0000039b: DUP3 0000039c: DUP1 0000039d: MLOAD 0000039e: SWAP1 0000039f: PUSH1 0x20 000003a1: ADD 000003a2: SWAP1 000003a3: DUP1 000003a4: DUP4 000003a5: DUP4 000003a6: DUP3 000003a7: SWAP1 000003a8: PUSH1 0x00 000003aa: PUSH1 0x04 000003ac: PUSH1 0x20 000003ae: DUP5 000003af: PUSH1 0x1f 000003b1: ADD 000003b2: DIV 000003b3: PUSH1 0x0f 000003b5: MUL 000003b6: PUSH1 0x03 000003b8: ADD 000003b9: CALL 000003ba: POP 000003bb: SWAP1 000003bc: POP 000003bd: ADD 000003be: SWAP2 000003bf: POP 000003c0: POP 000003c1: SWAP1 000003c2: DUP2 000003c3: MSTORE 000003c4: PUSH1 0x20 000003c6: ADD 000003c7: PUSH1 0x40 000003c9: MLOAD 000003ca: DUP1 000003cb: SWAP2 000003cc: SUB 000003cd: SWAP1 000003ce: KECCAK256 000003cf: PUSH1 0x00 000003d1: POP 000003d2: PUSH1 0x00 000003d4: ADD 000003d5: PUSH1 0x00 000003d7: PUSH2 0x0100 000003da: EXP 000003db: DUP2 000003dc: SLOAD 000003dd: DUP2 000003de: PUSH1 0x01 000003e0: PUSH1 0xa0 000003e2: PUSH1 0x02 000003e4: EXP 000003e5: SUB 000003e6: MUL 000003e7: NOT 000003e8: AND 000003e9: SWAP1 000003ea: DUP4 000003eb: MUL 000003ec: OR 000003ed: SWAP1 000003ee: SSTORE 000003ef: POP 000003f0: TIMESTAMP 000003f1: PUSH1 0x01 000003f3: PUSH1 0x00 000003f5: POP 000003f6: DUP6 000003f7: PUSH1 0x40 000003f9: MLOAD 000003fa: DUP1 000003fb: DUP3 000003fc: DUP1 000003fd: MLOAD 000003fe: SWAP1 000003ff: PUSH1 0x20 00000401: ADD 00000402: SWAP1 00000403: DUP1 00000404: DUP4 00000405: DUP4 00000406: DUP3 00000407: SWAP1 00000408: PUSH1 0x00 0000040a: PUSH1 0x04 0000040c: PUSH1 0x20 0000040e: DUP5 0000040f: PUSH1 0x1f 00000411: ADD 00000412: DIV 00000413: PUSH1 0x0f 00000415: MUL 00000416: PUSH1 0x03 00000418: ADD 00000419: CALL 0000041a: POP 0000041b: SWAP1 0000041c: POP 0000041d: ADD 0000041e: SWAP2 0000041f: POP 00000420: POP 00000421: SWAP1 00000422: DUP2 00000423: MSTORE 00000424: PUSH1 0x20 00000426: ADD 00000427: PUSH1 0x40 00000429: MLOAD 0000042a: DUP1 0000042b: SWAP2 0000042c: SUB 0000042d: SWAP1 0000042e: KECCAK256 0000042f: PUSH1 0x00 00000431: POP 00000432: PUSH1 0x01 00000434: ADD 00000435: PUSH1 0x00 00000437: POP 00000438: DUP2 00000439: SWAP1 0000043a: SSTORE 0000043b: POP 0000043c: NUMBER 0000043d: PUSH1 0x01 0000043f: PUSH1 0x00 00000441: POP 00000442: DUP6 00000443: PUSH1 0x40 00000445: MLOAD 00000446: DUP1 00000447: DUP3 00000448: DUP1 00000449: MLOAD 0000044a: SWAP1 0000044b: PUSH1 0x20 0000044d: ADD 0000044e: SWAP1 0000044f: DUP1 00000450: DUP4 00000451: DUP4 00000452: DUP3 00000453: SWAP1 00000454: PUSH1 0x00 00000456: PUSH1 0x04 00000458: PUSH1 0x20 0000045a: DUP5 0000045b: PUSH1 0x1f 0000045d: ADD 0000045e: DIV 0000045f: PUSH1 0x0f 00000461: MUL 00000462: PUSH1 0x03 00000464: ADD 00000465: CALL 00000466: POP 00000467: SWAP1 00000468: POP 00000469: ADD 0000046a: SWAP2 0000046b: POP 0000046c: POP 0000046d: SWAP1 0000046e: DUP2 0000046f: MSTORE 00000470: PUSH1 0x20 00000472: ADD 00000473: PUSH1 0x40 00000475: MLOAD 00000476: DUP1 00000477: SWAP2 00000478: SUB 00000479: SWAP1 0000047a: KECCAK256 0000047b: PUSH1 0x00 0000047d: POP 0000047e: PUSH1 0x02 00000480: ADD 00000481: PUSH1 0x00 00000483: POP 00000484: DUP2 00000485: SWAP1 00000486: SSTORE 00000487: POP 00000488: PUSH1 0x01 0000048a: SWAP3 0000048b: POP 0000048c: DUP3 0000048d: POP 0000048e: PUSH1 0x00 00000490: SWAP2 00000491: POP 00000492: DUP2 00000493: POP 00000494: PUSH1 0x01 00000496: PUSH1 0x00 00000498: POP 00000499: DUP5 0000049a: PUSH1 0x40 0000049c: MLOAD 0000049d: DUP1 0000049e: DUP3 0000049f: DUP1 000004a0: MLOAD 000004a1: SWAP1 000004a2: PUSH1 0x20 000004a4: ADD 000004a5: SWAP1 000004a6: DUP1 000004a7: DUP4 000004a8: DUP4 000004a9: DUP3 000004aa: SWAP1 000004ab: PUSH1 0x00 000004ad: PUSH1 0x04 000004af: PUSH1 0x20 000004b1: DUP5 000004b2: PUSH1 0x1f 000004b4: ADD 000004b5: DIV 000004b6: PUSH1 0x0f 000004b8: MUL 000004b9: PUSH1 0x03 000004bb: ADD 000004bc: CALL 000004bd: POP 000004be: SWAP1 000004bf: POP 000004c0: ADD 000004c1: SWAP2 000004c2: POP 000004c3: POP 000004c4: SWAP1 000004c5: DUP2 000004c6: MSTORE 000004c7: PUSH1 0x20 000004c9: ADD 000004ca: PUSH1 0x40 000004cc: MLOAD 000004cd: DUP1 000004ce: SWAP2 000004cf: SUB 000004d0: SWAP1 000004d1: KECCAK256 000004d2: PUSH1 0x00 000004d4: POP 000004d5: PUSH1 0x02 000004d7: ADD 000004d8: PUSH1 0x00 000004da: POP 000004db: SLOAD 000004dc: SWAP1 000004dd: POP 000004de: DUP1 000004df: POP 000004e0: JUMPDEST 000004e1: SWAP2 000004e2: SWAP4 000004e3: SWAP1 000004e4: SWAP3 000004e5: POP 000004e6: 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: 0xbf9ffe1050d0450d511f14e2030ce4fb7b49f2bbf82bcad3e5881c757b0d5941
call_targets:
0x0000000000000000000000000000000000000004, 0x39aa4006ee5941c0c0e41b924fdafcb2c4c918e8
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0xbf9ffe1050d0450d511f14e2030ce4fb7b49f2bbf82bcad3e5881c757b0d5941",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x39aa4006ee5941c0c0e41b924fdafcb2c4c918e8"
],
"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": "0x693ec85e",
"selector": "0x693ec85e",
"calldata_variants": [
"0x693ec85e",
"0x693ec85e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe51ace16",
"selector": "0xe51ace16",
"calldata_variants": [
"0xe51ace16",
"0xe51ace160000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 248,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 324,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 400,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 12,
"guards_detected": [],
"untrusted_call_count": 11
}
|
| high | other | detector | ETH value transfer possible | 55 | yes | yes |
viewtrace_id: 0xbf9ffe1050d0450d511f14e2030ce4fb7b49f2bbf82bcad3e5881c757b0d5941
call_targets:
0x0000000000000000000000000000000000000004, 0x39aa4006ee5941c0c0e41b924fdafcb2c4c918e8
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0xbf9ffe1050d0450d511f14e2030ce4fb7b49f2bbf82bcad3e5881c757b0d5941",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x39aa4006ee5941c0c0e41b924fdafcb2c4c918e8"
],
"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": "0x693ec85e",
"selector": "0x693ec85e",
"calldata_variants": [
"0x693ec85e",
"0x693ec85e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe51ace16",
"selector": "0xe51ace16",
"calldata_variants": [
"0xe51ace16",
"0xe51ace160000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 248,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 324,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 400,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 11,
"guards_detected": []
}
|