新闻加密货币Injective 因二元期权市场 ID 冲突漏洞被套利 490 万美元

Injective 因二元期权市场 ID 冲突漏洞被套利 490 万美元

作者: Metaverse Post·

要点速览

  • 8 月 31 日,攻击者利用 Injective 二元期权结算漏洞获利约 490 万美元。
  • 攻击使用了 299 个通过无许可机制创建的二元期权市场,配合被配置为永不提供价格的自控预言机,通过自我撮合交易实现双倍提款。
  • 根本原因是生成 market_id 时拼接未加分隔的字段导致市场标识符冲突,使 INJ 保险基金与 USDC 市场的标识符发生碰撞。
  • 验证者将 Injective 链暂停约 3 小时 42 分钟,仅前进一个区块并保留所有已执行交易,而非像 Cronos 在近期事件中那样回滚。
  • 被盗资金被跨链至以太坊,以约 1,980 ETH 归集于地址 0x5a18…69ea;暂停期间 Injective 仍发布营销内容,且未就事件发表公开声明。
Injective 因二元期权市场 ID 冲突漏洞被套利 490 万美元

Injective 是一条专注于去中心化金融的 Layer 1 区块链协议,于 8 月 31 日遭遇攻击,攻击者利用其二元期权结算系统中的一个严重漏洞获利约 490 万美元。二元期权市场——交易者在固定到期日对价格的是/否结果下注——属于无许可交易模块所能提供的结构较为复杂的衍生品之一,因为其结算的正确性依赖于预言机交付、退款逻辑与保险基金账务之间的无缝衔接,不容任何边缘情况。

攻击者系统性滥用无许可的市场创建机制,在 19 小时内创建了 299 个即时二元期权市场,每个市场都由其自控的、被刻意配置为永不提供价格的预言机管理。预言机符号被刻意构造成可触发无价格退款路径,且到期与结算时间戳仅相隔数秒。

A binary-options settlement bug has been exploited on @Injective according to @ErthringPaddy. Attacker bridged ~$4.9M to Ethereum, the funds are unmoved. pic.twitter.com/fwnx6cQajJ — Defimon Alerts (@DefimonAlerts) September 1, 2026

链上分析显示,此次攻击依赖于攻击者自身子账户之间的自我撮合交易。攻击者存入抵押品,以被操纵的价格同时建立多头和空头头寸,并利用退款机制在每轮操作中提取约两倍于存入金额的资金。在一段有记录的操作中,约 105,000 USDC 产生了超过 204,000 USDC 的提款。所得资金随后通过 CCTP 跨链至以太坊,在 Uniswap 上兑换为 ETH,并归集至地址 0x5a18…69ea。截至发稿时,约 1,980 ETH——约合 488 万美元——仍停留在该地址未动。

Injective 链暂停了约 3 小时 42 分钟,从 16:10 UTC 的区块 181,027,006 到 19:52 UTC 的区块 181,027,007。链暂停——由验证者协调停止区块生产来实现——是基于 Cosmos SDK 的网络在遭遇活跃攻击时可用的少数紧急工具之一,但其本身也有代价,Injective 与 Cronos 的不同应对方式正说明了这一点。与近期事件中回滚交易的 Cronos 不同,Injective 在暂停期间仅前进了恰好一个区块,保留了所有已执行的交易。最后一次攻击尝试失败,仅是因为其结算时间戳在严重放缓的区块生产中过期——在验证者介入之前,出块间隔已拉长至约 38 分钟。

Injective halted for ~4 hours today after a binary-options exploit drained multiple assets. In that window, the official @injective account posted twice — both marketing. "ICYMI our AI Agent SDK is live." "Bridge your ETH to Injective." Zero mention of the halt. No "funds are… — Paddy-earthling (@ErthringPaddy) August 31, 2026

技术缺陷与透明度批评

根本原因可追溯至 Injective 核心逻辑中的市场标识符冲突。该协议在生成 market_id 时,将 oracleType、ticker、quoteDenom、oracleSymbol 和 oracleProvider 直接拼接,既无分隔符也无长度前缀。这一哈希方案使攻击者能够创建一个以 INJ 计价的保险基金,其标识符与一个以 USDC 计价的二元期权市场发生冲突。此类标识符冲突是用非结构化拼接字段构建密钥的系统中一类众所周知的缺陷,这也是许多协议采用长度前缀或命名空间分隔标识符的原因。

当结算进入无价格退款路径时,系统尝试使用所挂接的 INJ 基金的原始整数余额来弥补凭空制造的 USDC 缺口。由于代码将极小的 INJ 余额视为足以覆盖以美元计价的短缺,它绕过了对剩余头寸应执行的减记,并允许全额提取人为膨胀的余额。

此次事件再次引发了对 Injective 将其核心链代码库从 GitHub 移除这一决定的审视,该决定此前被解释为减小攻击面。批评者认为,此次攻击证明了“以隐匿求安全”的根本局限:攻击者仅依靠公开的 SDK 文档、截至 1.17.2 版本的旧编译二进制文件以及在线的 Frontrunner 测试网,就以实证方式逆向推导出了该漏洞。与此同时,独立审计者和白帽研究人员却无法获得从源码层面主动发现该缺陷所需的访问权限。这一事件也延续了业界关于闭源链代码的长期争论,与此前关于隐藏源码究竟能否有效阻止有决心的攻击者、还是主要妨碍独立审查的讨论相呼应。

Injective made its core chain code private — injective-core and injective-chain are both gone from GitHub (check for yourself: 404). The stated logic: harder for attackers to find bugs. This exploit is the counterargument. You don't need the source to find this. The attack… — Paddy-earthling (@ErthringPaddy) August 31, 2026

沟通失败进一步加剧了技术层面的 breach。在链暂停期间,Injective 官方社交媒体频道持续发布推广新产品的营销内容,既未承认事件,也未安抚用户。这一做法与 MANTRA 和 Cronos 等近期公开披露服务中断的协议形成鲜明对比。

一个未经验证的智能合约钱包向攻击者发送了提供赏金的链上消息,但 Injective 尚未确认官方参与,发送者身份也仍不明确。截至发稿时,该协议尚未就此次攻击、其对用户的影响或计划的补救措施发布任何公开声明。观察者关注的关键悬念包括:归集在 0x5a18…69ea 的 ETH 是否会转移、是否会随之展开官方赏金或谈判,以及 Injective 是否会披露补丁或恢复源代码公开访问以回应此次事件。