019b3844-8272-730a-9d42-7e6ef21cd261
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 |
|---|---|---|---|---|
| 10183 | artifact.fetch | complete | 1 / 3 | 4 months ago |
| 10184 | tool.cast_disasm | complete | 1 / 3 | 4 months ago |
| 53500 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 53501 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 53502 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 53503 | 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: PUSH1 0x27 00000009: JUMPI 0000000a: PUSH1 0xe0 0000000c: PUSH1 0x02 0000000e: EXP 0000000f: PUSH1 0x00 00000011: CALLDATALOAD 00000012: DIV 00000013: PUSH4 0x41c0e1b5 00000018: DUP2 00000019: EQ 0000001a: PUSH1 0x75 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xe5225381 00000023: EQ 00000024: PUSH1 0x9f 00000026: JUMPI 00000027: JUMPDEST 00000028: PUSH1 0xeb 0000002a: PUSH1 0x00 0000002c: CALLVALUE 0000002d: GT 0000002e: ISZERO 0000002f: PUSH1 0x73 00000031: JUMPI 00000032: PUSH1 0x40 00000034: DUP1 00000035: MLOAD 00000036: CALLVALUE 00000037: DUP2 00000038: MSTORE 00000039: SWAP1 0000003a: MLOAD 0000003b: PUSH1 0x58 0000003d: SWAP2 0000003e: PUSH1 0x01 00000040: PUSH1 0xa0 00000042: PUSH1 0x02 00000044: EXP 00000045: SUB 00000046: CALLER 00000047: AND 00000048: SWAP2 00000049: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15 0000006a: SWAP2 0000006b: DUP2 0000006c: SWAP1 0000006d: SUB 0000006e: PUSH1 0x20 00000070: ADD 00000071: SWAP1 00000072: LOG3 00000073: JUMPDEST 00000074: JUMP 00000075: JUMPDEST 00000076: CALLVALUE 00000077: PUSH1 0x02 00000079: JUMPI 0000007a: PUSH1 0xeb 0000007c: PUSH1 0x00 0000007e: SLOAD 0000007f: CALLER 00000080: PUSH1 0x01 00000082: PUSH1 0xa0 00000084: PUSH1 0x02 00000086: EXP 00000087: SUB 00000088: SWAP1 00000089: DUP2 0000008a: AND 0000008b: SWAP2 0000008c: AND 0000008d: EQ 0000008e: ISZERO 0000008f: PUSH1 0x73 00000091: JUMPI 00000092: PUSH1 0x00 00000094: SLOAD 00000095: PUSH1 0x01 00000097: PUSH1 0xa0 00000099: PUSH1 0x02 0000009b: EXP 0000009c: SUB 0000009d: AND 0000009e: SELFDESTRUCT 0000009f: JUMPDEST 000000a0: CALLVALUE 000000a1: PUSH1 0x02 000000a3: JUMPI 000000a4: PUSH1 0xeb 000000a6: PUSH1 0x00 000000a8: SLOAD 000000a9: CALLER 000000aa: PUSH1 0x01 000000ac: PUSH1 0xa0 000000ae: PUSH1 0x02 000000b0: EXP 000000b1: SUB 000000b2: SWAP1 000000b3: DUP2 000000b4: AND 000000b5: SWAP2 000000b6: AND 000000b7: EQ 000000b8: ISZERO 000000b9: PUSH1 0x73 000000bb: JUMPI 000000bc: PUSH1 0x00 000000be: DUP1 000000bf: SLOAD 000000c0: PUSH1 0x40 000000c2: MLOAD 000000c3: PUSH1 0x01 000000c5: PUSH1 0xa0 000000c7: PUSH1 0x02 000000c9: EXP 000000ca: SUB 000000cb: SWAP2 000000cc: DUP3 000000cd: AND 000000ce: SWAP3 000000cf: ADDRESS 000000d0: SWAP1 000000d1: SWAP3 000000d2: AND 000000d3: BALANCE 000000d4: DUP1 000000d5: ISZERO 000000d6: PUSH2 0x08fc 000000d9: MUL 000000da: SWAP3 000000db: SWAP1 000000dc: SWAP2 000000dd: SWAP1 000000de: DUP2 000000df: DUP2 000000e0: DUP2 000000e1: DUP6 000000e2: DUP9 000000e3: DUP9 000000e4: CALL 000000e5: POP 000000e6: POP 000000e7: POP 000000e8: POP 000000e9: POP 000000ea: JUMP 000000eb: JUMPDEST 000000ec: STOP
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 | no | no |
viewtrace_id: 0xdb216be35f283fda8fd62fa42d32859a88050aed984ff10f3c23ae000190893d
call_targets:
0x347a91cf1f5acb587149302eeb9c6924f9b503f1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdb216be35f283fda8fd62fa42d32859a88050aed984ff10f3c23ae000190893d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x347a91cf1f5acb587149302eeb9c6924f9b503f1"
],
"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": 228,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xdb216be35f283fda8fd62fa42d32859a88050aed984ff10f3c23ae000190893d
call_targets:
0x347a91cf1f5acb587149302eeb9c6924f9b503f1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xdb216be35f283fda8fd62fa42d32859a88050aed984ff10f3c23ae000190893d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x347a91cf1f5acb587149302eeb9c6924f9b503f1"
],
"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": 228,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0xbd599337c5658f023c77ffc3f98124e9e5c9a0247145ca841ac7f298367db864
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 4,
"trace_id": "0xbd599337c5658f023c77ffc3f98124e9e5c9a0247145ca841ac7f298367db864",
"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": [],
"selfdestruct_count": 1
}
|