返回博客

当“安全转账”不再安全:QBridge 安全事件的启示

Code Auditing
2022年1月28日
阅读约 2 分钟

1月28日,QBridge 遭到攻击,约8000万美元的资产被盗。经过分析,我们发现代码中的根本原因是 safeTransfer(以及 safeTransferFrom)函数的实现方式。

根本原因

首先,该项目没有使用主流的 OpenZeppelin SafeERC20 库来进行代币转账。相反,他们自己实现了一个名为 SafeToken 的库。

其次,该实现没有检查目标地址是否为有效合约(或是否为零地址)。

第三,EVM 的底层调用在目标合约为零地址时不会返回 false。 这与开发者的常识相违背。

当然,此次事件还涉及其他原因,例如将零地址加入白名单。然而,如果代码能够正确处理这种特殊情况,它就不会存在漏洞。

顺便提一下:还有其他项目使用了类似的代码。它们可能也容易受到类似的问题影响。

实验

为了证实第三个原因——即当目标合约为零地址时 VM 不会返回 false,我们开发了一个测试合约,如下所示:

执行 TestSafeTransfer.test() 并不会回滚(revert)。

教训与风险缓解措施

我们建议:

  • 除非有非常充分的理由,否则请使用现成的主流库,而不要重复造轮子。
  • 在资产转账前后检查余额,以确保转账的资产数量符合预期。这也能够避免通缩和通胀代币带来的问题。

关于 BlockSec

BlockSec 是一家由多位世界顶尖安全专家于2021年创立的先驱区块链安全公司。公司致力于提升新兴 Web3 世界的安全性和易用性,以促进其大规模应用。为此,BlockSec 提供智能合约和 EVM 链安全审计服务、用于安全开发和主动阻断威胁的 Phalcon 平台、用于资金追踪与调查的 MetaSleuth 平台,以及帮助 Web3 构建者高效探索加密世界的 MetaDock 插件。

迄今为止,公司已服务过 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap 等超过 300 家知名客户,并获得了包括经纬创投(Matrix Partners)、毅峰资本(Vitalbridge Capital)和分布式资本(Fenbushi Capital)在内的顶级投资机构两轮数千万美元的融资。

官方网站:https://blocksec.com/

官方推特账号:https://twitter.com/BlockSecTeam

订阅最新动态
损失约54.2万美元:MakerDaoBot 漏洞利用事件|BlockSec 周报
Security Insights

损失约54.2万美元:MakerDaoBot 漏洞利用事件|BlockSec 周报

本报告涵盖2026/10/05至2026/10/11以太坊上的1起安全事件,估计损失约54.2万美元。攻击合约部署恶意适配器,并将其传入缺乏访问控制的MakerDaoBot函数,使机器人授予该适配器操作其内部MakerDAO余额的权限。适配器结算了4笔旧版ETH-A拍卖,将200单位ETH-A抵押品兑换为WETH;攻击合约随后将其解包,并向攻击者转出200 ETH。

损失约4.18亿美元:Bitget、NEAR Intents遭利用攻击 | BlockSec Weekly
Security Insights

损失约4.18亿美元:Bitget、NEAR Intents遭利用攻击 | BlockSec Weekly

本双周安全报告记录了2026年9月21日至10月4日期间发生的八起事件,涉及以太坊、BNB Chain、Solana、比特币、波场、XRP Ledger、Zcash、Avalanche、NEAR等网络,损失约4.184亿美元。详细分析涵盖Bitget因第三方安全产品漏洞损失3.875亿美元,以及NEAR Intents因退款验证缺陷和状态回滚缺失损失387万美元。

Bitget 3.875亿美元链下漏洞事件:不止于密钥与合约
Security Insights

Bitget 3.875亿美元链下漏洞事件:不止于密钥与合约

2026年9月24日,攻击者利用第三方安全产品漏洞,获取内部凭证并伪造提现指令,导致Bitget部分运营钱包资金转出约3.875亿美元,涉及以太坊、其他EVM网络、XRP Ledger、Zcash和TRON,私钥及冷钱包未受影响。本文梳理事件路径与资金流向,分析资产快速转换及生态恢复应对,提出机构纵深防御体系,并说明授权区块链渗透测试如何验证跨层安全假设。

Web3 最佳安全审计方

在上线之前验证设计、代码与业务逻辑,对标业内最高安全标准。

BlockSec 审计