019b3836-3cdf-7379-b0c9-5aec7ba9189e
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 |
|---|---|---|---|---|
| 4631 | artifact.fetch | complete | 1 / 3 | 4 months ago |
| 4632 | tool.cast_disasm | complete | 1 / 3 | 4 months ago |
| 48148 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 48149 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 48150 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 48151 | 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 0x42cbb15c 0000001f: EQ 00000020: PUSH2 0x007e 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0xa4136862 0000002a: EQ 0000002b: PUSH2 0x0086 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0xcfae3217 00000035: EQ 00000036: PUSH2 0x012c 00000039: JUMPI 0000003a: JUMPDEST 0000003b: STOP 0000003c: JUMPDEST 0000003d: PUSH2 0x003a 00000040: PUSH1 0x00 00000042: SLOAD 00000043: CALLER 00000044: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000059: SWAP1 0000005a: DUP2 0000005b: AND 0000005c: SWAP2 0000005d: AND 0000005e: EQ 0000005f: ISZERO 00000060: PUSH2 0x027d 00000063: JUMPI 00000064: PUSH1 0x00 00000066: SLOAD 00000067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000007c: AND 0000007d: SELFDESTRUCT 0000007e: JUMPDEST 0000007f: PUSH2 0x018d 00000082: NUMBER 00000083: JUMPDEST 00000084: SWAP1 00000085: JUMP 00000086: JUMPDEST 00000087: PUSH1 0x20 00000089: PUSH1 0x04 0000008b: DUP1 0000008c: CALLDATALOAD 0000008d: DUP1 0000008e: DUP3 0000008f: ADD 00000090: CALLDATALOAD 00000091: PUSH1 0x1f 00000093: DUP2 00000094: ADD 00000095: DUP5 00000096: SWAP1 00000097: DIV 00000098: SWAP1 00000099: SWAP4 0000009a: MUL 0000009b: PUSH1 0x80 0000009d: SWAP1 0000009e: DUP2 0000009f: ADD 000000a0: PUSH1 0x40 000000a2: MSTORE 000000a3: PUSH1 0x60 000000a5: DUP5 000000a6: DUP2 000000a7: MSTORE 000000a8: PUSH2 0x003a 000000ab: SWAP5 000000ac: PUSH1 0x24 000000ae: SWAP4 000000af: SWAP2 000000b0: SWAP3 000000b1: SWAP2 000000b2: DUP5 000000b3: ADD 000000b4: SWAP2 000000b5: DUP2 000000b6: SWAP1 000000b7: DUP4 000000b8: DUP3 000000b9: DUP1 000000ba: DUP3 000000bb: DUP5 000000bc: CALLDATACOPY 000000bd: POP 000000be: SWAP5 000000bf: SWAP7 000000c0: POP 000000c1: POP 000000c2: POP 000000c3: POP 000000c4: POP 000000c5: POP 000000c6: POP 000000c7: DUP1 000000c8: PUSH1 0x01 000000ca: PUSH1 0x00 000000cc: POP 000000cd: SWAP1 000000ce: DUP1 000000cf: MLOAD 000000d0: SWAP1 000000d1: PUSH1 0x20 000000d3: ADD 000000d4: SWAP1 000000d5: DUP3 000000d6: DUP1 000000d7: SLOAD 000000d8: PUSH1 0x01 000000da: DUP2 000000db: PUSH1 0x01 000000dd: AND 000000de: ISZERO 000000df: PUSH2 0x0100 000000e2: MUL 000000e3: SUB 000000e4: AND 000000e5: PUSH1 0x02 000000e7: SWAP1 000000e8: DIV 000000e9: SWAP1 000000ea: PUSH1 0x00 000000ec: MSTORE 000000ed: PUSH1 0x20 000000ef: PUSH1 0x00 000000f1: KECCAK256 000000f2: SWAP1 000000f3: PUSH1 0x1f 000000f5: ADD 000000f6: PUSH1 0x20 000000f8: SWAP1 000000f9: DIV 000000fa: DUP2 000000fb: ADD 000000fc: SWAP3 000000fd: DUP3 000000fe: PUSH1 0x1f 00000100: LT 00000101: PUSH2 0x0249 00000104: JUMPI 00000105: DUP1 00000106: MLOAD 00000107: PUSH1 0xff 00000109: NOT 0000010a: AND 0000010b: DUP4 0000010c: DUP1 0000010d: ADD 0000010e: OR 0000010f: DUP6 00000110: SSTORE 00000111: JUMPDEST 00000112: POP 00000113: PUSH2 0x0244 00000116: SWAP3 00000117: SWAP2 00000118: POP 00000119: JUMPDEST 0000011a: DUP1 0000011b: DUP3 0000011c: GT 0000011d: ISZERO 0000011e: PUSH2 0x0279 00000121: JUMPI 00000122: PUSH1 0x00 00000124: DUP2 00000125: SSTORE 00000126: DUP4 00000127: ADD 00000128: PUSH2 0x0119 0000012b: JUMP 0000012c: JUMPDEST 0000012d: PUSH2 0x019f 00000130: PUSH1 0x00 00000132: PUSH1 0x60 00000134: SWAP1 00000135: DUP2 00000136: MSTORE 00000137: PUSH1 0x01 00000139: DUP1 0000013a: SLOAD 0000013b: PUSH1 0xa0 0000013d: PUSH1 0x20 0000013f: PUSH1 0x1f 00000141: PUSH1 0x02 00000143: PUSH1 0x00 00000145: NOT 00000146: PUSH2 0x0100 00000149: DUP7 0000014a: DUP9 0000014b: AND 0000014c: ISZERO 0000014d: MUL 0000014e: ADD 0000014f: SWAP1 00000150: SWAP5 00000151: AND 00000152: SWAP4 00000153: SWAP1 00000154: SWAP4 00000155: DIV 00000156: SWAP3 00000157: DUP4 00000158: ADD 00000159: DUP2 0000015a: SWAP1 0000015b: DIV 0000015c: MUL 0000015d: DUP2 0000015e: ADD 0000015f: PUSH1 0x40 00000161: MSTORE 00000162: PUSH1 0x80 00000164: DUP3 00000165: DUP2 00000166: MSTORE 00000167: SWAP3 00000168: SWAP2 00000169: SWAP1 0000016a: DUP3 0000016b: DUP3 0000016c: DUP1 0000016d: ISZERO 0000016e: PUSH2 0x0238 00000171: JUMPI 00000172: DUP1 00000173: PUSH1 0x1f 00000175: LT 00000176: PUSH2 0x020d 00000179: JUMPI 0000017a: PUSH2 0x0100 0000017d: DUP1 0000017e: DUP4 0000017f: SLOAD 00000180: DIV 00000181: MUL 00000182: DUP4 00000183: MSTORE 00000184: SWAP2 00000185: PUSH1 0x20 00000187: ADD 00000188: SWAP2 00000189: PUSH2 0x0238 0000018c: JUMP 0000018d: JUMPDEST 0000018e: PUSH1 0x40 00000190: DUP1 00000191: MLOAD 00000192: SWAP2 00000193: DUP3 00000194: MSTORE 00000195: MLOAD 00000196: SWAP1 00000197: DUP2 00000198: SWAP1 00000199: SUB 0000019a: PUSH1 0x20 0000019c: ADD 0000019d: SWAP1 0000019e: RETURN 0000019f: JUMPDEST 000001a0: PUSH1 0x40 000001a2: MLOAD 000001a3: DUP1 000001a4: DUP1 000001a5: PUSH1 0x20 000001a7: ADD 000001a8: DUP3 000001a9: DUP2 000001aa: SUB 000001ab: DUP3 000001ac: MSTORE 000001ad: DUP4 000001ae: DUP2 000001af: DUP2 000001b0: MLOAD 000001b1: DUP2 000001b2: MSTORE 000001b3: PUSH1 0x20 000001b5: ADD 000001b6: SWAP2 000001b7: POP 000001b8: DUP1 000001b9: MLOAD 000001ba: SWAP1 000001bb: PUSH1 0x20 000001bd: ADD 000001be: SWAP1 000001bf: DUP1 000001c0: DUP4 000001c1: DUP4 000001c2: DUP3 000001c3: SWAP1 000001c4: PUSH1 0x00 000001c6: PUSH1 0x04 000001c8: PUSH1 0x20 000001ca: DUP5 000001cb: PUSH1 0x1f 000001cd: ADD 000001ce: DIV 000001cf: PUSH1 0x0f 000001d1: MUL 000001d2: PUSH1 0x03 000001d4: ADD 000001d5: CALL 000001d6: POP 000001d7: SWAP1 000001d8: POP 000001d9: SWAP1 000001da: DUP2 000001db: ADD 000001dc: SWAP1 000001dd: PUSH1 0x1f 000001df: AND 000001e0: DUP1 000001e1: ISZERO 000001e2: PUSH2 0x01ff 000001e5: JUMPI 000001e6: DUP1 000001e7: DUP3 000001e8: SUB 000001e9: DUP1 000001ea: MLOAD 000001eb: PUSH1 0x01 000001ed: DUP4 000001ee: PUSH1 0x20 000001f0: SUB 000001f1: PUSH2 0x0100 000001f4: EXP 000001f5: SUB 000001f6: NOT 000001f7: AND 000001f8: DUP2 000001f9: MSTORE 000001fa: PUSH1 0x20 000001fc: ADD 000001fd: SWAP2 000001fe: POP 000001ff: JUMPDEST 00000200: POP 00000201: SWAP3 00000202: POP 00000203: POP 00000204: POP 00000205: PUSH1 0x40 00000207: MLOAD 00000208: DUP1 00000209: SWAP2 0000020a: SUB 0000020b: SWAP1 0000020c: RETURN 0000020d: JUMPDEST 0000020e: DUP3 0000020f: ADD 00000210: SWAP2 00000211: SWAP1 00000212: PUSH1 0x00 00000214: MSTORE 00000215: PUSH1 0x20 00000217: PUSH1 0x00 00000219: KECCAK256 0000021a: SWAP1 0000021b: JUMPDEST 0000021c: DUP2 0000021d: SLOAD 0000021e: DUP2 0000021f: MSTORE 00000220: SWAP1 00000221: PUSH1 0x01 00000223: ADD 00000224: SWAP1 00000225: PUSH1 0x20 00000227: ADD 00000228: DUP1 00000229: DUP4 0000022a: GT 0000022b: PUSH2 0x021b 0000022e: JUMPI 0000022f: DUP3 00000230: SWAP1 00000231: SUB 00000232: PUSH1 0x1f 00000234: AND 00000235: DUP3 00000236: ADD 00000237: SWAP2 00000238: JUMPDEST 00000239: POP 0000023a: POP 0000023b: POP 0000023c: POP 0000023d: POP 0000023e: SWAP1 0000023f: POP 00000240: PUSH2 0x0083 00000243: JUMP 00000244: JUMPDEST 00000245: POP 00000246: POP 00000247: POP 00000248: JUMP 00000249: JUMPDEST 0000024a: DUP3 0000024b: DUP1 0000024c: ADD 0000024d: PUSH1 0x01 0000024f: ADD 00000250: DUP6 00000251: SSTORE 00000252: DUP3 00000253: ISZERO 00000254: PUSH2 0x0111 00000257: JUMPI 00000258: SWAP2 00000259: DUP3 0000025a: ADD 0000025b: JUMPDEST 0000025c: DUP3 0000025d: DUP2 0000025e: GT 0000025f: ISZERO 00000260: PUSH2 0x0111 00000263: JUMPI 00000264: DUP3 00000265: MLOAD 00000266: DUP3 00000267: PUSH1 0x00 00000269: POP 0000026a: SSTORE 0000026b: SWAP2 0000026c: PUSH1 0x20 0000026e: ADD 0000026f: SWAP2 00000270: SWAP1 00000271: PUSH1 0x01 00000273: ADD 00000274: SWAP1 00000275: PUSH2 0x025b 00000278: JUMP 00000279: JUMPDEST 0000027a: POP 0000027b: SWAP1 0000027c: JUMP 0000027d: JUMPDEST 0000027e: 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: 0xbca3c2081a534d48c8171c72323f015c0634767dcd0e2546129cb4949386db5c
call_targets:
0xd147a2764c18cc132aeb2470aea33d6c1f98be8c
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbca3c2081a534d48c8171c72323f015c0634767dcd0e2546129cb4949386db5c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd147a2764c18cc132aeb2470aea33d6c1f98be8c"
],
"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": "0x42cbb15c",
"selector": "0x42cbb15c",
"calldata_variants": [
"0x42cbb15c",
"0x42cbb15c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa4136862",
"selector": "0xa4136862",
"calldata_variants": [
"0xa4136862",
"0xa41368620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfae3217",
"selector": "0xcfae3217",
"calldata_variants": [
"0xcfae3217",
"0xcfae32170000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 469,
"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: 0xbca3c2081a534d48c8171c72323f015c0634767dcd0e2546129cb4949386db5c
call_targets:
0xd147a2764c18cc132aeb2470aea33d6c1f98be8c
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbca3c2081a534d48c8171c72323f015c0634767dcd0e2546129cb4949386db5c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd147a2764c18cc132aeb2470aea33d6c1f98be8c"
],
"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": "0x42cbb15c",
"selector": "0x42cbb15c",
"calldata_variants": [
"0x42cbb15c",
"0x42cbb15c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa4136862",
"selector": "0xa4136862",
"calldata_variants": [
"0xa4136862",
"0xa41368620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfae3217",
"selector": "0xcfae3217",
"calldata_variants": [
"0xcfae3217",
"0xcfae32170000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 469,
"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: 0x72f23912eb3eda171f5f9e5de79d1d278e11f7658090b93dbcf87cfaa2d03ea7
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 8,
"trace_id": "0x72f23912eb3eda171f5f9e5de79d1d278e11f7658090b93dbcf87cfaa2d03ea7",
"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": "0x42cbb15c",
"selector": "0x42cbb15c",
"calldata_variants": [
"0x42cbb15c",
"0x42cbb15c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa4136862",
"selector": "0xa4136862",
"calldata_variants": [
"0xa4136862",
"0xa41368620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfae3217",
"selector": "0xcfae3217",
"calldata_variants": [
"0xcfae3217",
"0xcfae32170000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|