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

Analysis Run

019b3844-a5ad-705e-ab3f-0dc1fc9a53e2

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
16239 artifact.fetch complete 1 / 3 4 months ago
16240 tool.cast_disasm complete 1 / 3 4 months ago
59766 analysis.bundle complete 1 / 3 2 weeks ago
59767 capability.graph complete 1 / 3 2 weeks ago
59768 detector.run complete 1 / 3 2 weeks ago
59769 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)
5
EXT*/BALANCE
1
Total opcodes
1364
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 0x13af4035
00000019: EQ
0000001a: PUSH2 0x0062
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x22bee494
00000024: EQ
00000025: PUSH2 0x008b
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x3ccfd60b
0000002f: EQ
00000030: PUSH2 0x00a7
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x51cff8d9
0000003a: EQ
0000003b: PUSH2 0x00be
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x858ced35
00000045: EQ
00000046: PUSH2 0x00e7
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x960bfe04
00000050: EQ
00000051: PUSH2 0x0110
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 0x0089
00000073: PUSH1 0x04
00000075: DUP1
00000076: CALLDATASIZE
00000077: SUB
00000078: DUP2
00000079: ADD
0000007a: SWAP1
0000007b: PUSH2 0x0084
0000007e: SWAP2
0000007f: SWAP1
00000080: PUSH2 0x083d
00000083: JUMP
00000084: JUMPDEST
00000085: PUSH2 0x0139
00000088: JUMP
00000089: JUMPDEST
0000008a: STOP
0000008b: JUMPDEST
0000008c: PUSH2 0x00a5
0000008f: PUSH1 0x04
00000091: DUP1
00000092: CALLDATASIZE
00000093: SUB
00000094: DUP2
00000095: ADD
00000096: SWAP1
00000097: PUSH2 0x00a0
0000009a: SWAP2
0000009b: SWAP1
0000009c: PUSH2 0x08cf
0000009f: JUMP
000000a0: JUMPDEST
000000a1: PUSH2 0x01d4
000000a4: JUMP
000000a5: JUMPDEST
000000a6: STOP
000000a7: JUMPDEST
000000a8: CALLVALUE
000000a9: DUP1
000000aa: ISZERO
000000ab: PUSH2 0x00b3
000000ae: JUMPI
000000af: PUSH1 0x00
000000b1: DUP1
000000b2: REVERT
000000b3: JUMPDEST
000000b4: POP
000000b5: PUSH2 0x00bc
000000b8: PUSH2 0x02ac
000000bb: JUMP
000000bc: JUMPDEST
000000bd: STOP
000000be: JUMPDEST
000000bf: CALLVALUE
000000c0: DUP1
000000c1: ISZERO
000000c2: PUSH2 0x00ca
000000c5: JUMPI
000000c6: PUSH1 0x00
000000c8: DUP1
000000c9: REVERT
000000ca: JUMPDEST
000000cb: POP
000000cc: PUSH2 0x00e5
000000cf: PUSH1 0x04
000000d1: DUP1
000000d2: CALLDATASIZE
000000d3: SUB
000000d4: DUP2
000000d5: ADD
000000d6: SWAP1
000000d7: PUSH2 0x00e0
000000da: SWAP2
000000db: SWAP1
000000dc: PUSH2 0x083d
000000df: JUMP
000000e0: JUMPDEST
000000e1: PUSH2 0x04a7
000000e4: JUMP
000000e5: JUMPDEST
000000e6: STOP
000000e7: JUMPDEST
000000e8: CALLVALUE
000000e9: DUP1
000000ea: ISZERO
000000eb: PUSH2 0x00f3
000000ee: JUMPI
000000ef: PUSH1 0x00
000000f1: DUP1
000000f2: REVERT
000000f3: JUMPDEST
000000f4: POP
000000f5: PUSH2 0x010e
000000f8: PUSH1 0x04
000000fa: DUP1
000000fb: CALLDATASIZE
000000fc: SUB
000000fd: DUP2
000000fe: ADD
000000ff: SWAP1
00000100: PUSH2 0x0109
00000103: SWAP2
00000104: SWAP1
00000105: PUSH2 0x083d
00000108: JUMP
00000109: JUMPDEST
0000010a: PUSH2 0x06d7
0000010d: JUMP
0000010e: JUMPDEST
0000010f: STOP
00000110: JUMPDEST
00000111: CALLVALUE
00000112: DUP1
00000113: ISZERO
00000114: PUSH2 0x011c
00000117: JUMPI
00000118: PUSH1 0x00
0000011a: DUP1
0000011b: REVERT
0000011c: JUMPDEST
0000011d: POP
0000011e: PUSH2 0x0137
00000121: PUSH1 0x04
00000123: DUP1
00000124: CALLDATASIZE
00000125: SUB
00000126: DUP2
00000127: ADD
00000128: SWAP1
00000129: PUSH2 0x0132
0000012c: SWAP2
0000012d: SWAP1
0000012e: PUSH2 0x0965
00000131: JUMP
00000132: JUMPDEST
00000133: PUSH2 0x0773
00000136: JUMP
00000137: JUMPDEST
00000138: STOP
00000139: JUMPDEST
0000013a: CALLER
0000013b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000150: AND
00000151: PUSH1 0x00
00000153: DUP1
00000154: SLOAD
00000155: SWAP1
00000156: PUSH2 0x0100
00000159: EXP
0000015a: SWAP1
0000015b: DIV
0000015c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000171: AND
00000172: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000187: AND
00000188: EQ
00000189: PUSH2 0x0191
0000018c: JUMPI
0000018d: PUSH1 0x00
0000018f: DUP1
00000190: REVERT
00000191: JUMPDEST
00000192: DUP1
00000193: PUSH1 0x00
00000195: DUP1
00000196: PUSH2 0x0100
00000199: EXP
0000019a: DUP2
0000019b: SLOAD
0000019c: DUP2
0000019d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001b2: MUL
000001b3: NOT
000001b4: AND
000001b5: SWAP1
000001b6: DUP4
000001b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001cc: AND
000001cd: MUL
000001ce: OR
000001cf: SWAP1
000001d0: SSTORE
000001d1: POP
000001d2: POP
000001d3: JUMP
000001d4: JUMPDEST
000001d5: CALLER
000001d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001eb: AND
000001ec: PUSH1 0x00
000001ee: DUP1
000001ef: SLOAD
000001f0: SWAP1
000001f1: PUSH2 0x0100
000001f4: EXP
000001f5: SWAP1
000001f6: DIV
000001f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000020c: AND
0000020d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000222: AND
00000223: EQ
00000224: PUSH2 0x022c
00000227: JUMPI
00000228: PUSH1 0x00
0000022a: DUP1
0000022b: REVERT
0000022c: JUMPDEST
0000022d: PUSH1 0x00
0000022f: DUP4
00000230: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000245: AND
00000246: CALLVALUE
00000247: DUP5
00000248: DUP5
00000249: PUSH1 0x40
0000024b: MLOAD
0000024c: PUSH2 0x0256
0000024f: SWAP3
00000250: SWAP2
00000251: SWAP1
00000252: PUSH2 0x09d1
00000255: JUMP
00000256: JUMPDEST
00000257: PUSH1 0x00
00000259: PUSH1 0x40
0000025b: MLOAD
0000025c: DUP1
0000025d: DUP4
0000025e: SUB
0000025f: DUP2
00000260: DUP6
00000261: DUP8
00000262: GAS
00000263: CALL
00000264: SWAP3
00000265: POP
00000266: POP
00000267: POP
00000268: RETURNDATASIZE
00000269: DUP1
0000026a: PUSH1 0x00
0000026c: DUP2
0000026d: EQ
0000026e: PUSH2 0x0293
00000271: JUMPI
00000272: PUSH1 0x40
00000274: MLOAD
00000275: SWAP2
00000276: POP
00000277: PUSH1 0x1f
00000279: NOT
0000027a: PUSH1 0x3f
0000027c: RETURNDATASIZE
0000027d: ADD
0000027e: AND
0000027f: DUP3
00000280: ADD
00000281: PUSH1 0x40
00000283: MSTORE
00000284: RETURNDATASIZE
00000285: DUP3
00000286: MSTORE
00000287: RETURNDATASIZE
00000288: PUSH1 0x00
0000028a: PUSH1 0x20
0000028c: DUP5
0000028d: ADD
0000028e: RETURNDATACOPY
0000028f: PUSH2 0x0298
00000292: JUMP
00000293: JUMPDEST
00000294: PUSH1 0x60
00000296: SWAP2
00000297: POP
00000298: JUMPDEST
00000299: POP
0000029a: POP
0000029b: SWAP1
0000029c: POP
0000029d: DUP1
0000029e: PUSH2 0x02a6
000002a1: JUMPI
000002a2: PUSH1 0x00
000002a4: DUP1
000002a5: REVERT
000002a6: JUMPDEST
000002a7: POP
000002a8: POP
000002a9: POP
000002aa: POP
000002ab: JUMP
000002ac: JUMPDEST
000002ad: CALLER
000002ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002c3: AND
000002c4: PUSH1 0x01
000002c6: PUSH1 0x00
000002c8: SWAP1
000002c9: SLOAD
000002ca: SWAP1
000002cb: PUSH2 0x0100
000002ce: EXP
000002cf: SWAP1
000002d0: DIV
000002d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e6: AND
000002e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002fc: AND
000002fd: EQ
000002fe: DUP1
000002ff: PUSH2 0x0353
00000302: JUMPI
00000303: POP
00000304: CALLER
00000305: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000031a: AND
0000031b: PUSH1 0x00
0000031d: DUP1
0000031e: SLOAD
0000031f: SWAP1
00000320: PUSH2 0x0100
00000323: EXP
00000324: SWAP1
00000325: DIV
00000326: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000033b: AND
0000033c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000351: AND
00000352: EQ
00000353: JUMPDEST
00000354: PUSH2 0x035c
00000357: JUMPI
00000358: PUSH1 0x00
0000035a: DUP1
0000035b: REVERT
0000035c: JUMPDEST
0000035d: PUSH1 0x00
0000035f: SELFBALANCE
00000360: SWAP1
00000361: POP
00000362: PUSH1 0x00
00000364: DUP1
00000365: DUP3
00000366: GT
00000367: PUSH2 0x036f
0000036a: JUMPI
0000036b: PUSH1 0x00
0000036d: DUP1
0000036e: REVERT
0000036f: JUMPDEST
00000370: PUSH1 0x02
00000372: SLOAD
00000373: DUP3
00000374: LT
00000375: ISZERO
00000376: PUSH2 0x040c
00000379: JUMPI
0000037a: PUSH1 0x01
0000037c: PUSH1 0x00
0000037e: SWAP1
0000037f: SLOAD
00000380: SWAP1
00000381: PUSH2 0x0100
00000384: EXP
00000385: SWAP1
00000386: DIV
00000387: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000039c: AND
0000039d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003b2: AND
000003b3: DUP3
000003b4: PUSH1 0x40
000003b6: MLOAD
000003b7: PUSH2 0x03bf
000003ba: SWAP1
000003bb: PUSH2 0x0a10
000003be: JUMP
000003bf: JUMPDEST
000003c0: PUSH1 0x00
000003c2: PUSH1 0x40
000003c4: MLOAD
000003c5: DUP1
000003c6: DUP4
000003c7: SUB
000003c8: DUP2
000003c9: DUP6
000003ca: DUP8
000003cb: GAS
000003cc: CALL
000003cd: SWAP3
000003ce: POP
000003cf: POP
000003d0: POP
000003d1: RETURNDATASIZE
000003d2: DUP1
000003d3: PUSH1 0x00
000003d5: DUP2
000003d6: EQ
000003d7: PUSH2 0x03fc
000003da: JUMPI
000003db: PUSH1 0x40
000003dd: MLOAD
000003de: SWAP2
000003df: POP
000003e0: PUSH1 0x1f
000003e2: NOT
000003e3: PUSH1 0x3f
000003e5: RETURNDATASIZE
000003e6: ADD
000003e7: AND
000003e8: DUP3
000003e9: ADD
000003ea: PUSH1 0x40
000003ec: MSTORE
000003ed: RETURNDATASIZE
000003ee: DUP3
000003ef: MSTORE
000003f0: RETURNDATASIZE
000003f1: PUSH1 0x00
000003f3: PUSH1 0x20
000003f5: DUP5
000003f6: ADD
000003f7: RETURNDATACOPY
000003f8: PUSH2 0x0401
000003fb: JUMP
000003fc: JUMPDEST
000003fd: PUSH1 0x60
000003ff: SWAP2
00000400: POP
00000401: JUMPDEST
00000402: POP
00000403: POP
00000404: DUP1
00000405: SWAP2
00000406: POP
00000407: POP
00000408: PUSH2 0x0499
0000040b: JUMP
0000040c: JUMPDEST
0000040d: PUSH1 0x00
0000040f: DUP1
00000410: SLOAD
00000411: SWAP1
00000412: PUSH2 0x0100
00000415: EXP
00000416: SWAP1
00000417: DIV
00000418: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000042d: AND
0000042e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000443: AND
00000444: DUP3
00000445: PUSH1 0x40
00000447: MLOAD
00000448: PUSH2 0x0450
0000044b: SWAP1
0000044c: PUSH2 0x0a10
0000044f: JUMP
00000450: JUMPDEST
00000451: PUSH1 0x00
00000453: PUSH1 0x40
00000455: MLOAD
00000456: DUP1
00000457: DUP4
00000458: SUB
00000459: DUP2
0000045a: DUP6
0000045b: DUP8
0000045c: GAS
0000045d: CALL
0000045e: SWAP3
0000045f: POP
00000460: POP
00000461: POP
00000462: RETURNDATASIZE
00000463: DUP1
00000464: PUSH1 0x00
00000466: DUP2
00000467: EQ
00000468: PUSH2 0x048d
0000046b: JUMPI
0000046c: PUSH1 0x40
0000046e: MLOAD
0000046f: SWAP2
00000470: POP
00000471: PUSH1 0x1f
00000473: NOT
00000474: PUSH1 0x3f
00000476: RETURNDATASIZE
00000477: ADD
00000478: AND
00000479: DUP3
0000047a: ADD
0000047b: PUSH1 0x40
0000047d: MSTORE
0000047e: RETURNDATASIZE
0000047f: DUP3
00000480: MSTORE
00000481: RETURNDATASIZE
00000482: PUSH1 0x00
00000484: PUSH1 0x20
00000486: DUP5
00000487: ADD
00000488: RETURNDATACOPY
00000489: PUSH2 0x0492
0000048c: JUMP
0000048d: JUMPDEST
0000048e: PUSH1 0x60
00000490: SWAP2
00000491: POP
00000492: JUMPDEST
00000493: POP
00000494: POP
00000495: DUP1
00000496: SWAP2
00000497: POP
00000498: POP
00000499: JUMPDEST
0000049a: DUP1
0000049b: PUSH2 0x04a3
0000049e: JUMPI
0000049f: PUSH1 0x00
000004a1: DUP1
000004a2: REVERT
000004a3: JUMPDEST
000004a4: POP
000004a5: POP
000004a6: JUMP
000004a7: JUMPDEST
000004a8: CALLER
000004a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004be: AND
000004bf: PUSH1 0x01
000004c1: PUSH1 0x00
000004c3: SWAP1
000004c4: SLOAD
000004c5: SWAP1
000004c6: PUSH2 0x0100
000004c9: EXP
000004ca: SWAP1
000004cb: DIV
000004cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e1: AND
000004e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004f7: AND
000004f8: EQ
000004f9: DUP1
000004fa: PUSH2 0x054e
000004fd: JUMPI
000004fe: POP
000004ff: CALLER
00000500: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000515: AND
00000516: PUSH1 0x00
00000518: DUP1
00000519: SLOAD
0000051a: SWAP1
0000051b: PUSH2 0x0100
0000051e: EXP
0000051f: SWAP1
00000520: DIV
00000521: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000536: AND
00000537: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000054c: AND
0000054d: EQ
0000054e: JUMPDEST
0000054f: PUSH2 0x0557
00000552: JUMPI
00000553: PUSH1 0x00
00000555: DUP1
00000556: REVERT
00000557: JUMPDEST
00000558: PUSH1 0x00
0000055a: SELFBALANCE
0000055b: SWAP1
0000055c: POP
0000055d: PUSH1 0x00
0000055f: DUP1
00000560: DUP3
00000561: GT
00000562: PUSH2 0x056a
00000565: JUMPI
00000566: PUSH1 0x00
00000568: DUP1
00000569: REVERT
0000056a: JUMPDEST
0000056b: PUSH1 0x02
0000056d: SLOAD
0000056e: DUP3
0000056f: LT
00000570: DUP1
00000571: PUSH2 0x05c5
00000574: JUMPI
00000575: POP
00000576: CALLER
00000577: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000058c: AND
0000058d: PUSH1 0x00
0000058f: DUP1
00000590: SLOAD
00000591: SWAP1
00000592: PUSH2 0x0100
00000595: EXP
00000596: SWAP1
00000597: DIV
00000598: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ad: AND
000005ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c3: AND
000005c4: EQ
000005c5: JUMPDEST
000005c6: ISZERO
000005c7: PUSH2 0x063b
000005ca: JUMPI
000005cb: DUP3
000005cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005e1: AND
000005e2: DUP3
000005e3: PUSH1 0x40
000005e5: MLOAD
000005e6: PUSH2 0x05ee
000005e9: SWAP1
000005ea: PUSH2 0x0a10
000005ed: JUMP
000005ee: JUMPDEST
000005ef: PUSH1 0x00
000005f1: PUSH1 0x40
000005f3: MLOAD
000005f4: DUP1
000005f5: DUP4
000005f6: SUB
000005f7: DUP2
000005f8: DUP6
000005f9: DUP8
000005fa: GAS
000005fb: CALL
000005fc: SWAP3
000005fd: POP
000005fe: POP
000005ff: POP
00000600: RETURNDATASIZE
00000601: DUP1
00000602: PUSH1 0x00
00000604: DUP2
00000605: EQ
00000606: PUSH2 0x062b
00000609: JUMPI
0000060a: PUSH1 0x40
0000060c: MLOAD
0000060d: SWAP2
0000060e: POP
0000060f: PUSH1 0x1f
00000611: NOT
00000612: PUSH1 0x3f
00000614: RETURNDATASIZE
00000615: ADD
00000616: AND
00000617: DUP3
00000618: ADD
00000619: PUSH1 0x40
0000061b: MSTORE
0000061c: RETURNDATASIZE
0000061d: DUP3
0000061e: MSTORE
0000061f: RETURNDATASIZE
00000620: PUSH1 0x00
00000622: PUSH1 0x20
00000624: DUP5
00000625: ADD
00000626: RETURNDATACOPY
00000627: PUSH2 0x0630
0000062a: JUMP
0000062b: JUMPDEST
0000062c: PUSH1 0x60
0000062e: SWAP2
0000062f: POP
00000630: JUMPDEST
00000631: POP
00000632: POP
00000633: DUP1
00000634: SWAP2
00000635: POP
00000636: POP
00000637: PUSH2 0x06c8
0000063a: JUMP
0000063b: JUMPDEST
0000063c: PUSH1 0x00
0000063e: DUP1
0000063f: SLOAD
00000640: SWAP1
00000641: PUSH2 0x0100
00000644: EXP
00000645: SWAP1
00000646: DIV
00000647: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000065c: AND
0000065d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000672: AND
00000673: DUP3
00000674: PUSH1 0x40
00000676: MLOAD
00000677: PUSH2 0x067f
0000067a: SWAP1
0000067b: PUSH2 0x0a10
0000067e: JUMP
0000067f: JUMPDEST
00000680: PUSH1 0x00
00000682: PUSH1 0x40
00000684: MLOAD
00000685: DUP1
00000686: DUP4
00000687: SUB
00000688: DUP2
00000689: DUP6
0000068a: DUP8
0000068b: GAS
0000068c: CALL
0000068d: SWAP3
0000068e: POP
0000068f: POP
00000690: POP
00000691: RETURNDATASIZE
00000692: DUP1
00000693: PUSH1 0x00
00000695: DUP2
00000696: EQ
00000697: PUSH2 0x06bc
0000069a: JUMPI
0000069b: PUSH1 0x40
0000069d: MLOAD
0000069e: SWAP2
0000069f: POP
000006a0: PUSH1 0x1f
000006a2: NOT
000006a3: PUSH1 0x3f
000006a5: RETURNDATASIZE
000006a6: ADD
000006a7: AND
000006a8: DUP3
000006a9: ADD
000006aa: PUSH1 0x40
000006ac: MSTORE
000006ad: RETURNDATASIZE
000006ae: DUP3
000006af: MSTORE
000006b0: RETURNDATASIZE
000006b1: PUSH1 0x00
000006b3: PUSH1 0x20
000006b5: DUP5
000006b6: ADD
000006b7: RETURNDATACOPY
000006b8: PUSH2 0x06c1
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH1 0x60
000006bf: SWAP2
000006c0: POP
000006c1: JUMPDEST
000006c2: POP
000006c3: POP
000006c4: DUP1
000006c5: SWAP2
000006c6: POP
000006c7: POP
000006c8: JUMPDEST
000006c9: DUP1
000006ca: PUSH2 0x06d2
000006cd: JUMPI
000006ce: PUSH1 0x00
000006d0: DUP1
000006d1: REVERT
000006d2: JUMPDEST
000006d3: POP
000006d4: POP
000006d5: POP
000006d6: JUMP
000006d7: JUMPDEST
000006d8: CALLER
000006d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006ee: AND
000006ef: PUSH1 0x00
000006f1: DUP1
000006f2: SLOAD
000006f3: SWAP1
000006f4: PUSH2 0x0100
000006f7: EXP
000006f8: SWAP1
000006f9: DIV
000006fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070f: AND
00000710: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000725: AND
00000726: EQ
00000727: PUSH2 0x072f
0000072a: JUMPI
0000072b: PUSH1 0x00
0000072d: DUP1
0000072e: REVERT
0000072f: JUMPDEST
00000730: DUP1
00000731: PUSH1 0x01
00000733: PUSH1 0x00
00000735: PUSH2 0x0100
00000738: EXP
00000739: DUP2
0000073a: SLOAD
0000073b: DUP2
0000073c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000751: MUL
00000752: NOT
00000753: AND
00000754: SWAP1
00000755: DUP4
00000756: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000076b: AND
0000076c: MUL
0000076d: OR
0000076e: SWAP1
0000076f: SSTORE
00000770: POP
00000771: POP
00000772: JUMP
00000773: JUMPDEST
00000774: CALLER
00000775: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000078a: AND
0000078b: PUSH1 0x00
0000078d: DUP1
0000078e: SLOAD
0000078f: SWAP1
00000790: PUSH2 0x0100
00000793: EXP
00000794: SWAP1
00000795: DIV
00000796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ab: AND
000007ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c1: AND
000007c2: EQ
000007c3: PUSH2 0x07cb
000007c6: JUMPI
000007c7: PUSH1 0x00
000007c9: DUP1
000007ca: REVERT
000007cb: JUMPDEST
000007cc: DUP1
000007cd: PUSH1 0x02
000007cf: DUP2
000007d0: SWAP1
000007d1: SSTORE
000007d2: POP
000007d3: POP
000007d4: JUMP
000007d5: JUMPDEST
000007d6: PUSH1 0x00
000007d8: DUP1
000007d9: REVERT
000007da: JUMPDEST
000007db: PUSH1 0x00
000007dd: DUP1
000007de: REVERT
000007df: JUMPDEST
000007e0: PUSH1 0x00
000007e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f7: DUP3
000007f8: AND
000007f9: SWAP1
000007fa: POP
000007fb: SWAP2
000007fc: SWAP1
000007fd: POP
000007fe: JUMP
000007ff: JUMPDEST
00000800: PUSH1 0x00
00000802: PUSH2 0x080a
00000805: DUP3
00000806: PUSH2 0x07df
00000809: JUMP
0000080a: JUMPDEST
0000080b: SWAP1
0000080c: POP
0000080d: SWAP2
0000080e: SWAP1
0000080f: POP
00000810: JUMP
00000811: JUMPDEST
00000812: PUSH2 0x081a
00000815: DUP2
00000816: PUSH2 0x07ff
00000819: JUMP
0000081a: JUMPDEST
0000081b: DUP2
0000081c: EQ
0000081d: PUSH2 0x0825
00000820: JUMPI
00000821: PUSH1 0x00
00000823: DUP1
00000824: REVERT
00000825: JUMPDEST
00000826: POP
00000827: JUMP
00000828: JUMPDEST
00000829: PUSH1 0x00
0000082b: DUP2
0000082c: CALLDATALOAD
0000082d: SWAP1
0000082e: POP
0000082f: PUSH2 0x0837
00000832: DUP2
00000833: PUSH2 0x0811
00000836: JUMP
00000837: JUMPDEST
00000838: SWAP3
00000839: SWAP2
0000083a: POP
0000083b: POP
0000083c: JUMP
0000083d: JUMPDEST
0000083e: PUSH1 0x00
00000840: PUSH1 0x20
00000842: DUP3
00000843: DUP5
00000844: SUB
00000845: SLT
00000846: ISZERO
00000847: PUSH2 0x0853
0000084a: JUMPI
0000084b: PUSH2 0x0852
0000084e: PUSH2 0x07d5
00000851: JUMP
00000852: JUMPDEST
00000853: JUMPDEST
00000854: PUSH1 0x00
00000856: PUSH2 0x0861
00000859: DUP5
0000085a: DUP3
0000085b: DUP6
0000085c: ADD
0000085d: PUSH2 0x0828
00000860: JUMP
00000861: JUMPDEST
00000862: SWAP2
00000863: POP
00000864: POP
00000865: SWAP3
00000866: SWAP2
00000867: POP
00000868: POP
00000869: JUMP
0000086a: JUMPDEST
0000086b: PUSH1 0x00
0000086d: DUP1
0000086e: REVERT
0000086f: JUMPDEST
00000870: PUSH1 0x00
00000872: DUP1
00000873: REVERT
00000874: JUMPDEST
00000875: PUSH1 0x00
00000877: DUP1
00000878: REVERT
00000879: JUMPDEST
0000087a: PUSH1 0x00
0000087c: DUP1
0000087d: DUP4
0000087e: PUSH1 0x1f
00000880: DUP5
00000881: ADD
00000882: SLT
00000883: PUSH2 0x088f
00000886: JUMPI
00000887: PUSH2 0x088e
0000088a: PUSH2 0x086a
0000088d: JUMP
0000088e: JUMPDEST
0000088f: JUMPDEST
00000890: DUP3
00000891: CALLDATALOAD
00000892: SWAP1
00000893: POP
00000894: PUSH8 0xffffffffffffffff
0000089d: DUP2
0000089e: GT
0000089f: ISZERO
000008a0: PUSH2 0x08ac
000008a3: JUMPI
000008a4: PUSH2 0x08ab
000008a7: PUSH2 0x086f
000008aa: JUMP
000008ab: JUMPDEST
000008ac: JUMPDEST
000008ad: PUSH1 0x20
000008af: DUP4
000008b0: ADD
000008b1: SWAP2
000008b2: POP
000008b3: DUP4
000008b4: PUSH1 0x01
000008b6: DUP3
000008b7: MUL
000008b8: DUP4
000008b9: ADD
000008ba: GT
000008bb: ISZERO
000008bc: PUSH2 0x08c8
000008bf: JUMPI
000008c0: PUSH2 0x08c7
000008c3: PUSH2 0x0874
000008c6: JUMP
000008c7: JUMPDEST
000008c8: JUMPDEST
000008c9: SWAP3
000008ca: POP
000008cb: SWAP3
000008cc: SWAP1
000008cd: POP
000008ce: JUMP
000008cf: JUMPDEST
000008d0: PUSH1 0x00
000008d2: DUP1
000008d3: PUSH1 0x00
000008d5: PUSH1 0x40
000008d7: DUP5
000008d8: DUP7
000008d9: SUB
000008da: SLT
000008db: ISZERO
000008dc: PUSH2 0x08e8
000008df: JUMPI
000008e0: PUSH2 0x08e7
000008e3: PUSH2 0x07d5
000008e6: JUMP
000008e7: JUMPDEST
000008e8: JUMPDEST
000008e9: PUSH1 0x00
000008eb: PUSH2 0x08f6
000008ee: DUP7
000008ef: DUP3
000008f0: DUP8
000008f1: ADD
000008f2: PUSH2 0x0828
000008f5: JUMP
000008f6: JUMPDEST
000008f7: SWAP4
000008f8: POP
000008f9: POP
000008fa: PUSH1 0x20
000008fc: DUP5
000008fd: ADD
000008fe: CALLDATALOAD
000008ff: PUSH8 0xffffffffffffffff
00000908: DUP2
00000909: GT
0000090a: ISZERO
0000090b: PUSH2 0x0917
0000090e: JUMPI
0000090f: PUSH2 0x0916
00000912: PUSH2 0x07da
00000915: JUMP
00000916: JUMPDEST
00000917: JUMPDEST
00000918: PUSH2 0x0923
0000091b: DUP7
0000091c: DUP3
0000091d: DUP8
0000091e: ADD
0000091f: PUSH2 0x0879
00000922: JUMP
00000923: JUMPDEST
00000924: SWAP3
00000925: POP
00000926: SWAP3
00000927: POP
00000928: POP
00000929: SWAP3
0000092a: POP
0000092b: SWAP3
0000092c: POP
0000092d: SWAP3
0000092e: JUMP
0000092f: JUMPDEST
00000930: PUSH1 0x00
00000932: DUP2
00000933: SWAP1
00000934: POP
00000935: SWAP2
00000936: SWAP1
00000937: POP
00000938: JUMP
00000939: JUMPDEST
0000093a: PUSH2 0x0942
0000093d: DUP2
0000093e: PUSH2 0x092f
00000941: JUMP
00000942: JUMPDEST
00000943: DUP2
00000944: EQ
00000945: PUSH2 0x094d
00000948: JUMPI
00000949: PUSH1 0x00
0000094b: DUP1
0000094c: REVERT
0000094d: JUMPDEST
0000094e: POP
0000094f: JUMP
00000950: JUMPDEST
00000951: PUSH1 0x00
00000953: DUP2
00000954: CALLDATALOAD
00000955: SWAP1
00000956: POP
00000957: PUSH2 0x095f
0000095a: DUP2
0000095b: PUSH2 0x0939
0000095e: JUMP
0000095f: JUMPDEST
00000960: SWAP3
00000961: SWAP2
00000962: POP
00000963: POP
00000964: JUMP
00000965: JUMPDEST
00000966: PUSH1 0x00
00000968: PUSH1 0x20
0000096a: DUP3
0000096b: DUP5
0000096c: SUB
0000096d: SLT
0000096e: ISZERO
0000096f: PUSH2 0x097b
00000972: JUMPI
00000973: PUSH2 0x097a
00000976: PUSH2 0x07d5
00000979: JUMP
0000097a: JUMPDEST
0000097b: JUMPDEST
0000097c: PUSH1 0x00
0000097e: PUSH2 0x0989
00000981: DUP5
00000982: DUP3
00000983: DUP6
00000984: ADD
00000985: PUSH2 0x0950
00000988: JUMP
00000989: JUMPDEST
0000098a: SWAP2
0000098b: POP
0000098c: POP
0000098d: SWAP3
0000098e: SWAP2
0000098f: POP
00000990: POP
00000991: JUMP
00000992: JUMPDEST
00000993: PUSH1 0x00
00000995: DUP2
00000996: SWAP1
00000997: POP
00000998: SWAP3
00000999: SWAP2
0000099a: POP
0000099b: POP
0000099c: JUMP
0000099d: JUMPDEST
0000099e: DUP3
0000099f: DUP2
000009a0: DUP4
000009a1: CALLDATACOPY
000009a2: PUSH1 0x00
000009a4: DUP4
000009a5: DUP4
000009a6: ADD
000009a7: MSTORE
000009a8: POP
000009a9: POP
000009aa: POP
000009ab: JUMP
000009ac: JUMPDEST
000009ad: PUSH1 0x00
000009af: PUSH2 0x09b8
000009b2: DUP4
000009b3: DUP6
000009b4: PUSH2 0x0992
000009b7: JUMP
000009b8: JUMPDEST
000009b9: SWAP4
000009ba: POP
000009bb: PUSH2 0x09c5
000009be: DUP4
000009bf: DUP6
000009c0: DUP5
000009c1: PUSH2 0x099d
000009c4: JUMP
000009c5: JUMPDEST
000009c6: DUP3
000009c7: DUP5
000009c8: ADD
000009c9: SWAP1
000009ca: POP
000009cb: SWAP4
000009cc: SWAP3
000009cd: POP
000009ce: POP
000009cf: POP
000009d0: JUMP
000009d1: JUMPDEST
000009d2: PUSH1 0x00
000009d4: PUSH2 0x09de
000009d7: DUP3
000009d8: DUP5
000009d9: DUP7
000009da: PUSH2 0x09ac
000009dd: JUMP
000009de: JUMPDEST
000009df: SWAP2
000009e0: POP
000009e1: DUP2
000009e2: SWAP1
000009e3: POP
000009e4: SWAP4
000009e5: SWAP3
000009e6: POP
000009e7: POP
000009e8: POP
000009e9: JUMP
000009ea: JUMPDEST
000009eb: POP
000009ec: JUMP
000009ed: JUMPDEST
000009ee: PUSH1 0x00
000009f0: PUSH2 0x09fa
000009f3: PUSH1 0x00
000009f5: DUP4
000009f6: PUSH2 0x0992
000009f9: JUMP
000009fa: JUMPDEST
000009fb: SWAP2
000009fc: POP
000009fd: PUSH2 0x0a05
00000a00: DUP3
00000a01: PUSH2 0x09ea
00000a04: JUMP
00000a05: JUMPDEST
00000a06: PUSH1 0x00
00000a08: DUP3
00000a09: ADD
00000a0a: SWAP1
00000a0b: POP
00000a0c: SWAP2
00000a0d: SWAP1
00000a0e: POP
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: PUSH1 0x00
00000a13: PUSH2 0x0a1b
00000a16: DUP3
00000a17: PUSH2 0x09ed
00000a1a: JUMP
00000a1b: JUMPDEST
00000a1c: SWAP2
00000a1d: POP
00000a1e: DUP2
00000a1f: SWAP1
00000a20: POP
00000a21: SWAP2
00000a22: SWAP1
00000a23: POP
00000a24: JUMP
00000a25: INVALID
00000a26: LOG2
00000a27: PUSH5 0x6970667358
00000a2d: UNKNOWN(0x22)
00000a2e: SLT
00000a2f: KECCAK256
00000a30: PUSH9 0xac20280b308c818322
00000a3a: UNKNOWN(0xB4)
00000a3b: UNKNOWN(0xDC)
00000a3c: BALANCE
00000a3d: UNKNOWN(0xC2)
00000a3e: SWAP6
00000a3f: SWAP11
00000a40: SHR
00000a41: CALLDATACOPY
00000a42: UNKNOWN(0xB9)
00000a43: BLOBBASEFEE
00000a44: UNKNOWN(0xB0)
00000a45: LT
00000a46: ORIGIN
00000a47: UNKNOWN(0xA8)
00000a48: UNKNOWN(0xC5)
00000a49: PUSH4 0x79b12742
00000a4e: PUSH0
00000a4f: UNKNOWN(0xEE)
00000a50: PUSH5 0x736f6c6343
00000a56: STOP
00000a57: ADDMOD
00000a58: GT
00000a59: STOP
00000a5a: 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": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22bee494",
            "selector": "0x22bee494",
            "calldata_variants": [
                "0x22bee494",
                "0x22bee4940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x858ced35",
            "selector": "0x858ced35",
            "calldata_variants": [
                "0x858ced35",
                "0x858ced350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x960bfe04",
            "selector": "0x960bfe04",
            "calldata_variants": [
                "0x960bfe04",
                "0x960bfe040000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2630,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77
call_targets: 0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f"
    ],
    "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": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22bee494",
            "selector": "0x22bee494",
            "calldata_variants": [
                "0x22bee494",
                "0x22bee4940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x858ced35",
            "selector": "0x858ced35",
            "calldata_variants": [
                "0x858ced35",
                "0x858ced350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x960bfe04",
            "selector": "0x960bfe04",
            "calldata_variants": [
                "0x960bfe04",
                "0x960bfe040000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 611,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 972,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1117,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 2630,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 5
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77
call_targets: 0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2e8b11e59a52752d584669e379f8e433cdf9d7cb245bbc825700360b6ca71a77",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb16b00b500bff7cd947ce2438c7fadaeaffeb93f"
    ],
    "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": "0x13af4035",
            "selector": "0x13af4035",
            "calldata_variants": [
                "0x13af4035",
                "0x13af40350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22bee494",
            "selector": "0x22bee494",
            "calldata_variants": [
                "0x22bee494",
                "0x22bee4940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ccfd60b",
            "selector": "0x3ccfd60b",
            "calldata_variants": [
                "0x3ccfd60b",
                "0x3ccfd60b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x858ced35",
            "selector": "0x858ced35",
            "calldata_variants": [
                "0x858ced35",
                "0x858ced350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x960bfe04",
            "selector": "0x960bfe04",
            "calldata_variants": [
                "0x960bfe04",
                "0x960bfe040000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 611,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 972,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1117,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": [
        {
            "pc": 2630,
            "type": "tx_origin_used"
        }
    ]
}