019b3836-2ece-7232-a03a-bb9139666cf6
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 |
|---|---|---|---|---|
| 2335 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 2336 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 45432 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 45433 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 45434 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 45435 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
No codex job recorded yet.
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x0069 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x232a3060 00000034: EQ 00000035: PUSH2 0x00d8 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x69f384c4 0000003f: EQ 00000040: PUSH2 0x00f0 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0x9d735286 0000004a: EQ 0000004b: PUSH2 0x0132 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0xa6f9dae1 00000055: EQ 00000056: PUSH2 0x0141 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0xfa89401a 00000060: EQ 00000061: PUSH2 0x0159 00000064: JUMPI 00000065: PUSH2 0x0069 00000068: JUMP 00000069: JUMPDEST 0000006a: PUSH2 0x00d6 0000006d: JUMPDEST 0000006e: NUMBER 0000006f: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db 00000090: CALLER 00000091: CALLVALUE 00000092: TIMESTAMP 00000093: PUSH1 0x40 00000095: MLOAD 00000096: DUP1 00000097: DUP5 00000098: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000ad: AND 000000ae: DUP2 000000af: MSTORE 000000b0: PUSH1 0x20 000000b2: ADD 000000b3: DUP4 000000b4: DUP2 000000b5: MSTORE 000000b6: PUSH1 0x20 000000b8: ADD 000000b9: DUP3 000000ba: DUP2 000000bb: MSTORE 000000bc: PUSH1 0x20 000000be: ADD 000000bf: SWAP4 000000c0: POP 000000c1: POP 000000c2: POP 000000c3: POP 000000c4: PUSH1 0x40 000000c6: MLOAD 000000c7: DUP1 000000c8: SWAP2 000000c9: SUB 000000ca: SWAP1 000000cb: LOG2 000000cc: PUSH2 0x00d3 000000cf: PUSH2 0x0371 000000d2: JUMP 000000d3: JUMPDEST 000000d4: JUMPDEST 000000d5: JUMP 000000d6: JUMPDEST 000000d7: STOP 000000d8: JUMPDEST 000000d9: PUSH2 0x00ee 000000dc: PUSH1 0x04 000000de: DUP1 000000df: DUP1 000000e0: CALLDATALOAD 000000e1: SWAP1 000000e2: PUSH1 0x20 000000e4: ADD 000000e5: SWAP1 000000e6: SWAP2 000000e7: SWAP1 000000e8: POP 000000e9: POP 000000ea: PUSH2 0x0171 000000ed: JUMP 000000ee: JUMPDEST 000000ef: STOP 000000f0: JUMPDEST 000000f1: PUSH2 0x0106 000000f4: PUSH1 0x04 000000f6: DUP1 000000f7: DUP1 000000f8: CALLDATALOAD 000000f9: SWAP1 000000fa: PUSH1 0x20 000000fc: ADD 000000fd: SWAP1 000000fe: SWAP2 000000ff: SWAP1 00000100: POP 00000101: POP 00000102: PUSH2 0x0236 00000105: JUMP 00000106: JUMPDEST 00000107: PUSH1 0x40 00000109: MLOAD 0000010a: DUP1 0000010b: DUP3 0000010c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000121: AND 00000122: DUP2 00000123: MSTORE 00000124: PUSH1 0x20 00000126: ADD 00000127: SWAP2 00000128: POP 00000129: POP 0000012a: PUSH1 0x40 0000012c: MLOAD 0000012d: DUP1 0000012e: SWAP2 0000012f: SUB 00000130: SWAP1 00000131: RETURN 00000132: JUMPDEST 00000133: PUSH2 0x013f 00000136: PUSH1 0x04 00000138: DUP1 00000139: POP 0000013a: POP 0000013b: PUSH2 0x0371 0000013e: JUMP 0000013f: JUMPDEST 00000140: STOP 00000141: JUMPDEST 00000142: PUSH2 0x0157 00000145: PUSH1 0x04 00000147: DUP1 00000148: DUP1 00000149: CALLDATALOAD 0000014a: SWAP1 0000014b: PUSH1 0x20 0000014d: ADD 0000014e: SWAP1 0000014f: SWAP2 00000150: SWAP1 00000151: POP 00000152: POP 00000153: PUSH2 0x02e2 00000156: JUMP 00000157: JUMPDEST 00000158: STOP 00000159: JUMPDEST 0000015a: PUSH2 0x016f 0000015d: PUSH1 0x04 0000015f: DUP1 00000160: DUP1 00000161: CALLDATALOAD 00000162: SWAP1 00000163: PUSH1 0x20 00000165: ADD 00000166: SWAP1 00000167: SWAP2 00000168: SWAP1 00000169: POP 0000016a: POP 0000016b: PUSH2 0x03fb 0000016e: JUMP 0000016f: JUMPDEST 00000170: STOP 00000171: JUMPDEST 00000172: PUSH1 0x00 00000174: PUSH1 0x00 00000176: SWAP1 00000177: SLOAD 00000178: SWAP1 00000179: PUSH2 0x0100 0000017c: EXP 0000017d: SWAP1 0000017e: DIV 0000017f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000194: AND 00000195: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001aa: AND 000001ab: CALLER 000001ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c1: AND 000001c2: EQ 000001c3: ISZERO 000001c4: PUSH2 0x022d 000001c7: JUMPI 000001c8: PUSH1 0x20 000001ca: PUSH1 0x40 000001cc: MLOAD 000001cd: SWAP1 000001ce: DUP2 000001cf: ADD 000001d0: PUSH1 0x40 000001d2: MSTORE 000001d3: DUP1 000001d4: DUP3 000001d5: DUP2 000001d6: MSTORE 000001d7: PUSH1 0x20 000001d9: ADD 000001da: POP 000001db: PUSH1 0x01 000001dd: PUSH1 0x00 000001df: POP 000001e0: PUSH1 0x00 000001e2: PUSH1 0x00 000001e4: DUP2 000001e5: MSTORE 000001e6: PUSH1 0x20 000001e8: ADD 000001e9: SWAP1 000001ea: DUP2 000001eb: MSTORE 000001ec: PUSH1 0x20 000001ee: ADD 000001ef: PUSH1 0x00 000001f1: KECCAK256 000001f2: PUSH1 0x00 000001f4: POP 000001f5: PUSH1 0x00 000001f7: DUP3 000001f8: ADD 000001f9: MLOAD 000001fa: DUP2 000001fb: PUSH1 0x00 000001fd: ADD 000001fe: PUSH1 0x00 00000200: PUSH2 0x0100 00000203: EXP 00000204: DUP2 00000205: SLOAD 00000206: DUP2 00000207: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000021c: MUL 0000021d: NOT 0000021e: AND 0000021f: SWAP1 00000220: DUP4 00000221: MUL 00000222: OR 00000223: SWAP1 00000224: SSTORE 00000225: POP 00000226: SWAP1 00000227: POP 00000228: POP 00000229: PUSH2 0x0232 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH2 0x0002 00000231: JUMP 00000232: JUMPDEST 00000233: JUMPDEST 00000234: POP 00000235: JUMP 00000236: JUMPDEST 00000237: PUSH1 0x00 00000239: PUSH1 0x00 0000023b: PUSH1 0x00 0000023d: SWAP1 0000023e: SLOAD 0000023f: SWAP1 00000240: PUSH2 0x0100 00000243: EXP 00000244: SWAP1 00000245: DIV 00000246: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000025b: AND 0000025c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000271: AND 00000272: CALLER 00000273: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000288: AND 00000289: EQ 0000028a: ISZERO 0000028b: PUSH2 0x02d7 0000028e: JUMPI 0000028f: PUSH1 0x01 00000291: PUSH1 0x00 00000293: POP 00000294: PUSH1 0x00 00000296: PUSH1 0x00 00000298: DUP2 00000299: MSTORE 0000029a: PUSH1 0x20 0000029c: ADD 0000029d: SWAP1 0000029e: DUP2 0000029f: MSTORE 000002a0: PUSH1 0x20 000002a2: ADD 000002a3: PUSH1 0x00 000002a5: KECCAK256 000002a6: PUSH1 0x00 000002a8: POP 000002a9: PUSH1 0x00 000002ab: ADD 000002ac: PUSH1 0x00 000002ae: SWAP1 000002af: SLOAD 000002b0: SWAP1 000002b1: PUSH2 0x0100 000002b4: EXP 000002b5: SWAP1 000002b6: DIV 000002b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002cc: AND 000002cd: SWAP1 000002ce: POP 000002cf: PUSH2 0x02dd 000002d2: JUMP 000002d3: PUSH2 0x02dc 000002d6: JUMP 000002d7: JUMPDEST 000002d8: PUSH2 0x0002 000002db: JUMP 000002dc: JUMPDEST 000002dd: JUMPDEST 000002de: SWAP2 000002df: SWAP1 000002e0: POP 000002e1: JUMP 000002e2: JUMPDEST 000002e3: PUSH1 0x00 000002e5: PUSH1 0x00 000002e7: SWAP1 000002e8: SLOAD 000002e9: SWAP1 000002ea: PUSH2 0x0100 000002ed: EXP 000002ee: SWAP1 000002ef: DIV 000002f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000305: AND 00000306: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000031b: AND 0000031c: CALLER 0000031d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000332: AND 00000333: EQ 00000334: ISZERO 00000335: PUSH2 0x0368 00000338: JUMPI 00000339: DUP1 0000033a: PUSH1 0x00 0000033c: PUSH1 0x00 0000033e: PUSH2 0x0100 00000341: EXP 00000342: DUP2 00000343: SLOAD 00000344: DUP2 00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000035a: MUL 0000035b: NOT 0000035c: AND 0000035d: SWAP1 0000035e: DUP4 0000035f: MUL 00000360: OR 00000361: SWAP1 00000362: SSTORE 00000363: POP 00000364: PUSH2 0x036d 00000367: JUMP 00000368: JUMPDEST 00000369: PUSH2 0x0002 0000036c: JUMP 0000036d: JUMPDEST 0000036e: JUMPDEST 0000036f: POP 00000370: JUMP 00000371: JUMPDEST 00000372: PUSH1 0x01 00000374: PUSH1 0x00 00000376: POP 00000377: PUSH1 0x00 00000379: PUSH1 0x00 0000037b: DUP2 0000037c: MSTORE 0000037d: PUSH1 0x20 0000037f: ADD 00000380: SWAP1 00000381: DUP2 00000382: MSTORE 00000383: PUSH1 0x20 00000385: ADD 00000386: PUSH1 0x00 00000388: KECCAK256 00000389: PUSH1 0x00 0000038b: POP 0000038c: PUSH1 0x00 0000038e: ADD 0000038f: PUSH1 0x00 00000391: SWAP1 00000392: SLOAD 00000393: SWAP1 00000394: PUSH2 0x0100 00000397: EXP 00000398: SWAP1 00000399: DIV 0000039a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003af: AND 000003b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003c5: AND 000003c6: PUSH1 0x00 000003c8: ADDRESS 000003c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003de: AND 000003df: BALANCE 000003e0: PUSH1 0x40 000003e2: MLOAD 000003e3: DUP1 000003e4: SWAP1 000003e5: POP 000003e6: PUSH1 0x00 000003e8: PUSH1 0x40 000003ea: MLOAD 000003eb: DUP1 000003ec: DUP4 000003ed: SUB 000003ee: DUP2 000003ef: DUP6 000003f0: DUP9 000003f1: DUP9 000003f2: CALL 000003f3: SWAP4 000003f4: POP 000003f5: POP 000003f6: POP 000003f7: POP 000003f8: POP 000003f9: JUMPDEST 000003fa: JUMP 000003fb: JUMPDEST 000003fc: PUSH1 0x00 000003fe: PUSH1 0x00 00000400: SWAP1 00000401: SLOAD 00000402: SWAP1 00000403: PUSH2 0x0100 00000406: EXP 00000407: SWAP1 00000408: DIV 00000409: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000041e: AND 0000041f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000434: AND 00000435: CALLER 00000436: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000044b: AND 0000044c: EQ 0000044d: ISZERO 0000044e: PUSH2 0x04c3 00000451: JUMPI 00000452: PUSH32 0xb854f581145dc1eb640e9c943dd96947618be343eb869017cae7a0d959b41689 00000473: ADDRESS 00000474: TIMESTAMP 00000475: PUSH1 0x40 00000477: MLOAD 00000478: DUP1 00000479: DUP4 0000047a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000048f: AND 00000490: DUP2 00000491: MSTORE 00000492: PUSH1 0x20 00000494: ADD 00000495: DUP3 00000496: DUP2 00000497: MSTORE 00000498: PUSH1 0x20 0000049a: ADD 0000049b: SWAP3 0000049c: POP 0000049d: POP 0000049e: POP 0000049f: PUSH1 0x40 000004a1: MLOAD 000004a2: DUP1 000004a3: SWAP2 000004a4: SUB 000004a5: SWAP1 000004a6: LOG1 000004a7: DUP1 000004a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004bd: AND 000004be: SELFDESTRUCT 000004bf: PUSH2 0x04c8 000004c2: JUMP 000004c3: JUMPDEST 000004c4: PUSH2 0x0002 000004c7: JUMP 000004c8: JUMPDEST 000004c9: JUMPDEST 000004ca: POP 000004cb: 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 |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x3ca5962bb218151527250f25e02d2843997c25c890c259646439aba41a5721d3
call_targets:
0x07d9f6f24cbd67068328d6f8a9c0cd1f900aaf40
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3ca5962bb218151527250f25e02d2843997c25c890c259646439aba41a5721d3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x07d9f6f24cbd67068328d6f8a9c0cd1f900aaf40"
],
"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": "0x232a3060",
"selector": "0x232a3060",
"calldata_variants": [
"0x232a3060",
"0x232a30600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69f384c4",
"selector": "0x69f384c4",
"calldata_variants": [
"0x69f384c4",
"0x69f384c40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa6f9dae1",
"selector": "0xa6f9dae1",
"calldata_variants": [
"0xa6f9dae1",
"0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1010,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 427,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 626,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 796,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1077,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x3ca5962bb218151527250f25e02d2843997c25c890c259646439aba41a5721d3
call_targets:
0x07d9f6f24cbd67068328d6f8a9c0cd1f900aaf40
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3ca5962bb218151527250f25e02d2843997c25c890c259646439aba41a5721d3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x07d9f6f24cbd67068328d6f8a9c0cd1f900aaf40"
],
"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": "0x232a3060",
"selector": "0x232a3060",
"calldata_variants": [
"0x232a3060",
"0x232a30600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69f384c4",
"selector": "0x69f384c4",
"calldata_variants": [
"0x69f384c4",
"0x69f384c40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa6f9dae1",
"selector": "0xa6f9dae1",
"calldata_variants": [
"0xa6f9dae1",
"0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1010,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 427,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 626,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 796,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1077,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x33a0aff76943f3ba48d678f2e1915d92061aed20334a829517477a4fc9f6ce22
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 10,
"trace_id": "0x33a0aff76943f3ba48d678f2e1915d92061aed20334a829517477a4fc9f6ce22",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x232a3060",
"selector": "0x232a3060",
"calldata_variants": [
"0x232a3060",
"0x232a30600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69f384c4",
"selector": "0x69f384c4",
"calldata_variants": [
"0x69f384c4",
"0x69f384c40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa6f9dae1",
"selector": "0xa6f9dae1",
"calldata_variants": [
"0xa6f9dae1",
"0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 427,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 626,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 796,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1077,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|