WebKeyDao 黑客分析

本文为机器翻译
展示原文

2025年3月14日,在币安智能链(BSC)上运营的WebKey Dao项目遭受了一次攻击,导致金融损失约737,000美元。本分析深入探讨了攻击的机制,识别了根本原因,并概述了关键的安全启示。

事件概述

日期: 2025年3月14日

平台: 币安智能链(BSC)

攻击者地址:0x3026c464d3bd6ef0ced0d49e80f171b58176ce32

受影响合约(代理): 0xd511096a73292a7419a94354d4c1c73e8a3cd851

实施合约(攻击时):0xc39c54868a4f842b02a99339f4a57a44efc310b8

攻击交易:0xf13d281d4aa95f1aca457bd17f2531581b0ce918c90905d65934c9e67f6ae0ec

攻击机制

攻击者通过利用WebKey Dao合约中配置错误的参数执行了有利可图的套利策略。攻击交易中重复的核心步骤如下:

  1. 购买: 调用 buy 函数,使用USDT以运营商设定的人为低价购买wkeyDao代币。

  2. 接收: 由于 immediateReleaseTokens 值为非零,立即接收购买的wkeyDao代币。

  3. 出售: 在去中心化交易所(如PancakeSwap)上将收到的wkeyDao代币以当前较高的市场价格兑换为USDT或其他资产。

攻击者重复了这个购买-接收-出售循环。例如,对主要攻击交易(0xf13d...ae0ec)的分析显示,攻击者使用了约1,200 USDT的部分资金获取了230个wkeyDao代币,随后以约13,000 USDT的价格出售。通过在交易中重复这种套利,攻击者能够耗尽大量价值,导致总损失约737,000美元。

技术深入:追踪漏洞

我们的调查重点是攻击者如何以明显低于市场的价格获取代币。

  1. 分析 buy 函数: buy 函数根据 currentSaleInfo 存储变量中定义的参数促进代币销售。在攻击时,这包括固定价格(购买捆绑包为1,200 USDT)和 immediateReleaseTokens 的值。当 immediateReleaseTokens 设置为非零值时,合约将在购买时立即将该数量的代币转移给买家。虽然这种机制使攻击成为可能,但该函数根据现有销售参数按其逻辑运行。根本原因并不在于 buy 函数的代码逻辑本身。

  1. 调查currentSaleInfo: 我们追踪了currentSaleInfo变量,特别是immediateReleaseTokens参数的设置方式。修改此数据的主要机制是setSaleInfo函数。

  1. 分析setSaleInfo函数: setSaleInfo函数的逻辑直接,并包含一个重要的访问控制检查:只有指定的合约运营商可以调用它来更新销售参数。该函数本身并不存在固有的漏洞。

  2. 识别前导交易: 对合约历史交互的审查揭示了一个关键交易,由运营商地址在攻击前约120天执行:

    运营商交易: 0xda64c661c80739865c344d57415476c8a9cac4cee8ec51274dcb173939f976df 此交易调用setSaleInfo并配置了currentSaleInfo,使用了攻击者后来利用的完全相同的参数。此交易的解码输入数据(如下所示)清楚地显示了为_price和_immediateReleaseTokens设置的值,这些值创造了漏洞。

根本原因确定

这次攻击的根本原因不是智能合约代码逻辑中的缺陷,而是操作问题。指定的运营商在攻击前很久就通过 setSaleInfo 函数设置了不正确的销售参数(具体来说,是低价格和立即代币释放,如上面的交易数据所示)。这种错误配置创造了一个机会窗口,使攻击者能够以远低于市场价值的价格购买代币。这种错误配置的原因可能从设置期间的人为错误到运营商私钥可能被入侵等不同。

经验教训

这一事件强调了除代码安全外,操作安全的关键重要性:

  1. 参数验证: 在设置销售价格和代币释放计划等关键合约参数时,实施严格的检查和多人验证流程。

  2. 安全密钥管理: 对合约运营商等特权角色采用强大的密钥管理解决方案。考虑使用多方计算(MPC)钱包或安全存储的硬件钱包,以防止单点故障和未经授权的访问。

  3. 定期审计和监控: 尽管代码本身没有缺陷,但定期审查合约状态和参数,并监控运营商的异常行为,可能能够更早地发现此类错误配置。

通过关注安全的操作程序并保护特权账户,去中心化金融项目可以显著降低源于错误配置的攻击风险。

感谢阅读!免费订阅以接收新帖子并支持我的工作。

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论