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

Analysis Run

019b3844-825d-7083-ad1e-017d8fc04afe

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
Untrusted CALL target/value reachable
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
10167 artifact.fetch complete 1 / 3 4 months ago
10168 tool.cast_disasm complete 1 / 3 4 months ago
53532 analysis.bundle complete 1 / 3 2 weeks ago
53533 capability.graph complete 1 / 3 2 weeks ago
53534 detector.run complete 1 / 3 2 weeks ago
53535 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)
7
EXT*/BALANCE
5
Total opcodes
1301
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00ab
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x2e1a7d4d
00000034: EQ
00000035: PUSH2 0x00bc
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x38d52e0f
0000003f: EQ
00000040: PUSH2 0x00ef
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x4b750334
0000004a: EQ
0000004b: PUSH2 0x012d
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x4ca50f59
00000055: EQ
00000056: PUSH2 0x0155
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x8d92fdf3
00000060: EQ
00000061: PUSH2 0x017f
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x8da5cb5b
0000006b: EQ
0000006c: PUSH2 0x01b2
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x976a8435
00000076: EQ
00000077: PUSH2 0x01f0
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x9e281a98
00000081: EQ
00000082: PUSH2 0x0218
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xa6f2ae3a
0000008c: EQ
0000008d: PUSH2 0x0254
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xce5e84a3
00000097: EQ
00000098: PUSH2 0x0263
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xf2fde38b
000000a2: EQ
000000a3: PUSH2 0x0280
000000a6: JUMPI
000000a7: PUSH2 0x00ab
000000aa: JUMP
000000ab: JUMPDEST
000000ac: PUSH2 0x00ba
000000af: JUMPDEST
000000b0: PUSH2 0x00b7
000000b3: PUSH2 0x029d
000000b6: JUMP
000000b7: JUMPDEST
000000b8: JUMPDEST
000000b9: JUMP
000000ba: JUMPDEST
000000bb: STOP
000000bc: JUMPDEST
000000bd: CALLVALUE
000000be: PUSH2 0x0002
000000c1: JUMPI
000000c2: PUSH2 0x00d7
000000c5: PUSH1 0x04
000000c7: DUP1
000000c8: DUP1
000000c9: CALLDATALOAD
000000ca: SWAP1
000000cb: PUSH1 0x20
000000cd: ADD
000000ce: SWAP1
000000cf: SWAP2
000000d0: SWAP1
000000d1: POP
000000d2: POP
000000d3: PUSH2 0x0590
000000d6: JUMP
000000d7: JUMPDEST
000000d8: PUSH1 0x40
000000da: MLOAD
000000db: DUP1
000000dc: DUP3
000000dd: ISZERO
000000de: ISZERO
000000df: DUP2
000000e0: MSTORE
000000e1: PUSH1 0x20
000000e3: ADD
000000e4: SWAP2
000000e5: POP
000000e6: POP
000000e7: PUSH1 0x40
000000e9: MLOAD
000000ea: DUP1
000000eb: SWAP2
000000ec: SUB
000000ed: SWAP1
000000ee: RETURN
000000ef: JUMPDEST
000000f0: CALLVALUE
000000f1: PUSH2 0x0002
000000f4: JUMPI
000000f5: PUSH2 0x0101
000000f8: PUSH1 0x04
000000fa: DUP1
000000fb: POP
000000fc: POP
000000fd: PUSH2 0x06a5
00000100: JUMP
00000101: JUMPDEST
00000102: PUSH1 0x40
00000104: MLOAD
00000105: DUP1
00000106: DUP3
00000107: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000011c: AND
0000011d: DUP2
0000011e: MSTORE
0000011f: PUSH1 0x20
00000121: ADD
00000122: SWAP2
00000123: POP
00000124: POP
00000125: PUSH1 0x40
00000127: MLOAD
00000128: DUP1
00000129: SWAP2
0000012a: SUB
0000012b: SWAP1
0000012c: RETURN
0000012d: JUMPDEST
0000012e: CALLVALUE
0000012f: PUSH2 0x0002
00000132: JUMPI
00000133: PUSH2 0x013f
00000136: PUSH1 0x04
00000138: DUP1
00000139: POP
0000013a: POP
0000013b: PUSH2 0x06cb
0000013e: JUMP
0000013f: JUMPDEST
00000140: PUSH1 0x40
00000142: MLOAD
00000143: DUP1
00000144: DUP3
00000145: DUP2
00000146: MSTORE
00000147: PUSH1 0x20
00000149: ADD
0000014a: SWAP2
0000014b: POP
0000014c: POP
0000014d: PUSH1 0x40
0000014f: MLOAD
00000150: DUP1
00000151: SWAP2
00000152: SUB
00000153: SWAP1
00000154: RETURN
00000155: JUMPDEST
00000156: CALLVALUE
00000157: PUSH2 0x0002
0000015a: JUMPI
0000015b: PUSH2 0x0167
0000015e: PUSH1 0x04
00000160: DUP1
00000161: POP
00000162: POP
00000163: PUSH2 0x06d4
00000166: JUMP
00000167: JUMPDEST
00000168: PUSH1 0x40
0000016a: MLOAD
0000016b: DUP1
0000016c: DUP3
0000016d: ISZERO
0000016e: ISZERO
0000016f: DUP2
00000170: MSTORE
00000171: PUSH1 0x20
00000173: ADD
00000174: SWAP2
00000175: POP
00000176: POP
00000177: PUSH1 0x40
00000179: MLOAD
0000017a: DUP1
0000017b: SWAP2
0000017c: SUB
0000017d: SWAP1
0000017e: RETURN
0000017f: JUMPDEST
00000180: CALLVALUE
00000181: PUSH2 0x0002
00000184: JUMPI
00000185: PUSH2 0x019a
00000188: PUSH1 0x04
0000018a: DUP1
0000018b: DUP1
0000018c: CALLDATALOAD
0000018d: SWAP1
0000018e: PUSH1 0x20
00000190: ADD
00000191: SWAP1
00000192: SWAP2
00000193: SWAP1
00000194: POP
00000195: POP
00000196: PUSH2 0x06e7
00000199: JUMP
0000019a: JUMPDEST
0000019b: PUSH1 0x40
0000019d: MLOAD
0000019e: DUP1
0000019f: DUP3
000001a0: ISZERO
000001a1: ISZERO
000001a2: DUP2
000001a3: MSTORE
000001a4: PUSH1 0x20
000001a6: ADD
000001a7: SWAP2
000001a8: POP
000001a9: POP
000001aa: PUSH1 0x40
000001ac: MLOAD
000001ad: DUP1
000001ae: SWAP2
000001af: SUB
000001b0: SWAP1
000001b1: RETURN
000001b2: JUMPDEST
000001b3: CALLVALUE
000001b4: PUSH2 0x0002
000001b7: JUMPI
000001b8: PUSH2 0x01c4
000001bb: PUSH1 0x04
000001bd: DUP1
000001be: POP
000001bf: POP
000001c0: PUSH2 0x085c
000001c3: JUMP
000001c4: JUMPDEST
000001c5: PUSH1 0x40
000001c7: MLOAD
000001c8: DUP1
000001c9: DUP3
000001ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001df: AND
000001e0: DUP2
000001e1: MSTORE
000001e2: PUSH1 0x20
000001e4: ADD
000001e5: SWAP2
000001e6: POP
000001e7: POP
000001e8: PUSH1 0x40
000001ea: MLOAD
000001eb: DUP1
000001ec: SWAP2
000001ed: SUB
000001ee: SWAP1
000001ef: RETURN
000001f0: JUMPDEST
000001f1: CALLVALUE
000001f2: PUSH2 0x0002
000001f5: JUMPI
000001f6: PUSH2 0x0202
000001f9: PUSH1 0x04
000001fb: DUP1
000001fc: POP
000001fd: POP
000001fe: PUSH2 0x0882
00000201: JUMP
00000202: JUMPDEST
00000203: PUSH1 0x40
00000205: MLOAD
00000206: DUP1
00000207: DUP3
00000208: DUP2
00000209: MSTORE
0000020a: PUSH1 0x20
0000020c: ADD
0000020d: SWAP2
0000020e: POP
0000020f: POP
00000210: PUSH1 0x40
00000212: MLOAD
00000213: DUP1
00000214: SWAP2
00000215: SUB
00000216: SWAP1
00000217: RETURN
00000218: JUMPDEST
00000219: CALLVALUE
0000021a: PUSH2 0x0002
0000021d: JUMPI
0000021e: PUSH2 0x023c
00000221: PUSH1 0x04
00000223: DUP1
00000224: DUP1
00000225: CALLDATALOAD
00000226: SWAP1
00000227: PUSH1 0x20
00000229: ADD
0000022a: SWAP1
0000022b: SWAP2
0000022c: SWAP1
0000022d: DUP1
0000022e: CALLDATALOAD
0000022f: SWAP1
00000230: PUSH1 0x20
00000232: ADD
00000233: SWAP1
00000234: SWAP2
00000235: SWAP1
00000236: POP
00000237: POP
00000238: PUSH2 0x088b
0000023b: JUMP
0000023c: JUMPDEST
0000023d: PUSH1 0x40
0000023f: MLOAD
00000240: DUP1
00000241: DUP3
00000242: ISZERO
00000243: ISZERO
00000244: DUP2
00000245: MSTORE
00000246: PUSH1 0x20
00000248: ADD
00000249: SWAP2
0000024a: POP
0000024b: POP
0000024c: PUSH1 0x40
0000024e: MLOAD
0000024f: DUP1
00000250: SWAP2
00000251: SUB
00000252: SWAP1
00000253: RETURN
00000254: JUMPDEST
00000255: PUSH2 0x0261
00000258: PUSH1 0x04
0000025a: DUP1
0000025b: POP
0000025c: POP
0000025d: PUSH2 0x029d
00000260: JUMP
00000261: JUMPDEST
00000262: STOP
00000263: JUMPDEST
00000264: CALLVALUE
00000265: PUSH2 0x0002
00000268: JUMPI
00000269: PUSH2 0x027e
0000026c: PUSH1 0x04
0000026e: DUP1
0000026f: DUP1
00000270: CALLDATALOAD
00000271: SWAP1
00000272: PUSH1 0x20
00000274: ADD
00000275: SWAP1
00000276: SWAP2
00000277: SWAP1
00000278: POP
00000279: POP
0000027a: PUSH2 0x09df
0000027d: JUMP
0000027e: JUMPDEST
0000027f: STOP
00000280: JUMPDEST
00000281: CALLVALUE
00000282: PUSH2 0x0002
00000285: JUMPI
00000286: PUSH2 0x029b
00000289: PUSH1 0x04
0000028b: DUP1
0000028c: DUP1
0000028d: CALLDATALOAD
0000028e: SWAP1
0000028f: PUSH1 0x20
00000291: ADD
00000292: SWAP1
00000293: SWAP2
00000294: SWAP1
00000295: POP
00000296: POP
00000297: PUSH2 0x0aa0
0000029a: JUMP
0000029b: JUMPDEST
0000029c: STOP
0000029d: JUMPDEST
0000029e: PUSH1 0x00
000002a0: PUSH1 0x00
000002a2: PUSH1 0x00
000002a4: PUSH1 0x04
000002a6: PUSH1 0x00
000002a8: SWAP1
000002a9: SLOAD
000002aa: SWAP1
000002ab: PUSH2 0x0100
000002ae: EXP
000002af: SWAP1
000002b0: DIV
000002b1: PUSH1 0xff
000002b3: AND
000002b4: DUP1
000002b5: PUSH2 0x030b
000002b8: JUMPI
000002b9: POP
000002ba: PUSH1 0x00
000002bc: PUSH1 0x00
000002be: SWAP1
000002bf: SLOAD
000002c0: SWAP1
000002c1: PUSH2 0x0100
000002c4: EXP
000002c5: SWAP1
000002c6: DIV
000002c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002dc: AND
000002dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002f2: AND
000002f3: CALLER
000002f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000309: AND
0000030a: EQ
0000030b: JUMPDEST
0000030c: ISZERO
0000030d: PUSH2 0x0546
00000310: JUMPI
00000311: PUSH1 0x02
00000313: PUSH1 0x00
00000315: POP
00000316: SLOAD
00000317: CALLVALUE
00000318: DUP2
00000319: ISZERO
0000031a: PUSH2 0x0002
0000031d: JUMPI
0000031e: DIV
0000031f: SWAP3
00000320: POP
00000321: PUSH1 0x03
00000323: PUSH1 0x00
00000325: POP
00000326: SLOAD
00000327: PUSH1 0x01
00000329: PUSH1 0x00
0000032b: SWAP1
0000032c: SLOAD
0000032d: SWAP1
0000032e: PUSH2 0x0100
00000331: EXP
00000332: SWAP1
00000333: DIV
00000334: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000349: AND
0000034a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035f: AND
00000360: PUSH4 0x70a08231
00000365: ADDRESS
00000366: PUSH1 0x40
00000368: MLOAD
00000369: DUP3
0000036a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000388: MUL
00000389: DUP2
0000038a: MSTORE
0000038b: PUSH1 0x04
0000038d: ADD
0000038e: DUP1
0000038f: DUP3
00000390: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a5: AND
000003a6: DUP2
000003a7: MSTORE
000003a8: PUSH1 0x20
000003aa: ADD
000003ab: SWAP2
000003ac: POP
000003ad: POP
000003ae: PUSH1 0x20
000003b0: PUSH1 0x40
000003b2: MLOAD
000003b3: DUP1
000003b4: DUP4
000003b5: SUB
000003b6: DUP2
000003b7: PUSH1 0x00
000003b9: DUP8
000003ba: DUP1
000003bb: EXTCODESIZE
000003bc: ISZERO
000003bd: PUSH2 0x0002
000003c0: JUMPI
000003c1: PUSH1 0x32
000003c3: GAS
000003c4: SUB
000003c5: CALL
000003c6: ISZERO
000003c7: PUSH2 0x0002
000003ca: JUMPI
000003cb: POP
000003cc: POP
000003cd: POP
000003ce: PUSH1 0x40
000003d0: MLOAD
000003d1: DUP1
000003d2: MLOAD
000003d3: SWAP1
000003d4: PUSH1 0x20
000003d6: ADD
000003d7: POP
000003d8: DUP2
000003d9: ISZERO
000003da: PUSH2 0x0002
000003dd: JUMPI
000003de: DIV
000003df: SWAP2
000003e0: POP
000003e1: DUP2
000003e2: DUP4
000003e3: GT
000003e4: ISZERO
000003e5: PUSH2 0x043d
000003e8: JUMPI
000003e9: PUSH1 0x02
000003eb: PUSH1 0x00
000003ed: POP
000003ee: SLOAD
000003ef: DUP3
000003f0: MUL
000003f1: CALLVALUE
000003f2: SUB
000003f3: SWAP1
000003f4: POP
000003f5: DUP2
000003f6: SWAP3
000003f7: POP
000003f8: DUP3
000003f9: POP
000003fa: CALLER
000003fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000410: AND
00000411: PUSH2 0x08fc
00000414: DUP3
00000415: SWAP1
00000416: DUP2
00000417: ISZERO
00000418: MUL
00000419: SWAP1
0000041a: PUSH1 0x40
0000041c: MLOAD
0000041d: DUP1
0000041e: SWAP1
0000041f: POP
00000420: PUSH1 0x00
00000422: PUSH1 0x40
00000424: MLOAD
00000425: DUP1
00000426: DUP4
00000427: SUB
00000428: DUP2
00000429: DUP6
0000042a: DUP9
0000042b: DUP9
0000042c: CALL
0000042d: SWAP4
0000042e: POP
0000042f: POP
00000430: POP
00000431: POP
00000432: ISZERO
00000433: ISZERO
00000434: PUSH2 0x043c
00000437: JUMPI
00000438: PUSH2 0x0002
0000043b: JUMP
0000043c: JUMPDEST
0000043d: JUMPDEST
0000043e: PUSH1 0x00
00000440: DUP4
00000441: GT
00000442: ISZERO
00000443: PUSH2 0x0512
00000446: JUMPI
00000447: PUSH1 0x01
00000449: PUSH1 0x00
0000044b: SWAP1
0000044c: SLOAD
0000044d: SWAP1
0000044e: PUSH2 0x0100
00000451: EXP
00000452: SWAP1
00000453: DIV
00000454: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000469: AND
0000046a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000047f: AND
00000480: PUSH4 0xa9059cbb
00000485: CALLER
00000486: PUSH1 0x03
00000488: PUSH1 0x00
0000048a: POP
0000048b: SLOAD
0000048c: DUP7
0000048d: MUL
0000048e: PUSH1 0x40
00000490: MLOAD
00000491: DUP4
00000492: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000004b0: MUL
000004b1: DUP2
000004b2: MSTORE
000004b3: PUSH1 0x04
000004b5: ADD
000004b6: DUP1
000004b7: DUP4
000004b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004cd: AND
000004ce: DUP2
000004cf: MSTORE
000004d0: PUSH1 0x20
000004d2: ADD
000004d3: DUP3
000004d4: DUP2
000004d5: MSTORE
000004d6: PUSH1 0x20
000004d8: ADD
000004d9: SWAP3
000004da: POP
000004db: POP
000004dc: POP
000004dd: PUSH1 0x20
000004df: PUSH1 0x40
000004e1: MLOAD
000004e2: DUP1
000004e3: DUP4
000004e4: SUB
000004e5: DUP2
000004e6: PUSH1 0x00
000004e8: DUP8
000004e9: DUP1
000004ea: EXTCODESIZE
000004eb: ISZERO
000004ec: PUSH2 0x0002
000004ef: JUMPI
000004f0: PUSH1 0x32
000004f2: GAS
000004f3: SUB
000004f4: CALL
000004f5: ISZERO
000004f6: PUSH2 0x0002
000004f9: JUMPI
000004fa: POP
000004fb: POP
000004fc: POP
000004fd: PUSH1 0x40
000004ff: MLOAD
00000500: DUP1
00000501: MLOAD
00000502: SWAP1
00000503: PUSH1 0x20
00000505: ADD
00000506: POP
00000507: ISZERO
00000508: ISZERO
00000509: PUSH2 0x0511
0000050c: JUMPI
0000050d: PUSH2 0x0002
00000510: JUMP
00000511: JUMPDEST
00000512: JUMPDEST
00000513: PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f
00000534: PUSH1 0x40
00000536: MLOAD
00000537: DUP1
00000538: SWAP1
00000539: POP
0000053a: PUSH1 0x40
0000053c: MLOAD
0000053d: DUP1
0000053e: SWAP2
0000053f: SUB
00000540: SWAP1
00000541: LOG1
00000542: PUSH2 0x058a
00000545: JUMP
00000546: JUMPDEST
00000547: CALLER
00000548: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000055d: AND
0000055e: PUSH2 0x08fc
00000561: CALLVALUE
00000562: SWAP1
00000563: DUP2
00000564: ISZERO
00000565: MUL
00000566: SWAP1
00000567: PUSH1 0x40
00000569: MLOAD
0000056a: DUP1
0000056b: SWAP1
0000056c: POP
0000056d: PUSH1 0x00
0000056f: PUSH1 0x40
00000571: MLOAD
00000572: DUP1
00000573: DUP4
00000574: SUB
00000575: DUP2
00000576: DUP6
00000577: DUP9
00000578: DUP9
00000579: CALL
0000057a: SWAP4
0000057b: POP
0000057c: POP
0000057d: POP
0000057e: POP
0000057f: ISZERO
00000580: ISZERO
00000581: PUSH2 0x0589
00000584: JUMPI
00000585: PUSH2 0x0002
00000588: JUMP
00000589: JUMPDEST
0000058a: JUMPDEST
0000058b: JUMPDEST
0000058c: POP
0000058d: POP
0000058e: POP
0000058f: JUMP
00000590: JUMPDEST
00000591: PUSH1 0x00
00000593: PUSH1 0x00
00000595: PUSH1 0x00
00000597: SWAP1
00000598: SLOAD
00000599: SWAP1
0000059a: PUSH2 0x0100
0000059d: EXP
0000059e: SWAP1
0000059f: DIV
000005a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005b5: AND
000005b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005cb: AND
000005cc: CALLER
000005cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005e2: AND
000005e3: EQ
000005e4: ISZERO
000005e5: ISZERO
000005e6: PUSH2 0x05ee
000005e9: JUMPI
000005ea: PUSH2 0x0002
000005ed: JUMP
000005ee: JUMPDEST
000005ef: DUP2
000005f0: ADDRESS
000005f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000606: AND
00000607: BALANCE
00000608: LT
00000609: ISZERO
0000060a: ISZERO
0000060b: PUSH2 0x066f
0000060e: JUMPI
0000060f: PUSH1 0x00
00000611: PUSH1 0x00
00000613: SWAP1
00000614: SLOAD
00000615: SWAP1
00000616: PUSH2 0x0100
00000619: EXP
0000061a: SWAP1
0000061b: DIV
0000061c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000631: AND
00000632: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000647: AND
00000648: PUSH2 0x08fc
0000064b: DUP4
0000064c: SWAP1
0000064d: DUP2
0000064e: ISZERO
0000064f: MUL
00000650: SWAP1
00000651: PUSH1 0x40
00000653: MLOAD
00000654: DUP1
00000655: SWAP1
00000656: POP
00000657: PUSH1 0x00
00000659: PUSH1 0x40
0000065b: MLOAD
0000065c: DUP1
0000065d: DUP4
0000065e: SUB
0000065f: DUP2
00000660: DUP6
00000661: DUP9
00000662: DUP9
00000663: CALL
00000664: SWAP4
00000665: POP
00000666: POP
00000667: POP
00000668: POP
00000669: SWAP1
0000066a: POP
0000066b: PUSH2 0x069f
0000066e: JUMP
0000066f: JUMPDEST
00000670: PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f
00000691: PUSH1 0x40
00000693: MLOAD
00000694: DUP1
00000695: SWAP1
00000696: POP
00000697: PUSH1 0x40
00000699: MLOAD
0000069a: DUP1
0000069b: SWAP2
0000069c: SUB
0000069d: SWAP1
0000069e: LOG1
0000069f: JUMPDEST
000006a0: JUMPDEST
000006a1: SWAP2
000006a2: SWAP1
000006a3: POP
000006a4: JUMP
000006a5: JUMPDEST
000006a6: PUSH1 0x01
000006a8: PUSH1 0x00
000006aa: SWAP1
000006ab: SLOAD
000006ac: SWAP1
000006ad: PUSH2 0x0100
000006b0: EXP
000006b1: SWAP1
000006b2: DIV
000006b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006c8: AND
000006c9: DUP2
000006ca: JUMP
000006cb: JUMPDEST
000006cc: PUSH1 0x02
000006ce: PUSH1 0x00
000006d0: POP
000006d1: SLOAD
000006d2: DUP2
000006d3: JUMP
000006d4: JUMPDEST
000006d5: PUSH1 0x04
000006d7: PUSH1 0x00
000006d9: SWAP1
000006da: SLOAD
000006db: SWAP1
000006dc: PUSH2 0x0100
000006df: EXP
000006e0: SWAP1
000006e1: DIV
000006e2: PUSH1 0xff
000006e4: AND
000006e5: DUP2
000006e6: JUMP
000006e7: JUMPDEST
000006e8: PUSH1 0x00
000006ea: PUSH1 0x00
000006ec: PUSH1 0x00
000006ee: SWAP1
000006ef: SLOAD
000006f0: SWAP1
000006f1: PUSH2 0x0100
000006f4: EXP
000006f5: SWAP1
000006f6: DIV
000006f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070c: AND
0000070d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000722: AND
00000723: CALLER
00000724: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000739: AND
0000073a: EQ
0000073b: ISZERO
0000073c: ISZERO
0000073d: PUSH2 0x0745
00000740: JUMPI
00000741: PUSH2 0x0002
00000744: JUMP
00000745: JUMPDEST
00000746: PUSH1 0x01
00000748: PUSH1 0x00
0000074a: SWAP1
0000074b: SLOAD
0000074c: SWAP1
0000074d: PUSH2 0x0100
00000750: EXP
00000751: SWAP1
00000752: DIV
00000753: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000768: AND
00000769: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000077e: AND
0000077f: PUSH4 0xa9059cbb
00000784: PUSH1 0x00
00000786: PUSH1 0x00
00000788: SWAP1
00000789: SLOAD
0000078a: SWAP1
0000078b: PUSH2 0x0100
0000078e: EXP
0000078f: SWAP1
00000790: DIV
00000791: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007a6: AND
000007a7: DUP5
000007a8: PUSH1 0x40
000007aa: MLOAD
000007ab: DUP4
000007ac: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000007ca: MUL
000007cb: DUP2
000007cc: MSTORE
000007cd: PUSH1 0x04
000007cf: ADD
000007d0: DUP1
000007d1: DUP4
000007d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e7: AND
000007e8: DUP2
000007e9: MSTORE
000007ea: PUSH1 0x20
000007ec: ADD
000007ed: DUP3
000007ee: DUP2
000007ef: MSTORE
000007f0: PUSH1 0x20
000007f2: ADD
000007f3: SWAP3
000007f4: POP
000007f5: POP
000007f6: POP
000007f7: PUSH1 0x20
000007f9: PUSH1 0x40
000007fb: MLOAD
000007fc: DUP1
000007fd: DUP4
000007fe: SUB
000007ff: DUP2
00000800: PUSH1 0x00
00000802: DUP8
00000803: DUP1
00000804: EXTCODESIZE
00000805: ISZERO
00000806: PUSH2 0x0002
00000809: JUMPI
0000080a: PUSH1 0x32
0000080c: GAS
0000080d: SUB
0000080e: CALL
0000080f: ISZERO
00000810: PUSH2 0x0002
00000813: JUMPI
00000814: POP
00000815: POP
00000816: POP
00000817: PUSH1 0x40
00000819: MLOAD
0000081a: DUP1
0000081b: MLOAD
0000081c: SWAP1
0000081d: PUSH1 0x20
0000081f: ADD
00000820: POP
00000821: SWAP1
00000822: POP
00000823: PUSH2 0x0856
00000826: JUMP
00000827: PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f
00000848: PUSH1 0x40
0000084a: MLOAD
0000084b: DUP1
0000084c: SWAP1
0000084d: POP
0000084e: PUSH1 0x40
00000850: MLOAD
00000851: DUP1
00000852: SWAP2
00000853: SUB
00000854: SWAP1
00000855: LOG1
00000856: JUMPDEST
00000857: JUMPDEST
00000858: SWAP2
00000859: SWAP1
0000085a: POP
0000085b: JUMP
0000085c: JUMPDEST
0000085d: PUSH1 0x00
0000085f: PUSH1 0x00
00000861: SWAP1
00000862: SLOAD
00000863: SWAP1
00000864: PUSH2 0x0100
00000867: EXP
00000868: SWAP1
00000869: DIV
0000086a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000087f: AND
00000880: DUP2
00000881: JUMP
00000882: JUMPDEST
00000883: PUSH1 0x03
00000885: PUSH1 0x00
00000887: POP
00000888: SLOAD
00000889: DUP2
0000088a: JUMP
0000088b: JUMPDEST
0000088c: PUSH1 0x00
0000088e: PUSH1 0x00
00000890: PUSH1 0x00
00000892: SWAP1
00000893: SLOAD
00000894: SWAP1
00000895: PUSH2 0x0100
00000898: EXP
00000899: SWAP1
0000089a: DIV
0000089b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b0: AND
000008b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c6: AND
000008c7: CALLER
000008c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008dd: AND
000008de: EQ
000008df: ISZERO
000008e0: ISZERO
000008e1: PUSH2 0x08e9
000008e4: JUMPI
000008e5: PUSH2 0x0002
000008e8: JUMP
000008e9: JUMPDEST
000008ea: DUP3
000008eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000900: AND
00000901: PUSH4 0xa9059cbb
00000906: PUSH1 0x00
00000908: PUSH1 0x00
0000090a: SWAP1
0000090b: SLOAD
0000090c: SWAP1
0000090d: PUSH2 0x0100
00000910: EXP
00000911: SWAP1
00000912: DIV
00000913: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000928: AND
00000929: DUP5
0000092a: PUSH1 0x40
0000092c: MLOAD
0000092d: DUP4
0000092e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000094c: MUL
0000094d: DUP2
0000094e: MSTORE
0000094f: PUSH1 0x04
00000951: ADD
00000952: DUP1
00000953: DUP4
00000954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000969: AND
0000096a: DUP2
0000096b: MSTORE
0000096c: PUSH1 0x20
0000096e: ADD
0000096f: DUP3
00000970: DUP2
00000971: MSTORE
00000972: PUSH1 0x20
00000974: ADD
00000975: SWAP3
00000976: POP
00000977: POP
00000978: POP
00000979: PUSH1 0x20
0000097b: PUSH1 0x40
0000097d: MLOAD
0000097e: DUP1
0000097f: DUP4
00000980: SUB
00000981: DUP2
00000982: PUSH1 0x00
00000984: DUP8
00000985: DUP1
00000986: EXTCODESIZE
00000987: ISZERO
00000988: PUSH2 0x0002
0000098b: JUMPI
0000098c: PUSH1 0x32
0000098e: GAS
0000098f: SUB
00000990: CALL
00000991: ISZERO
00000992: PUSH2 0x0002
00000995: JUMPI
00000996: POP
00000997: POP
00000998: POP
00000999: PUSH1 0x40
0000099b: MLOAD
0000099c: DUP1
0000099d: MLOAD
0000099e: SWAP1
0000099f: PUSH1 0x20
000009a1: ADD
000009a2: POP
000009a3: SWAP1
000009a4: POP
000009a5: PUSH2 0x09d8
000009a8: JUMP
000009a9: PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f
000009ca: PUSH1 0x40
000009cc: MLOAD
000009cd: DUP1
000009ce: SWAP1
000009cf: POP
000009d0: PUSH1 0x40
000009d2: MLOAD
000009d3: DUP1
000009d4: SWAP2
000009d5: SUB
000009d6: SWAP1
000009d7: LOG1
000009d8: JUMPDEST
000009d9: JUMPDEST
000009da: SWAP3
000009db: SWAP2
000009dc: POP
000009dd: POP
000009de: JUMP
000009df: JUMPDEST
000009e0: PUSH1 0x00
000009e2: PUSH1 0x00
000009e4: SWAP1
000009e5: SLOAD
000009e6: SWAP1
000009e7: PUSH2 0x0100
000009ea: EXP
000009eb: SWAP1
000009ec: DIV
000009ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a02: AND
00000a03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a18: AND
00000a19: CALLER
00000a1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a2f: AND
00000a30: EQ
00000a31: ISZERO
00000a32: ISZERO
00000a33: PUSH2 0x0a3b
00000a36: JUMPI
00000a37: PUSH2 0x0002
00000a3a: JUMP
00000a3b: JUMPDEST
00000a3c: DUP1
00000a3d: PUSH1 0x04
00000a3f: PUSH1 0x00
00000a41: PUSH2 0x0100
00000a44: EXP
00000a45: DUP2
00000a46: SLOAD
00000a47: DUP2
00000a48: PUSH1 0xff
00000a4a: MUL
00000a4b: NOT
00000a4c: AND
00000a4d: SWAP1
00000a4e: DUP4
00000a4f: MUL
00000a50: OR
00000a51: SWAP1
00000a52: SSTORE
00000a53: POP
00000a54: PUSH32 0xce78b7525a161aee9986871a8dcad7e2783f9a4d66383783243cf14ec7086f85
00000a75: PUSH1 0x04
00000a77: PUSH1 0x00
00000a79: SWAP1
00000a7a: SLOAD
00000a7b: SWAP1
00000a7c: PUSH2 0x0100
00000a7f: EXP
00000a80: SWAP1
00000a81: DIV
00000a82: PUSH1 0xff
00000a84: AND
00000a85: PUSH1 0x40
00000a87: MLOAD
00000a88: DUP1
00000a89: DUP3
00000a8a: ISZERO
00000a8b: ISZERO
00000a8c: DUP2
00000a8d: MSTORE
00000a8e: PUSH1 0x20
00000a90: ADD
00000a91: SWAP2
00000a92: POP
00000a93: POP
00000a94: PUSH1 0x40
00000a96: MLOAD
00000a97: DUP1
00000a98: SWAP2
00000a99: SUB
00000a9a: SWAP1
00000a9b: LOG1
00000a9c: JUMPDEST
00000a9d: JUMPDEST
00000a9e: POP
00000a9f: JUMP
00000aa0: JUMPDEST
00000aa1: PUSH1 0x00
00000aa3: PUSH1 0x00
00000aa5: SWAP1
00000aa6: SLOAD
00000aa7: SWAP1
00000aa8: PUSH2 0x0100
00000aab: EXP
00000aac: SWAP1
00000aad: DIV
00000aae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ac3: AND
00000ac4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ad9: AND
00000ada: CALLER
00000adb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af0: AND
00000af1: EQ
00000af2: ISZERO
00000af3: ISZERO
00000af4: PUSH2 0x0afc
00000af7: JUMPI
00000af8: PUSH2 0x0002
00000afb: JUMP
00000afc: JUMPDEST
00000afd: DUP1
00000afe: PUSH1 0x00
00000b00: PUSH1 0x00
00000b02: PUSH2 0x0100
00000b05: EXP
00000b06: DUP2
00000b07: SLOAD
00000b08: DUP2
00000b09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b1e: MUL
00000b1f: NOT
00000b20: AND
00000b21: SWAP1
00000b22: DUP4
00000b23: MUL
00000b24: OR
00000b25: SWAP1
00000b26: SSTORE
00000b27: POP
00000b28: JUMPDEST
00000b29: JUMPDEST
00000b2a: POP
00000b2b: JUMP
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
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x8fa16e32044277d6518846a2f5f9fc738306109f2d64b7b3dcfad74855d1c6bb
call_targets: 0xda6a9f2ef6c7173db919babffea5d9cedc057e0b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8fa16e32044277d6518846a2f5f9fc738306109f2d64b7b3dcfad74855d1c6bb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xda6a9f2ef6c7173db919babffea5d9cedc057e0b"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x38d52e0f",
            "selector": "0x38d52e0f",
            "calldata_variants": [
                "0x38d52e0f",
                "0x38d52e0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b750334",
            "selector": "0x4b750334",
            "calldata_variants": [
                "0x4b750334",
                "0x4b7503340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4ca50f59",
            "selector": "0x4ca50f59",
            "calldata_variants": [
                "0x4ca50f59",
                "0x4ca50f590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d92fdf3",
            "selector": "0x8d92fdf3",
            "calldata_variants": [
                "0x8d92fdf3",
                "0x8d92fdf30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x976a8435",
            "selector": "0x976a8435",
            "calldata_variants": [
                "0x976a8435",
                "0x976a84350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e281a98",
            "selector": "0x9e281a98",
            "calldata_variants": [
                "0x9e281a98",
                "0x9e281a980000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 965,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1068,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1268,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [
        {
            "pc": 755,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1484,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1827,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2247,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2585,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2778,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 7
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x8fa16e32044277d6518846a2f5f9fc738306109f2d64b7b3dcfad74855d1c6bb
call_targets: 0xda6a9f2ef6c7173db919babffea5d9cedc057e0b
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8fa16e32044277d6518846a2f5f9fc738306109f2d64b7b3dcfad74855d1c6bb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xda6a9f2ef6c7173db919babffea5d9cedc057e0b"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x38d52e0f",
            "selector": "0x38d52e0f",
            "calldata_variants": [
                "0x38d52e0f",
                "0x38d52e0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4b750334",
            "selector": "0x4b750334",
            "calldata_variants": [
                "0x4b750334",
                "0x4b7503340000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4ca50f59",
            "selector": "0x4ca50f59",
            "calldata_variants": [
                "0x4ca50f59",
                "0x4ca50f590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8d92fdf3",
            "selector": "0x8d92fdf3",
            "calldata_variants": [
                "0x8d92fdf3",
                "0x8d92fdf30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x976a8435",
            "selector": "0x976a8435",
            "calldata_variants": [
                "0x976a8435",
                "0x976a84350000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e281a98",
            "selector": "0x9e281a98",
            "calldata_variants": [
                "0x9e281a98",
                "0x9e281a980000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 965,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1068,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1268,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": [
        {
            "pc": 755,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1484,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 1827,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2247,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2585,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2778,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}