019b3836-47f4-707f-bfc6-1258b1f55c85
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 |
|---|---|---|---|---|
| 6381 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 6382 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 108986 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 108987 | capability.graph | complete | 1 / 3 | 1 week ago |
| 108988 | detector.run | complete | 1 / 3 | 1 week ago |
| 108989 | validation.fork | complete | 1 / 3 | 1 week 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 0x0048 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x41c0e1b5 00000034: EQ 00000035: PUSH2 0x00ab 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0xe5225381 0000003f: EQ 00000040: PUSH2 0x00b8 00000043: JUMPI 00000044: PUSH2 0x0048 00000047: JUMP 00000048: JUMPDEST 00000049: PUSH2 0x00a9 0000004c: JUMPDEST 0000004d: PUSH1 0x00 0000004f: CALLVALUE 00000050: GT 00000051: ISZERO 00000052: PUSH2 0x00a6 00000055: JUMPI 00000056: PUSH1 0x58 00000058: CALLER 00000059: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000006e: AND 0000006f: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15 00000090: CALLVALUE 00000091: PUSH1 0x40 00000093: MLOAD 00000094: DUP1 00000095: DUP3 00000096: DUP2 00000097: MSTORE 00000098: PUSH1 0x20 0000009a: ADD 0000009b: SWAP2 0000009c: POP 0000009d: POP 0000009e: PUSH1 0x40 000000a0: MLOAD 000000a1: DUP1 000000a2: SWAP2 000000a3: SUB 000000a4: SWAP1 000000a5: LOG3 000000a6: JUMPDEST 000000a7: JUMPDEST 000000a8: JUMP 000000a9: JUMPDEST 000000aa: STOP 000000ab: JUMPDEST 000000ac: PUSH2 0x00b6 000000af: PUSH1 0x04 000000b1: POP 000000b2: PUSH2 0x00c5 000000b5: JUMP 000000b6: JUMPDEST 000000b7: STOP 000000b8: JUMPDEST 000000b9: PUSH2 0x00c3 000000bc: PUSH1 0x04 000000be: POP 000000bf: PUSH2 0x0159 000000c2: JUMP 000000c3: JUMPDEST 000000c4: STOP 000000c5: JUMPDEST 000000c6: PUSH1 0x00 000000c8: PUSH1 0x00 000000ca: SWAP1 000000cb: SLOAD 000000cc: SWAP1 000000cd: PUSH2 0x0100 000000d0: EXP 000000d1: SWAP1 000000d2: DIV 000000d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000e8: AND 000000e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000fe: AND 000000ff: CALLER 00000100: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000115: AND 00000116: EQ 00000117: ISZERO 00000118: PUSH2 0x0156 0000011b: JUMPI 0000011c: PUSH1 0x00 0000011e: PUSH1 0x00 00000120: SWAP1 00000121: SLOAD 00000122: SWAP1 00000123: PUSH2 0x0100 00000126: EXP 00000127: SWAP1 00000128: DIV 00000129: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000013e: AND 0000013f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000154: AND 00000155: SELFDESTRUCT 00000156: JUMPDEST 00000157: JUMPDEST 00000158: JUMP 00000159: JUMPDEST 0000015a: PUSH1 0x00 0000015c: PUSH1 0x00 0000015e: SWAP1 0000015f: SLOAD 00000160: SWAP1 00000161: PUSH2 0x0100 00000164: EXP 00000165: SWAP1 00000166: DIV 00000167: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000017c: AND 0000017d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000192: AND 00000193: CALLER 00000194: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001a9: AND 000001aa: EQ 000001ab: ISZERO 000001ac: PUSH2 0x021c 000001af: JUMPI 000001b0: PUSH1 0x00 000001b2: PUSH1 0x00 000001b4: SWAP1 000001b5: SLOAD 000001b6: SWAP1 000001b7: PUSH2 0x0100 000001ba: EXP 000001bb: SWAP1 000001bc: DIV 000001bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001d2: AND 000001d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001e8: AND 000001e9: PUSH1 0x00 000001eb: ADDRESS 000001ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000201: AND 00000202: BALANCE 00000203: PUSH1 0x40 00000205: MLOAD 00000206: DUP1 00000207: SWAP1 00000208: POP 00000209: PUSH1 0x00 0000020b: PUSH1 0x40 0000020d: MLOAD 0000020e: DUP1 0000020f: DUP4 00000210: SUB 00000211: DUP2 00000212: DUP6 00000213: DUP9 00000214: DUP9 00000215: CALL 00000216: SWAP4 00000217: POP 00000218: POP 00000219: POP 0000021a: POP 0000021b: POP 0000021c: JUMPDEST 0000021d: JUMPDEST 0000021e: 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 | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x4ce3d896534092d0842d09890ca946bb1824218a8035f2cc22ea57350f64455f
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 4,
"trace_id": "0x4ce3d896534092d0842d09890ca946bb1824218a8035f2cc22ea57350f64455f",
"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": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5225381",
"selector": "0xe5225381",
"calldata_variants": [
"0xe5225381",
"0xe52253810000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 255,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 403,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x096715e51721fdaab32b376a3e9f881ab22522ff118013bdbc85b78c4f235a8e
call_targets:
0x724c4cf4c2ff26cf90054e5cce442c64216657c6
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x096715e51721fdaab32b376a3e9f881ab22522ff118013bdbc85b78c4f235a8e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x724c4cf4c2ff26cf90054e5cce442c64216657c6"
],
"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": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5225381",
"selector": "0xe5225381",
"calldata_variants": [
"0xe5225381",
"0xe52253810000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 533,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 255,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 403,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x096715e51721fdaab32b376a3e9f881ab22522ff118013bdbc85b78c4f235a8e
call_targets:
0x724c4cf4c2ff26cf90054e5cce442c64216657c6
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x096715e51721fdaab32b376a3e9f881ab22522ff118013bdbc85b78c4f235a8e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x724c4cf4c2ff26cf90054e5cce442c64216657c6"
],
"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": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5225381",
"selector": "0xe5225381",
"calldata_variants": [
"0xe5225381",
"0xe52253810000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 533,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 255,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 403,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|