TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019b477e-bc63-7308-b77b-9245dab5e6e5

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 22, 2025 7:17 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
24063 artifact.fetch complete 1 / 3 3 months ago
24064 tool.cast_disasm complete 1 / 3 3 months ago
67306 analysis.bundle complete 1 / 3 2 weeks ago
67307 capability.graph complete 1 / 3 2 weeks ago
67308 detector.run complete 1 / 3 2 weeks ago
67309 validation.fork complete 1 / 3 2 weeks ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
3
Total opcodes
1215
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0034
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x2e1a7d4d
00000019: EQ
0000001a: PUSH2 0x0036
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x49df728c
00000024: EQ
00000025: PUSH2 0x0071
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd0241dac
0000002f: EQ
00000030: PUSH2 0x00c2
00000033: JUMPI
00000034: JUMPDEST
00000035: STOP
00000036: JUMPDEST
00000037: CALLVALUE
00000038: DUP1
00000039: ISZERO
0000003a: PUSH2 0x0042
0000003d: JUMPI
0000003e: PUSH1 0x00
00000040: DUP1
00000041: REVERT
00000042: JUMPDEST
00000043: POP
00000044: PUSH2 0x006f
00000047: PUSH1 0x04
00000049: DUP1
0000004a: CALLDATASIZE
0000004b: SUB
0000004c: PUSH1 0x20
0000004e: DUP2
0000004f: LT
00000050: ISZERO
00000051: PUSH2 0x0059
00000054: JUMPI
00000055: PUSH1 0x00
00000057: DUP1
00000058: REVERT
00000059: JUMPDEST
0000005a: DUP2
0000005b: ADD
0000005c: SWAP1
0000005d: DUP1
0000005e: DUP1
0000005f: CALLDATALOAD
00000060: SWAP1
00000061: PUSH1 0x20
00000063: ADD
00000064: SWAP1
00000065: SWAP3
00000066: SWAP2
00000067: SWAP1
00000068: POP
00000069: POP
0000006a: POP
0000006b: PUSH2 0x01b1
0000006e: JUMP
0000006f: JUMPDEST
00000070: STOP
00000071: JUMPDEST
00000072: CALLVALUE
00000073: DUP1
00000074: ISZERO
00000075: PUSH2 0x007d
00000078: JUMPI
00000079: PUSH1 0x00
0000007b: DUP1
0000007c: REVERT
0000007d: JUMPDEST
0000007e: POP
0000007f: PUSH2 0x00c0
00000082: PUSH1 0x04
00000084: DUP1
00000085: CALLDATASIZE
00000086: SUB
00000087: PUSH1 0x20
00000089: DUP2
0000008a: LT
0000008b: ISZERO
0000008c: PUSH2 0x0094
0000008f: JUMPI
00000090: PUSH1 0x00
00000092: DUP1
00000093: REVERT
00000094: JUMPDEST
00000095: DUP2
00000096: ADD
00000097: SWAP1
00000098: DUP1
00000099: DUP1
0000009a: CALLDATALOAD
0000009b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000000b0: AND
000000b1: SWAP1
000000b2: PUSH1 0x20
000000b4: ADD
000000b5: SWAP1
000000b6: SWAP3
000000b7: SWAP2
000000b8: SWAP1
000000b9: POP
000000ba: POP
000000bb: POP
000000bc: PUSH2 0x0317
000000bf: JUMP
000000c0: JUMPDEST
000000c1: STOP
000000c2: JUMPDEST
000000c3: CALLVALUE
000000c4: DUP1
000000c5: ISZERO
000000c6: PUSH2 0x00ce
000000c9: JUMPI
000000ca: PUSH1 0x00
000000cc: DUP1
000000cd: REVERT
000000ce: JUMPDEST
000000cf: POP
000000d0: PUSH2 0x015a
000000d3: PUSH1 0x04
000000d5: DUP1
000000d6: CALLDATASIZE
000000d7: SUB
000000d8: PUSH1 0x60
000000da: DUP2
000000db: LT
000000dc: ISZERO
000000dd: PUSH2 0x00e5
000000e0: JUMPI
000000e1: PUSH1 0x00
000000e3: DUP1
000000e4: REVERT
000000e5: JUMPDEST
000000e6: DUP2
000000e7: ADD
000000e8: SWAP1
000000e9: DUP1
000000ea: DUP1
000000eb: CALLDATALOAD
000000ec: SWAP1
000000ed: PUSH1 0x20
000000ef: ADD
000000f0: SWAP1
000000f1: SWAP3
000000f2: SWAP2
000000f3: SWAP1
000000f4: DUP1
000000f5: CALLDATALOAD
000000f6: SWAP1
000000f7: PUSH1 0x20
000000f9: ADD
000000fa: SWAP1
000000fb: SWAP3
000000fc: SWAP2
000000fd: SWAP1
000000fe: DUP1
000000ff: CALLDATALOAD
00000100: SWAP1
00000101: PUSH1 0x20
00000103: ADD
00000104: SWAP1
00000105: PUSH5 0x0100000000
0000010b: DUP2
0000010c: GT
0000010d: ISZERO
0000010e: PUSH2 0x0116
00000111: JUMPI
00000112: PUSH1 0x00
00000114: DUP1
00000115: REVERT
00000116: JUMPDEST
00000117: DUP3
00000118: ADD
00000119: DUP4
0000011a: PUSH1 0x20
0000011c: DUP3
0000011d: ADD
0000011e: GT
0000011f: ISZERO
00000120: PUSH2 0x0128
00000123: JUMPI
00000124: PUSH1 0x00
00000126: DUP1
00000127: REVERT
00000128: JUMPDEST
00000129: DUP1
0000012a: CALLDATALOAD
0000012b: SWAP1
0000012c: PUSH1 0x20
0000012e: ADD
0000012f: SWAP2
00000130: DUP5
00000131: PUSH1 0x20
00000133: DUP4
00000134: MUL
00000135: DUP5
00000136: ADD
00000137: GT
00000138: PUSH5 0x0100000000
0000013e: DUP4
0000013f: GT
00000140: OR
00000141: ISZERO
00000142: PUSH2 0x014a
00000145: JUMPI
00000146: PUSH1 0x00
00000148: DUP1
00000149: REVERT
0000014a: JUMPDEST
0000014b: SWAP1
0000014c: SWAP2
0000014d: SWAP3
0000014e: SWAP4
0000014f: SWAP2
00000150: SWAP3
00000151: SWAP4
00000152: SWAP1
00000153: POP
00000154: POP
00000155: POP
00000156: PUSH2 0x0565
00000159: JUMP
0000015a: JUMPDEST
0000015b: PUSH1 0x40
0000015d: MLOAD
0000015e: DUP1
0000015f: DUP1
00000160: PUSH1 0x20
00000162: ADD
00000163: DUP3
00000164: DUP2
00000165: SUB
00000166: DUP3
00000167: MSTORE
00000168: DUP4
00000169: DUP2
0000016a: DUP2
0000016b: MLOAD
0000016c: DUP2
0000016d: MSTORE
0000016e: PUSH1 0x20
00000170: ADD
00000171: SWAP2
00000172: POP
00000173: DUP1
00000174: MLOAD
00000175: SWAP1
00000176: PUSH1 0x20
00000178: ADD
00000179: SWAP1
0000017a: PUSH1 0x20
0000017c: MUL
0000017d: DUP1
0000017e: DUP4
0000017f: DUP4
00000180: PUSH1 0x00
00000182: JUMPDEST
00000183: DUP4
00000184: DUP2
00000185: LT
00000186: ISZERO
00000187: PUSH2 0x019d
0000018a: JUMPI
0000018b: DUP1
0000018c: DUP3
0000018d: ADD
0000018e: MLOAD
0000018f: DUP2
00000190: DUP5
00000191: ADD
00000192: MSTORE
00000193: PUSH1 0x20
00000195: DUP2
00000196: ADD
00000197: SWAP1
00000198: POP
00000199: PUSH2 0x0182
0000019c: JUMP
0000019d: JUMPDEST
0000019e: POP
0000019f: POP
000001a0: POP
000001a1: POP
000001a2: SWAP1
000001a3: POP
000001a4: ADD
000001a5: SWAP3
000001a6: POP
000001a7: POP
000001a8: POP
000001a9: PUSH1 0x40
000001ab: MLOAD
000001ac: DUP1
000001ad: SWAP2
000001ae: SUB
000001af: SWAP1
000001b0: RETURN
000001b1: JUMPDEST
000001b2: PUSH1 0x02
000001b4: PUSH1 0x00
000001b6: SWAP1
000001b7: SLOAD
000001b8: SWAP1
000001b9: PUSH2 0x0100
000001bc: EXP
000001bd: SWAP1
000001be: DIV
000001bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001d4: AND
000001d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001ea: AND
000001eb: CALLER
000001ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000201: AND
00000202: EQ
00000203: PUSH2 0x0257
00000206: JUMPI
00000207: PUSH1 0x40
00000209: MLOAD
0000020a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000022b: DUP2
0000022c: MSTORE
0000022d: PUSH1 0x04
0000022f: ADD
00000230: DUP1
00000231: DUP1
00000232: PUSH1 0x20
00000234: ADD
00000235: DUP3
00000236: DUP2
00000237: SUB
00000238: DUP3
00000239: MSTORE
0000023a: PUSH1 0x25
0000023c: DUP2
0000023d: MSTORE
0000023e: PUSH1 0x20
00000240: ADD
00000241: DUP1
00000242: PUSH2 0x0831
00000245: PUSH1 0x25
00000247: SWAP2
00000248: CODECOPY
00000249: PUSH1 0x40
0000024b: ADD
0000024c: SWAP2
0000024d: POP
0000024e: POP
0000024f: PUSH1 0x40
00000251: MLOAD
00000252: DUP1
00000253: SWAP2
00000254: SUB
00000255: SWAP1
00000256: REVERT
00000257: JUMPDEST
00000258: SELFBALANCE
00000259: DUP2
0000025a: GT
0000025b: ISZERO
0000025c: PUSH2 0x02cd
0000025f: JUMPI
00000260: PUSH1 0x40
00000262: MLOAD
00000263: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000284: DUP2
00000285: MSTORE
00000286: PUSH1 0x04
00000288: ADD
00000289: DUP1
0000028a: DUP1
0000028b: PUSH1 0x20
0000028d: ADD
0000028e: DUP3
0000028f: DUP2
00000290: SUB
00000291: DUP3
00000292: MSTORE
00000293: PUSH1 0x18
00000295: DUP2
00000296: MSTORE
00000297: PUSH1 0x20
00000299: ADD
0000029a: DUP1
0000029b: PUSH32 0x776974686472617720616d6f756e7420746f6f20686967680000000000000000
000002bc: DUP2
000002bd: MSTORE
000002be: POP
000002bf: PUSH1 0x20
000002c1: ADD
000002c2: SWAP2
000002c3: POP
000002c4: POP
000002c5: PUSH1 0x40
000002c7: MLOAD
000002c8: DUP1
000002c9: SWAP2
000002ca: SUB
000002cb: SWAP1
000002cc: REVERT
000002cd: JUMPDEST
000002ce: CALLER
000002cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e4: AND
000002e5: PUSH2 0x08fc
000002e8: DUP3
000002e9: SWAP1
000002ea: DUP2
000002eb: ISZERO
000002ec: MUL
000002ed: SWAP1
000002ee: PUSH1 0x40
000002f0: MLOAD
000002f1: PUSH1 0x00
000002f3: PUSH1 0x40
000002f5: MLOAD
000002f6: DUP1
000002f7: DUP4
000002f8: SUB
000002f9: DUP2
000002fa: DUP6
000002fb: DUP9
000002fc: DUP9
000002fd: CALL
000002fe: SWAP4
000002ff: POP
00000300: POP
00000301: POP
00000302: POP
00000303: ISZERO
00000304: DUP1
00000305: ISZERO
00000306: PUSH2 0x0313
00000309: JUMPI
0000030a: RETURNDATASIZE
0000030b: PUSH1 0x00
0000030d: DUP1
0000030e: RETURNDATACOPY
0000030f: RETURNDATASIZE
00000310: PUSH1 0x00
00000312: REVERT
00000313: JUMPDEST
00000314: POP
00000315: POP
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH1 0x01
0000031a: ISZERO
0000031b: ISZERO
0000031c: PUSH1 0x03
0000031e: PUSH1 0x00
00000320: CALLER
00000321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000336: AND
00000337: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000034c: AND
0000034d: DUP2
0000034e: MSTORE
0000034f: PUSH1 0x20
00000351: ADD
00000352: SWAP1
00000353: DUP2
00000354: MSTORE
00000355: PUSH1 0x20
00000357: ADD
00000358: PUSH1 0x00
0000035a: KECCAK256
0000035b: PUSH1 0x00
0000035d: SWAP1
0000035e: SLOAD
0000035f: SWAP1
00000360: PUSH2 0x0100
00000363: EXP
00000364: SWAP1
00000365: DIV
00000366: PUSH1 0xff
00000368: AND
00000369: ISZERO
0000036a: ISZERO
0000036b: EQ
0000036c: PUSH2 0x03c0
0000036f: JUMPI
00000370: PUSH1 0x40
00000372: MLOAD
00000373: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000394: DUP2
00000395: MSTORE
00000396: PUSH1 0x04
00000398: ADD
00000399: DUP1
0000039a: DUP1
0000039b: PUSH1 0x20
0000039d: ADD
0000039e: DUP3
0000039f: DUP2
000003a0: SUB
000003a1: DUP3
000003a2: MSTORE
000003a3: PUSH1 0x2f
000003a5: DUP2
000003a6: MSTORE
000003a7: PUSH1 0x20
000003a9: ADD
000003aa: DUP1
000003ab: PUSH2 0x0879
000003ae: PUSH1 0x2f
000003b0: SWAP2
000003b1: CODECOPY
000003b2: PUSH1 0x40
000003b4: ADD
000003b5: SWAP2
000003b6: POP
000003b7: POP
000003b8: PUSH1 0x40
000003ba: MLOAD
000003bb: DUP1
000003bc: SWAP2
000003bd: SUB
000003be: SWAP1
000003bf: REVERT
000003c0: JUMPDEST
000003c1: PUSH1 0x00
000003c3: DUP2
000003c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d9: AND
000003da: PUSH4 0x70a08231
000003df: ADDRESS
000003e0: PUSH1 0x40
000003e2: MLOAD
000003e3: DUP3
000003e4: PUSH4 0xffffffff
000003e9: AND
000003ea: PUSH1 0xe0
000003ec: SHL
000003ed: DUP2
000003ee: MSTORE
000003ef: PUSH1 0x04
000003f1: ADD
000003f2: DUP1
000003f3: DUP3
000003f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000409: AND
0000040a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000041f: AND
00000420: DUP2
00000421: MSTORE
00000422: PUSH1 0x20
00000424: ADD
00000425: SWAP2
00000426: POP
00000427: POP
00000428: PUSH1 0x20
0000042a: PUSH1 0x40
0000042c: MLOAD
0000042d: DUP1
0000042e: DUP4
0000042f: SUB
00000430: DUP2
00000431: DUP7
00000432: DUP1
00000433: EXTCODESIZE
00000434: ISZERO
00000435: DUP1
00000436: ISZERO
00000437: PUSH2 0x043f
0000043a: JUMPI
0000043b: PUSH1 0x00
0000043d: DUP1
0000043e: REVERT
0000043f: JUMPDEST
00000440: POP
00000441: GAS
00000442: STATICCALL
00000443: ISZERO
00000444: DUP1
00000445: ISZERO
00000446: PUSH2 0x0453
00000449: JUMPI
0000044a: RETURNDATASIZE
0000044b: PUSH1 0x00
0000044d: DUP1
0000044e: RETURNDATACOPY
0000044f: RETURNDATASIZE
00000450: PUSH1 0x00
00000452: REVERT
00000453: JUMPDEST
00000454: POP
00000455: POP
00000456: POP
00000457: POP
00000458: PUSH1 0x40
0000045a: MLOAD
0000045b: RETURNDATASIZE
0000045c: PUSH1 0x20
0000045e: DUP2
0000045f: LT
00000460: ISZERO
00000461: PUSH2 0x0469
00000464: JUMPI
00000465: PUSH1 0x00
00000467: DUP1
00000468: REVERT
00000469: JUMPDEST
0000046a: DUP2
0000046b: ADD
0000046c: SWAP1
0000046d: DUP1
0000046e: DUP1
0000046f: MLOAD
00000470: SWAP1
00000471: PUSH1 0x20
00000473: ADD
00000474: SWAP1
00000475: SWAP3
00000476: SWAP2
00000477: SWAP1
00000478: POP
00000479: POP
0000047a: POP
0000047b: SWAP1
0000047c: POP
0000047d: DUP2
0000047e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000493: AND
00000494: PUSH4 0xa9059cbb
00000499: PUSH1 0x02
0000049b: PUSH1 0x00
0000049d: SWAP1
0000049e: SLOAD
0000049f: SWAP1
000004a0: PUSH2 0x0100
000004a3: EXP
000004a4: SWAP1
000004a5: DIV
000004a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004bb: AND
000004bc: DUP4
000004bd: PUSH1 0x40
000004bf: MLOAD
000004c0: DUP4
000004c1: PUSH4 0xffffffff
000004c6: AND
000004c7: PUSH1 0xe0
000004c9: SHL
000004ca: DUP2
000004cb: MSTORE
000004cc: PUSH1 0x04
000004ce: ADD
000004cf: DUP1
000004d0: DUP4
000004d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e6: AND
000004e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004fc: AND
000004fd: DUP2
000004fe: MSTORE
000004ff: PUSH1 0x20
00000501: ADD
00000502: DUP3
00000503: DUP2
00000504: MSTORE
00000505: PUSH1 0x20
00000507: ADD
00000508: SWAP3
00000509: POP
0000050a: POP
0000050b: POP
0000050c: PUSH1 0x20
0000050e: PUSH1 0x40
00000510: MLOAD
00000511: DUP1
00000512: DUP4
00000513: SUB
00000514: DUP2
00000515: PUSH1 0x00
00000517: DUP8
00000518: DUP1
00000519: EXTCODESIZE
0000051a: ISZERO
0000051b: DUP1
0000051c: ISZERO
0000051d: PUSH2 0x0525
00000520: JUMPI
00000521: PUSH1 0x00
00000523: DUP1
00000524: REVERT
00000525: JUMPDEST
00000526: POP
00000527: GAS
00000528: CALL
00000529: ISZERO
0000052a: DUP1
0000052b: ISZERO
0000052c: PUSH2 0x0539
0000052f: JUMPI
00000530: RETURNDATASIZE
00000531: PUSH1 0x00
00000533: DUP1
00000534: RETURNDATACOPY
00000535: RETURNDATASIZE
00000536: PUSH1 0x00
00000538: REVERT
00000539: JUMPDEST
0000053a: POP
0000053b: POP
0000053c: POP
0000053d: POP
0000053e: PUSH1 0x40
00000540: MLOAD
00000541: RETURNDATASIZE
00000542: PUSH1 0x20
00000544: DUP2
00000545: LT
00000546: ISZERO
00000547: PUSH2 0x054f
0000054a: JUMPI
0000054b: PUSH1 0x00
0000054d: DUP1
0000054e: REVERT
0000054f: JUMPDEST
00000550: DUP2
00000551: ADD
00000552: SWAP1
00000553: DUP1
00000554: DUP1
00000555: MLOAD
00000556: SWAP1
00000557: PUSH1 0x20
00000559: ADD
0000055a: SWAP1
0000055b: SWAP3
0000055c: SWAP2
0000055d: SWAP1
0000055e: POP
0000055f: POP
00000560: POP
00000561: POP
00000562: POP
00000563: POP
00000564: JUMP
00000565: JUMPDEST
00000566: PUSH1 0x60
00000568: PUSH1 0x01
0000056a: ISZERO
0000056b: ISZERO
0000056c: PUSH1 0x03
0000056e: PUSH1 0x00
00000570: CALLER
00000571: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000586: AND
00000587: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000059c: AND
0000059d: DUP2
0000059e: MSTORE
0000059f: PUSH1 0x20
000005a1: ADD
000005a2: SWAP1
000005a3: DUP2
000005a4: MSTORE
000005a5: PUSH1 0x20
000005a7: ADD
000005a8: PUSH1 0x00
000005aa: KECCAK256
000005ab: PUSH1 0x00
000005ad: SWAP1
000005ae: SLOAD
000005af: SWAP1
000005b0: PUSH2 0x0100
000005b3: EXP
000005b4: SWAP1
000005b5: DIV
000005b6: PUSH1 0xff
000005b8: AND
000005b9: ISZERO
000005ba: ISZERO
000005bb: EQ
000005bc: PUSH2 0x0610
000005bf: JUMPI
000005c0: PUSH1 0x40
000005c2: MLOAD
000005c3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000005e4: DUP2
000005e5: MSTORE
000005e6: PUSH1 0x04
000005e8: ADD
000005e9: DUP1
000005ea: DUP1
000005eb: PUSH1 0x20
000005ed: ADD
000005ee: DUP3
000005ef: DUP2
000005f0: SUB
000005f1: DUP3
000005f2: MSTORE
000005f3: PUSH1 0x2f
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x20
000005f9: ADD
000005fa: DUP1
000005fb: PUSH2 0x0879
000005fe: PUSH1 0x2f
00000600: SWAP2
00000601: CODECOPY
00000602: PUSH1 0x40
00000604: ADD
00000605: SWAP2
00000606: POP
00000607: POP
00000608: PUSH1 0x40
0000060a: MLOAD
0000060b: DUP1
0000060c: SWAP2
0000060d: SUB
0000060e: SWAP1
0000060f: REVERT
00000610: JUMPDEST
00000611: SELFBALANCE
00000612: DUP6
00000613: GT
00000614: ISZERO
00000615: PUSH2 0x0669
00000618: JUMPI
00000619: PUSH1 0x40
0000061b: MLOAD
0000061c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000063d: DUP2
0000063e: MSTORE
0000063f: PUSH1 0x04
00000641: ADD
00000642: DUP1
00000643: DUP1
00000644: PUSH1 0x20
00000646: ADD
00000647: DUP3
00000648: DUP2
00000649: SUB
0000064a: DUP3
0000064b: MSTORE
0000064c: PUSH1 0x23
0000064e: DUP2
0000064f: MSTORE
00000650: PUSH1 0x20
00000652: ADD
00000653: DUP1
00000654: PUSH2 0x0856
00000657: PUSH1 0x23
00000659: SWAP2
0000065a: CODECOPY
0000065b: PUSH1 0x40
0000065d: ADD
0000065e: SWAP2
0000065f: POP
00000660: POP
00000661: PUSH1 0x40
00000663: MLOAD
00000664: DUP1
00000665: SWAP2
00000666: SUB
00000667: SWAP1
00000668: REVERT
00000669: JUMPDEST
0000066a: PUSH1 0x00
0000066c: DUP1
0000066d: SWAP1
0000066e: SLOAD
0000066f: SWAP1
00000670: PUSH2 0x0100
00000673: EXP
00000674: SWAP1
00000675: DIV
00000676: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000068b: AND
0000068c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006a1: AND
000006a2: PUSH4 0x7ff36ab5
000006a7: DUP7
000006a8: DUP7
000006a9: DUP7
000006aa: DUP7
000006ab: ADDRESS
000006ac: TIMESTAMP
000006ad: PUSH1 0x40
000006af: MLOAD
000006b0: DUP8
000006b1: PUSH4 0xffffffff
000006b6: AND
000006b7: PUSH1 0xe0
000006b9: SHL
000006ba: DUP2
000006bb: MSTORE
000006bc: PUSH1 0x04
000006be: ADD
000006bf: DUP1
000006c0: DUP7
000006c1: DUP2
000006c2: MSTORE
000006c3: PUSH1 0x20
000006c5: ADD
000006c6: DUP1
000006c7: PUSH1 0x20
000006c9: ADD
000006ca: DUP5
000006cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e0: AND
000006e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f6: AND
000006f7: DUP2
000006f8: MSTORE
000006f9: PUSH1 0x20
000006fb: ADD
000006fc: DUP4
000006fd: DUP2
000006fe: MSTORE
000006ff: PUSH1 0x20
00000701: ADD
00000702: DUP3
00000703: DUP2
00000704: SUB
00000705: DUP3
00000706: MSTORE
00000707: DUP7
00000708: DUP7
00000709: DUP3
0000070a: DUP2
0000070b: DUP2
0000070c: MSTORE
0000070d: PUSH1 0x20
0000070f: ADD
00000710: SWAP3
00000711: POP
00000712: PUSH1 0x20
00000714: MUL
00000715: DUP1
00000716: DUP3
00000717: DUP5
00000718: CALLDATACOPY
00000719: PUSH1 0x00
0000071b: DUP2
0000071c: DUP5
0000071d: ADD
0000071e: MSTORE
0000071f: PUSH1 0x1f
00000721: NOT
00000722: PUSH1 0x1f
00000724: DUP3
00000725: ADD
00000726: AND
00000727: SWAP1
00000728: POP
00000729: DUP1
0000072a: DUP4
0000072b: ADD
0000072c: SWAP3
0000072d: POP
0000072e: POP
0000072f: POP
00000730: SWAP7
00000731: POP
00000732: POP
00000733: POP
00000734: POP
00000735: POP
00000736: POP
00000737: POP
00000738: PUSH1 0x00
0000073a: PUSH1 0x40
0000073c: MLOAD
0000073d: DUP1
0000073e: DUP4
0000073f: SUB
00000740: DUP2
00000741: DUP6
00000742: DUP9
00000743: DUP1
00000744: EXTCODESIZE
00000745: ISZERO
00000746: DUP1
00000747: ISZERO
00000748: PUSH2 0x0750
0000074b: JUMPI
0000074c: PUSH1 0x00
0000074e: DUP1
0000074f: REVERT
00000750: JUMPDEST
00000751: POP
00000752: GAS
00000753: CALL
00000754: ISZERO
00000755: DUP1
00000756: ISZERO
00000757: PUSH2 0x0764
0000075a: JUMPI
0000075b: RETURNDATASIZE
0000075c: PUSH1 0x00
0000075e: DUP1
0000075f: RETURNDATACOPY
00000760: RETURNDATASIZE
00000761: PUSH1 0x00
00000763: REVERT
00000764: JUMPDEST
00000765: POP
00000766: POP
00000767: POP
00000768: POP
00000769: POP
0000076a: PUSH1 0x40
0000076c: MLOAD
0000076d: RETURNDATASIZE
0000076e: PUSH1 0x00
00000770: DUP3
00000771: RETURNDATACOPY
00000772: RETURNDATASIZE
00000773: PUSH1 0x1f
00000775: NOT
00000776: PUSH1 0x1f
00000778: DUP3
00000779: ADD
0000077a: AND
0000077b: DUP3
0000077c: ADD
0000077d: DUP1
0000077e: PUSH1 0x40
00000780: MSTORE
00000781: POP
00000782: PUSH1 0x20
00000784: DUP2
00000785: LT
00000786: ISZERO
00000787: PUSH2 0x078f
0000078a: JUMPI
0000078b: PUSH1 0x00
0000078d: DUP1
0000078e: REVERT
0000078f: JUMPDEST
00000790: DUP2
00000791: ADD
00000792: SWAP1
00000793: DUP1
00000794: DUP1
00000795: MLOAD
00000796: PUSH1 0x40
00000798: MLOAD
00000799: SWAP4
0000079a: SWAP3
0000079b: SWAP2
0000079c: SWAP1
0000079d: DUP5
0000079e: PUSH5 0x0100000000
000007a4: DUP3
000007a5: GT
000007a6: ISZERO
000007a7: PUSH2 0x07af
000007aa: JUMPI
000007ab: PUSH1 0x00
000007ad: DUP1
000007ae: REVERT
000007af: JUMPDEST
000007b0: DUP4
000007b1: DUP3
000007b2: ADD
000007b3: SWAP2
000007b4: POP
000007b5: PUSH1 0x20
000007b7: DUP3
000007b8: ADD
000007b9: DUP6
000007ba: DUP2
000007bb: GT
000007bc: ISZERO
000007bd: PUSH2 0x07c5
000007c0: JUMPI
000007c1: PUSH1 0x00
000007c3: DUP1
000007c4: REVERT
000007c5: JUMPDEST
000007c6: DUP3
000007c7: MLOAD
000007c8: DUP7
000007c9: PUSH1 0x20
000007cb: DUP3
000007cc: MUL
000007cd: DUP4
000007ce: ADD
000007cf: GT
000007d0: PUSH5 0x0100000000
000007d6: DUP3
000007d7: GT
000007d8: OR
000007d9: ISZERO
000007da: PUSH2 0x07e2
000007dd: JUMPI
000007de: PUSH1 0x00
000007e0: DUP1
000007e1: REVERT
000007e2: JUMPDEST
000007e3: DUP1
000007e4: DUP4
000007e5: MSTORE
000007e6: PUSH1 0x20
000007e8: DUP4
000007e9: ADD
000007ea: SWAP3
000007eb: POP
000007ec: POP
000007ed: POP
000007ee: SWAP1
000007ef: DUP1
000007f0: MLOAD
000007f1: SWAP1
000007f2: PUSH1 0x20
000007f4: ADD
000007f5: SWAP1
000007f6: PUSH1 0x20
000007f8: MUL
000007f9: DUP1
000007fa: DUP4
000007fb: DUP4
000007fc: PUSH1 0x00
000007fe: JUMPDEST
000007ff: DUP4
00000800: DUP2
00000801: LT
00000802: ISZERO
00000803: PUSH2 0x0819
00000806: JUMPI
00000807: DUP1
00000808: DUP3
00000809: ADD
0000080a: MLOAD
0000080b: DUP2
0000080c: DUP5
0000080d: ADD
0000080e: MSTORE
0000080f: PUSH1 0x20
00000811: DUP2
00000812: ADD
00000813: SWAP1
00000814: POP
00000815: PUSH2 0x07fe
00000818: JUMP
00000819: JUMPDEST
0000081a: POP
0000081b: POP
0000081c: POP
0000081d: POP
0000081e: SWAP1
0000081f: POP
00000820: ADD
00000821: PUSH1 0x40
00000823: MSTORE
00000824: POP
00000825: POP
00000826: POP
00000827: SWAP1
00000828: POP
00000829: SWAP5
0000082a: SWAP4
0000082b: POP
0000082c: POP
0000082d: POP
0000082e: POP
0000082f: JUMP
00000830: INVALID
00000831: UNKNOWN(0x4F)
00000832: PUSH15 0x6c7920746865206f776e6572206361
00000842: PUSH15 0x2063616c6c20746869732066756e63
00000852: PUSH21 0x696f6e6e6f7420656e6f7567682065746820696e20
00000868: PUSH4 0x6f6e7472
0000086d: PUSH2 0x6374
00000870: KECCAK256
00000871: PUSH7 0x6f722073776170
00000879: UNKNOWN(0x4F)
0000087a: PUSH15 0x6c7920612072656769737465726564
0000088a: KECCAK256
0000088b: PUSH21 0x72616465722063616e2063616c6c20746869732066
000008a1: PUSH22 0x6e6374696f6ea265627a7a7231582083a77a253368dd
000008b8: MOD
000008b9: UNKNOWN(0xC8)
000008ba: DUP1
000008bb: UNKNOWN(0xDA)
000008bc: SWAP14
000008bd: UNKNOWN(0x0C)
000008be: DELEGATECALL
000008bf: LOG1
000008c0: UNKNOWN(0xDC)
000008c1: PUSH7 0x2f85b90aa0c364
000008c9: MUL
000008ca: REVERT
000008cb: SWAP2
000008cc: RETURN
000008cd: PUSH2 0x51a5
000008d0: NOT
000008d1: PUSH5 0x736f6c6343
000008d7: STOP
000008d8: SDIV
000008d9: LT
000008da: STOP
000008db: ORIGIN

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x49df728c",
            "selector": "0x49df728c",
            "calldata_variants": [
                "0x49df728c",
                "0x49df728c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0241dac",
            "selector": "0xd0241dac",
            "calldata_variants": [
                "0xd0241dac",
                "0xd0241dac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 491,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2267,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x83c5d870c2954db728723cc6f1e3eee83e071f263b935339ff6e17ddd2d6eb05
call_targets: 0xeb958235a1cf431a6351eea1e17bb232e0e755ba
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x83c5d870c2954db728723cc6f1e3eee83e071f263b935339ff6e17ddd2d6eb05",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xeb958235a1cf431a6351eea1e17bb232e0e755ba"
    ],
    "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": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x49df728c",
            "selector": "0x49df728c",
            "calldata_variants": [
                "0x49df728c",
                "0x49df728c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0241dac",
            "selector": "0xd0241dac",
            "calldata_variants": [
                "0xd0241dac",
                "0xd0241dac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 765,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1320,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1875,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 491,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2267,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x83c5d870c2954db728723cc6f1e3eee83e071f263b935339ff6e17ddd2d6eb05
call_targets: 0xeb958235a1cf431a6351eea1e17bb232e0e755ba
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x83c5d870c2954db728723cc6f1e3eee83e071f263b935339ff6e17ddd2d6eb05",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xeb958235a1cf431a6351eea1e17bb232e0e755ba"
    ],
    "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": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x49df728c",
            "selector": "0x49df728c",
            "calldata_variants": [
                "0x49df728c",
                "0x49df728c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0241dac",
            "selector": "0xd0241dac",
            "calldata_variants": [
                "0xd0241dac",
                "0xd0241dac0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 765,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1320,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1875,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 491,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2267,
            "type": "tx_origin_used"
        }
    ]
}