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

Analysis Run

019b477e-de4f-72b3-9755-98d7b4fca9a5

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
Verified
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
30113 artifact.fetch complete 1 / 3 3 months ago
30114 tool.cast_disasm complete 1 / 3 3 months ago
108705 analysis.bundle complete 1 / 3 1 week ago
108706 capability.graph complete 1 / 3 1 week ago
108707 detector.run complete 1 / 3 1 week ago
108708 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
1
Total opcodes
1315
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x004a
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x3853682c
00000019: EQ
0000001a: PUSH2 0x0058
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x3fad9ae0
00000024: EQ
00000025: PUSH2 0x006b
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xbedf0f4a
0000002f: EQ
00000030: PUSH2 0x0096
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc76de3e9
0000003a: EQ
0000003b: PUSH2 0x009e
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xed8df164
00000045: EQ
00000046: PUSH2 0x00b1
00000049: JUMPI
0000004a: JUMPDEST
0000004b: CALLVALUE
0000004c: DUP1
0000004d: ISZERO
0000004e: PUSH2 0x0056
00000051: JUMPI
00000052: PUSH1 0x00
00000054: DUP1
00000055: REVERT
00000056: JUMPDEST
00000057: STOP
00000058: JUMPDEST
00000059: PUSH2 0x0056
0000005c: PUSH2 0x0066
0000005f: CALLDATASIZE
00000060: PUSH1 0x04
00000062: PUSH2 0x0371
00000065: JUMP
00000066: JUMPDEST
00000067: PUSH2 0x00c4
0000006a: JUMP
0000006b: JUMPDEST
0000006c: CALLVALUE
0000006d: DUP1
0000006e: ISZERO
0000006f: PUSH2 0x0077
00000072: JUMPI
00000073: PUSH1 0x00
00000075: DUP1
00000076: REVERT
00000077: JUMPDEST
00000078: POP
00000079: PUSH2 0x0080
0000007c: PUSH2 0x0144
0000007f: JUMP
00000080: JUMPDEST
00000081: PUSH1 0x40
00000083: MLOAD
00000084: PUSH2 0x008d
00000087: SWAP2
00000088: SWAP1
00000089: PUSH2 0x0422
0000008c: JUMP
0000008d: JUMPDEST
0000008e: PUSH1 0x40
00000090: MLOAD
00000091: DUP1
00000092: SWAP2
00000093: SUB
00000094: SWAP1
00000095: RETURN
00000096: JUMPDEST
00000097: PUSH2 0x0056
0000009a: PUSH2 0x01d2
0000009d: JUMP
0000009e: JUMPDEST
0000009f: PUSH2 0x0056
000000a2: PUSH2 0x00ac
000000a5: CALLDATASIZE
000000a6: PUSH1 0x04
000000a8: PUSH2 0x04b9
000000ab: JUMP
000000ac: JUMPDEST
000000ad: PUSH2 0x0257
000000b0: JUMP
000000b1: JUMPDEST
000000b2: PUSH2 0x0056
000000b5: PUSH2 0x00bf
000000b8: CALLDATASIZE
000000b9: PUSH1 0x04
000000bb: PUSH2 0x0525
000000be: JUMP
000000bf: JUMPDEST
000000c0: PUSH2 0x02f5
000000c3: JUMP
000000c4: JUMPDEST
000000c5: CALLER
000000c6: ORIGIN
000000c7: EQ
000000c8: PUSH2 0x00d0
000000cb: JUMPI
000000cc: PUSH1 0x00
000000ce: DUP1
000000cf: REVERT
000000d0: JUMPDEST
000000d1: DUP1
000000d2: PUSH1 0x40
000000d4: MLOAD
000000d5: PUSH1 0x20
000000d7: ADD
000000d8: PUSH2 0x00e1
000000db: SWAP2
000000dc: SWAP1
000000dd: PUSH2 0x0422
000000e0: JUMP
000000e1: JUMPDEST
000000e2: PUSH1 0x40
000000e4: MLOAD
000000e5: PUSH1 0x20
000000e7: DUP2
000000e8: DUP4
000000e9: SUB
000000ea: SUB
000000eb: DUP2
000000ec: MSTORE
000000ed: SWAP1
000000ee: PUSH1 0x40
000000f0: MSTORE
000000f1: DUP1
000000f2: MLOAD
000000f3: SWAP1
000000f4: PUSH1 0x20
000000f6: ADD
000000f7: KECCAK256
000000f8: PUSH1 0x01
000000fa: SLOAD
000000fb: EQ
000000fc: DUP1
000000fd: ISZERO
000000fe: PUSH2 0x010e
00000101: JUMPI
00000102: POP
00000103: PUSH8 0x0de0b6b3a7640000
0000010c: CALLVALUE
0000010d: GT
0000010e: JUMPDEST
0000010f: ISZERO
00000110: PUSH2 0x0141
00000113: JUMPI
00000114: PUSH1 0x40
00000116: MLOAD
00000117: CALLER
00000118: SWAP1
00000119: SELFBALANCE
0000011a: DUP1
0000011b: ISZERO
0000011c: PUSH2 0x08fc
0000011f: MUL
00000120: SWAP2
00000121: PUSH1 0x00
00000123: DUP2
00000124: DUP2
00000125: DUP2
00000126: DUP6
00000127: DUP9
00000128: DUP9
00000129: CALL
0000012a: SWAP4
0000012b: POP
0000012c: POP
0000012d: POP
0000012e: POP
0000012f: ISZERO
00000130: DUP1
00000131: ISZERO
00000132: PUSH2 0x013f
00000135: JUMPI
00000136: RETURNDATASIZE
00000137: PUSH1 0x00
00000139: DUP1
0000013a: RETURNDATACOPY
0000013b: RETURNDATASIZE
0000013c: PUSH1 0x00
0000013e: REVERT
0000013f: JUMPDEST
00000140: POP
00000141: JUMPDEST
00000142: POP
00000143: JUMP
00000144: JUMPDEST
00000145: PUSH1 0x00
00000147: DUP1
00000148: SLOAD
00000149: PUSH2 0x0151
0000014c: SWAP1
0000014d: PUSH2 0x0571
00000150: JUMP
00000151: JUMPDEST
00000152: DUP1
00000153: PUSH1 0x1f
00000155: ADD
00000156: PUSH1 0x20
00000158: DUP1
00000159: SWAP2
0000015a: DIV
0000015b: MUL
0000015c: PUSH1 0x20
0000015e: ADD
0000015f: PUSH1 0x40
00000161: MLOAD
00000162: SWAP1
00000163: DUP2
00000164: ADD
00000165: PUSH1 0x40
00000167: MSTORE
00000168: DUP1
00000169: SWAP3
0000016a: SWAP2
0000016b: SWAP1
0000016c: DUP2
0000016d: DUP2
0000016e: MSTORE
0000016f: PUSH1 0x20
00000171: ADD
00000172: DUP3
00000173: DUP1
00000174: SLOAD
00000175: PUSH2 0x017d
00000178: SWAP1
00000179: PUSH2 0x0571
0000017c: JUMP
0000017d: JUMPDEST
0000017e: DUP1
0000017f: ISZERO
00000180: PUSH2 0x01ca
00000183: JUMPI
00000184: DUP1
00000185: PUSH1 0x1f
00000187: LT
00000188: PUSH2 0x019f
0000018b: JUMPI
0000018c: PUSH2 0x0100
0000018f: DUP1
00000190: DUP4
00000191: SLOAD
00000192: DIV
00000193: MUL
00000194: DUP4
00000195: MSTORE
00000196: SWAP2
00000197: PUSH1 0x20
00000199: ADD
0000019a: SWAP2
0000019b: PUSH2 0x01ca
0000019e: JUMP
0000019f: JUMPDEST
000001a0: DUP3
000001a1: ADD
000001a2: SWAP2
000001a3: SWAP1
000001a4: PUSH1 0x00
000001a6: MSTORE
000001a7: PUSH1 0x20
000001a9: PUSH1 0x00
000001ab: KECCAK256
000001ac: SWAP1
000001ad: JUMPDEST
000001ae: DUP2
000001af: SLOAD
000001b0: DUP2
000001b1: MSTORE
000001b2: SWAP1
000001b3: PUSH1 0x01
000001b5: ADD
000001b6: SWAP1
000001b7: PUSH1 0x20
000001b9: ADD
000001ba: DUP1
000001bb: DUP4
000001bc: GT
000001bd: PUSH2 0x01ad
000001c0: JUMPI
000001c1: DUP3
000001c2: SWAP1
000001c3: SUB
000001c4: PUSH1 0x1f
000001c6: AND
000001c7: DUP3
000001c8: ADD
000001c9: SWAP2
000001ca: JUMPDEST
000001cb: POP
000001cc: POP
000001cd: POP
000001ce: POP
000001cf: POP
000001d0: DUP2
000001d1: JUMP
000001d2: JUMPDEST
000001d3: PUSH1 0x40
000001d5: MLOAD
000001d6: PUSH1 0x01
000001d8: PUSH1 0x01
000001da: PUSH1 0x60
000001dc: SHL
000001dd: SUB
000001de: NOT
000001df: CALLER
000001e0: PUSH1 0x60
000001e2: SHL
000001e3: AND
000001e4: PUSH1 0x20
000001e6: DUP3
000001e7: ADD
000001e8: MSTORE
000001e9: PUSH1 0x02
000001eb: SWAP1
000001ec: PUSH1 0x00
000001ee: SWAP1
000001ef: PUSH1 0x34
000001f1: ADD
000001f2: PUSH1 0x40
000001f4: DUP1
000001f5: MLOAD
000001f6: PUSH1 0x1f
000001f8: NOT
000001f9: DUP2
000001fa: DUP5
000001fb: SUB
000001fc: ADD
000001fd: DUP2
000001fe: MSTORE
000001ff: SWAP2
00000200: DUP2
00000201: MSTORE
00000202: DUP2
00000203: MLOAD
00000204: PUSH1 0x20
00000206: SWAP3
00000207: DUP4
00000208: ADD
00000209: KECCAK256
0000020a: DUP4
0000020b: MSTORE
0000020c: SWAP1
0000020d: DUP3
0000020e: ADD
0000020f: SWAP3
00000210: SWAP1
00000211: SWAP3
00000212: MSTORE
00000213: ADD
00000214: PUSH1 0x00
00000216: KECCAK256
00000217: SLOAD
00000218: PUSH1 0xff
0000021a: AND
0000021b: PUSH2 0x0223
0000021e: JUMPI
0000021f: PUSH1 0x00
00000221: DUP1
00000222: REVERT
00000223: JUMPDEST
00000224: PUSH1 0x40
00000226: MLOAD
00000227: CALLER
00000228: SWAP1
00000229: SELFBALANCE
0000022a: DUP1
0000022b: ISZERO
0000022c: PUSH2 0x08fc
0000022f: MUL
00000230: SWAP2
00000231: PUSH1 0x00
00000233: DUP2
00000234: DUP2
00000235: DUP2
00000236: DUP6
00000237: DUP9
00000238: DUP9
00000239: CALL
0000023a: SWAP4
0000023b: POP
0000023c: POP
0000023d: POP
0000023e: POP
0000023f: ISZERO
00000240: DUP1
00000241: ISZERO
00000242: PUSH2 0x024f
00000245: JUMPI
00000246: RETURNDATASIZE
00000247: PUSH1 0x00
00000249: DUP1
0000024a: RETURNDATACOPY
0000024b: RETURNDATASIZE
0000024c: PUSH1 0x00
0000024e: REVERT
0000024f: JUMPDEST
00000250: POP
00000251: PUSH1 0x00
00000253: PUSH1 0x01
00000255: SSTORE
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH1 0x40
0000025a: MLOAD
0000025b: PUSH1 0x01
0000025d: PUSH1 0x01
0000025f: PUSH1 0x60
00000261: SHL
00000262: SUB
00000263: NOT
00000264: CALLER
00000265: PUSH1 0x60
00000267: SHL
00000268: AND
00000269: PUSH1 0x20
0000026b: DUP3
0000026c: ADD
0000026d: MSTORE
0000026e: PUSH1 0x02
00000270: SWAP1
00000271: PUSH1 0x00
00000273: SWAP1
00000274: PUSH1 0x34
00000276: ADD
00000277: PUSH1 0x40
00000279: DUP1
0000027a: MLOAD
0000027b: PUSH1 0x1f
0000027d: NOT
0000027e: DUP2
0000027f: DUP5
00000280: SUB
00000281: ADD
00000282: DUP2
00000283: MSTORE
00000284: SWAP2
00000285: DUP2
00000286: MSTORE
00000287: DUP2
00000288: MLOAD
00000289: PUSH1 0x20
0000028b: SWAP3
0000028c: DUP4
0000028d: ADD
0000028e: KECCAK256
0000028f: DUP4
00000290: MSTORE
00000291: SWAP1
00000292: DUP3
00000293: ADD
00000294: SWAP3
00000295: SWAP1
00000296: SWAP3
00000297: MSTORE
00000298: ADD
00000299: PUSH1 0x00
0000029b: KECCAK256
0000029c: SLOAD
0000029d: PUSH1 0xff
0000029f: AND
000002a0: PUSH2 0x02a8
000002a3: JUMPI
000002a4: PUSH1 0x00
000002a6: DUP1
000002a7: REVERT
000002a8: JUMPDEST
000002a9: PUSH1 0x01
000002ab: SLOAD
000002ac: PUSH1 0x00
000002ae: SUB
000002af: PUSH2 0x02ef
000002b2: JUMPI
000002b3: DUP2
000002b4: DUP2
000002b5: PUSH1 0x40
000002b7: MLOAD
000002b8: PUSH1 0x20
000002ba: ADD
000002bb: PUSH2 0x02c5
000002be: SWAP3
000002bf: SWAP2
000002c0: SWAP1
000002c1: PUSH2 0x05ab
000002c4: JUMP
000002c5: JUMPDEST
000002c6: PUSH1 0x40
000002c8: DUP1
000002c9: MLOAD
000002ca: PUSH1 0x1f
000002cc: NOT
000002cd: DUP2
000002ce: DUP5
000002cf: SUB
000002d0: ADD
000002d1: DUP2
000002d2: MSTORE
000002d3: SWAP2
000002d4: SWAP1
000002d5: MSTORE
000002d6: DUP1
000002d7: MLOAD
000002d8: PUSH1 0x20
000002da: SWAP1
000002db: SWAP2
000002dc: ADD
000002dd: KECCAK256
000002de: PUSH1 0x01
000002e0: SSTORE
000002e1: PUSH1 0x00
000002e3: PUSH2 0x02ed
000002e6: DUP5
000002e7: DUP7
000002e8: DUP4
000002e9: PUSH2 0x0629
000002ec: JUMP
000002ed: JUMPDEST
000002ee: POP
000002ef: JUMPDEST
000002f0: POP
000002f1: POP
000002f2: POP
000002f3: POP
000002f4: JUMP
000002f5: JUMPDEST
000002f6: PUSH1 0x40
000002f8: MLOAD
000002f9: PUSH1 0x01
000002fb: PUSH1 0x01
000002fd: PUSH1 0x60
000002ff: SHL
00000300: SUB
00000301: NOT
00000302: CALLER
00000303: PUSH1 0x60
00000305: SHL
00000306: AND
00000307: PUSH1 0x20
00000309: DUP3
0000030a: ADD
0000030b: MSTORE
0000030c: PUSH1 0x02
0000030e: SWAP1
0000030f: PUSH1 0x00
00000311: SWAP1
00000312: PUSH1 0x34
00000314: ADD
00000315: PUSH1 0x40
00000317: DUP1
00000318: MLOAD
00000319: PUSH1 0x1f
0000031b: NOT
0000031c: DUP2
0000031d: DUP5
0000031e: SUB
0000031f: ADD
00000320: DUP2
00000321: MSTORE
00000322: SWAP2
00000323: DUP2
00000324: MSTORE
00000325: DUP2
00000326: MLOAD
00000327: PUSH1 0x20
00000329: SWAP3
0000032a: DUP4
0000032b: ADD
0000032c: KECCAK256
0000032d: DUP4
0000032e: MSTORE
0000032f: SWAP1
00000330: DUP3
00000331: ADD
00000332: SWAP3
00000333: SWAP1
00000334: SWAP3
00000335: MSTORE
00000336: ADD
00000337: PUSH1 0x00
00000339: KECCAK256
0000033a: SLOAD
0000033b: PUSH1 0xff
0000033d: AND
0000033e: PUSH2 0x0346
00000341: JUMPI
00000342: PUSH1 0x00
00000344: DUP1
00000345: REVERT
00000346: JUMPDEST
00000347: PUSH1 0x00
00000349: PUSH2 0x0353
0000034c: DUP4
0000034d: DUP6
0000034e: DUP4
0000034f: PUSH2 0x0629
00000352: JUMP
00000353: JUMPDEST
00000354: POP
00000355: PUSH1 0x01
00000357: SSTORE
00000358: POP
00000359: POP
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH4 0x4e487b71
00000361: PUSH1 0xe0
00000363: SHL
00000364: PUSH1 0x00
00000366: MSTORE
00000367: PUSH1 0x41
00000369: PUSH1 0x04
0000036b: MSTORE
0000036c: PUSH1 0x24
0000036e: PUSH1 0x00
00000370: REVERT
00000371: JUMPDEST
00000372: PUSH1 0x00
00000374: PUSH1 0x20
00000376: DUP3
00000377: DUP5
00000378: SUB
00000379: SLT
0000037a: ISZERO
0000037b: PUSH2 0x0383
0000037e: JUMPI
0000037f: PUSH1 0x00
00000381: DUP1
00000382: REVERT
00000383: JUMPDEST
00000384: DUP2
00000385: CALLDATALOAD
00000386: PUSH8 0xffffffffffffffff
0000038f: DUP1
00000390: DUP3
00000391: GT
00000392: ISZERO
00000393: PUSH2 0x039b
00000396: JUMPI
00000397: PUSH1 0x00
00000399: DUP1
0000039a: REVERT
0000039b: JUMPDEST
0000039c: DUP2
0000039d: DUP5
0000039e: ADD
0000039f: SWAP2
000003a0: POP
000003a1: DUP5
000003a2: PUSH1 0x1f
000003a4: DUP4
000003a5: ADD
000003a6: SLT
000003a7: PUSH2 0x03af
000003aa: JUMPI
000003ab: PUSH1 0x00
000003ad: DUP1
000003ae: REVERT
000003af: JUMPDEST
000003b0: DUP2
000003b1: CALLDATALOAD
000003b2: DUP2
000003b3: DUP2
000003b4: GT
000003b5: ISZERO
000003b6: PUSH2 0x03c1
000003b9: JUMPI
000003ba: PUSH2 0x03c1
000003bd: PUSH2 0x035b
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH1 0x40
000003c4: MLOAD
000003c5: PUSH1 0x1f
000003c7: DUP3
000003c8: ADD
000003c9: PUSH1 0x1f
000003cb: NOT
000003cc: SWAP1
000003cd: DUP2
000003ce: AND
000003cf: PUSH1 0x3f
000003d1: ADD
000003d2: AND
000003d3: DUP2
000003d4: ADD
000003d5: SWAP1
000003d6: DUP4
000003d7: DUP3
000003d8: GT
000003d9: DUP2
000003da: DUP4
000003db: LT
000003dc: OR
000003dd: ISZERO
000003de: PUSH2 0x03e9
000003e1: JUMPI
000003e2: PUSH2 0x03e9
000003e5: PUSH2 0x035b
000003e8: JUMP
000003e9: JUMPDEST
000003ea: DUP2
000003eb: PUSH1 0x40
000003ed: MSTORE
000003ee: DUP3
000003ef: DUP2
000003f0: MSTORE
000003f1: DUP8
000003f2: PUSH1 0x20
000003f4: DUP5
000003f5: DUP8
000003f6: ADD
000003f7: ADD
000003f8: GT
000003f9: ISZERO
000003fa: PUSH2 0x0402
000003fd: JUMPI
000003fe: PUSH1 0x00
00000400: DUP1
00000401: REVERT
00000402: JUMPDEST
00000403: DUP3
00000404: PUSH1 0x20
00000406: DUP7
00000407: ADD
00000408: PUSH1 0x20
0000040a: DUP4
0000040b: ADD
0000040c: CALLDATACOPY
0000040d: PUSH1 0x00
0000040f: SWAP3
00000410: DUP2
00000411: ADD
00000412: PUSH1 0x20
00000414: ADD
00000415: SWAP3
00000416: SWAP1
00000417: SWAP3
00000418: MSTORE
00000419: POP
0000041a: SWAP6
0000041b: SWAP5
0000041c: POP
0000041d: POP
0000041e: POP
0000041f: POP
00000420: POP
00000421: JUMP
00000422: JUMPDEST
00000423: PUSH1 0x00
00000425: PUSH1 0x20
00000427: DUP1
00000428: DUP4
00000429: MSTORE
0000042a: DUP4
0000042b: MLOAD
0000042c: DUP1
0000042d: DUP3
0000042e: DUP6
0000042f: ADD
00000430: MSTORE
00000431: PUSH1 0x00
00000433: JUMPDEST
00000434: DUP2
00000435: DUP2
00000436: LT
00000437: ISZERO
00000438: PUSH2 0x044f
0000043b: JUMPI
0000043c: DUP6
0000043d: DUP2
0000043e: ADD
0000043f: DUP4
00000440: ADD
00000441: MLOAD
00000442: DUP6
00000443: DUP3
00000444: ADD
00000445: PUSH1 0x40
00000447: ADD
00000448: MSTORE
00000449: DUP3
0000044a: ADD
0000044b: PUSH2 0x0433
0000044e: JUMP
0000044f: JUMPDEST
00000450: POP
00000451: PUSH1 0x00
00000453: PUSH1 0x40
00000455: DUP3
00000456: DUP7
00000457: ADD
00000458: ADD
00000459: MSTORE
0000045a: PUSH1 0x40
0000045c: PUSH1 0x1f
0000045e: NOT
0000045f: PUSH1 0x1f
00000461: DUP4
00000462: ADD
00000463: AND
00000464: DUP6
00000465: ADD
00000466: ADD
00000467: SWAP3
00000468: POP
00000469: POP
0000046a: POP
0000046b: SWAP3
0000046c: SWAP2
0000046d: POP
0000046e: POP
0000046f: JUMP
00000470: JUMPDEST
00000471: PUSH1 0x00
00000473: DUP1
00000474: DUP4
00000475: PUSH1 0x1f
00000477: DUP5
00000478: ADD
00000479: SLT
0000047a: PUSH2 0x0482
0000047d: JUMPI
0000047e: PUSH1 0x00
00000480: DUP1
00000481: REVERT
00000482: JUMPDEST
00000483: POP
00000484: DUP2
00000485: CALLDATALOAD
00000486: PUSH8 0xffffffffffffffff
0000048f: DUP2
00000490: GT
00000491: ISZERO
00000492: PUSH2 0x049a
00000495: JUMPI
00000496: PUSH1 0x00
00000498: DUP1
00000499: REVERT
0000049a: JUMPDEST
0000049b: PUSH1 0x20
0000049d: DUP4
0000049e: ADD
0000049f: SWAP2
000004a0: POP
000004a1: DUP4
000004a2: PUSH1 0x20
000004a4: DUP3
000004a5: DUP6
000004a6: ADD
000004a7: ADD
000004a8: GT
000004a9: ISZERO
000004aa: PUSH2 0x04b2
000004ad: JUMPI
000004ae: PUSH1 0x00
000004b0: DUP1
000004b1: REVERT
000004b2: JUMPDEST
000004b3: SWAP3
000004b4: POP
000004b5: SWAP3
000004b6: SWAP1
000004b7: POP
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH1 0x00
000004bc: DUP1
000004bd: PUSH1 0x00
000004bf: DUP1
000004c0: PUSH1 0x40
000004c2: DUP6
000004c3: DUP8
000004c4: SUB
000004c5: SLT
000004c6: ISZERO
000004c7: PUSH2 0x04cf
000004ca: JUMPI
000004cb: PUSH1 0x00
000004cd: DUP1
000004ce: REVERT
000004cf: JUMPDEST
000004d0: DUP5
000004d1: CALLDATALOAD
000004d2: PUSH8 0xffffffffffffffff
000004db: DUP1
000004dc: DUP3
000004dd: GT
000004de: ISZERO
000004df: PUSH2 0x04e7
000004e2: JUMPI
000004e3: PUSH1 0x00
000004e5: DUP1
000004e6: REVERT
000004e7: JUMPDEST
000004e8: PUSH2 0x04f3
000004eb: DUP9
000004ec: DUP4
000004ed: DUP10
000004ee: ADD
000004ef: PUSH2 0x0470
000004f2: JUMP
000004f3: JUMPDEST
000004f4: SWAP1
000004f5: SWAP7
000004f6: POP
000004f7: SWAP5
000004f8: POP
000004f9: PUSH1 0x20
000004fb: DUP8
000004fc: ADD
000004fd: CALLDATALOAD
000004fe: SWAP2
000004ff: POP
00000500: DUP1
00000501: DUP3
00000502: GT
00000503: ISZERO
00000504: PUSH2 0x050c
00000507: JUMPI
00000508: PUSH1 0x00
0000050a: DUP1
0000050b: REVERT
0000050c: JUMPDEST
0000050d: POP
0000050e: PUSH2 0x0519
00000511: DUP8
00000512: DUP3
00000513: DUP9
00000514: ADD
00000515: PUSH2 0x0470
00000518: JUMP
00000519: JUMPDEST
0000051a: SWAP6
0000051b: SWAP9
0000051c: SWAP5
0000051d: SWAP8
0000051e: POP
0000051f: SWAP6
00000520: POP
00000521: POP
00000522: POP
00000523: POP
00000524: JUMP
00000525: JUMPDEST
00000526: PUSH1 0x00
00000528: DUP1
00000529: PUSH1 0x00
0000052b: PUSH1 0x40
0000052d: DUP5
0000052e: DUP7
0000052f: SUB
00000530: SLT
00000531: ISZERO
00000532: PUSH2 0x053a
00000535: JUMPI
00000536: PUSH1 0x00
00000538: DUP1
00000539: REVERT
0000053a: JUMPDEST
0000053b: DUP4
0000053c: CALLDATALOAD
0000053d: PUSH8 0xffffffffffffffff
00000546: DUP2
00000547: GT
00000548: ISZERO
00000549: PUSH2 0x0551
0000054c: JUMPI
0000054d: PUSH1 0x00
0000054f: DUP1
00000550: REVERT
00000551: JUMPDEST
00000552: PUSH2 0x055d
00000555: DUP7
00000556: DUP3
00000557: DUP8
00000558: ADD
00000559: PUSH2 0x0470
0000055c: JUMP
0000055d: JUMPDEST
0000055e: SWAP1
0000055f: SWAP8
00000560: SWAP1
00000561: SWAP7
00000562: POP
00000563: PUSH1 0x20
00000565: SWAP6
00000566: SWAP1
00000567: SWAP6
00000568: ADD
00000569: CALLDATALOAD
0000056a: SWAP5
0000056b: SWAP4
0000056c: POP
0000056d: POP
0000056e: POP
0000056f: POP
00000570: JUMP
00000571: JUMPDEST
00000572: PUSH1 0x01
00000574: DUP2
00000575: DUP2
00000576: SHR
00000577: SWAP1
00000578: DUP3
00000579: AND
0000057a: DUP1
0000057b: PUSH2 0x0585
0000057e: JUMPI
0000057f: PUSH1 0x7f
00000581: DUP3
00000582: AND
00000583: SWAP2
00000584: POP
00000585: JUMPDEST
00000586: PUSH1 0x20
00000588: DUP3
00000589: LT
0000058a: DUP2
0000058b: SUB
0000058c: PUSH2 0x05a5
0000058f: JUMPI
00000590: PUSH4 0x4e487b71
00000595: PUSH1 0xe0
00000597: SHL
00000598: PUSH1 0x00
0000059a: MSTORE
0000059b: PUSH1 0x22
0000059d: PUSH1 0x04
0000059f: MSTORE
000005a0: PUSH1 0x24
000005a2: PUSH1 0x00
000005a4: REVERT
000005a5: JUMPDEST
000005a6: POP
000005a7: SWAP2
000005a8: SWAP1
000005a9: POP
000005aa: JUMP
000005ab: JUMPDEST
000005ac: PUSH1 0x20
000005ae: DUP2
000005af: MSTORE
000005b0: DUP2
000005b1: PUSH1 0x20
000005b3: DUP3
000005b4: ADD
000005b5: MSTORE
000005b6: DUP2
000005b7: DUP4
000005b8: PUSH1 0x40
000005ba: DUP4
000005bb: ADD
000005bc: CALLDATACOPY
000005bd: PUSH1 0x00
000005bf: DUP2
000005c0: DUP4
000005c1: ADD
000005c2: PUSH1 0x40
000005c4: SWAP1
000005c5: DUP2
000005c6: ADD
000005c7: SWAP2
000005c8: SWAP1
000005c9: SWAP2
000005ca: MSTORE
000005cb: PUSH1 0x1f
000005cd: SWAP1
000005ce: SWAP3
000005cf: ADD
000005d0: PUSH1 0x1f
000005d2: NOT
000005d3: AND
000005d4: ADD
000005d5: ADD
000005d6: SWAP2
000005d7: SWAP1
000005d8: POP
000005d9: JUMP
000005da: JUMPDEST
000005db: PUSH1 0x1f
000005dd: DUP3
000005de: GT
000005df: ISZERO
000005e0: PUSH2 0x0624
000005e3: JUMPI
000005e4: PUSH1 0x00
000005e6: DUP2
000005e7: DUP2
000005e8: MSTORE
000005e9: PUSH1 0x20
000005eb: DUP2
000005ec: KECCAK256
000005ed: PUSH1 0x1f
000005ef: DUP6
000005f0: ADD
000005f1: PUSH1 0x05
000005f3: SHR
000005f4: DUP2
000005f5: ADD
000005f6: PUSH1 0x20
000005f8: DUP7
000005f9: LT
000005fa: ISZERO
000005fb: PUSH2 0x0601
000005fe: JUMPI
000005ff: POP
00000600: DUP1
00000601: JUMPDEST
00000602: PUSH1 0x1f
00000604: DUP6
00000605: ADD
00000606: PUSH1 0x05
00000608: SHR
00000609: DUP3
0000060a: ADD
0000060b: SWAP2
0000060c: POP
0000060d: JUMPDEST
0000060e: DUP2
0000060f: DUP2
00000610: LT
00000611: ISZERO
00000612: PUSH2 0x0620
00000615: JUMPI
00000616: DUP3
00000617: DUP2
00000618: SSTORE
00000619: PUSH1 0x01
0000061b: ADD
0000061c: PUSH2 0x060d
0000061f: JUMP
00000620: JUMPDEST
00000621: POP
00000622: POP
00000623: POP
00000624: JUMPDEST
00000625: POP
00000626: POP
00000627: POP
00000628: JUMP
00000629: JUMPDEST
0000062a: PUSH8 0xffffffffffffffff
00000633: DUP4
00000634: GT
00000635: ISZERO
00000636: PUSH2 0x0641
00000639: JUMPI
0000063a: PUSH2 0x0641
0000063d: PUSH2 0x035b
00000640: JUMP
00000641: JUMPDEST
00000642: PUSH2 0x0655
00000645: DUP4
00000646: PUSH2 0x064f
00000649: DUP4
0000064a: SLOAD
0000064b: PUSH2 0x0571
0000064e: JUMP
0000064f: JUMPDEST
00000650: DUP4
00000651: PUSH2 0x05da
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH1 0x00
00000658: PUSH1 0x1f
0000065a: DUP5
0000065b: GT
0000065c: PUSH1 0x01
0000065e: DUP2
0000065f: EQ
00000660: PUSH2 0x0689
00000663: JUMPI
00000664: PUSH1 0x00
00000666: DUP6
00000667: ISZERO
00000668: PUSH2 0x0671
0000066b: JUMPI
0000066c: POP
0000066d: DUP4
0000066e: DUP3
0000066f: ADD
00000670: CALLDATALOAD
00000671: JUMPDEST
00000672: PUSH1 0x00
00000674: NOT
00000675: PUSH1 0x03
00000677: DUP8
00000678: SWAP1
00000679: SHL
0000067a: SHR
0000067b: NOT
0000067c: AND
0000067d: PUSH1 0x01
0000067f: DUP7
00000680: SWAP1
00000681: SHL
00000682: OR
00000683: DUP4
00000684: SSTORE
00000685: PUSH2 0x02ed
00000688: JUMP
00000689: JUMPDEST
0000068a: PUSH1 0x00
0000068c: DUP4
0000068d: DUP2
0000068e: MSTORE
0000068f: PUSH1 0x20
00000691: SWAP1
00000692: KECCAK256
00000693: PUSH1 0x1f
00000695: NOT
00000696: DUP7
00000697: AND
00000698: SWAP1
00000699: DUP4
0000069a: JUMPDEST
0000069b: DUP3
0000069c: DUP2
0000069d: LT
0000069e: ISZERO
0000069f: PUSH2 0x06ba
000006a2: JUMPI
000006a3: DUP7
000006a4: DUP6
000006a5: ADD
000006a6: CALLDATALOAD
000006a7: DUP3
000006a8: SSTORE
000006a9: PUSH1 0x20
000006ab: SWAP5
000006ac: DUP6
000006ad: ADD
000006ae: SWAP5
000006af: PUSH1 0x01
000006b1: SWAP1
000006b2: SWAP3
000006b3: ADD
000006b4: SWAP2
000006b5: ADD
000006b6: PUSH2 0x069a
000006b9: JUMP
000006ba: JUMPDEST
000006bb: POP
000006bc: DUP7
000006bd: DUP3
000006be: LT
000006bf: ISZERO
000006c0: PUSH2 0x06d7
000006c3: JUMPI
000006c4: PUSH1 0x00
000006c6: NOT
000006c7: PUSH1 0xf8
000006c9: DUP9
000006ca: PUSH1 0x03
000006cc: SHL
000006cd: AND
000006ce: SHR
000006cf: NOT
000006d0: DUP5
000006d1: DUP8
000006d2: ADD
000006d3: CALLDATALOAD
000006d4: AND
000006d5: DUP2
000006d6: SSTORE
000006d7: JUMPDEST
000006d8: POP
000006d9: POP
000006da: PUSH1 0x01
000006dc: DUP6
000006dd: PUSH1 0x01
000006df: SHL
000006e0: ADD
000006e1: DUP4
000006e2: SSTORE
000006e3: POP
000006e4: POP
000006e5: POP
000006e6: POP
000006e7: POP
000006e8: JUMP
000006e9: INVALID
000006ea: LOG2
000006eb: PUSH5 0x6970667358
000006f1: UNKNOWN(0x22)
000006f2: SLT
000006f3: KECCAK256
000006f4: GASLIMIT
000006f5: UNKNOWN(0xBD)
000006f6: LOG2
000006f7: PUSH3 0xc3303c
000006fb: EXTCODECOPY
000006fc: PUSH20 0xa6678ebff2ef5cbf55de317f838a50b168039bb1
00000711: SWAP7
00000712: UNKNOWN(0xAB)
00000713: PUSH18

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": "0x3853682c",
            "selector": "0x3853682c",
            "calldata_variants": [
                "0x3853682c",
                "0x3853682c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3fad9ae0",
            "selector": "0x3fad9ae0",
            "calldata_variants": [
                "0x3fad9ae0",
                "0x3fad9ae00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbedf0f4a",
            "selector": "0xbedf0f4a",
            "calldata_variants": [
                "0xbedf0f4a",
                "0xbedf0f4a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc76de3e9",
            "selector": "0xc76de3e9",
            "calldata_variants": [
                "0xc76de3e9",
                "0xc76de3e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed8df164",
            "selector": "0xed8df164",
            "calldata_variants": [
                "0xed8df164",
                "0xed8df1640000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 199,
            "type": "tx_origin_used"
        },
        {
            "pc": 198,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x2abd97026ef78a8ef96f123508f0da67516020ab45b7d3368e3883854d51b651
call_targets: 0x2fd9eb20724a6b9e2ee83ce50b45e56623b1db4c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2abd97026ef78a8ef96f123508f0da67516020ab45b7d3368e3883854d51b651",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2fd9eb20724a6b9e2ee83ce50b45e56623b1db4c"
    ],
    "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": "0x3853682c",
            "selector": "0x3853682c",
            "calldata_variants": [
                "0x3853682c",
                "0x3853682c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3fad9ae0",
            "selector": "0x3fad9ae0",
            "calldata_variants": [
                "0x3fad9ae0",
                "0x3fad9ae00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbedf0f4a",
            "selector": "0xbedf0f4a",
            "calldata_variants": [
                "0xbedf0f4a",
                "0xbedf0f4a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc76de3e9",
            "selector": "0xc76de3e9",
            "calldata_variants": [
                "0xc76de3e9",
                "0xc76de3e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed8df164",
            "selector": "0xed8df164",
            "calldata_variants": [
                "0xed8df164",
                "0xed8df1640000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 297,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 569,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 199,
            "type": "tx_origin_used"
        },
        {
            "pc": 198,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x2abd97026ef78a8ef96f123508f0da67516020ab45b7d3368e3883854d51b651
call_targets: 0x2fd9eb20724a6b9e2ee83ce50b45e56623b1db4c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2abd97026ef78a8ef96f123508f0da67516020ab45b7d3368e3883854d51b651",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2fd9eb20724a6b9e2ee83ce50b45e56623b1db4c"
    ],
    "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": "0x3853682c",
            "selector": "0x3853682c",
            "calldata_variants": [
                "0x3853682c",
                "0x3853682c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3fad9ae0",
            "selector": "0x3fad9ae0",
            "calldata_variants": [
                "0x3fad9ae0",
                "0x3fad9ae00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbedf0f4a",
            "selector": "0xbedf0f4a",
            "calldata_variants": [
                "0xbedf0f4a",
                "0xbedf0f4a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc76de3e9",
            "selector": "0xc76de3e9",
            "calldata_variants": [
                "0xc76de3e9",
                "0xc76de3e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed8df164",
            "selector": "0xed8df164",
            "calldata_variants": [
                "0xed8df164",
                "0xed8df1640000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 297,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 569,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 199,
            "type": "tx_origin_used"
        },
        {
            "pc": 198,
            "type": "tx_origin_used"
        }
    ]
}