Gondi 的 23 万美元 NFT 借贷协议漏洞:缺失调用者检查如何导致 78 个蓝筹 NFT 被盗
一个缺失的权限检查。十七天未被察觉。七十八个蓝筹 NFT——包括 Art Blocks、Doodles 和 Beeple 的作品——从从未发起过交易的钱包中被抽走。2026 年 3 月 9 日发生的 Gondi 漏洞攻击是一场关于“便利功能”如何演变为攻击面的典型案例,也揭示了为什么 NFT 借贷领域面临着同质化代币 DeFi 从未遇到过的安全挑战。
什么是 Gondi,为什么它很重要
Gondi 是一个去中心化的点对点 NFT 借贷协议,允许用户以其 NFT 抵押品借入 WETH、USDC 或 HYPE——无需预言机,没有强制清算,且按比例计息。凭借超过 1 亿美元的总锁仓价值(TVL)、4500 万美元的未偿债务,以及在 150 多个受支持的系列中超过 4 亿美元的年化贷款额,Gondi 已成为该领域最大 的 NFT 流动性市场之一。
该协议引入了诸如即时部分再融资、持续承销和多层借贷等创新功能。其便利功能之一“出售并还款”(Sell & Repay),允许借款人在单笔捆绑交易中出售托管的 NFT 并自动偿还贷款,从而减少了摩擦和 Gas 成本。
正是这项便利功能成为了攻击向量。
漏洞分析
有漏洞的合约
2026 年 2 月 20 日,Gondi 部署了其 Sell & Repay 合约的更新版本。新版本包含了一个专为批量操作设计的“购买捆绑器”(Purchase Bundler)函数。但该函数包含一个致命缺陷:它没有正确验证调用者(msg.sender)是否是正在交易的 NFT 的合法所有者或借款人。
攻击是如何展开的
3 月 9 日——即部署十七天后——一名攻击者发现并利用了这个漏洞:
- 侦察:攻击者扫描了公共区块链数据,寻找那些已向有漏洞的 Gondi 合约授予活动代币授权(Approvals)的钱包。
- 精心构建的调用:攻击者使用自己的钱包调用了 Purchase Bundler 函数,并在其中包含了包含目标 NFT 详细信息的虚假
executionData。 - 绕过授权:由于合约从未检查调用者是否为合法所有者,它将每次调用都视为合法。
- 通过授权转账:合约利用现有的用户授权从受害者的钱包中转移了 NFT,而受害者从未签署过任何新交易。
通过大约 40 笔交易,攻击者将 78 个 NFT 转移到了一个在 Etherscan 上被标记为 “GONDI Exploiter” 的地址。
被盗物品清单
被盗物品包括 NFT 生态系统中最具知名度的一些系列:
- 44 个 Art Blocks 代币——来自以太坊最负盛名的生成艺术系列之一。
- 10 个 Doodles——拥有强大社区支持的蓝筹 PFP 系列。
- 2 件 Beeple “春季系列”(Spring Collection)作品——这位艺术家的作品曾在佳士得拍出 6900 万美元,催化了 NFT 的热潮。
- 22 个以上额外 NFT——来自 SuperRare 和其他高价值系列。
NFT 收藏家 tinoch 估计,仅一名受害者(钱包 0x8d1...47051)就损失了约 55 ETH——约 108,000 美元——占总损失价值的近一半。
为什么现有的审计错过了它
漏洞并不在于 Gondi 的核心借贷逻辑,该逻辑已经过审计和实战测试。它存在于一个外围的“便利”函数中——Purchase Bundler——这是新部署合约的一部分。标准 的审计范围通常集中在核心协议机制:抵押品处理、清算逻辑、利息计算。在初始部署后添加的外围功能往往受到的审查较少,从而产生了攻击者专门针对的盲点。
这种模式极其常见。根据 2024-2025 年的安全数据,访问控制漏洞造成了 9.532 亿美元的记录损失。业务逻辑缺陷——正是 Gondi 漏洞所属的类别——已上升至 OWASP 智能合约漏洞排名的第二位,反映了 DeFi 日益增长的复杂性。
Gondi 的响应:危机管理案例研究
Gondi 在攻击发生后的反应异常迅速且透明,为协议应如何处理安全事件树立了标杆。
立即采取的行动
- 在数小时内识别并停用了有漏洞的 Sell & Repay 合约。
- 确认活动的贷款抵押品未受影响——只有闲置的 NFT(当前不在活动贷款中的 NFT)存在风险。
- 在 Blockaid 和独立审查员进行紧急审计后,于次日恢复了大部分平台运营。
赔偿策略
Gondi 没有简单地提供 ETH 补偿,而是采取了一种更细致的方法:
- 直接追 回:团队在二级市场上追踪被盗的 NFT,识别那些似乎并不知道资产源自漏洞攻击的买家。这些物品正在归还给原所有者。
- 同类替代:对于无法直接追回的 NFT,Gondi 开始利用协议费用从相同系列中购买“同类物品”。正如团队所言:“虽然不是完全相同的作品,但我们相信这是一个公平且有意义的解决方案。”
- 个人协调:团队直接联系了每一位曾与该漏洞合约有过交互的用户,无论他们是否受到影响。
这种方法认可了 NFT 的独特性:与同质化代币不同,每一件作品都有独特的特征。如果收藏家失去了一件特定的 Art Blocks 生成艺术作品或特定的 Doodle,归还“等值”的 ETH 并不能使他们完全恢复。
NFT 借贷生态系统的教训
1. 授权清理至关重要
该漏洞之所以能够被利用,是因为用户对有漏洞的合约拥有活跃的代币授权。这是 DeFi 和 NFT 平台普遍存在的系统性问题:用户经常向智能合约授予无限授权,且从未撤销。
对于用户:应定期使用 Revoke.cash 或 Etherscan 的代币授权检查器等工具,审计并撤销不必要的代币授权。将授权限制在必要的最小金额和期限内。