019b3836-2c60-7227-8fa7-eb79ef6395be
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 |
|---|---|---|---|---|
| 1917 | artifact.fetch | complete | 1 / 3 | 4 months ago |
| 1918 | tool.cast_disasm | complete | 1 / 3 | 4 months ago |
| 96718 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 96719 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 96720 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 96721 | 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 0x41c0e1b5 00000034: EQ 00000035: PUSH2 0x00a4 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0xb6ee3b86 0000003f: EQ 00000040: PUSH2 0x00b3 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0xd8f64b22 0000004a: EQ 0000004b: PUSH2 0x012e 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0xdc9d2907 00000055: EQ 00000056: PUSH2 0x0151 00000059: JUMPI 0000005a: PUSH2 0x005e 0000005d: JUMP 0000005e: JUMPDEST 0000005f: PUSH2 0x00a2 00000062: JUMPDEST 00000063: PUSH2 0x009e 00000066: PUSH1 0x00 00000068: CALLDATASIZE 00000069: DUP1 0000006a: DUP1 0000006b: PUSH1 0x1f 0000006d: ADD 0000006e: PUSH1 0x20 00000070: DUP1 00000071: SWAP2 00000072: DIV 00000073: MUL 00000074: PUSH1 0x20 00000076: ADD 00000077: PUSH1 0x40 00000079: MLOAD 0000007a: SWAP1 0000007b: DUP2 0000007c: ADD 0000007d: PUSH1 0x40 0000007f: MSTORE 00000080: DUP1 00000081: SWAP4 00000082: SWAP3 00000083: SWAP2 00000084: SWAP1 00000085: DUP2 00000086: DUP2 00000087: MSTORE 00000088: PUSH1 0x20 0000008a: ADD 0000008b: DUP4 0000008c: DUP4 0000008d: DUP1 0000008e: DUP3 0000008f: DUP5 00000090: CALLDATACOPY 00000091: DUP3 00000092: ADD 00000093: SWAP2 00000094: POP 00000095: POP 00000096: POP 00000097: POP 00000098: POP 00000099: POP 0000009a: PUSH2 0x0351 0000009d: JUMP 0000009e: JUMPDEST 0000009f: POP 000000a0: JUMPDEST 000000a1: JUMP 000000a2: JUMPDEST 000000a3: STOP 000000a4: JUMPDEST 000000a5: PUSH2 0x00b1 000000a8: PUSH1 0x04 000000aa: DUP1 000000ab: POP 000000ac: POP 000000ad: PUSH2 0x0213 000000b0: JUMP 000000b1: JUMPDEST 000000b2: STOP 000000b3: JUMPDEST 000000b4: PUSH2 0x00c0 000000b7: PUSH1 0x04 000000b9: DUP1 000000ba: POP 000000bb: POP 000000bc: PUSH2 0x02b0 000000bf: JUMP 000000c0: JUMPDEST 000000c1: PUSH1 0x40 000000c3: MLOAD 000000c4: DUP1 000000c5: DUP1 000000c6: PUSH1 0x20 000000c8: ADD 000000c9: DUP3 000000ca: DUP2 000000cb: SUB 000000cc: DUP3 000000cd: MSTORE 000000ce: DUP4 000000cf: DUP2 000000d0: DUP2 000000d1: MLOAD 000000d2: DUP2 000000d3: MSTORE 000000d4: PUSH1 0x20 000000d6: ADD 000000d7: SWAP2 000000d8: POP 000000d9: DUP1 000000da: MLOAD 000000db: SWAP1 000000dc: PUSH1 0x20 000000de: ADD 000000df: SWAP1 000000e0: DUP1 000000e1: DUP4 000000e2: DUP4 000000e3: DUP3 000000e4: SWAP1 000000e5: PUSH1 0x00 000000e7: PUSH1 0x04 000000e9: PUSH1 0x20 000000eb: DUP5 000000ec: PUSH1 0x1f 000000ee: ADD 000000ef: DIV 000000f0: PUSH1 0x0f 000000f2: MUL 000000f3: PUSH1 0x03 000000f5: ADD 000000f6: CALL 000000f7: POP 000000f8: SWAP1 000000f9: POP 000000fa: SWAP1 000000fb: DUP2 000000fc: ADD 000000fd: SWAP1 000000fe: PUSH1 0x1f 00000100: AND 00000101: DUP1 00000102: ISZERO 00000103: PUSH2 0x0120 00000106: JUMPI 00000107: DUP1 00000108: DUP3 00000109: SUB 0000010a: DUP1 0000010b: MLOAD 0000010c: PUSH1 0x01 0000010e: DUP4 0000010f: PUSH1 0x20 00000111: SUB 00000112: PUSH2 0x0100 00000115: EXP 00000116: SUB 00000117: NOT 00000118: AND 00000119: DUP2 0000011a: MSTORE 0000011b: PUSH1 0x20 0000011d: ADD 0000011e: SWAP2 0000011f: POP 00000120: JUMPDEST 00000121: POP 00000122: SWAP3 00000123: POP 00000124: POP 00000125: POP 00000126: PUSH1 0x40 00000128: MLOAD 00000129: DUP1 0000012a: SWAP2 0000012b: SUB 0000012c: SWAP1 0000012d: RETURN 0000012e: JUMPDEST 0000012f: PUSH2 0x013b 00000132: PUSH1 0x04 00000134: DUP1 00000135: POP 00000136: POP 00000137: PUSH2 0x02a7 0000013a: JUMP 0000013b: JUMPDEST 0000013c: PUSH1 0x40 0000013e: MLOAD 0000013f: DUP1 00000140: DUP3 00000141: DUP2 00000142: MSTORE 00000143: PUSH1 0x20 00000145: ADD 00000146: SWAP2 00000147: POP 00000148: POP 00000149: PUSH1 0x40 0000014b: MLOAD 0000014c: DUP1 0000014d: SWAP2 0000014e: SUB 0000014f: SWAP1 00000150: RETURN 00000151: JUMPDEST 00000152: PUSH2 0x01a5 00000155: PUSH1 0x04 00000157: DUP1 00000158: DUP1 00000159: CALLDATALOAD 0000015a: SWAP1 0000015b: PUSH1 0x20 0000015d: ADD 0000015e: SWAP1 0000015f: DUP3 00000160: ADD 00000161: DUP1 00000162: CALLDATALOAD 00000163: SWAP1 00000164: PUSH1 0x20 00000166: ADD 00000167: SWAP2 00000168: SWAP2 00000169: SWAP1 0000016a: DUP1 0000016b: DUP1 0000016c: PUSH1 0x1f 0000016e: ADD 0000016f: PUSH1 0x20 00000171: DUP1 00000172: SWAP2 00000173: DIV 00000174: MUL 00000175: PUSH1 0x20 00000177: ADD 00000178: PUSH1 0x40 0000017a: MLOAD 0000017b: SWAP1 0000017c: DUP2 0000017d: ADD 0000017e: PUSH1 0x40 00000180: MSTORE 00000181: DUP1 00000182: SWAP4 00000183: SWAP3 00000184: SWAP2 00000185: SWAP1 00000186: DUP2 00000187: DUP2 00000188: MSTORE 00000189: PUSH1 0x20 0000018b: ADD 0000018c: DUP4 0000018d: DUP4 0000018e: DUP1 0000018f: DUP3 00000190: DUP5 00000191: CALLDATACOPY 00000192: DUP3 00000193: ADD 00000194: SWAP2 00000195: POP 00000196: POP 00000197: POP 00000198: POP 00000199: POP 0000019a: POP 0000019b: SWAP1 0000019c: SWAP1 0000019d: SWAP2 0000019e: SWAP1 0000019f: POP 000001a0: POP 000001a1: PUSH2 0x0351 000001a4: JUMP 000001a5: JUMPDEST 000001a6: PUSH1 0x40 000001a8: MLOAD 000001a9: DUP1 000001aa: DUP1 000001ab: PUSH1 0x20 000001ad: ADD 000001ae: DUP3 000001af: DUP2 000001b0: SUB 000001b1: DUP3 000001b2: MSTORE 000001b3: DUP4 000001b4: DUP2 000001b5: DUP2 000001b6: MLOAD 000001b7: DUP2 000001b8: MSTORE 000001b9: PUSH1 0x20 000001bb: ADD 000001bc: SWAP2 000001bd: POP 000001be: DUP1 000001bf: MLOAD 000001c0: SWAP1 000001c1: PUSH1 0x20 000001c3: ADD 000001c4: SWAP1 000001c5: DUP1 000001c6: DUP4 000001c7: DUP4 000001c8: DUP3 000001c9: SWAP1 000001ca: PUSH1 0x00 000001cc: PUSH1 0x04 000001ce: PUSH1 0x20 000001d0: DUP5 000001d1: PUSH1 0x1f 000001d3: ADD 000001d4: DIV 000001d5: PUSH1 0x0f 000001d7: MUL 000001d8: PUSH1 0x03 000001da: ADD 000001db: CALL 000001dc: POP 000001dd: SWAP1 000001de: POP 000001df: SWAP1 000001e0: DUP2 000001e1: ADD 000001e2: SWAP1 000001e3: PUSH1 0x1f 000001e5: AND 000001e6: DUP1 000001e7: ISZERO 000001e8: PUSH2 0x0205 000001eb: JUMPI 000001ec: DUP1 000001ed: DUP3 000001ee: SUB 000001ef: DUP1 000001f0: MLOAD 000001f1: PUSH1 0x01 000001f3: DUP4 000001f4: PUSH1 0x20 000001f6: SUB 000001f7: PUSH2 0x0100 000001fa: EXP 000001fb: SUB 000001fc: NOT 000001fd: AND 000001fe: DUP2 000001ff: MSTORE 00000200: PUSH1 0x20 00000202: ADD 00000203: SWAP2 00000204: POP 00000205: JUMPDEST 00000206: POP 00000207: SWAP3 00000208: POP 00000209: POP 0000020a: POP 0000020b: PUSH1 0x40 0000020d: MLOAD 0000020e: DUP1 0000020f: SWAP2 00000210: SUB 00000211: SWAP1 00000212: RETURN 00000213: JUMPDEST 00000214: PUSH1 0x00 00000216: PUSH1 0x00 00000218: SWAP1 00000219: SLOAD 0000021a: SWAP1 0000021b: PUSH2 0x0100 0000021e: EXP 0000021f: SWAP1 00000220: DIV 00000221: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000236: AND 00000237: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000024c: AND 0000024d: CALLER 0000024e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000263: AND 00000264: EQ 00000265: ISZERO 00000266: PUSH2 0x02a4 00000269: JUMPI 0000026a: PUSH1 0x00 0000026c: PUSH1 0x00 0000026e: SWAP1 0000026f: SLOAD 00000270: SWAP1 00000271: PUSH2 0x0100 00000274: EXP 00000275: SWAP1 00000276: DIV 00000277: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000028c: AND 0000028d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002a2: AND 000002a3: SELFDESTRUCT 000002a4: JUMPDEST 000002a5: JUMPDEST 000002a6: JUMP 000002a7: JUMPDEST 000002a8: PUSH1 0x01 000002aa: PUSH1 0x00 000002ac: POP 000002ad: SLOAD 000002ae: DUP2 000002af: JUMP 000002b0: JUMPDEST 000002b1: PUSH1 0x02 000002b3: PUSH1 0x00 000002b5: POP 000002b6: DUP1 000002b7: SLOAD 000002b8: PUSH1 0x01 000002ba: DUP2 000002bb: PUSH1 0x01 000002bd: AND 000002be: ISZERO 000002bf: PUSH2 0x0100 000002c2: MUL 000002c3: SUB 000002c4: AND 000002c5: PUSH1 0x02 000002c7: SWAP1 000002c8: DIV 000002c9: DUP1 000002ca: PUSH1 0x1f 000002cc: ADD 000002cd: PUSH1 0x20 000002cf: DUP1 000002d0: SWAP2 000002d1: DIV 000002d2: MUL 000002d3: PUSH1 0x20 000002d5: ADD 000002d6: PUSH1 0x40 000002d8: MLOAD 000002d9: SWAP1 000002da: DUP2 000002db: ADD 000002dc: PUSH1 0x40 000002de: MSTORE 000002df: DUP1 000002e0: SWAP3 000002e1: SWAP2 000002e2: SWAP1 000002e3: DUP2 000002e4: DUP2 000002e5: MSTORE 000002e6: PUSH1 0x20 000002e8: ADD 000002e9: DUP3 000002ea: DUP1 000002eb: SLOAD 000002ec: PUSH1 0x01 000002ee: DUP2 000002ef: PUSH1 0x01 000002f1: AND 000002f2: ISZERO 000002f3: PUSH2 0x0100 000002f6: MUL 000002f7: SUB 000002f8: AND 000002f9: PUSH1 0x02 000002fb: SWAP1 000002fc: DIV 000002fd: DUP1 000002fe: ISZERO 000002ff: PUSH2 0x0349 00000302: JUMPI 00000303: DUP1 00000304: PUSH1 0x1f 00000306: LT 00000307: PUSH2 0x031e 0000030a: JUMPI 0000030b: PUSH2 0x0100 0000030e: DUP1 0000030f: DUP4 00000310: SLOAD 00000311: DIV 00000312: MUL 00000313: DUP4 00000314: MSTORE 00000315: SWAP2 00000316: PUSH1 0x20 00000318: ADD 00000319: SWAP2 0000031a: PUSH2 0x0349 0000031d: JUMP 0000031e: JUMPDEST 0000031f: DUP3 00000320: ADD 00000321: SWAP2 00000322: SWAP1 00000323: PUSH1 0x00 00000325: MSTORE 00000326: PUSH1 0x20 00000328: PUSH1 0x00 0000032a: KECCAK256 0000032b: SWAP1 0000032c: JUMPDEST 0000032d: DUP2 0000032e: SLOAD 0000032f: DUP2 00000330: MSTORE 00000331: SWAP1 00000332: PUSH1 0x01 00000334: ADD 00000335: SWAP1 00000336: PUSH1 0x20 00000338: ADD 00000339: DUP1 0000033a: DUP4 0000033b: GT 0000033c: PUSH2 0x032c 0000033f: JUMPI 00000340: DUP3 00000341: SWAP1 00000342: SUB 00000343: PUSH1 0x1f 00000345: AND 00000346: DUP3 00000347: ADD 00000348: SWAP2 00000349: JUMPDEST 0000034a: POP 0000034b: POP 0000034c: POP 0000034d: POP 0000034e: POP 0000034f: DUP2 00000350: JUMP 00000351: JUMPDEST 00000352: PUSH1 0x20 00000354: PUSH1 0x40 00000356: MLOAD 00000357: SWAP1 00000358: DUP2 00000359: ADD 0000035a: PUSH1 0x40 0000035c: MSTORE 0000035d: DUP1 0000035e: PUSH1 0x00 00000360: DUP2 00000361: MSTORE 00000362: PUSH1 0x20 00000364: ADD 00000365: POP 00000366: PUSH1 0x00 00000368: PUSH1 0x00 0000036a: PUSH1 0x01 0000036c: NUMBER 0000036d: SUB 0000036e: SWAP2 0000036f: POP 00000370: DUP2 00000371: BLOCKHASH 00000372: PUSH1 0x01 00000374: SWAP1 00000375: DIV 00000376: SWAP1 00000377: POP 00000378: PUSH1 0x01 0000037a: PUSH1 0x03 0000037c: PUSH1 0x00 0000037e: POP 0000037f: SLOAD 00000380: DUP3 00000381: DIV 00000382: ADD 00000383: PUSH1 0x01 00000385: PUSH1 0x00 00000387: POP 00000388: DUP2 00000389: SWAP1 0000038a: SSTORE 0000038b: POP 0000038c: DUP4 0000038d: SWAP3 0000038e: POP 0000038f: PUSH2 0x0393 00000392: JUMP 00000393: JUMPDEST 00000394: POP 00000395: POP 00000396: SWAP2 00000397: SWAP1 00000398: POP 00000399: 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: 0xd0ff4a0a228cd3e341565a708a25ac42d235af974dfea343d5c5375d5ed23faf
call_targets:
0xb87bc9ba8f14f6465af0ac617cdef36e422f4d4a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd0ff4a0a228cd3e341565a708a25ac42d235af974dfea343d5c5375d5ed23faf",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb87bc9ba8f14f6465af0ac617cdef36e422f4d4a"
],
"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": "0xb6ee3b86",
"selector": "0xb6ee3b86",
"calldata_variants": [
"0xb6ee3b86",
"0xb6ee3b860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd8f64b22",
"selector": "0xd8f64b22",
"calldata_variants": [
"0xd8f64b22",
"0xd8f64b220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc9d2907",
"selector": "0xdc9d2907",
"calldata_variants": [
"0xdc9d2907",
"0xdc9d29070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 246,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 475,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 589,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xd0ff4a0a228cd3e341565a708a25ac42d235af974dfea343d5c5375d5ed23faf
call_targets:
0xb87bc9ba8f14f6465af0ac617cdef36e422f4d4a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd0ff4a0a228cd3e341565a708a25ac42d235af974dfea343d5c5375d5ed23faf",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb87bc9ba8f14f6465af0ac617cdef36e422f4d4a"
],
"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": "0xb6ee3b86",
"selector": "0xb6ee3b86",
"calldata_variants": [
"0xb6ee3b86",
"0xb6ee3b860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd8f64b22",
"selector": "0xd8f64b22",
"calldata_variants": [
"0xd8f64b22",
"0xd8f64b220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc9d2907",
"selector": "0xdc9d2907",
"calldata_variants": [
"0xdc9d2907",
"0xdc9d29070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 246,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 475,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 589,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0xfeb638a9ec739e284deb5c83366acbcb64eeb3a5b4ea1a7439204b8973cf97d5
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 8,
"trace_id": "0xfeb638a9ec739e284deb5c83366acbcb64eeb3a5b4ea1a7439204b8973cf97d5",
"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": "0xb6ee3b86",
"selector": "0xb6ee3b86",
"calldata_variants": [
"0xb6ee3b86",
"0xb6ee3b860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd8f64b22",
"selector": "0xd8f64b22",
"calldata_variants": [
"0xd8f64b22",
"0xd8f64b220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc9d2907",
"selector": "0xdc9d2907",
"calldata_variants": [
"0xdc9d2907",
"0xdc9d29070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 589,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|