019b3836-581a-7247-991b-34d375c7da51
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 |
|---|---|---|---|---|
| 8595 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 8596 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 98510 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 98511 | capability.graph | complete | 1 / 3 | 1 week ago |
| 98512 | detector.run | complete | 1 / 3 | 1 week ago |
| 98513 | 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: 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 0x6e 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xe5225381 00000023: EQ 00000024: PUSH1 0x96 00000026: JUMPI 00000027: JUMPDEST 00000028: PUSH1 0xd5 0000002a: PUSH1 0x00 0000002c: CALLVALUE 0000002d: GT 0000002e: ISZERO 0000002f: PUSH1 0x6c 00000031: JUMPI 00000032: CALLVALUE 00000033: PUSH1 0x60 00000035: SWAP1 00000036: DUP2 00000037: MSTORE 00000038: PUSH1 0x58 0000003a: SWAP1 0000003b: PUSH1 0x01 0000003d: PUSH1 0xa0 0000003f: PUSH1 0x02 00000041: EXP 00000042: SUB 00000043: CALLER 00000044: AND 00000045: SWAP1 00000046: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15 00000067: SWAP1 00000068: PUSH1 0x20 0000006a: SWAP1 0000006b: LOG3 0000006c: JUMPDEST 0000006d: JUMP 0000006e: JUMPDEST 0000006f: PUSH1 0xd5 00000071: PUSH1 0x00 00000073: SLOAD 00000074: PUSH1 0x01 00000076: PUSH1 0xa0 00000078: PUSH1 0x02 0000007a: EXP 0000007b: SUB 0000007c: SWAP1 0000007d: DUP2 0000007e: AND 0000007f: CALLER 00000080: SWAP2 00000081: SWAP1 00000082: SWAP2 00000083: AND 00000084: EQ 00000085: ISZERO 00000086: PUSH1 0x6c 00000088: JUMPI 00000089: PUSH1 0x00 0000008b: SLOAD 0000008c: PUSH1 0x01 0000008e: PUSH1 0xa0 00000090: PUSH1 0x02 00000092: EXP 00000093: SUB 00000094: AND 00000095: SELFDESTRUCT 00000096: JUMPDEST 00000097: PUSH1 0xd5 00000099: PUSH1 0x00 0000009b: SLOAD 0000009c: PUSH1 0x01 0000009e: PUSH1 0xa0 000000a0: PUSH1 0x02 000000a2: EXP 000000a3: SUB 000000a4: SWAP1 000000a5: DUP2 000000a6: AND 000000a7: CALLER 000000a8: SWAP2 000000a9: SWAP1 000000aa: SWAP2 000000ab: AND 000000ac: EQ 000000ad: ISZERO 000000ae: PUSH1 0x6c 000000b0: JUMPI 000000b1: PUSH1 0x00 000000b3: DUP1 000000b4: SLOAD 000000b5: PUSH1 0x01 000000b7: PUSH1 0xa0 000000b9: PUSH1 0x02 000000bb: EXP 000000bc: SUB 000000bd: SWAP1 000000be: DUP2 000000bf: AND 000000c0: SWAP2 000000c1: SWAP1 000000c2: ADDRESS 000000c3: AND 000000c4: BALANCE 000000c5: PUSH1 0x60 000000c7: DUP3 000000c8: DUP2 000000c9: DUP2 000000ca: DUP2 000000cb: DUP6 000000cc: DUP9 000000cd: DUP4 000000ce: CALL 000000cf: POP 000000d0: POP 000000d1: POP 000000d2: POP 000000d3: POP 000000d4: JUMP 000000d5: JUMPDEST 000000d6: 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: 0x4b67b6887bab5ef696cb3f964c5e9152794dc91c88887b381b018b1d0ce4d6e3
call_targets:
0x27caa03a53e1f1d7647b970ce88729926791f420
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4b67b6887bab5ef696cb3f964c5e9152794dc91c88887b381b018b1d0ce4d6e3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x27caa03a53e1f1d7647b970ce88729926791f420"
],
"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": 206,
"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: 0x4b67b6887bab5ef696cb3f964c5e9152794dc91c88887b381b018b1d0ce4d6e3
call_targets:
0x27caa03a53e1f1d7647b970ce88729926791f420
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4b67b6887bab5ef696cb3f964c5e9152794dc91c88887b381b018b1d0ce4d6e3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x27caa03a53e1f1d7647b970ce88729926791f420"
],
"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": 206,
"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: 0x12e0c20c97c3afa003c6c6cb80bc99794445a22a47639646b60af8a3974d74ec
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 4,
"trace_id": "0x12e0c20c97c3afa003c6c6cb80bc99794445a22a47639646b60af8a3974d74ec",
"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
}
|