019b3836-2cfa-70b0-a9e6-f0dcdff8b433
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 |
|---|---|---|---|---|
| 2017 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 2018 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 45356 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 45357 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 45358 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 45359 | 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: 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 0x00db 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0xe5225381 0000003f: EQ 00000040: PUSH2 0x00e8 00000043: JUMPI 00000044: PUSH2 0x0048 00000047: JUMP 00000048: JUMPDEST 00000049: PUSH2 0x00d9 0000004c: JUMPDEST 0000004d: CALLER 0000004e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000063: AND 00000064: PUSH32 0x87de3cfd3de44d9b830a98f5554f3ff79f1fafd7b3579d113ce92d82d3def2a1 00000085: CALLVALUE 00000086: PUSH1 0x40 00000088: MLOAD 00000089: DUP1 0000008a: DUP3 0000008b: DUP2 0000008c: MSTORE 0000008d: PUSH1 0x20 0000008f: ADD 00000090: DUP1 00000091: PUSH1 0x20 00000093: ADD 00000094: DUP3 00000095: DUP2 00000096: SUB 00000097: DUP3 00000098: MSTORE 00000099: PUSH1 0x07 0000009b: DUP2 0000009c: MSTORE 0000009d: PUSH1 0x20 0000009f: ADD 000000a0: DUP1 000000a1: PUSH32 0x4655434b494e4700000000000000000000000000000000000000000000000000 000000c2: DUP2 000000c3: MSTORE 000000c4: PUSH1 0x20 000000c6: ADD 000000c7: POP 000000c8: PUSH1 0x20 000000ca: ADD 000000cb: SWAP3 000000cc: POP 000000cd: POP 000000ce: POP 000000cf: PUSH1 0x40 000000d1: MLOAD 000000d2: DUP1 000000d3: SWAP2 000000d4: SUB 000000d5: SWAP1 000000d6: LOG2 000000d7: JUMPDEST 000000d8: JUMP 000000d9: JUMPDEST 000000da: STOP 000000db: JUMPDEST 000000dc: PUSH2 0x00e6 000000df: PUSH1 0x04 000000e1: POP 000000e2: PUSH2 0x00f5 000000e5: JUMP 000000e6: JUMPDEST 000000e7: STOP 000000e8: JUMPDEST 000000e9: PUSH2 0x00f3 000000ec: PUSH1 0x04 000000ee: POP 000000ef: PUSH2 0x0189 000000f2: JUMP 000000f3: JUMPDEST 000000f4: STOP 000000f5: JUMPDEST 000000f6: PUSH1 0x00 000000f8: PUSH1 0x00 000000fa: SWAP1 000000fb: SLOAD 000000fc: SWAP1 000000fd: PUSH2 0x0100 00000100: EXP 00000101: SWAP1 00000102: DIV 00000103: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000118: AND 00000119: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000012e: AND 0000012f: CALLER 00000130: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000145: AND 00000146: EQ 00000147: ISZERO 00000148: PUSH2 0x0186 0000014b: JUMPI 0000014c: PUSH1 0x00 0000014e: PUSH1 0x00 00000150: SWAP1 00000151: SLOAD 00000152: SWAP1 00000153: PUSH2 0x0100 00000156: EXP 00000157: SWAP1 00000158: DIV 00000159: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000016e: AND 0000016f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000184: AND 00000185: SELFDESTRUCT 00000186: JUMPDEST 00000187: JUMPDEST 00000188: JUMP 00000189: JUMPDEST 0000018a: PUSH1 0x00 0000018c: PUSH1 0x00 0000018e: SWAP1 0000018f: SLOAD 00000190: SWAP1 00000191: PUSH2 0x0100 00000194: EXP 00000195: SWAP1 00000196: DIV 00000197: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001ac: AND 000001ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c2: AND 000001c3: CALLER 000001c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001d9: AND 000001da: EQ 000001db: ISZERO 000001dc: PUSH2 0x024c 000001df: JUMPI 000001e0: PUSH1 0x00 000001e2: PUSH1 0x00 000001e4: SWAP1 000001e5: SLOAD 000001e6: SWAP1 000001e7: PUSH2 0x0100 000001ea: EXP 000001eb: SWAP1 000001ec: DIV 000001ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000202: AND 00000203: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000218: AND 00000219: PUSH1 0x00 0000021b: ADDRESS 0000021c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000231: AND 00000232: BALANCE 00000233: PUSH1 0x40 00000235: MLOAD 00000236: DUP1 00000237: SWAP1 00000238: POP 00000239: PUSH1 0x00 0000023b: PUSH1 0x40 0000023d: MLOAD 0000023e: DUP1 0000023f: DUP4 00000240: SUB 00000241: DUP2 00000242: DUP6 00000243: DUP9 00000244: DUP9 00000245: CALL 00000246: SWAP4 00000247: POP 00000248: POP 00000249: POP 0000024a: POP 0000024b: POP 0000024c: JUMPDEST 0000024d: JUMPDEST 0000024e: 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 | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x3c2fb2284474482df96ae63dfa0be86d3e67d98b1d9a5dc578fc110c36dae7f9
call_targets:
0xada4347a112336c8a87bf91b85af275a22a41740
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3c2fb2284474482df96ae63dfa0be86d3e67d98b1d9a5dc578fc110c36dae7f9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xada4347a112336c8a87bf91b85af275a22a41740"
],
"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": 581,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 303,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 451,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x3c2fb2284474482df96ae63dfa0be86d3e67d98b1d9a5dc578fc110c36dae7f9
call_targets:
0xada4347a112336c8a87bf91b85af275a22a41740
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3c2fb2284474482df96ae63dfa0be86d3e67d98b1d9a5dc578fc110c36dae7f9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xada4347a112336c8a87bf91b85af275a22a41740"
],
"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": 581,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 303,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 451,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x1325b7a3d2b1761153278f2b75e30f941b75225b0e682a071450aa1bed13cdf2
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 4,
"trace_id": "0x1325b7a3d2b1761153278f2b75e30f941b75225b0e682a071450aa1bed13cdf2",
"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": 303,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 451,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|