019b3836-2e7f-72f5-b89b-85c9587b3030
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 |
|---|---|---|---|---|
| 2281 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 2282 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 45556 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 45557 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 45558 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 45559 | 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 0x005e 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x232a3060 00000034: EQ 00000035: PUSH2 0x00e6 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x9d735286 0000003f: EQ 00000040: PUSH2 0x00fe 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0xa6f9dae1 0000004a: EQ 0000004b: PUSH2 0x010d 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0xfa89401a 00000055: EQ 00000056: PUSH2 0x0125 00000059: JUMPI 0000005a: PUSH2 0x005e 0000005d: JUMP 0000005e: JUMPDEST 0000005f: PUSH2 0x00e4 00000062: JUMPDEST 00000063: NUMBER 00000064: PUSH32 0x5d6ac9b7defd8fbb29ef2ab0f08c3744192b3777466dd98d1fd7daed5064b6db 00000085: CALLER 00000086: CALLVALUE 00000087: TIMESTAMP 00000088: PUSH1 0x40 0000008a: MLOAD 0000008b: DUP1 0000008c: DUP5 0000008d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000a2: AND 000000a3: DUP2 000000a4: MSTORE 000000a5: PUSH1 0x20 000000a7: ADD 000000a8: DUP4 000000a9: DUP2 000000aa: MSTORE 000000ab: PUSH1 0x20 000000ad: ADD 000000ae: DUP3 000000af: DUP2 000000b0: MSTORE 000000b1: PUSH1 0x20 000000b3: ADD 000000b4: SWAP4 000000b5: POP 000000b6: POP 000000b7: POP 000000b8: POP 000000b9: PUSH1 0x40 000000bb: MLOAD 000000bc: DUP1 000000bd: SWAP2 000000be: SUB 000000bf: SWAP1 000000c0: LOG2 000000c1: PUSH1 0x01 000000c3: PUSH1 0x00 000000c5: PUSH1 0x14 000000c7: SWAP1 000000c8: SLOAD 000000c9: SWAP1 000000ca: PUSH2 0x0100 000000cd: EXP 000000ce: SWAP1 000000cf: DIV 000000d0: PUSH1 0xff 000000d2: AND 000000d3: EQ 000000d4: ISZERO 000000d5: PUSH2 0x00e1 000000d8: JUMPI 000000d9: PUSH2 0x00e0 000000dc: PUSH2 0x027a 000000df: JUMP 000000e0: JUMPDEST 000000e1: JUMPDEST 000000e2: JUMPDEST 000000e3: JUMP 000000e4: JUMPDEST 000000e5: STOP 000000e6: JUMPDEST 000000e7: PUSH2 0x00fc 000000ea: PUSH1 0x04 000000ec: DUP1 000000ed: DUP1 000000ee: CALLDATALOAD 000000ef: SWAP1 000000f0: PUSH1 0x20 000000f2: ADD 000000f3: SWAP1 000000f4: SWAP2 000000f5: SWAP1 000000f6: POP 000000f7: POP 000000f8: PUSH2 0x013d 000000fb: JUMP 000000fc: JUMPDEST 000000fd: STOP 000000fe: JUMPDEST 000000ff: PUSH2 0x010b 00000102: PUSH1 0x04 00000104: DUP1 00000105: POP 00000106: POP 00000107: PUSH2 0x027a 0000010a: JUMP 0000010b: JUMPDEST 0000010c: STOP 0000010d: JUMPDEST 0000010e: PUSH2 0x0123 00000111: PUSH1 0x04 00000113: DUP1 00000114: DUP1 00000115: CALLDATALOAD 00000116: SWAP1 00000117: PUSH1 0x20 00000119: ADD 0000011a: SWAP1 0000011b: SWAP2 0000011c: SWAP1 0000011d: POP 0000011e: POP 0000011f: PUSH2 0x01eb 00000122: JUMP 00000123: JUMPDEST 00000124: STOP 00000125: JUMPDEST 00000126: PUSH2 0x013b 00000129: PUSH1 0x04 0000012b: DUP1 0000012c: DUP1 0000012d: CALLDATALOAD 0000012e: SWAP1 0000012f: PUSH1 0x20 00000131: ADD 00000132: SWAP1 00000133: SWAP2 00000134: SWAP1 00000135: POP 00000136: POP 00000137: PUSH2 0x0302 0000013a: JUMP 0000013b: JUMPDEST 0000013c: STOP 0000013d: JUMPDEST 0000013e: PUSH1 0x00 00000140: PUSH1 0x00 00000142: PUSH1 0x00 00000144: SWAP1 00000145: SLOAD 00000146: SWAP1 00000147: PUSH2 0x0100 0000014a: EXP 0000014b: SWAP1 0000014c: DIV 0000014d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000162: AND 00000163: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000178: AND 00000179: CALLER 0000017a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000018f: AND 00000190: EQ 00000191: ISZERO 00000192: PUSH2 0x01e1 00000195: JUMPI 00000196: DUP2 00000197: SWAP1 00000198: POP 00000199: DUP1 0000019a: PUSH1 0x01 0000019c: PUSH1 0x00 0000019e: PUSH2 0x0100 000001a1: EXP 000001a2: DUP2 000001a3: SLOAD 000001a4: DUP2 000001a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001ba: MUL 000001bb: NOT 000001bc: AND 000001bd: SWAP1 000001be: DUP4 000001bf: MUL 000001c0: OR 000001c1: SWAP1 000001c2: SSTORE 000001c3: POP 000001c4: PUSH1 0x01 000001c6: PUSH1 0x00 000001c8: PUSH1 0x14 000001ca: PUSH2 0x0100 000001cd: EXP 000001ce: DUP2 000001cf: SLOAD 000001d0: DUP2 000001d1: PUSH1 0xff 000001d3: MUL 000001d4: NOT 000001d5: AND 000001d6: SWAP1 000001d7: DUP4 000001d8: MUL 000001d9: OR 000001da: SWAP1 000001db: SSTORE 000001dc: POP 000001dd: PUSH2 0x01e6 000001e0: JUMP 000001e1: JUMPDEST 000001e2: PUSH2 0x0002 000001e5: JUMP 000001e6: JUMPDEST 000001e7: JUMPDEST 000001e8: POP 000001e9: POP 000001ea: JUMP 000001eb: JUMPDEST 000001ec: PUSH1 0x00 000001ee: PUSH1 0x00 000001f0: SWAP1 000001f1: SLOAD 000001f2: SWAP1 000001f3: PUSH2 0x0100 000001f6: EXP 000001f7: SWAP1 000001f8: DIV 000001f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000020e: AND 0000020f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000224: AND 00000225: CALLER 00000226: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000023b: AND 0000023c: EQ 0000023d: ISZERO 0000023e: PUSH2 0x0271 00000241: JUMPI 00000242: DUP1 00000243: PUSH1 0x00 00000245: PUSH1 0x00 00000247: PUSH2 0x0100 0000024a: EXP 0000024b: DUP2 0000024c: SLOAD 0000024d: DUP2 0000024e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000263: MUL 00000264: NOT 00000265: AND 00000266: SWAP1 00000267: DUP4 00000268: MUL 00000269: OR 0000026a: SWAP1 0000026b: SSTORE 0000026c: POP 0000026d: PUSH2 0x0276 00000270: JUMP 00000271: JUMPDEST 00000272: PUSH2 0x0002 00000275: JUMP 00000276: JUMPDEST 00000277: JUMPDEST 00000278: POP 00000279: JUMP 0000027a: JUMPDEST 0000027b: PUSH1 0x01 0000027d: PUSH1 0x00 0000027f: PUSH1 0x14 00000281: SWAP1 00000282: SLOAD 00000283: SWAP1 00000284: PUSH2 0x0100 00000287: EXP 00000288: SWAP1 00000289: DIV 0000028a: PUSH1 0xff 0000028c: AND 0000028d: EQ 0000028e: ISZERO 0000028f: PUSH2 0x02ff 00000292: JUMPI 00000293: PUSH1 0x01 00000295: PUSH1 0x00 00000297: SWAP1 00000298: SLOAD 00000299: SWAP1 0000029a: PUSH2 0x0100 0000029d: EXP 0000029e: SWAP1 0000029f: DIV 000002a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002b5: AND 000002b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002cb: AND 000002cc: PUSH1 0x00 000002ce: ADDRESS 000002cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002e4: AND 000002e5: BALANCE 000002e6: PUSH1 0x40 000002e8: MLOAD 000002e9: DUP1 000002ea: SWAP1 000002eb: POP 000002ec: PUSH1 0x00 000002ee: PUSH1 0x40 000002f0: MLOAD 000002f1: DUP1 000002f2: DUP4 000002f3: SUB 000002f4: DUP2 000002f5: DUP6 000002f6: DUP9 000002f7: DUP9 000002f8: CALL 000002f9: SWAP4 000002fa: POP 000002fb: POP 000002fc: POP 000002fd: POP 000002fe: POP 000002ff: JUMPDEST 00000300: JUMPDEST 00000301: JUMP 00000302: JUMPDEST 00000303: PUSH1 0x00 00000305: PUSH1 0x00 00000307: SWAP1 00000308: SLOAD 00000309: SWAP1 0000030a: PUSH2 0x0100 0000030d: EXP 0000030e: SWAP1 0000030f: DIV 00000310: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000325: AND 00000326: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000033b: AND 0000033c: CALLER 0000033d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000352: AND 00000353: EQ 00000354: ISZERO 00000355: PUSH2 0x03ca 00000358: JUMPI 00000359: PUSH32 0xb854f581145dc1eb640e9c943dd96947618be343eb869017cae7a0d959b41689 0000037a: ADDRESS 0000037b: TIMESTAMP 0000037c: PUSH1 0x40 0000037e: MLOAD 0000037f: DUP1 00000380: DUP4 00000381: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000396: AND 00000397: DUP2 00000398: MSTORE 00000399: PUSH1 0x20 0000039b: ADD 0000039c: DUP3 0000039d: DUP2 0000039e: MSTORE 0000039f: PUSH1 0x20 000003a1: ADD 000003a2: SWAP3 000003a3: POP 000003a4: POP 000003a5: POP 000003a6: PUSH1 0x40 000003a8: MLOAD 000003a9: DUP1 000003aa: SWAP2 000003ab: SUB 000003ac: SWAP1 000003ad: LOG1 000003ae: DUP1 000003af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003c4: AND 000003c5: SELFDESTRUCT 000003c6: PUSH2 0x03cf 000003c9: JUMP 000003ca: JUMPDEST 000003cb: PUSH2 0x0002 000003ce: JUMP 000003cf: JUMPDEST 000003d0: JUMPDEST 000003d1: POP 000003d2: 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: 0x2fcc46021232746ea7d40748e8ef0261ec225050bb350c615e628f92181d30da
call_targets:
0x41446efe004bc0c94ea751a306c2743553e05e28
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2fcc46021232746ea7d40748e8ef0261ec225050bb350c615e628f92181d30da",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x41446efe004bc0c94ea751a306c2743553e05e28"
],
"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": "0x232a3060",
"selector": "0x232a3060",
"calldata_variants": [
"0x232a3060",
"0x232a30600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa6f9dae1",
"selector": "0xa6f9dae1",
"calldata_variants": [
"0xa6f9dae1",
"0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 760,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 377,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 549,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 828,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x2fcc46021232746ea7d40748e8ef0261ec225050bb350c615e628f92181d30da
call_targets:
0x41446efe004bc0c94ea751a306c2743553e05e28
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2fcc46021232746ea7d40748e8ef0261ec225050bb350c615e628f92181d30da",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x41446efe004bc0c94ea751a306c2743553e05e28"
],
"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": "0x232a3060",
"selector": "0x232a3060",
"calldata_variants": [
"0x232a3060",
"0x232a30600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa6f9dae1",
"selector": "0xa6f9dae1",
"calldata_variants": [
"0xa6f9dae1",
"0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 760,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 377,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 549,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 828,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x0de8e27a77ddb7890713562686787a5529aaf29302d0a39a3ce07526c9e5e289
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 8,
"trace_id": "0x0de8e27a77ddb7890713562686787a5529aaf29302d0a39a3ce07526c9e5e289",
"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": "0x232a3060",
"selector": "0x232a3060",
"calldata_variants": [
"0x232a3060",
"0x232a30600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9d735286",
"selector": "0x9d735286",
"calldata_variants": [
"0x9d735286",
"0x9d7352860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa6f9dae1",
"selector": "0xa6f9dae1",
"calldata_variants": [
"0xa6f9dae1",
"0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa89401a",
"selector": "0xfa89401a",
"calldata_variants": [
"0xfa89401a",
"0xfa89401a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 377,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 549,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 828,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|