019b3836-58d1-7336-a576-ccf24c0490cc
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 |
|---|---|---|---|---|
| 8695 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 8696 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 52140 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 52141 | capability.graph | complete | 1 / 3 | 1 week ago |
| 52142 | detector.run | complete | 1 / 3 | 1 week ago |
| 52143 | 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: PUSH1 0xe0 00000007: PUSH1 0x02 00000009: EXP 0000000a: PUSH1 0x00 0000000c: CALLDATALOAD 0000000d: DIV 0000000e: PUSH4 0x32e43a11 00000013: DUP2 00000014: EQ 00000015: PUSH2 0x003c 00000018: JUMPI 00000019: DUP1 0000001a: PUSH4 0xa18022e2 0000001f: EQ 00000020: PUSH2 0x004e 00000023: JUMPI 00000024: DUP1 00000025: PUSH4 0xa59b6db1 0000002a: EQ 0000002b: PUSH2 0x00f0 0000002e: JUMPI 0000002f: DUP1 00000030: PUSH4 0xf4fe3cc1 00000035: EQ 00000036: PUSH2 0x0193 00000039: JUMPI 0000003a: JUMPDEST 0000003b: STOP 0000003c: JUMPDEST 0000003d: PUSH2 0x0231 00000040: PUSH1 0x00 00000042: SLOAD 00000043: PUSH1 0x01 00000045: PUSH1 0xa0 00000047: PUSH1 0x02 00000049: EXP 0000004a: SUB 0000004b: AND 0000004c: DUP2 0000004d: JUMP 0000004e: JUMPDEST 0000004f: PUSH1 0x00 00000051: DUP1 00000052: SLOAD 00000053: PUSH32 0x73656e64416d6f756e742875696e743235362900000000000000000000000000 00000074: PUSH1 0x60 00000076: SWAP1 00000077: DUP2 00000078: MSTORE 00000079: PUSH1 0xf9 0000007b: PUSH1 0x02 0000007d: EXP 0000007e: PUSH1 0x05 00000080: MUL 00000081: PUSH1 0x73 00000083: MSTORE 00000084: PUSH1 0x14 00000086: DUP2 00000087: KECCAK256 00000088: PUSH1 0xe0 0000008a: PUSH1 0x02 0000008c: EXP 0000008d: SWAP1 0000008e: DUP2 0000008f: SWAP1 00000090: DIV 00000091: SWAP1 00000092: DUP2 00000093: MUL 00000094: DUP3 00000095: MSTORE 00000096: PUSH2 0x003a 00000099: SWAP4 0000009a: PUSH32 0x7982ec8c443009586baefabc841485dbc561bcf65dcaf2b2f0b21c49e7d983d2 000000bb: SWAP4 000000bc: PUSH1 0x01 000000be: PUSH1 0xa0 000000c0: PUSH1 0x02 000000c2: EXP 000000c3: SUB 000000c4: AND 000000c5: SWAP3 000000c6: PUSH1 0x0a 000000c8: SWAP2 000000c9: PUSH1 0x64 000000cb: SWAP2 000000cc: PUSH1 0x04 000000ce: DUP2 000000cf: DUP6 000000d0: DUP9 000000d1: PUSH2 0x235a 000000d4: GAS 000000d5: SUB 000000d6: CALLCODE 000000d7: PUSH1 0x40 000000d9: DUP1 000000da: MLOAD 000000db: SWAP2 000000dc: ISZERO 000000dd: ISZERO 000000de: DUP3 000000df: MSTORE 000000e0: MLOAD 000000e1: SWAP1 000000e2: DUP2 000000e3: SWAP1 000000e4: SUB 000000e5: PUSH1 0x20 000000e7: ADD 000000e8: SWAP5 000000e9: POP 000000ea: SWAP3 000000eb: POP 000000ec: POP 000000ed: POP 000000ee: LOG1 000000ef: JUMP 000000f0: JUMPDEST 000000f1: PUSH2 0x003a 000000f4: PUSH1 0x00 000000f6: SLOAD 000000f7: PUSH32 0x73656e64416d6f756e742875696e743235362900000000000000000000000000 00000118: PUSH1 0x60 0000011a: SWAP1 0000011b: DUP2 0000011c: MSTORE 0000011d: PUSH1 0xf9 0000011f: PUSH1 0x02 00000121: EXP 00000122: PUSH1 0x05 00000124: MUL 00000125: PUSH1 0x73 00000127: MSTORE 00000128: PUSH1 0x14 0000012a: DUP2 0000012b: KECCAK256 0000012c: PUSH1 0xe0 0000012e: PUSH1 0x02 00000130: EXP 00000131: SWAP1 00000132: DUP2 00000133: SWAP1 00000134: DIV 00000135: SWAP1 00000136: DUP2 00000137: MUL 00000138: DUP3 00000139: MSTORE 0000013a: PUSH32 0x7982ec8c443009586baefabc841485dbc561bcf65dcaf2b2f0b21c49e7d983d2 0000015b: SWAP3 0000015c: PUSH1 0x01 0000015e: PUSH1 0xa0 00000160: PUSH1 0x02 00000162: EXP 00000163: SUB 00000164: AND 00000165: SWAP2 00000166: PUSH1 0x64 00000168: SWAP1 00000169: PUSH1 0x20 0000016b: SWAP1 0000016c: PUSH1 0x04 0000016e: DUP2 0000016f: DUP7 00000170: PUSH1 0x32 00000172: GAS 00000173: SUB 00000174: DELEGATECALL 00000175: ISZERO 00000176: PUSH2 0x0002 00000179: JUMPI 0000017a: POP 0000017b: POP 0000017c: PUSH1 0x40 0000017e: DUP1 0000017f: MLOAD 00000180: DUP1 00000181: MLOAD 00000182: ISZERO 00000183: ISZERO 00000184: DUP2 00000185: MSTORE 00000186: SWAP1 00000187: MLOAD 00000188: SWAP1 00000189: DUP2 0000018a: SWAP1 0000018b: SUB 0000018c: PUSH1 0x20 0000018e: ADD 0000018f: SWAP2 00000190: POP 00000191: LOG1 00000192: JUMP 00000193: JUMPDEST 00000194: PUSH1 0x00 00000196: DUP1 00000197: SLOAD 00000198: PUSH32 0x73656e64416d6f756e742875696e743235362900000000000000000000000000 000001b9: PUSH1 0x60 000001bb: SWAP1 000001bc: DUP2 000001bd: MSTORE 000001be: PUSH1 0xf9 000001c0: PUSH1 0x02 000001c2: EXP 000001c3: PUSH1 0x05 000001c5: MUL 000001c6: PUSH1 0x73 000001c8: MSTORE 000001c9: PUSH1 0x14 000001cb: DUP2 000001cc: KECCAK256 000001cd: PUSH1 0xe0 000001cf: PUSH1 0x02 000001d1: EXP 000001d2: SWAP1 000001d3: DUP2 000001d4: SWAP1 000001d5: DIV 000001d6: SWAP1 000001d7: DUP2 000001d8: MUL 000001d9: DUP3 000001da: MSTORE 000001db: PUSH2 0x003a 000001de: SWAP4 000001df: PUSH32 0x7982ec8c443009586baefabc841485dbc561bcf65dcaf2b2f0b21c49e7d983d2 00000200: SWAP4 00000201: PUSH1 0x01 00000203: PUSH1 0xa0 00000205: PUSH1 0x02 00000207: EXP 00000208: SUB 00000209: AND 0000020a: SWAP3 0000020b: PUSH1 0x64 0000020d: SWAP2 0000020e: SWAP1 0000020f: PUSH1 0x04 00000211: DUP2 00000212: DUP4 00000213: DUP8 00000214: PUSH1 0x32 00000216: GAS 00000217: SUB 00000218: CALLCODE 00000219: PUSH1 0x40 0000021b: DUP1 0000021c: MLOAD 0000021d: SWAP2 0000021e: ISZERO 0000021f: ISZERO 00000220: DUP3 00000221: MSTORE 00000222: MLOAD 00000223: SWAP1 00000224: DUP2 00000225: SWAP1 00000226: SUB 00000227: PUSH1 0x20 00000229: ADD 0000022a: SWAP4 0000022b: POP 0000022c: SWAP2 0000022d: POP 0000022e: POP 0000022f: LOG1 00000230: JUMP 00000231: JUMPDEST 00000232: PUSH1 0x60 00000234: SWAP1 00000235: DUP2 00000236: MSTORE 00000237: PUSH1 0x20 00000239: SWAP1 0000023a: RETURN
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 |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xe4829412cc475d59f4cf5de8ce7bbed3f08126999ac4e738a452252d30af8e49
call_targets:
0xcf69fc884d28a34d3757e585dfc584c2034d3327
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 25,
"trace_id": "0xe4829412cc475d59f4cf5de8ce7bbed3f08126999ac4e738a452252d30af8e49",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xcf69fc884d28a34d3757e585dfc584c2034d3327"
],
"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": "0x32e43a11",
"selector": "0x32e43a11",
"calldata_variants": [
"0x32e43a11",
"0x32e43a110000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa18022e2",
"selector": "0xa18022e2",
"calldata_variants": [
"0xa18022e2",
"0xa18022e20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa59b6db1",
"selector": "0xa59b6db1",
"calldata_variants": [
"0xa59b6db1",
"0xa59b6db10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4fe3cc1",
"selector": "0xf4fe3cc1",
"calldata_variants": [
"0xf4fe3cc1",
"0xf4fe3cc10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 372,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "storage-derived"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xd57a6bd4f73d2bde143793b8186c619677a8bf5e48ba329ff3db669a61cf38e3
call_targets:
0x98db348aac51f1eb613e062ff9fbe2b8d466e422
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd57a6bd4f73d2bde143793b8186c619677a8bf5e48ba329ff3db669a61cf38e3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x98db348aac51f1eb613e062ff9fbe2b8d466e422"
],
"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": "0x32e43a11",
"selector": "0x32e43a11",
"calldata_variants": [
"0x32e43a11",
"0x32e43a110000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa18022e2",
"selector": "0xa18022e2",
"calldata_variants": [
"0xa18022e2",
"0xa18022e20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa59b6db1",
"selector": "0xa59b6db1",
"calldata_variants": [
"0xa59b6db1",
"0xa59b6db10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4fe3cc1",
"selector": "0xf4fe3cc1",
"calldata_variants": [
"0xf4fe3cc1",
"0xf4fe3cc10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 214,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "storage-derived"
},
{
"pc": 536,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "storage-derived",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xd57a6bd4f73d2bde143793b8186c619677a8bf5e48ba329ff3db669a61cf38e3
call_targets:
0x98db348aac51f1eb613e062ff9fbe2b8d466e422
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd57a6bd4f73d2bde143793b8186c619677a8bf5e48ba329ff3db669a61cf38e3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x98db348aac51f1eb613e062ff9fbe2b8d466e422"
],
"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": "0x32e43a11",
"selector": "0x32e43a11",
"calldata_variants": [
"0x32e43a11",
"0x32e43a110000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa18022e2",
"selector": "0xa18022e2",
"calldata_variants": [
"0xa18022e2",
"0xa18022e20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa59b6db1",
"selector": "0xa59b6db1",
"calldata_variants": [
"0xa59b6db1",
"0xa59b6db10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf4fe3cc1",
"selector": "0xf4fe3cc1",
"calldata_variants": [
"0xf4fe3cc1",
"0xf4fe3cc10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 214,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "storage-derived"
},
{
"pc": 536,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "storage-derived",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|