019b3836-5ab7-708b-ac06-97b445a965f1
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 |
|---|---|---|---|---|
| 8949 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 8950 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 98222 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 98223 | capability.graph | complete | 1 / 3 | 1 week ago |
| 98224 | detector.run | complete | 1 / 3 | 1 week ago |
| 98225 | validation.fork | complete | 1 / 3 | 1 week 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 0x0069 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x0f59f83a 00000034: EQ 00000035: PUSH2 0x00b1 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x285b2e01 0000003f: EQ 00000040: PUSH2 0x00d6 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0x644dce20 0000004a: EQ 0000004b: PUSH2 0x00fb 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0x9af1d35a 00000055: EQ 00000056: PUSH2 0x0120 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0x9cdf1872 00000060: EQ 00000061: PUSH2 0x0145 00000064: JUMPI 00000065: PUSH2 0x0069 00000068: JUMP 00000069: JUMPDEST 0000006a: PUSH2 0x00af 0000006d: JUMPDEST 0000006e: PUSH20 0xdc78e37377eb0493cb41bd1900a541626fdc2f02 00000083: PUSH1 0x00 00000085: PUSH1 0x00 00000087: PUSH2 0x0100 0000008a: EXP 0000008b: DUP2 0000008c: SLOAD 0000008d: DUP2 0000008e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000a3: MUL 000000a4: NOT 000000a5: AND 000000a6: SWAP1 000000a7: DUP4 000000a8: MUL 000000a9: OR 000000aa: SWAP1 000000ab: SSTORE 000000ac: POP 000000ad: JUMPDEST 000000ae: JUMP 000000af: JUMPDEST 000000b0: STOP 000000b1: JUMPDEST 000000b2: PUSH2 0x00be 000000b5: PUSH1 0x04 000000b7: DUP1 000000b8: POP 000000b9: POP 000000ba: PUSH2 0x016a 000000bd: JUMP 000000be: JUMPDEST 000000bf: PUSH1 0x40 000000c1: MLOAD 000000c2: DUP1 000000c3: DUP3 000000c4: ISZERO 000000c5: ISZERO 000000c6: DUP2 000000c7: MSTORE 000000c8: PUSH1 0x20 000000ca: ADD 000000cb: SWAP2 000000cc: POP 000000cd: POP 000000ce: PUSH1 0x40 000000d0: MLOAD 000000d1: DUP1 000000d2: SWAP2 000000d3: SUB 000000d4: SWAP1 000000d5: RETURN 000000d6: JUMPDEST 000000d7: PUSH2 0x00e3 000000da: PUSH1 0x04 000000dc: DUP1 000000dd: POP 000000de: POP 000000df: PUSH2 0x01b3 000000e2: JUMP 000000e3: JUMPDEST 000000e4: PUSH1 0x40 000000e6: MLOAD 000000e7: DUP1 000000e8: DUP3 000000e9: ISZERO 000000ea: ISZERO 000000eb: DUP2 000000ec: MSTORE 000000ed: PUSH1 0x20 000000ef: ADD 000000f0: SWAP2 000000f1: POP 000000f2: POP 000000f3: PUSH1 0x40 000000f5: MLOAD 000000f6: DUP1 000000f7: SWAP2 000000f8: SUB 000000f9: SWAP1 000000fa: RETURN 000000fb: JUMPDEST 000000fc: PUSH2 0x0108 000000ff: PUSH1 0x04 00000101: DUP1 00000102: POP 00000103: POP 00000104: PUSH2 0x0200 00000107: JUMP 00000108: JUMPDEST 00000109: PUSH1 0x40 0000010b: MLOAD 0000010c: DUP1 0000010d: DUP3 0000010e: ISZERO 0000010f: ISZERO 00000110: DUP2 00000111: MSTORE 00000112: PUSH1 0x20 00000114: ADD 00000115: SWAP2 00000116: POP 00000117: POP 00000118: PUSH1 0x40 0000011a: MLOAD 0000011b: DUP1 0000011c: SWAP2 0000011d: SUB 0000011e: SWAP1 0000011f: RETURN 00000120: JUMPDEST 00000121: PUSH2 0x012d 00000124: PUSH1 0x04 00000126: DUP1 00000127: POP 00000128: POP 00000129: PUSH2 0x025f 0000012c: JUMP 0000012d: JUMPDEST 0000012e: PUSH1 0x40 00000130: MLOAD 00000131: DUP1 00000132: DUP3 00000133: ISZERO 00000134: ISZERO 00000135: DUP2 00000136: MSTORE 00000137: PUSH1 0x20 00000139: ADD 0000013a: SWAP2 0000013b: POP 0000013c: POP 0000013d: PUSH1 0x40 0000013f: MLOAD 00000140: DUP1 00000141: SWAP2 00000142: SUB 00000143: SWAP1 00000144: RETURN 00000145: JUMPDEST 00000146: PUSH2 0x0152 00000149: PUSH1 0x04 0000014b: DUP1 0000014c: POP 0000014d: POP 0000014e: PUSH2 0x033e 00000151: JUMP 00000152: JUMPDEST 00000153: PUSH1 0x40 00000155: MLOAD 00000156: DUP1 00000157: DUP3 00000158: ISZERO 00000159: ISZERO 0000015a: DUP2 0000015b: MSTORE 0000015c: PUSH1 0x20 0000015e: ADD 0000015f: SWAP2 00000160: POP 00000161: POP 00000162: PUSH1 0x40 00000164: MLOAD 00000165: DUP1 00000166: SWAP2 00000167: SUB 00000168: SWAP1 00000169: RETURN 0000016a: JUMPDEST 0000016b: PUSH1 0x00 0000016d: PUSH1 0x00 0000016f: PUSH20 0x4eecf99d543b278106ac0c0e8ffe616f2137f10a 00000184: SWAP1 00000185: POP 00000186: DUP1 00000187: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000019c: AND 0000019d: PUSH3 0x0493e0 000001a1: PUSH2 0x03e8 000001a4: POP 000001a5: POP 000001a6: POP 000001a7: PUSH1 0x01 000001a9: SWAP2 000001aa: POP 000001ab: PUSH2 0x01af 000001ae: JUMP 000001af: JUMPDEST 000001b0: POP 000001b1: SWAP1 000001b2: JUMP 000001b3: JUMPDEST 000001b4: PUSH1 0x00 000001b6: PUSH20 0xdc78e37377eb0493cb41bd1900a541626fdc2f02 000001cb: PUSH1 0x00 000001cd: PUSH1 0x00 000001cf: PUSH2 0x0100 000001d2: EXP 000001d3: DUP2 000001d4: SLOAD 000001d5: DUP2 000001d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001eb: MUL 000001ec: NOT 000001ed: AND 000001ee: SWAP1 000001ef: DUP4 000001f0: MUL 000001f1: OR 000001f2: SWAP1 000001f3: SSTORE 000001f4: POP 000001f5: PUSH1 0x01 000001f7: SWAP1 000001f8: POP 000001f9: PUSH2 0x01fd 000001fc: JUMP 000001fd: JUMPDEST 000001fe: SWAP1 000001ff: JUMP 00000200: JUMPDEST 00000201: PUSH1 0x00 00000203: PUSH1 0x00 00000205: PUSH20 0x4eecf99d543b278106ac0c0e8ffe616f2137f10a 0000021a: SWAP1 0000021b: POP 0000021c: DUP1 0000021d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000232: AND 00000233: PUSH3 0x0493e0 00000237: PUSH2 0x03e8 0000023a: PUSH1 0x40 0000023c: MLOAD 0000023d: DUP1 0000023e: SWAP1 0000023f: POP 00000240: PUSH1 0x00 00000242: PUSH1 0x40 00000244: MLOAD 00000245: DUP1 00000246: DUP4 00000247: SUB 00000248: DUP2 00000249: DUP6 0000024a: DUP9 0000024b: DUP9 0000024c: CALL 0000024d: SWAP4 0000024e: POP 0000024f: POP 00000250: POP 00000251: POP 00000252: POP 00000253: PUSH1 0x01 00000255: SWAP2 00000256: POP 00000257: PUSH2 0x025b 0000025a: JUMP 0000025b: JUMPDEST 0000025c: POP 0000025d: SWAP1 0000025e: JUMP 0000025f: JUMPDEST 00000260: PUSH1 0x00 00000262: PUSH1 0x00 00000264: PUSH20 0x4eecf99d543b278106ac0c0e8ffe616f2137f10a 00000279: SWAP1 0000027a: POP 0000027b: DUP1 0000027c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000291: AND 00000292: PUSH3 0x0493e0 00000296: PUSH1 0x00 00000298: PUSH1 0x40 0000029a: MLOAD 0000029b: DUP1 0000029c: DUP1 0000029d: PUSH32 0x7769746864726177466565732829000000000000000000000000000000000000 000002be: DUP2 000002bf: MSTORE 000002c0: PUSH1 0x20 000002c2: ADD 000002c3: POP 000002c4: PUSH1 0x0e 000002c6: ADD 000002c7: SWAP1 000002c8: POP 000002c9: PUSH1 0x40 000002cb: MLOAD 000002cc: DUP1 000002cd: SWAP2 000002ce: SUB 000002cf: SWAP1 000002d0: KECCAK256 000002d1: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000002ef: SWAP1 000002f0: DIV 000002f1: SWAP2 000002f2: SWAP1 000002f3: PUSH1 0x40 000002f5: MLOAD 000002f6: DUP4 000002f7: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000315: MUL 00000316: DUP2 00000317: MSTORE 00000318: PUSH1 0x04 0000031a: ADD 0000031b: DUP1 0000031c: SWAP1 0000031d: POP 0000031e: PUSH1 0x00 00000320: PUSH1 0x40 00000322: MLOAD 00000323: DUP1 00000324: DUP4 00000325: SUB 00000326: DUP2 00000327: DUP6 00000328: DUP10 00000329: DUP9 0000032a: CALL 0000032b: SWAP5 0000032c: POP 0000032d: POP 0000032e: POP 0000032f: POP 00000330: POP 00000331: POP 00000332: PUSH1 0x01 00000334: SWAP2 00000335: POP 00000336: PUSH2 0x033a 00000339: JUMP 0000033a: JUMPDEST 0000033b: POP 0000033c: SWAP1 0000033d: JUMP 0000033e: JUMPDEST 0000033f: PUSH1 0x00 00000341: PUSH1 0x00 00000343: PUSH20 0x4eecf99d543b278106ac0c0e8ffe616f2137f10a 00000358: SWAP1 00000359: POP 0000035a: DUP1 0000035b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000370: AND 00000371: PUSH3 0x0493e0 00000375: PUSH1 0x00 00000377: PUSH1 0x40 00000379: MLOAD 0000037a: DUP1 0000037b: DUP1 0000037c: PUSH32 0x7769746864726177282900000000000000000000000000000000000000000000 0000039d: DUP2 0000039e: MSTORE 0000039f: PUSH1 0x20 000003a1: ADD 000003a2: POP 000003a3: PUSH1 0x0a 000003a5: ADD 000003a6: SWAP1 000003a7: POP 000003a8: PUSH1 0x40 000003aa: MLOAD 000003ab: DUP1 000003ac: SWAP2 000003ad: SUB 000003ae: SWAP1 000003af: KECCAK256 000003b0: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000003ce: SWAP1 000003cf: DIV 000003d0: SWAP2 000003d1: SWAP1 000003d2: PUSH1 0x40 000003d4: MLOAD 000003d5: DUP4 000003d6: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000003f4: MUL 000003f5: DUP2 000003f6: MSTORE 000003f7: PUSH1 0x04 000003f9: ADD 000003fa: DUP1 000003fb: SWAP1 000003fc: POP 000003fd: PUSH1 0x00 000003ff: PUSH1 0x40 00000401: MLOAD 00000402: DUP1 00000403: DUP4 00000404: SUB 00000405: DUP2 00000406: DUP6 00000407: DUP10 00000408: DUP9 00000409: CALL 0000040a: SWAP5 0000040b: POP 0000040c: POP 0000040d: POP 0000040e: POP 0000040f: POP 00000410: POP 00000411: PUSH1 0x01 00000413: SWAP2 00000414: POP 00000415: PUSH2 0x0419 00000418: JUMP 00000419: JUMPDEST 0000041a: POP 0000041b: SWAP1 0000041c: 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: 0x117ee97db49e68daedda6544b6ac6133862825c0e7c30e0523461d96bdbbe409
call_targets:
0x101a34d9134ed2998e93c59e21838fc7a697bf67
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x117ee97db49e68daedda6544b6ac6133862825c0e7c30e0523461d96bdbbe409",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x101a34d9134ed2998e93c59e21838fc7a697bf67"
],
"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": "0x0f59f83a",
"selector": "0x0f59f83a",
"calldata_variants": [
"0x0f59f83a",
"0x0f59f83a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x285b2e01",
"selector": "0x285b2e01",
"calldata_variants": [
"0x285b2e01",
"0x285b2e010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x644dce20",
"selector": "0x644dce20",
"calldata_variants": [
"0x644dce20",
"0x644dce200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9af1d35a",
"selector": "0x9af1d35a",
"calldata_variants": [
"0x9af1d35a",
"0x9af1d35a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9cdf1872",
"selector": "0x9cdf1872",
"calldata_variants": [
"0x9cdf1872",
"0x9cdf18720000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 588,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant_zero",
"target_expression_category": "computed"
},
{
"pc": 810,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1033,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x117ee97db49e68daedda6544b6ac6133862825c0e7c30e0523461d96bdbbe409
call_targets:
0x101a34d9134ed2998e93c59e21838fc7a697bf67
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x117ee97db49e68daedda6544b6ac6133862825c0e7c30e0523461d96bdbbe409",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x101a34d9134ed2998e93c59e21838fc7a697bf67"
],
"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": "0x0f59f83a",
"selector": "0x0f59f83a",
"calldata_variants": [
"0x0f59f83a",
"0x0f59f83a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x285b2e01",
"selector": "0x285b2e01",
"calldata_variants": [
"0x285b2e01",
"0x285b2e010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x644dce20",
"selector": "0x644dce20",
"calldata_variants": [
"0x644dce20",
"0x644dce200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9af1d35a",
"selector": "0x9af1d35a",
"calldata_variants": [
"0x9af1d35a",
"0x9af1d35a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9cdf1872",
"selector": "0x9cdf1872",
"calldata_variants": [
"0x9cdf1872",
"0x9cdf18720000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 810,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1033,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|