019b3836-2d46-73c8-bccd-9dbc1b0da966
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 |
|---|---|---|---|---|
| 2069 | artifact.fetch | complete | 1 / 3 | 4 months ago |
| 2070 | tool.cast_disasm | complete | 1 / 3 | 4 months ago |
| 97150 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 97151 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 97152 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 97153 | 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 0x005e 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x232a3060 00000034: EQ 00000035: PUSH2 0x00d7 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x9d735286 0000003f: EQ 00000040: PUSH2 0x00ef 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0xd59933d5 0000004a: EQ 0000004b: PUSH2 0x00fe 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0xfa89401a 00000055: EQ 00000056: PUSH2 0x010d 00000059: JUMPI 0000005a: PUSH2 0x005e 0000005d: JUMP 0000005e: JUMPDEST 0000005f: PUSH2 0x00d5 00000062: JUMPDEST 00000063: NUMBER 00000064: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db 00000085: CALLER 00000086: CALLVALUE 00000087: TIMESTAMP 00000088: PUSH1 0x40 0000008a: MLOAD 0000008b: DUP1 0000008c: DUP5 0000008d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000a2: AND 000000a3: DUP2 000000a4: MSTORE 000000a5: PUSH1 0x20 000000a7: ADD 000000a8: DUP4 000000a9: DUP2 000000aa: MSTORE 000000ab: PUSH1 0x20 000000ad: ADD 000000ae: DUP3 000000af: DUP2 000000b0: MSTORE 000000b1: PUSH1 0x20 000000b3: ADD 000000b4: SWAP4 000000b5: POP 000000b6: POP 000000b7: POP 000000b8: POP 000000b9: PUSH1 0x40 000000bb: MLOAD 000000bc: DUP1 000000bd: SWAP2 000000be: SUB 000000bf: SWAP1 000000c0: LOG2 000000c1: TIMESTAMP 000000c2: PUSH1 0x02 000000c4: PUSH1 0x00 000000c6: POP 000000c7: DUP2 000000c8: SWAP1 000000c9: SSTORE 000000ca: POP 000000cb: PUSH2 0x00d2 000000ce: PUSH2 0x01c4 000000d1: JUMP 000000d2: JUMPDEST 000000d3: JUMPDEST 000000d4: JUMP 000000d5: JUMPDEST 000000d6: STOP 000000d7: JUMPDEST 000000d8: PUSH2 0x00ed 000000db: PUSH1 0x04 000000dd: DUP1 000000de: DUP1 000000df: CALLDATALOAD 000000e0: SWAP1 000000e1: PUSH1 0x20 000000e3: ADD 000000e4: SWAP1 000000e5: SWAP2 000000e6: SWAP1 000000e7: POP 000000e8: POP 000000e9: PUSH2 0x0125 000000ec: JUMP 000000ed: JUMPDEST 000000ee: STOP 000000ef: JUMPDEST 000000f0: PUSH2 0x00fc 000000f3: PUSH1 0x04 000000f5: DUP1 000000f6: POP 000000f7: POP 000000f8: PUSH2 0x01c4 000000fb: JUMP 000000fc: JUMPDEST 000000fd: STOP 000000fe: JUMPDEST 000000ff: PUSH2 0x010b 00000102: PUSH1 0x04 00000104: DUP1 00000105: POP 00000106: POP 00000107: PUSH2 0x02f8 0000010a: JUMP 0000010b: JUMPDEST 0000010c: STOP 0000010d: JUMPDEST 0000010e: PUSH2 0x0123 00000111: PUSH1 0x04 00000113: DUP1 00000114: DUP1 00000115: CALLDATALOAD 00000116: SWAP1 00000117: PUSH1 0x20 00000119: ADD 0000011a: SWAP1 0000011b: SWAP2 0000011c: SWAP1 0000011d: POP 0000011e: POP 0000011f: PUSH2 0x0249 00000122: JUMP 00000123: JUMPDEST 00000124: STOP 00000125: JUMPDEST 00000126: PUSH1 0x00 00000128: PUSH1 0x00 0000012a: SWAP1 0000012b: SLOAD 0000012c: SWAP1 0000012d: PUSH2 0x0100 00000130: EXP 00000131: SWAP1 00000132: DIV 00000133: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000148: AND 00000149: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000015e: AND 0000015f: CALLER 00000160: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000175: AND 00000176: EQ 00000177: ISZERO 00000178: PUSH2 0x01c0 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH1 0x01 0000017f: PUSH1 0x00 00000181: PUSH2 0x0100 00000184: EXP 00000185: DUP2 00000186: SLOAD 00000187: DUP2 00000188: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000019d: MUL 0000019e: NOT 0000019f: AND 000001a0: SWAP1 000001a1: DUP4 000001a2: MUL 000001a3: OR 000001a4: SWAP1 000001a5: SSTORE 000001a6: POP 000001a7: PUSH1 0x01 000001a9: PUSH1 0x05 000001ab: PUSH1 0x00 000001ad: PUSH2 0x0100 000001b0: EXP 000001b1: DUP2 000001b2: SLOAD 000001b3: DUP2 000001b4: PUSH1 0xff 000001b6: MUL 000001b7: NOT 000001b8: AND 000001b9: SWAP1 000001ba: DUP4 000001bb: MUL 000001bc: OR 000001bd: SWAP1 000001be: SSTORE 000001bf: POP 000001c0: JUMPDEST 000001c1: JUMPDEST 000001c2: POP 000001c3: JUMP 000001c4: JUMPDEST 000001c5: PUSH1 0x05 000001c7: PUSH1 0x00 000001c9: SWAP1 000001ca: SLOAD 000001cb: SWAP1 000001cc: PUSH2 0x0100 000001cf: EXP 000001d0: SWAP1 000001d1: DIV 000001d2: PUSH1 0xff 000001d4: AND 000001d5: ISZERO 000001d6: PUSH2 0x0246 000001d9: JUMPI 000001da: PUSH1 0x01 000001dc: PUSH1 0x00 000001de: SWAP1 000001df: SLOAD 000001e0: SWAP1 000001e1: PUSH2 0x0100 000001e4: EXP 000001e5: SWAP1 000001e6: DIV 000001e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001fc: AND 000001fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000212: AND 00000213: PUSH1 0x00 00000215: ADDRESS 00000216: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000022b: AND 0000022c: BALANCE 0000022d: PUSH1 0x40 0000022f: MLOAD 00000230: DUP1 00000231: SWAP1 00000232: POP 00000233: PUSH1 0x00 00000235: PUSH1 0x40 00000237: MLOAD 00000238: DUP1 00000239: DUP4 0000023a: SUB 0000023b: DUP2 0000023c: DUP6 0000023d: DUP9 0000023e: DUP9 0000023f: CALL 00000240: SWAP4 00000241: POP 00000242: POP 00000243: POP 00000244: POP 00000245: POP 00000246: JUMPDEST 00000247: JUMPDEST 00000248: JUMP 00000249: JUMPDEST 0000024a: PUSH1 0x00 0000024c: PUSH1 0x00 0000024e: SWAP1 0000024f: SLOAD 00000250: SWAP1 00000251: PUSH2 0x0100 00000254: EXP 00000255: SWAP1 00000256: DIV 00000257: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000026c: AND 0000026d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000282: AND 00000283: CALLER 00000284: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000299: AND 0000029a: EQ 0000029b: ISZERO 0000029c: PUSH2 0x02f4 0000029f: JUMPI 000002a0: PUSH1 0x18 000002a2: PUSH2 0x0e10 000002a5: PUSH1 0x02 000002a7: PUSH1 0x00 000002a9: POP 000002aa: SLOAD 000002ab: TIMESTAMP 000002ac: SUB 000002ad: DIV 000002ae: DIV 000002af: PUSH1 0x04 000002b1: PUSH1 0x00 000002b3: POP 000002b4: DUP2 000002b5: SWAP1 000002b6: SSTORE 000002b7: POP 000002b8: PUSH1 0x03 000002ba: PUSH1 0x00 000002bc: POP 000002bd: SLOAD 000002be: PUSH1 0x04 000002c0: PUSH1 0x00 000002c2: POP 000002c3: SLOAD 000002c4: GT 000002c5: DUP1 000002c6: ISZERO 000002c7: PUSH2 0x02d5 000002ca: JUMPI 000002cb: POP 000002cc: PUSH1 0x00 000002ce: PUSH1 0x02 000002d0: PUSH1 0x00 000002d2: POP 000002d3: SLOAD 000002d4: GT 000002d5: JUMPDEST 000002d6: ISZERO 000002d7: PUSH2 0x02f3 000002da: JUMPI 000002db: DUP1 000002dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002f1: AND 000002f2: SELFDESTRUCT 000002f3: JUMPDEST 000002f4: JUMPDEST 000002f5: JUMPDEST 000002f6: POP 000002f7: JUMP 000002f8: JUMPDEST 000002f9: NUMBER 000002fa: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db 0000031b: CALLER 0000031c: CALLVALUE 0000031d: TIMESTAMP 0000031e: PUSH1 0x40 00000320: MLOAD 00000321: DUP1 00000322: DUP5 00000323: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000338: AND 00000339: DUP2 0000033a: MSTORE 0000033b: PUSH1 0x20 0000033d: ADD 0000033e: DUP4 0000033f: DUP2 00000340: MSTORE 00000341: PUSH1 0x20 00000343: ADD 00000344: DUP3 00000345: DUP2 00000346: MSTORE 00000347: PUSH1 0x20 00000349: ADD 0000034a: SWAP4 0000034b: POP 0000034c: POP 0000034d: POP 0000034e: POP 0000034f: PUSH1 0x40 00000351: MLOAD 00000352: DUP1 00000353: SWAP2 00000354: SUB 00000355: SWAP1 00000356: LOG2 00000357: TIMESTAMP 00000358: PUSH1 0x02 0000035a: PUSH1 0x00 0000035c: POP 0000035d: DUP2 0000035e: SWAP1 0000035f: SSTORE 00000360: POP 00000361: PUSH2 0x0368 00000364: PUSH2 0x01c4 00000367: JUMP 00000368: JUMPDEST 00000369: JUMPDEST 0000036a: 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: 0x774578fbc780649acdf923054b0c2281fa8822cbb969b1ca0945d2aaa24c55c9
call_targets:
0xb63961068ff654acd4c353dcfcce727551432b07
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x774578fbc780649acdf923054b0c2281fa8822cbb969b1ca0945d2aaa24c55c9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb63961068ff654acd4c353dcfcce727551432b07"
],
"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": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd59933d5",
"selector": "0xd59933d5",
"calldata_variants": [
"0xd59933d5",
"0xd59933d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 575,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 351,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 643,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x774578fbc780649acdf923054b0c2281fa8822cbb969b1ca0945d2aaa24c55c9
call_targets:
0xb63961068ff654acd4c353dcfcce727551432b07
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x774578fbc780649acdf923054b0c2281fa8822cbb969b1ca0945d2aaa24c55c9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb63961068ff654acd4c353dcfcce727551432b07"
],
"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": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd59933d5",
"selector": "0xd59933d5",
"calldata_variants": [
"0xd59933d5",
"0xd59933d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 575,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 351,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 643,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x48221888104330a12d73ccf46b27fbc02b474f17b257b74ab6cf585b0a704efa
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 8,
"trace_id": "0x48221888104330a12d73ccf46b27fbc02b474f17b257b74ab6cf585b0a704efa",
"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": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd59933d5",
"selector": "0xd59933d5",
"calldata_variants": [
"0xd59933d5",
"0xd59933d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 351,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 643,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|