019b3836-419a-70be-a5ba-f1648680d374
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 |
|---|---|---|---|---|
| 5415 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 5416 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 48576 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 48577 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 48578 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 48579 | 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 0x0061 0000000a: JUMPI 0000000b: PUSH1 0xe0 0000000d: PUSH1 0x02 0000000f: EXP 00000010: PUSH1 0x00 00000012: CALLDATALOAD 00000013: DIV 00000014: PUSH4 0x1998aeef 00000019: DUP2 0000001a: EQ 0000001b: PUSH2 0x0069 0000001e: JUMPI 0000001f: DUP1 00000020: PUSH4 0x2a24f46c 00000025: EQ 00000026: PUSH2 0x007f 00000029: JUMPI 0000002a: DUP1 0000002b: PUSH4 0x38af3eed 00000030: EQ 00000031: PUSH2 0x009d 00000034: JUMPI 00000035: DUP1 00000036: PUSH4 0x4f245ef7 0000003b: EQ 0000003c: PUSH2 0x00af 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x91f90157 00000046: EQ 00000047: PUSH2 0x00b8 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0xd074a38d 00000051: EQ 00000052: PUSH2 0x00ca 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0xd57bde79 0000005c: EQ 0000005d: PUSH2 0x00d3 00000060: JUMPI 00000061: JUMPDEST 00000062: PUSH2 0x00dc 00000065: PUSH2 0x0002 00000068: JUMP 00000069: JUMPDEST 0000006a: PUSH2 0x00dc 0000006d: PUSH1 0x02 0000006f: SLOAD 00000070: PUSH1 0x01 00000072: SLOAD 00000073: ADD 00000074: TIMESTAMP 00000075: GT 00000076: ISZERO 00000077: PUSH2 0x01a1 0000007a: JUMPI 0000007b: PUSH2 0x0002 0000007e: JUMP 0000007f: JUMPDEST 00000080: PUSH2 0x00dc 00000083: PUSH1 0x00 00000085: SLOAD 00000086: CALLER 00000087: PUSH1 0x01 00000089: PUSH1 0xa0 0000008b: PUSH1 0x02 0000008d: EXP 0000008e: SUB 0000008f: SWAP1 00000090: DUP2 00000091: AND 00000092: SWAP2 00000093: AND 00000094: EQ 00000095: PUSH2 0x0242 00000098: JUMPI 00000099: PUSH2 0x0002 0000009c: JUMP 0000009d: JUMPDEST 0000009e: PUSH2 0x00de 000000a1: PUSH1 0x00 000000a3: SLOAD 000000a4: PUSH1 0x01 000000a6: PUSH1 0xa0 000000a8: PUSH1 0x02 000000aa: EXP 000000ab: SUB 000000ac: AND 000000ad: DUP2 000000ae: JUMP 000000af: JUMPDEST 000000b0: PUSH2 0x00f1 000000b3: PUSH1 0x01 000000b5: SLOAD 000000b6: DUP2 000000b7: JUMP 000000b8: JUMPDEST 000000b9: PUSH2 0x00de 000000bc: PUSH1 0x03 000000be: SLOAD 000000bf: PUSH1 0x01 000000c1: PUSH1 0xa0 000000c3: PUSH1 0x02 000000c5: EXP 000000c6: SUB 000000c7: AND 000000c8: DUP2 000000c9: JUMP 000000ca: JUMPDEST 000000cb: PUSH2 0x00f1 000000ce: PUSH1 0x02 000000d0: SLOAD 000000d1: DUP2 000000d2: JUMP 000000d3: JUMPDEST 000000d4: PUSH2 0x00f1 000000d7: PUSH1 0x04 000000d9: SLOAD 000000da: DUP2 000000db: JUMP 000000dc: JUMPDEST 000000dd: STOP 000000de: JUMPDEST 000000df: PUSH1 0x01 000000e1: PUSH1 0xa0 000000e3: PUSH1 0x02 000000e5: EXP 000000e6: SUB 000000e7: AND 000000e8: PUSH1 0x60 000000ea: SWAP1 000000eb: DUP2 000000ec: MSTORE 000000ed: PUSH1 0x20 000000ef: SWAP1 000000f0: RETURN 000000f1: JUMPDEST 000000f2: PUSH1 0x60 000000f4: SWAP1 000000f5: DUP2 000000f6: MSTORE 000000f7: PUSH1 0x20 000000f9: SWAP1 000000fa: RETURN 000000fb: JUMPDEST 000000fc: PUSH1 0x03 000000fe: SLOAD 000000ff: PUSH1 0x01 00000101: PUSH1 0xa0 00000103: PUSH1 0x02 00000105: EXP 00000106: SUB 00000107: AND 00000108: PUSH1 0x00 0000010a: EQ 0000010b: PUSH2 0x0131 0000010e: JUMPI 0000010f: PUSH1 0x04 00000111: SLOAD 00000112: PUSH1 0x03 00000114: SLOAD 00000115: PUSH1 0x01 00000117: PUSH1 0xa0 00000119: PUSH1 0x02 0000011b: EXP 0000011c: SUB 0000011d: AND 0000011e: SWAP1 0000011f: PUSH1 0x00 00000121: SWAP1 00000122: PUSH1 0x60 00000124: DUP3 00000125: DUP2 00000126: DUP2 00000127: DUP2 00000128: DUP6 00000129: DUP9 0000012a: DUP4 0000012b: CALL 0000012c: POP 0000012d: POP 0000012e: POP 0000012f: POP 00000130: POP 00000131: JUMPDEST 00000132: PUSH1 0x03 00000134: DUP1 00000135: SLOAD 00000136: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000014b: NOT 0000014c: AND 0000014d: CALLER 0000014e: SWAP1 0000014f: DUP2 00000150: OR 00000151: SWAP1 00000152: SWAP2 00000153: SSTORE 00000154: CALLVALUE 00000155: PUSH1 0x04 00000157: DUP2 00000158: SWAP1 00000159: SSTORE 0000015a: PUSH1 0x40 0000015c: DUP1 0000015d: MLOAD 0000015e: PUSH1 0x01 00000160: PUSH1 0xa0 00000162: PUSH1 0x02 00000164: EXP 00000165: SUB 00000166: SWAP4 00000167: SWAP1 00000168: SWAP4 00000169: AND 0000016a: DUP4 0000016b: MSTORE 0000016c: PUSH1 0x20 0000016e: DUP4 0000016f: ADD 00000170: SWAP2 00000171: SWAP1 00000172: SWAP2 00000173: MSTORE 00000174: DUP1 00000175: MLOAD 00000176: PUSH32 0xf4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad300 00000197: SWAP3 00000198: DUP2 00000199: SWAP1 0000019a: SUB 0000019b: SWAP1 0000019c: SWAP2 0000019d: ADD 0000019e: SWAP1 0000019f: LOG1 000001a0: JUMP 000001a1: JUMPDEST 000001a2: PUSH1 0x04 000001a4: SLOAD 000001a5: CALLVALUE 000001a6: GT 000001a7: PUSH2 0x00fb 000001aa: JUMPI 000001ab: PUSH2 0x0002 000001ae: JUMP 000001af: JUMPDEST 000001b0: PUSH1 0x04 000001b2: SLOAD 000001b3: PUSH1 0x03 000001b5: SLOAD 000001b6: PUSH1 0x01 000001b8: PUSH1 0xa0 000001ba: PUSH1 0x02 000001bc: EXP 000001bd: SUB 000001be: AND 000001bf: PUSH1 0x60 000001c1: SWAP1 000001c2: DUP2 000001c3: MSTORE 000001c4: PUSH1 0x80 000001c6: SWAP2 000001c7: SWAP1 000001c8: SWAP2 000001c9: MSTORE 000001ca: PUSH32 0xdaec4582d5d9595688c8c98545fdd1c696d41c6aeaeb636737e84ed2f5c00eda 000001eb: SWAP1 000001ec: PUSH1 0x40 000001ee: SWAP1 000001ef: LOG1 000001f0: PUSH1 0x00 000001f2: PUSH1 0x00 000001f4: SWAP1 000001f5: SLOAD 000001f6: SWAP1 000001f7: PUSH2 0x0100 000001fa: EXP 000001fb: SWAP1 000001fc: DIV 000001fd: PUSH1 0x01 000001ff: PUSH1 0xa0 00000201: PUSH1 0x02 00000203: EXP 00000204: SUB 00000205: AND 00000206: PUSH1 0x01 00000208: PUSH1 0xa0 0000020a: PUSH1 0x02 0000020c: EXP 0000020d: SUB 0000020e: AND 0000020f: PUSH1 0x00 00000211: ADDRESS 00000212: PUSH1 0x01 00000214: PUSH1 0xa0 00000216: PUSH1 0x02 00000218: EXP 00000219: SUB 0000021a: AND 0000021b: BALANCE 0000021c: PUSH1 0x40 0000021e: MLOAD 0000021f: DUP1 00000220: SWAP1 00000221: POP 00000222: PUSH1 0x00 00000224: PUSH1 0x40 00000226: MLOAD 00000227: DUP1 00000228: DUP4 00000229: SUB 0000022a: DUP2 0000022b: DUP6 0000022c: DUP9 0000022d: DUP9 0000022e: CALL 0000022f: POP 00000230: POP 00000231: PUSH1 0x05 00000233: DUP1 00000234: SLOAD 00000235: PUSH1 0xff 00000237: NOT 00000238: AND 00000239: PUSH1 0x01 0000023b: OR 0000023c: SWAP1 0000023d: SSTORE 0000023e: POP 0000023f: POP 00000240: POP 00000241: JUMP 00000242: JUMPDEST 00000243: PUSH1 0x02 00000245: SLOAD 00000246: PUSH1 0x01 00000248: SLOAD 00000249: ADD 0000024a: TIMESTAMP 0000024b: GT 0000024c: PUSH2 0x0254 0000024f: JUMPI 00000250: PUSH2 0x0002 00000253: JUMP 00000254: JUMPDEST 00000255: PUSH1 0x05 00000257: SLOAD 00000258: PUSH1 0xff 0000025a: AND 0000025b: ISZERO 0000025c: PUSH2 0x01af 0000025f: JUMPI 00000260: PUSH2 0x0002 00000263: 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 | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b
call_targets:
0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1"
],
"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": "0x1998aeef",
"selector": "0x1998aeef",
"calldata_variants": [
"0x1998aeef",
"0x1998aeef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2a24f46c",
"selector": "0x2a24f46c",
"calldata_variants": [
"0x2a24f46c",
"0x2a24f46c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38af3eed",
"selector": "0x38af3eed",
"calldata_variants": [
"0x38af3eed",
"0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4f245ef7",
"selector": "0x4f245ef7",
"calldata_variants": [
"0x4f245ef7",
"0x4f245ef70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91f90157",
"selector": "0x91f90157",
"calldata_variants": [
"0x91f90157",
"0x91f901570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd074a38d",
"selector": "0xd074a38d",
"calldata_variants": [
"0xd074a38d",
"0xd074a38d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd57bde79",
"selector": "0xd57bde79",
"calldata_variants": [
"0xd57bde79",
"0xd57bde790000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 299,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 558,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b
call_targets:
0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x16e9deb9114e9ccb53f8819eba6edea0fffc81228d28fcb8965be210d0d0e00b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x899bd9f8ab0ef0b83b74c664ffa63969761d27c1"
],
"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": "0x1998aeef",
"selector": "0x1998aeef",
"calldata_variants": [
"0x1998aeef",
"0x1998aeef0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2a24f46c",
"selector": "0x2a24f46c",
"calldata_variants": [
"0x2a24f46c",
"0x2a24f46c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38af3eed",
"selector": "0x38af3eed",
"calldata_variants": [
"0x38af3eed",
"0x38af3eed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4f245ef7",
"selector": "0x4f245ef7",
"calldata_variants": [
"0x4f245ef7",
"0x4f245ef70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91f90157",
"selector": "0x91f90157",
"calldata_variants": [
"0x91f90157",
"0x91f901570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd074a38d",
"selector": "0xd074a38d",
"calldata_variants": [
"0xd074a38d",
"0xd074a38d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd57bde79",
"selector": "0xd57bde79",
"calldata_variants": [
"0xd57bde79",
"0xd57bde790000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 299,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 558,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|