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

Analysis Run

019b3844-a5ab-70d8-9b3c-d580fdcb94e8

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:19 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
16237 artifact.fetch complete 1 / 3 4 months ago
16238 tool.cast_disasm complete 1 / 3 4 months ago
59758 analysis.bundle complete 1 / 3 2 weeks ago
59759 capability.graph complete 1 / 3 2 weeks ago
59760 detector.run complete 1 / 3 2 weeks ago
59761 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
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
1
Total opcodes
1223
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 0x0059
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x12065fe0
00000019: EQ
0000001a: PUSH2 0x0062
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x3ccfd60b
00000024: EQ
00000025: PUSH2 0x008d
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x8da5cb5b
0000002f: EQ
00000030: PUSH2 0x00a4
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x90f0324b
0000003a: EQ
0000003b: PUSH2 0x00cf
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd56d229d
00000045: EQ
00000046: PUSH2 0x00fa
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xdcccf2ee
00000050: EQ
00000051: PUSH2 0x0125
00000054: JUMPI
00000055: PUSH2 0x0060
00000058: JUMP
00000059: JUMPDEST
0000005a: CALLDATASIZE
0000005b: PUSH2 0x0060
0000005e: JUMPI
0000005f: STOP
00000060: JUMPDEST
00000061: STOP
00000062: JUMPDEST
00000063: CALLVALUE
00000064: DUP1
00000065: ISZERO
00000066: PUSH2 0x006e
00000069: JUMPI
0000006a: PUSH1 0x00
0000006c: DUP1
0000006d: REVERT
0000006e: JUMPDEST
0000006f: POP
00000070: PUSH2 0x0077
00000073: PUSH2 0x014e
00000076: JUMP
00000077: JUMPDEST
00000078: PUSH1 0x40
0000007a: MLOAD
0000007b: PUSH2 0x0084
0000007e: SWAP2
0000007f: SWAP1
00000080: PUSH2 0x051b
00000083: JUMP
00000084: JUMPDEST
00000085: PUSH1 0x40
00000087: MLOAD
00000088: DUP1
00000089: SWAP2
0000008a: SUB
0000008b: SWAP1
0000008c: RETURN
0000008d: JUMPDEST
0000008e: CALLVALUE
0000008f: DUP1
00000090: ISZERO
00000091: PUSH2 0x0099
00000094: JUMPI
00000095: PUSH1 0x00
00000097: DUP1
00000098: REVERT
00000099: JUMPDEST
0000009a: POP
0000009b: PUSH2 0x00a2
0000009e: PUSH2 0x0156
000000a1: JUMP
000000a2: JUMPDEST
000000a3: STOP
000000a4: JUMPDEST
000000a5: CALLVALUE
000000a6: DUP1
000000a7: ISZERO
000000a8: PUSH2 0x00b0
000000ab: JUMPI
000000ac: PUSH1 0x00
000000ae: DUP1
000000af: REVERT
000000b0: JUMPDEST
000000b1: POP
000000b2: PUSH2 0x00b9
000000b5: PUSH2 0x0261
000000b8: JUMP
000000b9: JUMPDEST
000000ba: PUSH1 0x40
000000bc: MLOAD
000000bd: PUSH2 0x00c6
000000c0: SWAP2
000000c1: SWAP1
000000c2: PUSH2 0x0577
000000c5: JUMP
000000c6: JUMPDEST
000000c7: PUSH1 0x40
000000c9: MLOAD
000000ca: DUP1
000000cb: SWAP2
000000cc: SUB
000000cd: SWAP1
000000ce: RETURN
000000cf: JUMPDEST
000000d0: CALLVALUE
000000d1: DUP1
000000d2: ISZERO
000000d3: PUSH2 0x00db
000000d6: JUMPI
000000d7: PUSH1 0x00
000000d9: DUP1
000000da: REVERT
000000db: JUMPDEST
000000dc: POP
000000dd: PUSH2 0x00e4
000000e0: PUSH2 0x0287
000000e3: JUMP
000000e4: JUMPDEST
000000e5: PUSH1 0x40
000000e7: MLOAD
000000e8: PUSH2 0x00f1
000000eb: SWAP2
000000ec: SWAP1
000000ed: PUSH2 0x051b
000000f0: JUMP
000000f1: JUMPDEST
000000f2: PUSH1 0x40
000000f4: MLOAD
000000f5: DUP1
000000f6: SWAP2
000000f7: SUB
000000f8: SWAP1
000000f9: RETURN
000000fa: JUMPDEST
000000fb: CALLVALUE
000000fc: DUP1
000000fd: ISZERO
000000fe: PUSH2 0x0106
00000101: JUMPI
00000102: PUSH1 0x00
00000104: DUP1
00000105: REVERT
00000106: JUMPDEST
00000107: POP
00000108: PUSH2 0x010f
0000010b: PUSH2 0x028d
0000010e: JUMP
0000010f: JUMPDEST
00000110: PUSH1 0x40
00000112: MLOAD
00000113: PUSH2 0x011c
00000116: SWAP2
00000117: SWAP1
00000118: PUSH2 0x05f1
0000011b: JUMP
0000011c: JUMPDEST
0000011d: PUSH1 0x40
0000011f: MLOAD
00000120: DUP1
00000121: SWAP2
00000122: SUB
00000123: SWAP1
00000124: RETURN
00000125: JUMPDEST
00000126: CALLVALUE
00000127: DUP1
00000128: ISZERO
00000129: PUSH2 0x0131
0000012c: JUMPI
0000012d: PUSH1 0x00
0000012f: DUP1
00000130: REVERT
00000131: JUMPDEST
00000132: POP
00000133: PUSH2 0x014c
00000136: PUSH1 0x04
00000138: DUP1
00000139: CALLDATASIZE
0000013a: SUB
0000013b: DUP2
0000013c: ADD
0000013d: SWAP1
0000013e: PUSH2 0x0147
00000141: SWAP2
00000142: SWAP1
00000143: PUSH2 0x063d
00000146: JUMP
00000147: JUMPDEST
00000148: PUSH2 0x02b3
0000014b: JUMP
0000014c: JUMPDEST
0000014d: STOP
0000014e: JUMPDEST
0000014f: PUSH1 0x00
00000151: SELFBALANCE
00000152: SWAP1
00000153: POP
00000154: SWAP1
00000155: JUMP
00000156: JUMPDEST
00000157: PUSH2 0x015e
0000015a: PUSH2 0x04a9
0000015d: JUMP
0000015e: JUMPDEST
0000015f: PUSH1 0x01
00000161: PUSH1 0x00
00000163: SWAP1
00000164: SLOAD
00000165: SWAP1
00000166: PUSH2 0x0100
00000169: EXP
0000016a: SWAP1
0000016b: DIV
0000016c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000181: AND
00000182: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000197: AND
00000198: CALLER
00000199: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001ae: AND
000001af: EQ
000001b0: PUSH2 0x01ee
000001b3: JUMPI
000001b4: PUSH1 0x40
000001b6: MLOAD
000001b7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000001d8: DUP2
000001d9: MSTORE
000001da: PUSH1 0x04
000001dc: ADD
000001dd: PUSH2 0x01e5
000001e0: SWAP1
000001e1: PUSH2 0x06ed
000001e4: JUMP
000001e5: JUMPDEST
000001e6: PUSH1 0x40
000001e8: MLOAD
000001e9: DUP1
000001ea: SWAP2
000001eb: SUB
000001ec: SWAP1
000001ed: REVERT
000001ee: JUMPDEST
000001ef: PUSH1 0x01
000001f1: PUSH1 0x00
000001f3: SWAP1
000001f4: SLOAD
000001f5: SWAP1
000001f6: PUSH2 0x0100
000001f9: EXP
000001fa: SWAP1
000001fb: DIV
000001fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000211: AND
00000212: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000227: AND
00000228: PUSH2 0x08fc
0000022b: SELFBALANCE
0000022c: SWAP1
0000022d: DUP2
0000022e: ISZERO
0000022f: MUL
00000230: SWAP1
00000231: PUSH1 0x40
00000233: MLOAD
00000234: PUSH1 0x00
00000236: PUSH1 0x40
00000238: MLOAD
00000239: DUP1
0000023a: DUP4
0000023b: SUB
0000023c: DUP2
0000023d: DUP6
0000023e: DUP9
0000023f: DUP9
00000240: CALL
00000241: SWAP4
00000242: POP
00000243: POP
00000244: POP
00000245: POP
00000246: ISZERO
00000247: DUP1
00000248: ISZERO
00000249: PUSH2 0x0256
0000024c: JUMPI
0000024d: RETURNDATASIZE
0000024e: PUSH1 0x00
00000250: DUP1
00000251: RETURNDATACOPY
00000252: RETURNDATASIZE
00000253: PUSH1 0x00
00000255: REVERT
00000256: JUMPDEST
00000257: POP
00000258: PUSH2 0x025f
0000025b: PUSH2 0x04f8
0000025e: JUMP
0000025f: JUMPDEST
00000260: JUMP
00000261: JUMPDEST
00000262: PUSH1 0x01
00000264: PUSH1 0x00
00000266: SWAP1
00000267: SLOAD
00000268: SWAP1
00000269: PUSH2 0x0100
0000026c: EXP
0000026d: SWAP1
0000026e: DIV
0000026f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000284: AND
00000285: DUP2
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH1 0x02
0000028a: SLOAD
0000028b: DUP2
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH1 0x03
00000290: PUSH1 0x00
00000292: SWAP1
00000293: SLOAD
00000294: SWAP1
00000295: PUSH2 0x0100
00000298: EXP
00000299: SWAP1
0000029a: DIV
0000029b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002b0: AND
000002b1: DUP2
000002b2: JUMP
000002b3: JUMPDEST
000002b4: PUSH2 0x02bb
000002b7: PUSH2 0x04a9
000002ba: JUMP
000002bb: JUMPDEST
000002bc: CALLER
000002bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002d2: AND
000002d3: PUSH1 0x03
000002d5: PUSH1 0x00
000002d7: SWAP1
000002d8: SLOAD
000002d9: SWAP1
000002da: PUSH2 0x0100
000002dd: EXP
000002de: SWAP1
000002df: DIV
000002e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002f5: AND
000002f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000030b: AND
0000030c: PUSH4 0x6352211e
00000311: DUP4
00000312: PUSH1 0x40
00000314: MLOAD
00000315: DUP3
00000316: PUSH4 0xffffffff
0000031b: AND
0000031c: PUSH1 0xe0
0000031e: SHL
0000031f: DUP2
00000320: MSTORE
00000321: PUSH1 0x04
00000323: ADD
00000324: PUSH2 0x032d
00000327: SWAP2
00000328: SWAP1
00000329: PUSH2 0x051b
0000032c: JUMP
0000032d: JUMPDEST
0000032e: PUSH1 0x20
00000330: PUSH1 0x40
00000332: MLOAD
00000333: DUP1
00000334: DUP4
00000335: SUB
00000336: DUP2
00000337: DUP7
00000338: GAS
00000339: STATICCALL
0000033a: ISZERO
0000033b: DUP1
0000033c: ISZERO
0000033d: PUSH2 0x034a
00000340: JUMPI
00000341: RETURNDATASIZE
00000342: PUSH1 0x00
00000344: DUP1
00000345: RETURNDATACOPY
00000346: RETURNDATASIZE
00000347: PUSH1 0x00
00000349: REVERT
0000034a: JUMPDEST
0000034b: POP
0000034c: POP
0000034d: POP
0000034e: POP
0000034f: PUSH1 0x40
00000351: MLOAD
00000352: RETURNDATASIZE
00000353: PUSH1 0x1f
00000355: NOT
00000356: PUSH1 0x1f
00000358: DUP3
00000359: ADD
0000035a: AND
0000035b: DUP3
0000035c: ADD
0000035d: DUP1
0000035e: PUSH1 0x40
00000360: MSTORE
00000361: POP
00000362: DUP2
00000363: ADD
00000364: SWAP1
00000365: PUSH2 0x036e
00000368: SWAP2
00000369: SWAP1
0000036a: PUSH2 0x0739
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000384: AND
00000385: EQ
00000386: PUSH2 0x03c4
00000389: JUMPI
0000038a: PUSH1 0x40
0000038c: MLOAD
0000038d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000003ae: DUP2
000003af: MSTORE
000003b0: PUSH1 0x04
000003b2: ADD
000003b3: PUSH2 0x03bb
000003b6: SWAP1
000003b7: PUSH2 0x07d8
000003ba: JUMP
000003bb: JUMPDEST
000003bc: PUSH1 0x40
000003be: MLOAD
000003bf: DUP1
000003c0: SWAP2
000003c1: SUB
000003c2: SWAP1
000003c3: REVERT
000003c4: JUMPDEST
000003c5: PUSH1 0x03
000003c7: PUSH1 0x00
000003c9: SWAP1
000003ca: SLOAD
000003cb: SWAP1
000003cc: PUSH2 0x0100
000003cf: EXP
000003d0: SWAP1
000003d1: DIV
000003d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003e7: AND
000003e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003fd: AND
000003fe: PUSH4 0x23b872dd
00000403: CALLER
00000404: ADDRESS
00000405: DUP5
00000406: PUSH1 0x40
00000408: MLOAD
00000409: DUP5
0000040a: PUSH4 0xffffffff
0000040f: AND
00000410: PUSH1 0xe0
00000412: SHL
00000413: DUP2
00000414: MSTORE
00000415: PUSH1 0x04
00000417: ADD
00000418: PUSH2 0x0423
0000041b: SWAP4
0000041c: SWAP3
0000041d: SWAP2
0000041e: SWAP1
0000041f: PUSH2 0x07f8
00000422: JUMP
00000423: JUMPDEST
00000424: PUSH1 0x00
00000426: PUSH1 0x40
00000428: MLOAD
00000429: DUP1
0000042a: DUP4
0000042b: SUB
0000042c: DUP2
0000042d: PUSH1 0x00
0000042f: DUP8
00000430: DUP1
00000431: EXTCODESIZE
00000432: ISZERO
00000433: DUP1
00000434: ISZERO
00000435: PUSH2 0x043d
00000438: JUMPI
00000439: PUSH1 0x00
0000043b: DUP1
0000043c: REVERT
0000043d: JUMPDEST
0000043e: POP
0000043f: GAS
00000440: CALL
00000441: ISZERO
00000442: DUP1
00000443: ISZERO
00000444: PUSH2 0x0451
00000447: JUMPI
00000448: RETURNDATASIZE
00000449: PUSH1 0x00
0000044b: DUP1
0000044c: RETURNDATACOPY
0000044d: RETURNDATASIZE
0000044e: PUSH1 0x00
00000450: REVERT
00000451: JUMPDEST
00000452: POP
00000453: POP
00000454: POP
00000455: POP
00000456: CALLER
00000457: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000046c: AND
0000046d: PUSH2 0x08fc
00000470: PUSH1 0x02
00000472: SLOAD
00000473: SWAP1
00000474: DUP2
00000475: ISZERO
00000476: MUL
00000477: SWAP1
00000478: PUSH1 0x40
0000047a: MLOAD
0000047b: PUSH1 0x00
0000047d: PUSH1 0x40
0000047f: MLOAD
00000480: DUP1
00000481: DUP4
00000482: SUB
00000483: DUP2
00000484: DUP6
00000485: DUP9
00000486: DUP9
00000487: CALL
00000488: SWAP4
00000489: POP
0000048a: POP
0000048b: POP
0000048c: POP
0000048d: ISZERO
0000048e: DUP1
0000048f: ISZERO
00000490: PUSH2 0x049d
00000493: JUMPI
00000494: RETURNDATASIZE
00000495: PUSH1 0x00
00000497: DUP1
00000498: RETURNDATACOPY
00000499: RETURNDATASIZE
0000049a: PUSH1 0x00
0000049c: REVERT
0000049d: JUMPDEST
0000049e: POP
0000049f: PUSH2 0x04a6
000004a2: PUSH2 0x04f8
000004a5: JUMP
000004a6: JUMPDEST
000004a7: POP
000004a8: JUMP
000004a9: JUMPDEST
000004aa: PUSH1 0x02
000004ac: PUSH1 0x00
000004ae: SLOAD
000004af: SUB
000004b0: PUSH2 0x04ee
000004b3: JUMPI
000004b4: PUSH1 0x40
000004b6: MLOAD
000004b7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000004d8: DUP2
000004d9: MSTORE
000004da: PUSH1 0x04
000004dc: ADD
000004dd: PUSH2 0x04e5
000004e0: SWAP1
000004e1: PUSH2 0x087b
000004e4: JUMP
000004e5: JUMPDEST
000004e6: PUSH1 0x40
000004e8: MLOAD
000004e9: DUP1
000004ea: SWAP2
000004eb: SUB
000004ec: SWAP1
000004ed: REVERT
000004ee: JUMPDEST
000004ef: PUSH1 0x02
000004f1: PUSH1 0x00
000004f3: DUP2
000004f4: SWAP1
000004f5: SSTORE
000004f6: POP
000004f7: JUMP
000004f8: JUMPDEST
000004f9: PUSH1 0x01
000004fb: PUSH1 0x00
000004fd: DUP2
000004fe: SWAP1
000004ff: SSTORE
00000500: POP
00000501: JUMP
00000502: JUMPDEST
00000503: PUSH1 0x00
00000505: DUP2
00000506: SWAP1
00000507: POP
00000508: SWAP2
00000509: SWAP1
0000050a: POP
0000050b: JUMP
0000050c: JUMPDEST
0000050d: PUSH2 0x0515
00000510: DUP2
00000511: PUSH2 0x0502
00000514: JUMP
00000515: JUMPDEST
00000516: DUP3
00000517: MSTORE
00000518: POP
00000519: POP
0000051a: JUMP
0000051b: JUMPDEST
0000051c: PUSH1 0x00
0000051e: PUSH1 0x20
00000520: DUP3
00000521: ADD
00000522: SWAP1
00000523: POP
00000524: PUSH2 0x0530
00000527: PUSH1 0x00
00000529: DUP4
0000052a: ADD
0000052b: DUP5
0000052c: PUSH2 0x050c
0000052f: JUMP
00000530: JUMPDEST
00000531: SWAP3
00000532: SWAP2
00000533: POP
00000534: POP
00000535: JUMP
00000536: JUMPDEST
00000537: PUSH1 0x00
00000539: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000054e: DUP3
0000054f: AND
00000550: SWAP1
00000551: POP
00000552: SWAP2
00000553: SWAP1
00000554: POP
00000555: JUMP
00000556: JUMPDEST
00000557: PUSH1 0x00
00000559: PUSH2 0x0561
0000055c: DUP3
0000055d: PUSH2 0x0536
00000560: JUMP
00000561: JUMPDEST
00000562: SWAP1
00000563: POP
00000564: SWAP2
00000565: SWAP1
00000566: POP
00000567: JUMP
00000568: JUMPDEST
00000569: PUSH2 0x0571
0000056c: DUP2
0000056d: PUSH2 0x0556
00000570: JUMP
00000571: JUMPDEST
00000572: DUP3
00000573: MSTORE
00000574: POP
00000575: POP
00000576: JUMP
00000577: JUMPDEST
00000578: PUSH1 0x00
0000057a: PUSH1 0x20
0000057c: DUP3
0000057d: ADD
0000057e: SWAP1
0000057f: POP
00000580: PUSH2 0x058c
00000583: PUSH1 0x00
00000585: DUP4
00000586: ADD
00000587: DUP5
00000588: PUSH2 0x0568
0000058b: JUMP
0000058c: JUMPDEST
0000058d: SWAP3
0000058e: SWAP2
0000058f: POP
00000590: POP
00000591: JUMP
00000592: JUMPDEST
00000593: PUSH1 0x00
00000595: DUP2
00000596: SWAP1
00000597: POP
00000598: SWAP2
00000599: SWAP1
0000059a: POP
0000059b: JUMP
0000059c: JUMPDEST
0000059d: PUSH1 0x00
0000059f: PUSH2 0x05b7
000005a2: PUSH2 0x05b2
000005a5: PUSH2 0x05ad
000005a8: DUP5
000005a9: PUSH2 0x0536
000005ac: JUMP
000005ad: JUMPDEST
000005ae: PUSH2 0x0592
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH2 0x0536
000005b6: JUMP
000005b7: JUMPDEST
000005b8: SWAP1
000005b9: POP
000005ba: SWAP2
000005bb: SWAP1
000005bc: POP
000005bd: JUMP
000005be: JUMPDEST
000005bf: PUSH1 0x00
000005c1: PUSH2 0x05c9
000005c4: DUP3
000005c5: PUSH2 0x059c
000005c8: JUMP
000005c9: JUMPDEST
000005ca: SWAP1
000005cb: POP
000005cc: SWAP2
000005cd: SWAP1
000005ce: POP
000005cf: JUMP
000005d0: JUMPDEST
000005d1: PUSH1 0x00
000005d3: PUSH2 0x05db
000005d6: DUP3
000005d7: PUSH2 0x05be
000005da: JUMP
000005db: JUMPDEST
000005dc: SWAP1
000005dd: POP
000005de: SWAP2
000005df: SWAP1
000005e0: POP
000005e1: JUMP
000005e2: JUMPDEST
000005e3: PUSH2 0x05eb
000005e6: DUP2
000005e7: PUSH2 0x05d0
000005ea: JUMP
000005eb: JUMPDEST
000005ec: DUP3
000005ed: MSTORE
000005ee: POP
000005ef: POP
000005f0: JUMP
000005f1: JUMPDEST
000005f2: PUSH1 0x00
000005f4: PUSH1 0x20
000005f6: DUP3
000005f7: ADD
000005f8: SWAP1
000005f9: POP
000005fa: PUSH2 0x0606
000005fd: PUSH1 0x00
000005ff: DUP4
00000600: ADD
00000601: DUP5
00000602: PUSH2 0x05e2
00000605: JUMP
00000606: JUMPDEST
00000607: SWAP3
00000608: SWAP2
00000609: POP
0000060a: POP
0000060b: JUMP
0000060c: JUMPDEST
0000060d: PUSH1 0x00
0000060f: DUP1
00000610: REVERT
00000611: JUMPDEST
00000612: PUSH2 0x061a
00000615: DUP2
00000616: PUSH2 0x0502
00000619: JUMP
0000061a: JUMPDEST
0000061b: DUP2
0000061c: EQ
0000061d: PUSH2 0x0625
00000620: JUMPI
00000621: PUSH1 0x00
00000623: DUP1
00000624: REVERT
00000625: JUMPDEST
00000626: POP
00000627: JUMP
00000628: JUMPDEST
00000629: PUSH1 0x00
0000062b: DUP2
0000062c: CALLDATALOAD
0000062d: SWAP1
0000062e: POP
0000062f: PUSH2 0x0637
00000632: DUP2
00000633: PUSH2 0x0611
00000636: JUMP
00000637: JUMPDEST
00000638: SWAP3
00000639: SWAP2
0000063a: POP
0000063b: POP
0000063c: JUMP
0000063d: JUMPDEST
0000063e: PUSH1 0x00
00000640: PUSH1 0x20
00000642: DUP3
00000643: DUP5
00000644: SUB
00000645: SLT
00000646: ISZERO
00000647: PUSH2 0x0653
0000064a: JUMPI
0000064b: PUSH2 0x0652
0000064e: PUSH2 0x060c
00000651: JUMP
00000652: JUMPDEST
00000653: JUMPDEST
00000654: PUSH1 0x00
00000656: PUSH2 0x0661
00000659: DUP5
0000065a: DUP3
0000065b: DUP6
0000065c: ADD
0000065d: PUSH2 0x0628
00000660: JUMP
00000661: JUMPDEST
00000662: SWAP2
00000663: POP
00000664: POP
00000665: SWAP3
00000666: SWAP2
00000667: POP
00000668: POP
00000669: JUMP
0000066a: JUMPDEST
0000066b: PUSH1 0x00
0000066d: DUP3
0000066e: DUP3
0000066f: MSTORE
00000670: PUSH1 0x20
00000672: DUP3
00000673: ADD
00000674: SWAP1
00000675: POP
00000676: SWAP3
00000677: SWAP2
00000678: POP
00000679: POP
0000067a: JUMP
0000067b: JUMPDEST
0000067c: PUSH32 0x4f6e6c7920746865206f776e65722063616e2077697468647261772066756e64
0000069d: PUSH1 0x00
0000069f: DUP3
000006a0: ADD
000006a1: MSTORE
000006a2: PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000
000006c3: PUSH1 0x20
000006c5: DUP3
000006c6: ADD
000006c7: MSTORE
000006c8: POP
000006c9: JUMP
000006ca: JUMPDEST
000006cb: PUSH1 0x00
000006cd: PUSH2 0x06d7
000006d0: PUSH1 0x21
000006d2: DUP4
000006d3: PUSH2 0x066a
000006d6: JUMP
000006d7: JUMPDEST
000006d8: SWAP2
000006d9: POP
000006da: PUSH2 0x06e2
000006dd: DUP3
000006de: PUSH2 0x067b
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH1 0x40
000006e5: DUP3
000006e6: ADD
000006e7: SWAP1
000006e8: POP
000006e9: SWAP2
000006ea: SWAP1
000006eb: POP
000006ec: JUMP
000006ed: JUMPDEST
000006ee: PUSH1 0x00
000006f0: PUSH1 0x20
000006f2: DUP3
000006f3: ADD
000006f4: SWAP1
000006f5: POP
000006f6: DUP2
000006f7: DUP2
000006f8: SUB
000006f9: PUSH1 0x00
000006fb: DUP4
000006fc: ADD
000006fd: MSTORE
000006fe: PUSH2 0x0706
00000701: DUP2
00000702: PUSH2 0x06ca
00000705: JUMP
00000706: JUMPDEST
00000707: SWAP1
00000708: POP
00000709: SWAP2
0000070a: SWAP1
0000070b: POP
0000070c: JUMP
0000070d: JUMPDEST
0000070e: PUSH2 0x0716
00000711: DUP2
00000712: PUSH2 0x0556
00000715: JUMP
00000716: JUMPDEST
00000717: DUP2
00000718: EQ
00000719: PUSH2 0x0721
0000071c: JUMPI
0000071d: PUSH1 0x00
0000071f: DUP1
00000720: REVERT
00000721: JUMPDEST
00000722: POP
00000723: JUMP
00000724: JUMPDEST
00000725: PUSH1 0x00
00000727: DUP2
00000728: MLOAD
00000729: SWAP1
0000072a: POP
0000072b: PUSH2 0x0733
0000072e: DUP2
0000072f: PUSH2 0x070d
00000732: JUMP
00000733: JUMPDEST
00000734: SWAP3
00000735: SWAP2
00000736: POP
00000737: POP
00000738: JUMP
00000739: JUMPDEST
0000073a: PUSH1 0x00
0000073c: PUSH1 0x20
0000073e: DUP3
0000073f: DUP5
00000740: SUB
00000741: SLT
00000742: ISZERO
00000743: PUSH2 0x074f
00000746: JUMPI
00000747: PUSH2 0x074e
0000074a: PUSH2 0x060c
0000074d: JUMP
0000074e: JUMPDEST
0000074f: JUMPDEST
00000750: PUSH1 0x00
00000752: PUSH2 0x075d
00000755: DUP5
00000756: DUP3
00000757: DUP6
00000758: ADD
00000759: PUSH2 0x0724
0000075c: JUMP
0000075d: JUMPDEST
0000075e: SWAP2
0000075f: POP
00000760: POP
00000761: SWAP3
00000762: SWAP2
00000763: POP
00000764: POP
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH32 0x4f6e6c7920746865206f776e6572206f6620746865204e46542063616e207365
00000788: PUSH1 0x00
0000078a: DUP3
0000078b: ADD
0000078c: MSTORE
0000078d: PUSH32 0x6e6420697420746f2074686520636f6e74726163740000000000000000000000
000007ae: PUSH1 0x20
000007b0: DUP3
000007b1: ADD
000007b2: MSTORE
000007b3: POP
000007b4: JUMP
000007b5: JUMPDEST
000007b6: PUSH1 0x00
000007b8: PUSH2 0x07c2
000007bb: PUSH1 0x35
000007bd: DUP4
000007be: PUSH2 0x066a
000007c1: JUMP
000007c2: JUMPDEST
000007c3: SWAP2
000007c4: POP
000007c5: PUSH2 0x07cd
000007c8: DUP3
000007c9: PUSH2 0x0766
000007cc: JUMP
000007cd: JUMPDEST
000007ce: PUSH1 0x40
000007d0: DUP3
000007d1: ADD
000007d2: SWAP1
000007d3: POP
000007d4: SWAP2
000007d5: SWAP1
000007d6: POP
000007d7: JUMP
000007d8: JUMPDEST
000007d9: PUSH1 0x00
000007db: PUSH1 0x20
000007dd: DUP3
000007de: ADD
000007df: SWAP1
000007e0: POP
000007e1: DUP2
000007e2: DUP2
000007e3: SUB
000007e4: PUSH1 0x00
000007e6: DUP4
000007e7: ADD
000007e8: MSTORE
000007e9: PUSH2 0x07f1
000007ec: DUP2
000007ed: PUSH2 0x07b5
000007f0: JUMP
000007f1: JUMPDEST
000007f2: SWAP1
000007f3: POP
000007f4: SWAP2
000007f5: SWAP1
000007f6: POP
000007f7: JUMP
000007f8: JUMPDEST
000007f9: PUSH1 0x00
000007fb: PUSH1 0x60
000007fd: DUP3
000007fe: ADD
000007ff: SWAP1
00000800: POP
00000801: PUSH2 0x080d
00000804: PUSH1 0x00
00000806: DUP4
00000807: ADD
00000808: DUP7
00000809: PUSH2 0x0568
0000080c: JUMP
0000080d: JUMPDEST
0000080e: PUSH2 0x081a
00000811: PUSH1 0x20
00000813: DUP4
00000814: ADD
00000815: DUP6
00000816: PUSH2 0x0568
00000819: JUMP
0000081a: JUMPDEST
0000081b: PUSH2 0x0827
0000081e: PUSH1 0x40
00000820: DUP4
00000821: ADD
00000822: DUP5
00000823: PUSH2 0x050c
00000826: JUMP
00000827: JUMPDEST
00000828: SWAP5
00000829: SWAP4
0000082a: POP
0000082b: POP
0000082c: POP
0000082d: POP
0000082e: JUMP
0000082f: JUMPDEST
00000830: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00000851: PUSH1 0x00
00000853: DUP3
00000854: ADD
00000855: MSTORE
00000856: POP
00000857: JUMP
00000858: JUMPDEST
00000859: PUSH1 0x00
0000085b: PUSH2 0x0865
0000085e: PUSH1 0x1f
00000860: DUP4
00000861: PUSH2 0x066a
00000864: JUMP
00000865: JUMPDEST
00000866: SWAP2
00000867: POP
00000868: PUSH2 0x0870
0000086b: DUP3
0000086c: PUSH2 0x082f
0000086f: JUMP
00000870: JUMPDEST
00000871: PUSH1 0x20
00000873: DUP3
00000874: ADD
00000875: SWAP1
00000876: POP
00000877: SWAP2
00000878: SWAP1
00000879: POP
0000087a: JUMP
0000087b: JUMPDEST
0000087c: PUSH1 0x00
0000087e: PUSH1 0x20
00000880: DUP3
00000881: ADD
00000882: SWAP1
00000883: POP
00000884: DUP2
00000885: DUP2
00000886: SUB
00000887: PUSH1 0x00
00000889: DUP4
0000088a: ADD
0000088b: MSTORE
0000088c: PUSH2 0x0894
0000088f: DUP2
00000890: PUSH2 0x0858
00000893: JUMP
00000894: JUMPDEST
00000895: SWAP1
00000896: POP
00000897: SWAP2
00000898: SWAP1
00000899: POP
0000089a: JUMP
0000089b: INVALID
0000089c: LOG2
0000089d: PUSH5 0x6970667358
000008a3: UNKNOWN(0x22)
000008a4: SLT
000008a5: KECCAK256
000008a6: SELFBALANCE
000008a7: XOR
000008a8: UNKNOWN(0xCD)
000008a9: SAR
000008aa: BLOBHASH
000008ab: UNKNOWN(0xE8)
000008ac: EXP
000008ad: SLOAD
000008ae: UNKNOWN(0xC7)
000008af: BLOBBASEFEE
000008b0: UNKNOWN(0xE7)
000008b1: BYTE
000008b2: SWAP1
000008b3: UNKNOWN(0x4C)
000008b4: BYTE
000008b5: PUSH9 0x11eed9aafe76a2da07
000008bf: UNKNOWN(0xB1)
000008c0: GASLIMIT
000008c1: UNKNOWN(0xBD)
000008c2: CODECOPY
000008c3: MULMOD
000008c4: ORIGIN
000008c5: UNKNOWN(0xB7)
000008c6: PUSH5 0x736f6c6343
000008cc: STOP
000008cd: ADDMOD
000008ce: GT
000008cf: STOP
000008d0: CALLER
View stderr
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.

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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90f0324b",
            "selector": "0x90f0324b",
            "calldata_variants": [
                "0x90f0324b",
                "0x90f0324b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd56d229d",
            "selector": "0xd56d229d",
            "calldata_variants": [
                "0xd56d229d",
                "0xd56d229d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcccf2ee",
            "selector": "0xdcccf2ee",
            "calldata_variants": [
                "0xdcccf2ee",
                "0xdcccf2ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 408,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2244,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x71f23c60bcf5436232c59a31c940595fc031894a8c06fa120bbd55e7e87ec03d
call_targets: 0xdef2907020eb81cd2badcf38eaf75d4afb58083d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x71f23c60bcf5436232c59a31c940595fc031894a8c06fa120bbd55e7e87ec03d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xdef2907020eb81cd2badcf38eaf75d4afb58083d"
    ],
    "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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90f0324b",
            "selector": "0x90f0324b",
            "calldata_variants": [
                "0x90f0324b",
                "0x90f0324b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd56d229d",
            "selector": "0xd56d229d",
            "calldata_variants": [
                "0xd56d229d",
                "0xd56d229d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcccf2ee",
            "selector": "0xdcccf2ee",
            "calldata_variants": [
                "0xdcccf2ee",
                "0xdcccf2ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 576,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1088,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1159,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 408,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2244,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x71f23c60bcf5436232c59a31c940595fc031894a8c06fa120bbd55e7e87ec03d
call_targets: 0xdef2907020eb81cd2badcf38eaf75d4afb58083d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x71f23c60bcf5436232c59a31c940595fc031894a8c06fa120bbd55e7e87ec03d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xdef2907020eb81cd2badcf38eaf75d4afb58083d"
    ],
    "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": "0x12065fe0",
            "selector": "0x12065fe0",
            "calldata_variants": [
                "0x12065fe0",
                "0x12065fe00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90f0324b",
            "selector": "0x90f0324b",
            "calldata_variants": [
                "0x90f0324b",
                "0x90f0324b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd56d229d",
            "selector": "0xd56d229d",
            "calldata_variants": [
                "0xd56d229d",
                "0xd56d229d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcccf2ee",
            "selector": "0xdcccf2ee",
            "calldata_variants": [
                "0xdcccf2ee",
                "0xdcccf2ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 576,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1088,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1159,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 408,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2244,
            "type": "tx_origin_used"
        }
    ]
}