019b3836-26db-7199-bbae-84c13348f483
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 |
|---|---|---|---|---|
| 991 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 992 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 104853 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 104854 | capability.graph | complete | 1 / 3 | 1 week ago |
| 104855 | detector.run | complete | 1 / 3 | 1 week ago |
| 104856 | 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: PUSH1 0xe0 00000007: PUSH1 0x02 00000009: EXP 0000000a: PUSH1 0x00 0000000c: CALLDATALOAD 0000000d: DIV 0000000e: PUSH4 0x2e1a7d4d 00000013: DUP2 00000014: EQ 00000015: PUSH1 0x2e 00000017: JUMPI 00000018: DUP1 00000019: PUSH4 0xa7f43779 0000001e: EQ 0000001f: PUSH1 0x61 00000021: JUMPI 00000022: DUP1 00000023: PUSH4 0xd0e30db0 00000028: EQ 00000029: PUSH1 0x89 0000002b: JUMPI 0000002c: JUMPDEST 0000002d: STOP 0000002e: JUMPDEST 0000002f: PUSH1 0x2c 00000031: PUSH1 0x04 00000033: CALLDATALOAD 00000034: PUSH1 0x01 00000036: PUSH1 0xa0 00000038: PUSH1 0x02 0000003a: EXP 0000003b: SUB 0000003c: CALLER 0000003d: AND 0000003e: PUSH1 0x00 00000040: SWAP1 00000041: DUP2 00000042: MSTORE 00000043: PUSH1 0x01 00000045: PUSH1 0x20 00000047: MSTORE 00000048: PUSH1 0x40 0000004a: SWAP1 0000004b: KECCAK256 0000004c: SLOAD 0000004d: DUP2 0000004e: SWAP1 0000004f: LT 00000050: DUP1 00000051: PUSH1 0x59 00000053: JUMPI 00000054: POP 00000055: DUP1 00000056: PUSH1 0x00 00000058: EQ 00000059: JUMPDEST 0000005a: ISZERO 0000005b: PUSH1 0xab 0000005d: JUMPI 0000005e: PUSH1 0xd5 00000060: JUMP 00000061: JUMPDEST 00000062: PUSH1 0x2c 00000064: PUSH1 0x00 00000066: SLOAD 00000067: PUSH1 0x01 00000069: PUSH1 0xa0 0000006b: PUSH1 0x02 0000006d: EXP 0000006e: SUB 0000006f: SWAP1 00000070: DUP2 00000071: AND 00000072: CALLER 00000073: SWAP2 00000074: SWAP1 00000075: SWAP2 00000076: AND 00000077: EQ 00000078: ISZERO 00000079: PUSH1 0xd8 0000007b: JUMPI 0000007c: PUSH1 0x00 0000007e: SLOAD 0000007f: PUSH1 0x01 00000081: PUSH1 0xa0 00000083: PUSH1 0x02 00000085: EXP 00000086: SUB 00000087: AND 00000088: SELFDESTRUCT 00000089: JUMPDEST 0000008a: PUSH1 0x2c 0000008c: PUSH1 0x01 0000008e: PUSH1 0xa0 00000090: PUSH1 0x02 00000092: EXP 00000093: SUB 00000094: CALLER 00000095: AND 00000096: PUSH1 0x00 00000098: SWAP1 00000099: DUP2 0000009a: MSTORE 0000009b: PUSH1 0x01 0000009d: PUSH1 0x20 0000009f: MSTORE 000000a0: PUSH1 0x40 000000a2: SWAP1 000000a3: KECCAK256 000000a4: DUP1 000000a5: SLOAD 000000a6: CALLVALUE 000000a7: ADD 000000a8: SWAP1 000000a9: SSTORE 000000aa: JUMP 000000ab: JUMPDEST 000000ac: PUSH1 0x40 000000ae: PUSH1 0x00 000000b0: SWAP1 000000b1: DUP2 000000b2: KECCAK256 000000b3: DUP1 000000b4: SLOAD 000000b5: DUP4 000000b6: SWAP1 000000b7: SUB 000000b8: SWAP1 000000b9: SSTORE 000000ba: PUSH1 0x01 000000bc: PUSH1 0xa0 000000be: PUSH1 0x02 000000c0: EXP 000000c1: SUB 000000c2: CALLER 000000c3: AND 000000c4: SWAP1 000000c5: DUP3 000000c6: PUSH1 0x60 000000c8: DUP3 000000c9: DUP2 000000ca: DUP2 000000cb: DUP2 000000cc: DUP6 000000cd: DUP9 000000ce: DUP4 000000cf: CALL 000000d0: POP 000000d1: POP 000000d2: POP 000000d3: POP 000000d4: POP 000000d5: JUMPDEST 000000d6: POP 000000d7: JUMP 000000d8: JUMPDEST 000000d9: 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 |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x532203807e3345147daea8973aa38ea018fc52904aa2993981a91c80bd143020
call_targets:
0x2f256784962531a0296a4f6561629e3256a22132
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x532203807e3345147daea8973aa38ea018fc52904aa2993981a91c80bd143020",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2f256784962531a0296a4f6561629e3256a22132"
],
"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": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7f43779",
"selector": "0xa7f43779",
"calldata_variants": [
"0xa7f43779",
"0xa7f437790000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 207,
"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: 0x532203807e3345147daea8973aa38ea018fc52904aa2993981a91c80bd143020
call_targets:
0x2f256784962531a0296a4f6561629e3256a22132
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x532203807e3345147daea8973aa38ea018fc52904aa2993981a91c80bd143020",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2f256784962531a0296a4f6561629e3256a22132"
],
"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": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7f43779",
"selector": "0xa7f43779",
"calldata_variants": [
"0xa7f43779",
"0xa7f437790000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 207,
"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: 0x8a1d1e37f19a967308ebab9e7afc4a3b8c92e030631366409c43106c05df8e4f
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 6,
"trace_id": "0x8a1d1e37f19a967308ebab9e7afc4a3b8c92e030631366409c43106c05df8e4f",
"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": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa7f43779",
"selector": "0xa7f43779",
"calldata_variants": [
"0xa7f43779",
"0xa7f437790000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd0e30db0",
"selector": "0xd0e30db0",
"calldata_variants": [
"0xd0e30db0",
"0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|