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

Analysis Run

019b3844-baa4-70b8-b95c-8cfd08d97e7a

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
20053 artifact.fetch complete 1 / 3 3 months ago
20054 tool.cast_disasm complete 1 / 3 3 months ago
110178 analysis.bundle complete 1 / 3 1 week ago
110179 capability.graph complete 1 / 3 1 week ago
110180 detector.run complete 1 / 3 1 week ago
110181 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
0
Total opcodes
1123
Flags
delegatecall_present
View cast disassembly output
00000000: ORIGIN
00000001: PUSH1 0xa0
00000003: SWAP1
00000004: DUP2
00000005: MSTORE
00000006: PUSH1 0x20
00000008: PUSH1 0x80
0000000a: DUP2
0000000b: SWAP1
0000000c: MSTORE
0000000d: PUSH1 0xc0
0000000f: PUSH1 0x40
00000011: MSTORE
00000012: SWAP1
00000013: KECCAK256
00000014: PUSH32 0xd1522b039153c83ba773b073fd38de820933fb693efce9427488552827c780e1
00000035: SWAP1
00000036: PUSH32 0x61a2bb1c12820b08ee610266ffd42e79ec9e760a5452858358a827cfbee89c5e
00000057: SWAP1
00000058: PUSH32 0xa5511412d40279231de61dceef2ac5cd561914e61a2cd1cc4f1e23d52f9da42a
00000079: SWAP1
0000007a: PUSH32 0x9e5d44e3ed7df4f7119efd99002bd186136189f5abad7a7ca757d830411763a2
0000009b: ADD
0000009c: PUSH2 0x0384
0000009f: JUMPI
000000a0: PUSH1 0x40
000000a2: DUP1
000000a3: MLOAD
000000a4: CALLER
000000a5: PUSH1 0x20
000000a7: DUP3
000000a8: ADD
000000a9: MSTORE
000000aa: PUSH0
000000ab: SWAP2
000000ac: ADD
000000ad: PUSH1 0x40
000000af: DUP1
000000b0: MLOAD
000000b1: PUSH1 0x1f
000000b3: NOT
000000b4: DUP2
000000b5: DUP5
000000b6: SUB
000000b7: ADD
000000b8: DUP2
000000b9: MSTORE
000000ba: DUP3
000000bb: DUP3
000000bc: MSTORE
000000bd: DUP1
000000be: MLOAD
000000bf: PUSH1 0x20
000000c1: SWAP2
000000c2: DUP3
000000c3: ADD
000000c4: KECCAK256
000000c5: ADDRESS
000000c6: SWAP2
000000c7: DUP5
000000c8: ADD
000000c9: SWAP2
000000ca: SWAP1
000000cb: SWAP2
000000cc: MSTORE
000000cd: SWAP3
000000ce: POP
000000cf: PUSH32 0x1b01ef719aa47e5216473baf767c26c7d91f1a32ad0dcb419299fddc92e0b80f
000000f0: SWAP2
000000f1: ADD
000000f2: PUSH1 0x40
000000f4: MLOAD
000000f5: PUSH1 0x20
000000f7: DUP2
000000f8: DUP4
000000f9: SUB
000000fa: SUB
000000fb: DUP2
000000fc: MSTORE
000000fd: SWAP1
000000fe: PUSH1 0x40
00000100: MSTORE
00000101: DUP1
00000102: MLOAD
00000103: SWAP1
00000104: PUSH1 0x20
00000106: ADD
00000107: KECCAK256
00000108: EQ
00000109: PUSH2 0x0110
0000010c: JUMPI
0000010d: PUSH0
0000010e: PUSH0
0000010f: REVERT
00000110: JUMPDEST
00000111: PUSH1 0x40
00000113: DUP1
00000114: MLOAD
00000115: ORIGIN
00000116: PUSH1 0x20
00000118: DUP3
00000119: ADD
0000011a: MSTORE
0000011b: DUP5
0000011c: SWAP2
0000011d: ADD
0000011e: PUSH1 0x40
00000120: MLOAD
00000121: PUSH1 0x20
00000123: DUP2
00000124: DUP4
00000125: SUB
00000126: SUB
00000127: DUP2
00000128: MSTORE
00000129: SWAP1
0000012a: PUSH1 0x40
0000012c: MSTORE
0000012d: DUP1
0000012e: MLOAD
0000012f: SWAP1
00000130: PUSH1 0x20
00000132: ADD
00000133: KECCAK256
00000134: EQ
00000135: PUSH2 0x013c
00000138: JUMPI
00000139: PUSH0
0000013a: PUSH0
0000013b: REVERT
0000013c: JUMPDEST
0000013d: DUP2
0000013e: DUP2
0000013f: EQ
00000140: DUP1
00000141: PUSH2 0x0149
00000144: JUMPI
00000145: POP
00000146: DUP4
00000147: DUP2
00000148: EQ
00000149: JUMPDEST
0000014a: DUP1
0000014b: PUSH2 0x0153
0000014e: JUMPI
0000014f: POP
00000150: DUP3
00000151: DUP2
00000152: EQ
00000153: JUMPDEST
00000154: ISZERO
00000155: PUSH2 0x0351
00000158: JUMPI
00000159: PUSH1 0x01
0000015b: TLOAD
0000015c: PUSH0
0000015d: DUP1
0000015e: TLOAD
0000015f: SWAP1
00000160: DUP1
00000161: DUP4
00000162: PUSH8 0xffffffffffffffff
0000016b: DUP2
0000016c: GT
0000016d: ISZERO
0000016e: PUSH2 0x0179
00000171: JUMPI
00000172: PUSH2 0x0179
00000175: PUSH2 0x0388
00000178: JUMP
00000179: JUMPDEST
0000017a: PUSH1 0x40
0000017c: MLOAD
0000017d: SWAP1
0000017e: DUP1
0000017f: DUP3
00000180: MSTORE
00000181: DUP1
00000182: PUSH1 0x1f
00000184: ADD
00000185: PUSH1 0x1f
00000187: NOT
00000188: AND
00000189: PUSH1 0x20
0000018b: ADD
0000018c: DUP3
0000018d: ADD
0000018e: PUSH1 0x40
00000190: MSTORE
00000191: DUP1
00000192: ISZERO
00000193: PUSH2 0x01a3
00000196: JUMPI
00000197: PUSH1 0x20
00000199: DUP3
0000019a: ADD
0000019b: DUP2
0000019c: DUP1
0000019d: CALLDATASIZE
0000019e: DUP4
0000019f: CALLDATACOPY
000001a0: ADD
000001a1: SWAP1
000001a2: POP
000001a3: JUMPDEST
000001a4: POP
000001a5: SWAP1
000001a6: POP
000001a7: PUSH1 0x02
000001a9: PUSH1 0x20
000001ab: DUP3
000001ac: ADD
000001ad: DUP6
000001ae: DUP2
000001af: ADD
000001b0: JUMPDEST
000001b1: DUP5
000001b2: DUP4
000001b3: TLOAD
000001b4: XOR
000001b5: DUP3
000001b6: MSTORE
000001b7: PUSH1 0x20
000001b9: DUP3
000001ba: ADD
000001bb: SWAP2
000001bc: POP
000001bd: DUP1
000001be: DUP3
000001bf: GT
000001c0: PUSH2 0x01ce
000001c3: JUMPI
000001c4: PUSH1 0x01
000001c6: DUP4
000001c7: ADD
000001c8: SWAP3
000001c9: POP
000001ca: PUSH2 0x01b0
000001cd: JUMP
000001ce: JUMPDEST
000001cf: POP
000001d0: POP
000001d1: POP
000001d2: PUSH0
000001d3: PUSH0
000001d4: PUSH0
000001d5: DUP4
000001d6: DUP1
000001d7: PUSH1 0x20
000001d9: ADD
000001da: SWAP1
000001db: MLOAD
000001dc: DUP2
000001dd: ADD
000001de: SWAP1
000001df: PUSH2 0x01e8
000001e2: SWAP2
000001e3: SWAP1
000001e4: PUSH2 0x0538
000001e7: JUMP
000001e8: JUMPDEST
000001e9: SWAP2
000001ea: SWAP5
000001eb: POP
000001ec: SWAP3
000001ed: POP
000001ee: SWAP1
000001ef: POP
000001f0: DUP6
000001f1: JUMPDEST
000001f2: DUP4
000001f3: MLOAD
000001f4: DUP2
000001f5: LT
000001f6: ISZERO
000001f7: PUSH2 0x0333
000001fa: JUMPI
000001fb: PUSH1 0x01
000001fd: DUP2
000001fe: ADD
000001ff: PUSH0
00000200: TSTORE
00000201: PUSH0
00000202: DUP5
00000203: DUP3
00000204: DUP2
00000205: MLOAD
00000206: DUP2
00000207: LT
00000208: PUSH2 0x0213
0000020b: JUMPI
0000020c: PUSH2 0x0213
0000020f: PUSH2 0x0633
00000212: JUMP
00000213: JUMPDEST
00000214: PUSH1 0x20
00000216: MUL
00000217: PUSH1 0x20
00000219: ADD
0000021a: ADD
0000021b: MLOAD
0000021c: PUSH1 0x01
0000021e: PUSH1 0x01
00000220: PUSH1 0xa0
00000222: SHL
00000223: SUB
00000224: AND
00000225: DUP5
00000226: DUP4
00000227: DUP2
00000228: MLOAD
00000229: DUP2
0000022a: LT
0000022b: PUSH2 0x0236
0000022e: JUMPI
0000022f: PUSH2 0x0236
00000232: PUSH2 0x0633
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH1 0x20
00000239: MUL
0000023a: PUSH1 0x20
0000023c: ADD
0000023d: ADD
0000023e: MLOAD
0000023f: DUP5
00000240: DUP5
00000241: DUP2
00000242: MLOAD
00000243: DUP2
00000244: LT
00000245: PUSH2 0x0250
00000248: JUMPI
00000249: PUSH2 0x0250
0000024c: PUSH2 0x0633
0000024f: JUMP
00000250: JUMPDEST
00000251: PUSH1 0x20
00000253: MUL
00000254: PUSH1 0x20
00000256: ADD
00000257: ADD
00000258: MLOAD
00000259: PUSH1 0x40
0000025b: MLOAD
0000025c: PUSH2 0x0265
0000025f: SWAP2
00000260: SWAP1
00000261: PUSH2 0x0647
00000264: JUMP
00000265: JUMPDEST
00000266: PUSH0
00000267: PUSH1 0x40
00000269: MLOAD
0000026a: DUP1
0000026b: DUP4
0000026c: SUB
0000026d: DUP2
0000026e: DUP6
0000026f: DUP8
00000270: GAS
00000271: CALL
00000272: SWAP3
00000273: POP
00000274: POP
00000275: POP
00000276: RETURNDATASIZE
00000277: DUP1
00000278: PUSH0
00000279: DUP2
0000027a: EQ
0000027b: PUSH2 0x029f
0000027e: JUMPI
0000027f: PUSH1 0x40
00000281: MLOAD
00000282: SWAP2
00000283: POP
00000284: PUSH1 0x1f
00000286: NOT
00000287: PUSH1 0x3f
00000289: RETURNDATASIZE
0000028a: ADD
0000028b: AND
0000028c: DUP3
0000028d: ADD
0000028e: PUSH1 0x40
00000290: MSTORE
00000291: RETURNDATASIZE
00000292: DUP3
00000293: MSTORE
00000294: RETURNDATASIZE
00000295: PUSH0
00000296: PUSH1 0x20
00000298: DUP5
00000299: ADD
0000029a: RETURNDATACOPY
0000029b: PUSH2 0x02a4
0000029e: JUMP
0000029f: JUMPDEST
000002a0: PUSH1 0x60
000002a2: SWAP2
000002a3: POP
000002a4: JUMPDEST
000002a5: POP
000002a6: POP
000002a7: SWAP1
000002a8: POP
000002a9: DUP1
000002aa: PUSH2 0x02b1
000002ad: JUMPI
000002ae: PUSH0
000002af: PUSH0
000002b0: REVERT
000002b1: JUMPDEST
000002b2: PUSH1 0x40
000002b4: DUP1
000002b5: MLOAD
000002b6: ADDRESS
000002b7: PUSH1 0x20
000002b9: DUP3
000002ba: ADD
000002bb: MSTORE
000002bc: PUSH0
000002bd: TLOAD
000002be: SWAP4
000002bf: POP
000002c0: PUSH32 0x1b01ef719aa47e5216473baf767c26c7d91f1a32ad0dcb419299fddc92e0b80f
000002e1: SWAP2
000002e2: ADD
000002e3: PUSH1 0x40
000002e5: MLOAD
000002e6: PUSH1 0x20
000002e8: DUP2
000002e9: DUP4
000002ea: SUB
000002eb: SUB
000002ec: DUP2
000002ed: MSTORE
000002ee: SWAP1
000002ef: PUSH1 0x40
000002f1: MSTORE
000002f2: DUP1
000002f3: MLOAD
000002f4: SWAP1
000002f5: PUSH1 0x20
000002f7: ADD
000002f8: KECCAK256
000002f9: EQ
000002fa: PUSH2 0x0301
000002fd: JUMPI
000002fe: PUSH0
000002ff: PUSH0
00000300: REVERT
00000301: JUMPDEST
00000302: PUSH1 0x40
00000304: DUP1
00000305: MLOAD
00000306: ORIGIN
00000307: PUSH1 0x20
00000309: DUP3
0000030a: ADD
0000030b: MSTORE
0000030c: DUP14
0000030d: SWAP2
0000030e: ADD
0000030f: PUSH1 0x40
00000311: MLOAD
00000312: PUSH1 0x20
00000314: DUP2
00000315: DUP4
00000316: SUB
00000317: SUB
00000318: DUP2
00000319: MSTORE
0000031a: SWAP1
0000031b: PUSH1 0x40
0000031d: MSTORE
0000031e: DUP1
0000031f: MLOAD
00000320: SWAP1
00000321: PUSH1 0x20
00000323: ADD
00000324: KECCAK256
00000325: EQ
00000326: PUSH2 0x032d
00000329: JUMPI
0000032a: PUSH0
0000032b: PUSH0
0000032c: REVERT
0000032d: JUMPDEST
0000032e: POP
0000032f: PUSH2 0x01f1
00000332: JUMP
00000333: JUMPDEST
00000334: POP
00000335: DUP11
00000336: DUP9
00000337: SUB
00000338: PUSH2 0x034f
0000033b: JUMPI
0000033c: PUSH1 0x40
0000033e: DUP1
0000033f: MLOAD
00000340: PUSH1 0x20
00000342: DUP1
00000343: DUP3
00000344: ADD
00000345: SWAP1
00000346: SWAP3
00000347: MSTORE
00000348: PUSH1 0x01
0000034a: DUP2
0000034b: MSTORE
0000034c: SWAP1
0000034d: DUP2
0000034e: RETURN
0000034f: JUMPDEST
00000350: STOP
00000351: JUMPDEST
00000352: CALLDATASIZE
00000353: PUSH1 0x01
00000355: TSTORE
00000356: PUSH1 0x02
00000358: PUSH0
00000359: JUMPDEST
0000035a: CALLDATASIZE
0000035b: DUP2
0000035c: LT
0000035d: ISZERO
0000035e: PUSH2 0x034f
00000361: JUMPI
00000362: DUP1
00000363: CALLDATALOAD
00000364: DUP3
00000365: TSTORE
00000366: PUSH2 0x0370
00000369: PUSH1 0x01
0000036b: DUP4
0000036c: PUSH2 0x065d
0000036f: JUMP
00000370: JUMPDEST
00000371: SWAP2
00000372: POP
00000373: PUSH2 0x037d
00000376: PUSH1 0x20
00000378: DUP3
00000379: PUSH2 0x065d
0000037c: JUMP
0000037d: JUMPDEST
0000037e: SWAP1
0000037f: POP
00000380: PUSH2 0x0359
00000383: JUMP
00000384: JUMPDEST
00000385: PUSH0
00000386: PUSH0
00000387: REVERT
00000388: JUMPDEST
00000389: PUSH4 0x4e487b71
0000038e: PUSH1 0xe0
00000390: SHL
00000391: PUSH0
00000392: MSTORE
00000393: PUSH1 0x41
00000395: PUSH1 0x04
00000397: MSTORE
00000398: PUSH1 0x24
0000039a: PUSH0
0000039b: REVERT
0000039c: JUMPDEST
0000039d: PUSH1 0x40
0000039f: MLOAD
000003a0: PUSH1 0x1f
000003a2: DUP3
000003a3: ADD
000003a4: PUSH1 0x1f
000003a6: NOT
000003a7: AND
000003a8: DUP2
000003a9: ADD
000003aa: PUSH8 0xffffffffffffffff
000003b3: DUP2
000003b4: GT
000003b5: DUP3
000003b6: DUP3
000003b7: LT
000003b8: OR
000003b9: ISZERO
000003ba: PUSH2 0x03c5
000003bd: JUMPI
000003be: PUSH2 0x03c5
000003c1: PUSH2 0x0388
000003c4: JUMP
000003c5: JUMPDEST
000003c6: PUSH1 0x40
000003c8: MSTORE
000003c9: SWAP2
000003ca: SWAP1
000003cb: POP
000003cc: JUMP
000003cd: JUMPDEST
000003ce: PUSH0
000003cf: PUSH8 0xffffffffffffffff
000003d8: DUP3
000003d9: GT
000003da: ISZERO
000003db: PUSH2 0x03e6
000003de: JUMPI
000003df: PUSH2 0x03e6
000003e2: PUSH2 0x0388
000003e5: JUMP
000003e6: JUMPDEST
000003e7: POP
000003e8: PUSH1 0x05
000003ea: SHL
000003eb: PUSH1 0x20
000003ed: ADD
000003ee: SWAP1
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH0
000003f2: DUP3
000003f3: PUSH1 0x1f
000003f5: DUP4
000003f6: ADD
000003f7: SLT
000003f8: PUSH2 0x03ff
000003fb: JUMPI
000003fc: PUSH0
000003fd: PUSH0
000003fe: REVERT
000003ff: JUMPDEST
00000400: DUP2
00000401: MLOAD
00000402: PUSH2 0x0412
00000405: PUSH2 0x040d
00000408: DUP3
00000409: PUSH2 0x03cd
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH2 0x039c
00000411: JUMP
00000412: JUMPDEST
00000413: DUP1
00000414: DUP3
00000415: DUP3
00000416: MSTORE
00000417: PUSH1 0x20
00000419: DUP3
0000041a: ADD
0000041b: SWAP2
0000041c: POP
0000041d: PUSH1 0x20
0000041f: DUP4
00000420: PUSH1 0x05
00000422: SHL
00000423: DUP7
00000424: ADD
00000425: ADD
00000426: SWAP3
00000427: POP
00000428: DUP6
00000429: DUP4
0000042a: GT
0000042b: ISZERO
0000042c: PUSH2 0x0433
0000042f: JUMPI
00000430: PUSH0
00000431: PUSH0
00000432: REVERT
00000433: JUMPDEST
00000434: PUSH1 0x20
00000436: DUP6
00000437: ADD
00000438: JUMPDEST
00000439: DUP4
0000043a: DUP2
0000043b: LT
0000043c: ISZERO
0000043d: PUSH2 0x0450
00000440: JUMPI
00000441: DUP1
00000442: MLOAD
00000443: DUP4
00000444: MSTORE
00000445: PUSH1 0x20
00000447: SWAP3
00000448: DUP4
00000449: ADD
0000044a: SWAP3
0000044b: ADD
0000044c: PUSH2 0x0438
0000044f: JUMP
00000450: JUMPDEST
00000451: POP
00000452: SWAP6
00000453: SWAP5
00000454: POP
00000455: POP
00000456: POP
00000457: POP
00000458: POP
00000459: JUMP
0000045a: JUMPDEST
0000045b: PUSH0
0000045c: DUP3
0000045d: PUSH1 0x1f
0000045f: DUP4
00000460: ADD
00000461: SLT
00000462: PUSH2 0x0469
00000465: JUMPI
00000466: PUSH0
00000467: PUSH0
00000468: REVERT
00000469: JUMPDEST
0000046a: DUP2
0000046b: MLOAD
0000046c: PUSH2 0x0477
0000046f: PUSH2 0x040d
00000472: DUP3
00000473: PUSH2 0x03cd
00000476: JUMP
00000477: JUMPDEST
00000478: DUP1
00000479: DUP3
0000047a: DUP3
0000047b: MSTORE
0000047c: PUSH1 0x20
0000047e: DUP3
0000047f: ADD
00000480: SWAP2
00000481: POP
00000482: PUSH1 0x20
00000484: DUP4
00000485: PUSH1 0x05
00000487: SHL
00000488: DUP7
00000489: ADD
0000048a: ADD
0000048b: SWAP3
0000048c: POP
0000048d: DUP6
0000048e: DUP4
0000048f: GT
00000490: ISZERO
00000491: PUSH2 0x0498
00000494: JUMPI
00000495: PUSH0
00000496: PUSH0
00000497: REVERT
00000498: JUMPDEST
00000499: PUSH1 0x20
0000049b: DUP6
0000049c: ADD
0000049d: JUMPDEST
0000049e: DUP4
0000049f: DUP2
000004a0: LT
000004a1: ISZERO
000004a2: PUSH2 0x0450
000004a5: JUMPI
000004a6: DUP1
000004a7: MLOAD
000004a8: PUSH8 0xffffffffffffffff
000004b1: DUP2
000004b2: GT
000004b3: ISZERO
000004b4: PUSH2 0x04bb
000004b7: JUMPI
000004b8: PUSH0
000004b9: PUSH0
000004ba: REVERT
000004bb: JUMPDEST
000004bc: DUP7
000004bd: ADD
000004be: PUSH1 0x3f
000004c0: DUP2
000004c1: ADD
000004c2: DUP9
000004c3: SGT
000004c4: PUSH2 0x04cb
000004c7: JUMPI
000004c8: PUSH0
000004c9: PUSH0
000004ca: REVERT
000004cb: JUMPDEST
000004cc: PUSH1 0x20
000004ce: DUP2
000004cf: ADD
000004d0: MLOAD
000004d1: PUSH8 0xffffffffffffffff
000004da: DUP2
000004db: GT
000004dc: ISZERO
000004dd: PUSH2 0x04e8
000004e0: JUMPI
000004e1: PUSH2 0x04e8
000004e4: PUSH2 0x0388
000004e7: JUMP
000004e8: JUMPDEST
000004e9: PUSH2 0x04fb
000004ec: PUSH1 0x1f
000004ee: DUP3
000004ef: ADD
000004f0: PUSH1 0x1f
000004f2: NOT
000004f3: AND
000004f4: PUSH1 0x20
000004f6: ADD
000004f7: PUSH2 0x039c
000004fa: JUMP
000004fb: JUMPDEST
000004fc: DUP2
000004fd: DUP2
000004fe: MSTORE
000004ff: PUSH1 0x40
00000501: DUP4
00000502: DUP4
00000503: ADD
00000504: ADD
00000505: DUP11
00000506: LT
00000507: ISZERO
00000508: PUSH2 0x050f
0000050b: JUMPI
0000050c: PUSH0
0000050d: PUSH0
0000050e: REVERT
0000050f: JUMPDEST
00000510: DUP2
00000511: PUSH1 0x40
00000513: DUP5
00000514: ADD
00000515: PUSH1 0x20
00000517: DUP4
00000518: ADD
00000519: MCOPY
0000051a: PUSH0
0000051b: PUSH1 0x20
0000051d: DUP4
0000051e: DUP4
0000051f: ADD
00000520: ADD
00000521: MSTORE
00000522: DUP1
00000523: DUP7
00000524: MSTORE
00000525: POP
00000526: POP
00000527: POP
00000528: PUSH1 0x20
0000052a: DUP4
0000052b: ADD
0000052c: SWAP3
0000052d: POP
0000052e: PUSH1 0x20
00000530: DUP2
00000531: ADD
00000532: SWAP1
00000533: POP
00000534: PUSH2 0x049d
00000537: JUMP
00000538: JUMPDEST
00000539: PUSH0
0000053a: PUSH0
0000053b: PUSH0
0000053c: PUSH1 0x60
0000053e: DUP5
0000053f: DUP7
00000540: SUB
00000541: SLT
00000542: ISZERO
00000543: PUSH2 0x054a
00000546: JUMPI
00000547: PUSH0
00000548: PUSH0
00000549: REVERT
0000054a: JUMPDEST
0000054b: DUP4
0000054c: MLOAD
0000054d: PUSH8 0xffffffffffffffff
00000556: DUP2
00000557: GT
00000558: ISZERO
00000559: PUSH2 0x0560
0000055c: JUMPI
0000055d: PUSH0
0000055e: PUSH0
0000055f: REVERT
00000560: JUMPDEST
00000561: DUP5
00000562: ADD
00000563: PUSH1 0x1f
00000565: DUP2
00000566: ADD
00000567: DUP7
00000568: SGT
00000569: PUSH2 0x0570
0000056c: JUMPI
0000056d: PUSH0
0000056e: PUSH0
0000056f: REVERT
00000570: JUMPDEST
00000571: DUP1
00000572: MLOAD
00000573: PUSH2 0x057e
00000576: PUSH2 0x040d
00000579: DUP3
0000057a: PUSH2 0x03cd
0000057d: JUMP
0000057e: JUMPDEST
0000057f: DUP1
00000580: DUP3
00000581: DUP3
00000582: MSTORE
00000583: PUSH1 0x20
00000585: DUP3
00000586: ADD
00000587: SWAP2
00000588: POP
00000589: PUSH1 0x20
0000058b: DUP4
0000058c: PUSH1 0x05
0000058e: SHL
0000058f: DUP6
00000590: ADD
00000591: ADD
00000592: SWAP3
00000593: POP
00000594: DUP9
00000595: DUP4
00000596: GT
00000597: ISZERO
00000598: PUSH2 0x059f
0000059b: JUMPI
0000059c: PUSH0
0000059d: PUSH0
0000059e: REVERT
0000059f: JUMPDEST
000005a0: PUSH1 0x20
000005a2: DUP5
000005a3: ADD
000005a4: SWAP4
000005a5: POP
000005a6: JUMPDEST
000005a7: DUP3
000005a8: DUP5
000005a9: LT
000005aa: ISZERO
000005ab: PUSH2 0x05d5
000005ae: JUMPI
000005af: DUP4
000005b0: MLOAD
000005b1: PUSH1 0x01
000005b3: PUSH1 0x01
000005b5: PUSH1 0xa0
000005b7: SHL
000005b8: SUB
000005b9: DUP2
000005ba: AND
000005bb: DUP2
000005bc: EQ
000005bd: PUSH2 0x05c4
000005c0: JUMPI
000005c1: PUSH0
000005c2: PUSH0
000005c3: REVERT
000005c4: JUMPDEST
000005c5: DUP3
000005c6: MSTORE
000005c7: PUSH1 0x20
000005c9: SWAP4
000005ca: DUP5
000005cb: ADD
000005cc: SWAP4
000005cd: SWAP1
000005ce: SWAP2
000005cf: ADD
000005d0: SWAP1
000005d1: PUSH2 0x05a6
000005d4: JUMP
000005d5: JUMPDEST
000005d6: DUP1
000005d7: SWAP7
000005d8: POP
000005d9: POP
000005da: POP
000005db: POP
000005dc: POP
000005dd: PUSH1 0x20
000005df: DUP5
000005e0: ADD
000005e1: MLOAD
000005e2: PUSH8 0xffffffffffffffff
000005eb: DUP2
000005ec: GT
000005ed: ISZERO
000005ee: PUSH2 0x05f5
000005f1: JUMPI
000005f2: PUSH0
000005f3: PUSH0
000005f4: REVERT
000005f5: JUMPDEST
000005f6: PUSH2 0x0601
000005f9: DUP7
000005fa: DUP3
000005fb: DUP8
000005fc: ADD
000005fd: PUSH2 0x03f0
00000600: JUMP
00000601: JUMPDEST
00000602: SWAP3
00000603: POP
00000604: POP
00000605: PUSH1 0x40
00000607: DUP5
00000608: ADD
00000609: MLOAD
0000060a: PUSH8 0xffffffffffffffff
00000613: DUP2
00000614: GT
00000615: ISZERO
00000616: PUSH2 0x061d
00000619: JUMPI
0000061a: PUSH0
0000061b: PUSH0
0000061c: REVERT
0000061d: JUMPDEST
0000061e: PUSH2 0x0629
00000621: DUP7
00000622: DUP3
00000623: DUP8
00000624: ADD
00000625: PUSH2 0x045a
00000628: JUMP
00000629: JUMPDEST
0000062a: SWAP2
0000062b: POP
0000062c: POP
0000062d: SWAP3
0000062e: POP
0000062f: SWAP3
00000630: POP
00000631: SWAP3
00000632: JUMP
00000633: JUMPDEST
00000634: PUSH4 0x4e487b71
00000639: PUSH1 0xe0
0000063b: SHL
0000063c: PUSH0
0000063d: MSTORE
0000063e: PUSH1 0x32
00000640: PUSH1 0x04
00000642: MSTORE
00000643: PUSH1 0x24
00000645: PUSH0
00000646: REVERT
00000647: JUMPDEST
00000648: PUSH0
00000649: DUP3
0000064a: MLOAD
0000064b: DUP1
0000064c: PUSH1 0x20
0000064e: DUP6
0000064f: ADD
00000650: DUP5
00000651: MCOPY
00000652: PUSH0
00000653: SWAP3
00000654: ADD
00000655: SWAP2
00000656: DUP3
00000657: MSTORE
00000658: POP
00000659: SWAP2
0000065a: SWAP1
0000065b: POP
0000065c: JUMP
0000065d: JUMPDEST
0000065e: DUP1
0000065f: DUP3
00000660: ADD
00000661: DUP1
00000662: DUP3
00000663: GT
00000664: ISZERO
00000665: PUSH2 0x067c
00000668: JUMPI
00000669: PUSH4 0x4e487b71
0000066e: PUSH1 0xe0
00000670: SHL
00000671: PUSH0
00000672: MSTORE
00000673: PUSH1 0x11
00000675: PUSH1 0x04
00000677: MSTORE
00000678: PUSH1 0x24
0000067a: PUSH0
0000067b: REVERT
0000067c: JUMPDEST
0000067d: SWAP3
0000067e: SWAP2
0000067f: POP
00000680: POP
00000681: JUMP
00000682: INVALID
00000683: LOG2
00000684: PUSH5 0x6970667358
0000068a: UNKNOWN(0x22)
0000068b: SLT
0000068c: KECCAK256
0000068d: UNKNOWN(0xD7)
0000068e: PUSH27 0xa6ddb219e4a3105568e8cd1e650228d02c647f57f0e4107299a515
000006aa: DELEGATECALL
000006ab: REVERT
000006ac: DUP7
000006ad: PUSH5 0x736f6c6343
000006b3: STOP
000006b4: ADDMOD
000006b5: CLZ
000006b6: STOP
000006b7: 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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 0,
            "type": "tx_origin_used"
        },
        {
            "pc": 277,
            "type": "tx_origin_used"
        },
        {
            "pc": 774,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 10,
    "status": "unknown",
    "attempts": 11,
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1706,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 0,
            "type": "tx_origin_used"
        },
        {
            "pc": 277,
            "type": "tx_origin_used"
        },
        {
            "pc": 774,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xade08a0f20487d9953cd4665acf801c140a822bcdb491e6dae26fd9811b1cbcb
call_targets: 0x3e8e7533dcf69c698cf806c3db22f7f10b9b0b97
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xade08a0f20487d9953cd4665acf801c140a822bcdb491e6dae26fd9811b1cbcb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3e8e7533dcf69c698cf806c3db22f7f10b9b0b97"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 625,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 0,
            "type": "tx_origin_used"
        },
        {
            "pc": 277,
            "type": "tx_origin_used"
        },
        {
            "pc": 774,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xade08a0f20487d9953cd4665acf801c140a822bcdb491e6dae26fd9811b1cbcb
call_targets: 0x3e8e7533dcf69c698cf806c3db22f7f10b9b0b97
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xade08a0f20487d9953cd4665acf801c140a822bcdb491e6dae26fd9811b1cbcb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3e8e7533dcf69c698cf806c3db22f7f10b9b0b97"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 625,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 0,
            "type": "tx_origin_used"
        },
        {
            "pc": 277,
            "type": "tx_origin_used"
        },
        {
            "pc": 774,
            "type": "tx_origin_used"
        }
    ]
}