019b3836-4041-70a5-aecd-8a4d6f820838
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 |
|---|---|---|---|---|
| 5187 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 5188 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 48740 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 48741 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 48742 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 48743 | 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: PUSH1 0xe0 00000007: PUSH1 0x02 00000009: EXP 0000000a: PUSH1 0x00 0000000c: CALLDATALOAD 0000000d: DIV 0000000e: PUSH4 0x41c0e1b5 00000013: DUP2 00000014: EQ 00000015: PUSH2 0x003c 00000018: JUMPI 00000019: DUP1 0000001a: PUSH4 0x6b9f96ea 0000001f: EQ 00000020: PUSH2 0x0065 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0xb0c8f9dc 0000002a: EQ 0000002b: PUSH2 0x00a5 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0xcc459696 00000035: EQ 00000036: PUSH2 0x01c2 00000039: JUMPI 0000003a: JUMPDEST 0000003b: STOP 0000003c: JUMPDEST 0000003d: PUSH2 0x003a 00000040: PUSH1 0x00 00000042: SLOAD 00000043: PUSH1 0x01 00000045: PUSH1 0xa0 00000047: PUSH1 0x02 00000049: EXP 0000004a: SUB 0000004b: SWAP1 0000004c: DUP2 0000004d: AND 0000004e: CALLER 0000004f: SWAP1 00000050: SWAP2 00000051: AND 00000052: EQ 00000053: ISZERO 00000054: PUSH2 0x01e1 00000057: JUMPI 00000058: PUSH1 0x00 0000005a: SLOAD 0000005b: PUSH1 0x01 0000005d: PUSH1 0xa0 0000005f: PUSH1 0x02 00000061: EXP 00000062: SUB 00000063: AND 00000064: SELFDESTRUCT 00000065: JUMPDEST 00000066: PUSH2 0x003a 00000069: PUSH1 0x00 0000006b: SLOAD 0000006c: PUSH1 0x01 0000006e: PUSH1 0xa0 00000070: PUSH1 0x02 00000072: EXP 00000073: SUB 00000074: SWAP1 00000075: DUP2 00000076: AND 00000077: CALLER 00000078: SWAP1 00000079: SWAP2 0000007a: AND 0000007b: EQ 0000007c: ISZERO 0000007d: PUSH2 0x01e1 00000080: JUMPI 00000081: PUSH1 0x00 00000083: DUP1 00000084: SLOAD 00000085: PUSH1 0x01 00000087: PUSH1 0xa0 00000089: PUSH1 0x02 0000008b: EXP 0000008c: SUB 0000008d: SWAP1 0000008e: DUP2 0000008f: AND 00000090: SWAP2 00000091: SWAP1 00000092: ADDRESS 00000093: AND 00000094: BALANCE 00000095: PUSH1 0x60 00000097: DUP3 00000098: DUP2 00000099: DUP2 0000009a: DUP2 0000009b: DUP6 0000009c: DUP9 0000009d: DUP4 0000009e: CALL 0000009f: POP 000000a0: POP 000000a1: POP 000000a2: POP 000000a3: POP 000000a4: JUMP 000000a5: JUMPDEST 000000a6: PUSH1 0x80 000000a8: PUSH1 0x20 000000aa: PUSH1 0x04 000000ac: DUP1 000000ad: CALLDATALOAD 000000ae: DUP1 000000af: DUP3 000000b0: ADD 000000b1: CALLDATALOAD 000000b2: PUSH1 0x1f 000000b4: DUP2 000000b5: ADD 000000b6: DUP5 000000b7: SWAP1 000000b8: DIV 000000b9: SWAP1 000000ba: SWAP4 000000bb: MUL 000000bc: DUP5 000000bd: ADD 000000be: PUSH1 0x40 000000c0: MSTORE 000000c1: PUSH1 0x60 000000c3: DUP4 000000c4: DUP2 000000c5: MSTORE 000000c6: PUSH2 0x003a 000000c9: SWAP5 000000ca: SWAP3 000000cb: SWAP4 000000cc: PUSH1 0x24 000000ce: SWAP4 000000cf: SWAP2 000000d0: SWAP3 000000d1: DUP5 000000d2: ADD 000000d3: SWAP2 000000d4: DUP2 000000d5: SWAP1 000000d6: DUP4 000000d7: DUP3 000000d8: DUP1 000000d9: DUP3 000000da: DUP5 000000db: CALLDATACOPY 000000dc: POP 000000dd: SWAP5 000000de: SWAP7 000000df: POP 000000e0: POP 000000e1: POP 000000e2: POP 000000e3: POP 000000e4: POP 000000e5: POP 000000e6: PUSH1 0x00 000000e8: SLOAD 000000e9: CALLER 000000ea: PUSH1 0x01 000000ec: PUSH1 0xa0 000000ee: PUSH1 0x02 000000f0: EXP 000000f1: SUB 000000f2: SWAP1 000000f3: DUP2 000000f4: AND 000000f5: SWAP2 000000f6: AND 000000f7: EQ 000000f8: ISZERO 000000f9: PUSH2 0x01bf 000000fc: JUMPI 000000fd: PUSH1 0x00 000000ff: DUP1 00000100: SLOAD 00000101: PUSH22 0xffff0000000000000000000000000000000000000000 00000118: NOT 00000119: DUP2 0000011a: AND 0000011b: PUSH1 0x01 0000011d: PUSH1 0xa0 0000011f: PUSH1 0x02 00000121: EXP 00000122: SWAP3 00000123: DUP4 00000124: SWAP1 00000125: DIV 00000126: PUSH2 0xffff 00000129: AND 0000012a: ADD 0000012b: SWAP1 0000012c: SWAP2 0000012d: MUL 0000012e: OR 0000012f: DUP2 00000130: SSTORE 00000131: PUSH1 0x40 00000133: DUP1 00000134: MLOAD 00000135: PUSH1 0x20 00000137: DUP1 00000138: DUP3 00000139: MSTORE 0000013a: DUP5 0000013b: MLOAD 0000013c: DUP3 0000013d: DUP3 0000013e: ADD 0000013f: MSTORE 00000140: DUP5 00000141: MLOAD 00000142: PUSH32 0xdd54a62fe075c6750ff0360cdb434927c0f8022fa292567582af0c0421ed725a 00000163: SWAP5 00000164: DUP7 00000165: SWAP5 00000166: DUP5 00000167: SWAP4 00000168: SWAP1 00000169: DUP5 0000016a: ADD 0000016b: SWAP3 0000016c: PUSH1 0x80 0000016e: SWAP3 0000016f: SWAP1 00000170: SWAP2 00000171: DUP3 00000172: SWAP2 00000173: DUP6 00000174: SWAP2 00000175: DUP4 00000176: SWAP2 00000177: DUP7 00000178: SWAP2 00000179: PUSH1 0x04 0000017b: SWAP1 0000017c: PUSH1 0x1f 0000017e: DUP6 0000017f: ADD 00000180: DIV 00000181: PUSH1 0x0f 00000183: MUL 00000184: PUSH1 0x03 00000186: ADD 00000187: CALL 00000188: POP 00000189: SWAP1 0000018a: POP 0000018b: SWAP1 0000018c: DUP2 0000018d: ADD 0000018e: SWAP1 0000018f: PUSH1 0x1f 00000191: AND 00000192: DUP1 00000193: ISZERO 00000194: PUSH2 0x01b1 00000197: JUMPI 00000198: DUP1 00000199: DUP3 0000019a: SUB 0000019b: DUP1 0000019c: MLOAD 0000019d: PUSH1 0x01 0000019f: DUP4 000001a0: PUSH1 0x20 000001a2: SUB 000001a3: PUSH2 0x0100 000001a6: EXP 000001a7: SUB 000001a8: NOT 000001a9: AND 000001aa: DUP2 000001ab: MSTORE 000001ac: PUSH1 0x20 000001ae: ADD 000001af: SWAP2 000001b0: POP 000001b1: JUMPDEST 000001b2: POP 000001b3: SWAP3 000001b4: POP 000001b5: POP 000001b6: POP 000001b7: PUSH1 0x40 000001b9: MLOAD 000001ba: DUP1 000001bb: SWAP2 000001bc: SUB 000001bd: SWAP1 000001be: LOG1 000001bf: JUMPDEST 000001c0: POP 000001c1: JUMP 000001c2: JUMPDEST 000001c3: PUSH2 0x01d7 000001c6: PUSH1 0x00 000001c8: SLOAD 000001c9: PUSH2 0xffff 000001cc: PUSH1 0xa0 000001ce: PUSH1 0x02 000001d0: EXP 000001d1: SWAP1 000001d2: SWAP2 000001d3: DIV 000001d4: AND 000001d5: DUP2 000001d6: JUMP 000001d7: JUMPDEST 000001d8: PUSH1 0x60 000001da: SWAP1 000001db: DUP2 000001dc: MSTORE 000001dd: PUSH1 0x20 000001df: SWAP1 000001e0: RETURN 000001e1: JUMPDEST 000001e2: 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 | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x0eb75677127a85a9d104e5d264a7e3fb7a9f759414acc73fc4c9a8eea8dd482f
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 8,
"trace_id": "0x0eb75677127a85a9d104e5d264a7e3fb7a9f759414acc73fc4c9a8eea8dd482f",
"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": "0x6b9f96ea",
"selector": "0x6b9f96ea",
"calldata_variants": [
"0x6b9f96ea",
"0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb0c8f9dc",
"selector": "0xb0c8f9dc",
"calldata_variants": [
"0xb0c8f9dc",
"0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc459696",
"selector": "0xcc459696",
"calldata_variants": [
"0xcc459696",
"0xcc4596960000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x7481408993b380062e410b2d8d1d88d6c7066dec736cd2142b6268b37a0d2435
call_targets:
0xfd39bd49ab3df4eda75a23807dab186d4902f924
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x7481408993b380062e410b2d8d1d88d6c7066dec736cd2142b6268b37a0d2435",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfd39bd49ab3df4eda75a23807dab186d4902f924"
],
"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": "0x6b9f96ea",
"selector": "0x6b9f96ea",
"calldata_variants": [
"0x6b9f96ea",
"0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb0c8f9dc",
"selector": "0xb0c8f9dc",
"calldata_variants": [
"0xb0c8f9dc",
"0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc459696",
"selector": "0xcc459696",
"calldata_variants": [
"0xcc459696",
"0xcc4596960000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 158,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 391,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x7481408993b380062e410b2d8d1d88d6c7066dec736cd2142b6268b37a0d2435
call_targets:
0xfd39bd49ab3df4eda75a23807dab186d4902f924
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x7481408993b380062e410b2d8d1d88d6c7066dec736cd2142b6268b37a0d2435",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfd39bd49ab3df4eda75a23807dab186d4902f924"
],
"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": "0x6b9f96ea",
"selector": "0x6b9f96ea",
"calldata_variants": [
"0x6b9f96ea",
"0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb0c8f9dc",
"selector": "0xb0c8f9dc",
"calldata_variants": [
"0xb0c8f9dc",
"0xb0c8f9dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc459696",
"selector": "0xcc459696",
"calldata_variants": [
"0xcc459696",
"0xcc4596960000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 158,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 391,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|