019b3836-36d8-72f3-b16c-1724732e2946
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 |
|---|---|---|---|---|
| 3663 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 3664 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 105029 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 105030 | capability.graph | complete | 1 / 3 | 1 week ago |
| 105031 | detector.run | complete | 1 / 3 | 1 week ago |
| 105032 | 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 0x0056 0000000a: JUMPI 0000000b: PUSH1 0xe0 0000000d: PUSH1 0x02 0000000f: EXP 00000010: PUSH1 0x00 00000012: CALLDATALOAD 00000013: DIV 00000014: PUSH4 0x3cb5d100 00000019: DUP2 0000001a: EQ 0000001b: PUSH2 0x0061 0000001e: JUMPI 0000001f: DUP1 00000020: PUSH4 0x40193883 00000025: EQ 00000026: PUSH2 0x0095 00000029: JUMPI 0000002a: DUP1 0000002b: PUSH4 0x42e94c90 00000030: EQ 00000031: PUSH2 0x009e 00000034: JUMPI 00000035: DUP1 00000036: PUSH4 0xc431f885 0000003b: EQ 0000003c: PUSH2 0x00b6 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0xd09de08a 00000046: EQ 00000047: PUSH2 0x010d 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0xf437bc59 00000051: EQ 00000052: PUSH2 0x0116 00000055: JUMPI 00000056: JUMPDEST 00000057: PUSH2 0x0128 0000005a: PUSH2 0x012a 0000005d: PUSH2 0x00ba 00000060: JUMP 00000061: JUMPDEST 00000062: PUSH2 0x012c 00000065: PUSH1 0x04 00000067: CALLDATALOAD 00000068: PUSH1 0x04 0000006a: DUP1 0000006b: SLOAD 0000006c: DUP3 0000006d: SWAP1 0000006e: DUP2 0000006f: LT 00000070: ISZERO 00000071: PUSH2 0x0002 00000074: JUMPI 00000075: POP 00000076: PUSH1 0x00 00000078: MSTORE 00000079: PUSH1 0x00 0000007b: DUP1 0000007c: MLOAD 0000007d: PUSH1 0x20 0000007f: PUSH2 0x037c 00000082: DUP4 00000083: CODECOPY 00000084: DUP2 00000085: MLOAD 00000086: SWAP2 00000087: MSTORE 00000088: ADD 00000089: SLOAD 0000008a: PUSH1 0x01 0000008c: PUSH1 0xa0 0000008e: PUSH1 0x02 00000090: EXP 00000091: SUB 00000092: AND 00000093: DUP2 00000094: JUMP 00000095: JUMPDEST 00000096: PUSH2 0x0149 00000099: PUSH1 0x01 0000009b: SLOAD 0000009c: DUP2 0000009d: JUMP 0000009e: JUMPDEST 0000009f: PUSH2 0x0149 000000a2: PUSH1 0x04 000000a4: CALLDATALOAD 000000a5: PUSH1 0x03 000000a7: PUSH1 0x20 000000a9: MSTORE 000000aa: PUSH1 0x00 000000ac: SWAP1 000000ad: DUP2 000000ae: MSTORE 000000af: PUSH1 0x40 000000b1: SWAP1 000000b2: KECCAK256 000000b3: SLOAD 000000b4: DUP2 000000b5: JUMP 000000b6: JUMPDEST 000000b7: PUSH2 0x0128 000000ba: JUMPDEST 000000bb: PUSH2 0x012a 000000be: CALLVALUE 000000bf: PUSH1 0x01 000000c1: PUSH1 0xa0 000000c3: PUSH1 0x02 000000c5: EXP 000000c6: SUB 000000c7: CALLER 000000c8: AND 000000c9: PUSH1 0x00 000000cb: SWAP1 000000cc: DUP2 000000cd: MSTORE 000000ce: PUSH1 0x03 000000d0: PUSH1 0x20 000000d2: MSTORE 000000d3: PUSH1 0x40 000000d5: DUP2 000000d6: KECCAK256 000000d7: SLOAD 000000d8: EQ 000000d9: ISZERO 000000da: PUSH2 0x0188 000000dd: JUMPI 000000de: PUSH1 0x04 000000e0: DUP1 000000e1: SLOAD 000000e2: PUSH1 0x01 000000e4: DUP2 000000e5: ADD 000000e6: DUP1 000000e7: DUP4 000000e8: SSTORE 000000e9: DUP3 000000ea: DUP2 000000eb: DUP4 000000ec: DUP1 000000ed: ISZERO 000000ee: DUP3 000000ef: SWAP1 000000f0: GT 000000f1: PUSH2 0x015b 000000f4: JUMPI 000000f5: DUP2 000000f6: DUP4 000000f7: PUSH1 0x00 000000f9: MSTORE 000000fa: PUSH1 0x20 000000fc: PUSH1 0x00 000000fe: KECCAK256 000000ff: SWAP2 00000100: DUP3 00000101: ADD 00000102: SWAP2 00000103: ADD 00000104: PUSH2 0x015b 00000107: SWAP2 00000108: SWAP1 00000109: PUSH2 0x0239 0000010c: JUMP 0000010d: JUMPDEST 0000010e: PUSH2 0x0149 00000111: PUSH1 0x02 00000113: SLOAD 00000114: DUP2 00000115: JUMP 00000116: JUMPDEST 00000117: PUSH2 0x012c 0000011a: PUSH1 0x00 0000011c: SLOAD 0000011d: PUSH1 0x01 0000011f: PUSH1 0xa0 00000121: PUSH1 0x02 00000123: EXP 00000124: SUB 00000125: AND 00000126: DUP2 00000127: JUMP 00000128: JUMPDEST 00000129: STOP 0000012a: JUMPDEST 0000012b: JUMP 0000012c: JUMPDEST 0000012d: PUSH1 0x40 0000012f: DUP1 00000130: MLOAD 00000131: PUSH1 0x01 00000133: PUSH1 0xa0 00000135: PUSH1 0x02 00000137: EXP 00000138: SUB 00000139: SWAP3 0000013a: SWAP1 0000013b: SWAP3 0000013c: AND 0000013d: DUP3 0000013e: MSTORE 0000013f: MLOAD 00000140: SWAP1 00000141: DUP2 00000142: SWAP1 00000143: SUB 00000144: PUSH1 0x20 00000146: ADD 00000147: SWAP1 00000148: RETURN 00000149: JUMPDEST 0000014a: PUSH1 0x40 0000014c: DUP1 0000014d: MLOAD 0000014e: SWAP2 0000014f: DUP3 00000150: MSTORE 00000151: MLOAD 00000152: SWAP1 00000153: DUP2 00000154: SWAP1 00000155: SUB 00000156: PUSH1 0x20 00000158: ADD 00000159: SWAP1 0000015a: RETURN 0000015b: JUMPDEST 0000015c: POP 0000015d: POP 0000015e: POP 0000015f: PUSH1 0x00 00000161: SWAP3 00000162: DUP4 00000163: MSTORE 00000164: POP 00000165: PUSH1 0x20 00000167: SWAP1 00000168: SWAP2 00000169: KECCAK256 0000016a: ADD 0000016b: DUP1 0000016c: SLOAD 0000016d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000182: NOT 00000183: AND 00000184: CALLER 00000185: OR 00000186: SWAP1 00000187: SSTORE 00000188: JUMPDEST 00000189: PUSH1 0x01 0000018b: PUSH1 0xa0 0000018d: PUSH1 0x02 0000018f: EXP 00000190: SUB 00000191: CALLER 00000192: DUP2 00000193: AND 00000194: PUSH1 0x00 00000196: SWAP1 00000197: DUP2 00000198: MSTORE 00000199: PUSH1 0x03 0000019b: PUSH1 0x20 0000019d: MSTORE 0000019e: PUSH1 0x40 000001a0: SWAP1 000001a1: KECCAK256 000001a2: DUP1 000001a3: SLOAD 000001a4: DUP4 000001a5: ADD 000001a6: SWAP1 000001a7: SSTORE 000001a8: PUSH1 0x01 000001aa: SLOAD 000001ab: ADDRESS 000001ac: SWAP1 000001ad: SWAP2 000001ae: AND 000001af: BALANCE 000001b0: LT 000001b1: PUSH2 0x0251 000001b4: JUMPI 000001b5: PUSH2 0x0251 000001b8: PUSH1 0x04 000001ba: SLOAD 000001bb: PUSH1 0x00 000001bd: SWAP1 000001be: DUP2 000001bf: DUP1 000001c0: DUP1 000001c1: JUMPDEST 000001c2: DUP4 000001c3: DUP4 000001c4: LT 000001c5: ISZERO 000001c6: PUSH2 0x0254 000001c9: JUMPI 000001ca: PUSH1 0x04 000001cc: DUP1 000001cd: SLOAD 000001ce: PUSH1 0x03 000001d0: SWAP2 000001d1: PUSH1 0x00 000001d3: SWAP2 000001d4: DUP7 000001d5: SWAP1 000001d6: DUP2 000001d7: LT 000001d8: ISZERO 000001d9: PUSH2 0x0002 000001dc: JUMPI 000001dd: PUSH1 0x00 000001df: DUP1 000001e0: MLOAD 000001e1: PUSH1 0x20 000001e3: PUSH2 0x037c 000001e6: DUP4 000001e7: CODECOPY 000001e8: DUP2 000001e9: MLOAD 000001ea: SWAP2 000001eb: MSTORE 000001ec: ADD 000001ed: SLOAD 000001ee: PUSH1 0x01 000001f0: PUSH1 0xa0 000001f2: PUSH1 0x02 000001f4: EXP 000001f5: SUB 000001f6: AND 000001f7: DUP3 000001f8: MSTORE 000001f9: POP 000001fa: PUSH1 0x20 000001fc: SWAP2 000001fd: SWAP1 000001fe: SWAP2 000001ff: MSTORE 00000200: PUSH1 0x40 00000202: SWAP1 00000203: KECCAK256 00000204: SLOAD 00000205: SWAP1 00000206: SWAP5 00000207: ADD 00000208: SWAP4 00000209: PUSH1 0x01 0000020b: SWAP3 0000020c: SWAP1 0000020d: SWAP3 0000020e: ADD 0000020f: SWAP2 00000210: PUSH2 0x01c1 00000213: JUMP 00000214: JUMPDEST 00000215: PUSH1 0x04 00000217: DUP1 00000218: SLOAD 00000219: PUSH1 0x00 0000021b: DUP1 0000021c: DUP4 0000021d: SSTORE 0000021e: SWAP2 0000021f: SWAP1 00000220: SWAP2 00000221: MSTORE 00000222: PUSH2 0x0378 00000225: SWAP1 00000226: PUSH1 0x00 00000228: DUP1 00000229: MLOAD 0000022a: PUSH1 0x20 0000022c: PUSH2 0x037c 0000022f: DUP4 00000230: CODECOPY 00000231: DUP2 00000232: MLOAD 00000233: SWAP2 00000234: MSTORE 00000235: SWAP1 00000236: DUP2 00000237: ADD 00000238: SWAP1 00000239: JUMPDEST 0000023a: DUP1 0000023b: DUP3 0000023c: GT 0000023d: ISZERO 0000023e: PUSH2 0x024d 00000241: JUMPI 00000242: PUSH1 0x00 00000244: DUP2 00000245: SSTORE 00000246: PUSH1 0x01 00000248: ADD 00000249: PUSH2 0x0239 0000024c: JUMP 0000024d: JUMPDEST 0000024e: POP 0000024f: SWAP1 00000250: JUMP 00000251: JUMPDEST 00000252: POP 00000253: JUMP 00000254: JUMPDEST 00000255: PUSH1 0x00 00000257: NOT 00000258: NUMBER 00000259: ADD 0000025a: BLOCKHASH 0000025b: SWAP2 0000025c: POP 0000025d: JUMPDEST 0000025e: DUP2 0000025f: DUP6 00000260: GT 00000261: ISZERO 00000262: PUSH2 0x02b1 00000265: JUMPI 00000266: PUSH1 0x04 00000268: DUP1 00000269: SLOAD 0000026a: PUSH1 0x03 0000026c: SWAP2 0000026d: PUSH1 0x00 0000026f: SWAP2 00000270: DUP7 00000271: SWAP1 00000272: DUP2 00000273: LT 00000274: ISZERO 00000275: PUSH2 0x0002 00000278: JUMPI 00000279: PUSH1 0x00 0000027b: DUP1 0000027c: MLOAD 0000027d: PUSH1 0x20 0000027f: PUSH2 0x037c 00000282: DUP4 00000283: CODECOPY 00000284: DUP2 00000285: MLOAD 00000286: SWAP2 00000287: MSTORE 00000288: ADD 00000289: SLOAD 0000028a: PUSH1 0x01 0000028c: PUSH1 0xa0 0000028e: PUSH1 0x02 00000290: EXP 00000291: SUB 00000292: AND 00000293: DUP3 00000294: MSTORE 00000295: POP 00000296: PUSH1 0x20 00000298: SWAP2 00000299: SWAP1 0000029a: SWAP2 0000029b: MSTORE 0000029c: PUSH1 0x40 0000029e: SWAP1 0000029f: KECCAK256 000002a0: SLOAD 000002a1: SWAP1 000002a2: SWAP5 000002a3: SUB 000002a4: SWAP4 000002a5: PUSH1 0x00 000002a7: NOT 000002a8: SWAP4 000002a9: SWAP1 000002aa: SWAP4 000002ab: ADD 000002ac: SWAP3 000002ad: PUSH2 0x025d 000002b0: JUMP 000002b1: JUMPDEST 000002b2: PUSH1 0x04 000002b4: DUP1 000002b5: SLOAD 000002b6: DUP6 000002b7: SWAP1 000002b8: DUP2 000002b9: LT 000002ba: ISZERO 000002bb: PUSH2 0x0002 000002be: JUMPI 000002bf: PUSH1 0x00 000002c1: SWAP2 000002c2: DUP3 000002c3: MSTORE 000002c4: DUP2 000002c5: SLOAD 000002c6: PUSH1 0x40 000002c8: MLOAD 000002c9: PUSH1 0x00 000002cb: DUP1 000002cc: MLOAD 000002cd: PUSH1 0x20 000002cf: PUSH2 0x037c 000002d2: DUP4 000002d3: CODECOPY 000002d4: DUP2 000002d5: MLOAD 000002d6: SWAP2 000002d7: MSTORE 000002d8: SWAP3 000002d9: SWAP1 000002da: SWAP3 000002db: ADD 000002dc: SLOAD 000002dd: PUSH1 0x01 000002df: PUSH1 0xa0 000002e1: PUSH1 0x02 000002e3: EXP 000002e4: SUB 000002e5: SWAP1 000002e6: DUP2 000002e7: AND 000002e8: SWAP5 000002e9: POP 000002ea: SWAP1 000002eb: DUP2 000002ec: AND 000002ed: SWAP3 000002ee: SWAP2 000002ef: PUSH1 0x64 000002f1: ADDRESS 000002f2: SWAP1 000002f3: SWAP3 000002f4: AND 000002f5: BALANCE 000002f6: SWAP2 000002f7: SWAP1 000002f8: SWAP2 000002f9: DIV 000002fa: SWAP1 000002fb: DUP3 000002fc: DUP2 000002fd: DUP2 000002fe: DUP2 000002ff: DUP6 00000300: DUP9 00000301: DUP4 00000302: CALL 00000303: POP 00000304: DUP5 00000305: SWAP4 00000306: POP 00000307: ADDRESS 00000308: PUSH1 0x01 0000030a: PUSH1 0xa0 0000030c: PUSH1 0x02 0000030e: EXP 0000030f: SUB 00000310: AND 00000311: BALANCE 00000312: SWAP2 00000313: POP 00000314: DUP3 00000315: DUP2 00000316: DUP2 00000317: DUP2 00000318: DUP6 00000319: DUP9 0000031a: DUP4 0000031b: CALL 0000031c: POP 0000031d: PUSH2 0x0371 00000320: SWAP4 00000321: POP 00000322: POP 00000323: POP 00000324: JUMPDEST 00000325: PUSH1 0x04 00000327: SLOAD 00000328: DUP2 00000329: LT 0000032a: ISZERO 0000032b: PUSH2 0x0214 0000032e: JUMPI 0000032f: PUSH1 0x04 00000331: DUP1 00000332: SLOAD 00000333: PUSH1 0x03 00000335: SWAP2 00000336: PUSH1 0x00 00000338: SWAP2 00000339: DUP5 0000033a: SWAP1 0000033b: DUP2 0000033c: LT 0000033d: ISZERO 0000033e: PUSH2 0x0002 00000341: JUMPI 00000342: PUSH1 0x00 00000344: DUP1 00000345: MLOAD 00000346: PUSH1 0x20 00000348: PUSH2 0x037c 0000034b: DUP4 0000034c: CODECOPY 0000034d: DUP2 0000034e: MLOAD 0000034f: SWAP2 00000350: MSTORE 00000351: ADD 00000352: SLOAD 00000353: PUSH1 0x01 00000355: PUSH1 0xa0 00000357: PUSH1 0x02 00000359: EXP 0000035a: SUB 0000035b: AND 0000035c: DUP3 0000035d: MSTORE 0000035e: POP 0000035f: PUSH1 0x20 00000361: SWAP2 00000362: SWAP1 00000363: SWAP2 00000364: MSTORE 00000365: PUSH1 0x40 00000367: DUP2 00000368: KECCAK256 00000369: SSTORE 0000036a: PUSH1 0x01 0000036c: ADD 0000036d: PUSH2 0x0324 00000370: JUMP 00000371: JUMPDEST 00000372: POP 00000373: POP 00000374: POP 00000375: POP 00000376: POP 00000377: JUMP 00000378: JUMPDEST 00000379: POP 0000037a: POP 0000037b: JUMP 0000037c: DUP11 0000037d: CALLDATALOAD 0000037e: UNKNOWN(0xAC) 0000037f: UNKNOWN(0xFB) 00000380: UNKNOWN(0xC1) 00000381: PUSH0 00000382: UNKNOWN(0xF8) 00000383: BYTE 00000384: CODECOPY 00000385: UNKNOWN(0xAE) 00000386: PUSH30
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: 0xc8363827fec81e1a51eacda6732d24fd4a34af4678132aad3d53c424ab84024d
call_targets:
0x9a823f6a1224f025f971ad8fe66517c06714221b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc8363827fec81e1a51eacda6732d24fd4a34af4678132aad3d53c424ab84024d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x9a823f6a1224f025f971ad8fe66517c06714221b"
],
"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": "0x3cb5d100",
"selector": "0x3cb5d100",
"calldata_variants": [
"0x3cb5d100",
"0x3cb5d1000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x40193883",
"selector": "0x40193883",
"calldata_variants": [
"0x40193883",
"0x401938830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x42e94c90",
"selector": "0x42e94c90",
"calldata_variants": [
"0x42e94c90",
"0x42e94c900000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc431f885",
"selector": "0xc431f885",
"calldata_variants": [
"0xc431f885",
"0xc431f8850000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd09de08a",
"selector": "0xd09de08a",
"calldata_variants": [
"0xd09de08a",
"0xd09de08a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf437bc59",
"selector": "0xf437bc59",
"calldata_variants": [
"0xf437bc59",
"0xf437bc590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 770,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 795,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"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: 0xc8363827fec81e1a51eacda6732d24fd4a34af4678132aad3d53c424ab84024d
call_targets:
0x9a823f6a1224f025f971ad8fe66517c06714221b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc8363827fec81e1a51eacda6732d24fd4a34af4678132aad3d53c424ab84024d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x9a823f6a1224f025f971ad8fe66517c06714221b"
],
"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": "0x3cb5d100",
"selector": "0x3cb5d100",
"calldata_variants": [
"0x3cb5d100",
"0x3cb5d1000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x40193883",
"selector": "0x40193883",
"calldata_variants": [
"0x40193883",
"0x401938830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x42e94c90",
"selector": "0x42e94c90",
"calldata_variants": [
"0x42e94c90",
"0x42e94c900000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc431f885",
"selector": "0xc431f885",
"calldata_variants": [
"0xc431f885",
"0xc431f8850000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd09de08a",
"selector": "0xd09de08a",
"calldata_variants": [
"0xd09de08a",
"0xd09de08a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf437bc59",
"selector": "0xf437bc59",
"calldata_variants": [
"0xf437bc59",
"0xf437bc590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 770,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 795,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|