事件概述:旧合约成黑客提款机
据MarsBit报道,过去40天内,黑客利用五个已被弃用但仍在链上运行的智能合约,累计盗走近1700万美元。这类合约被称为“僵尸合约”——虽已失去维护支持,却因退役流程不彻底,仍保留资金余额、管理员权限或可调用的public函数,成为黑客锁定攻击的高价值目标。涉及的五个项目包括DxSale、TrustedVolumes、Huma Finance V1、Raydium Legacy AMM和Aztec Connect,覆盖去中心化交易所、借贷协议和隐私方案等多个DeFi领域。
五个僵尸合约的具体影响
每个项目的受攻击细节虽未完全公开,但链上数据可追溯黑客的提现路径:DxSale的旧版代币销售合约仍持有约400万美元的锁定流动性;TrustedVolumes的过期交易验证合约留有可操纵余额的权限;Huma Finance V1的旧借贷池因未完全撤销授权,被提取超过300万美元;Raydium Legacy AMM的废弃资金池仍允许直接调用swap函数;Aztec Connect的旧版本隐私桥合约残存资金约为250万美元。黑客通过组合这些合约的漏洞,在40天内分多次转移资金,最终通过混币器清洗。
为何“僵尸合约”屡禁不止
根本原因在于DeFi项目方对旧合约缺乏系统性退役机制。多数项目在升级或迁移到新版本后,仅通过前端隐藏或公告告知用户停止使用,而非在链上执行彻底的权限收回、资金提空或合约自毁。智能合约一旦部署就无法被删除,但可以通过自毁(selfdestruct)移除代码和存储状态;然而许多团队担心自毁会影响链上历史记录或引发不可逆错误,选择让合约“沉睡”。这反而为黑客保留了可乘之机:只要合约地址仍有ETH余额、继续接收ERC-20代币、或持有未撤销的授权(如approve),攻击者就能利用旧逻辑窃取资产。
行业警示:加强合约退役审计与监控
此次事件再次凸显DeFi安全审计需要覆盖“合约全生命周期”。建议项目方在启动新版本前,执行以下几项标准操作:将旧合约内所有资金提空至安全地址;调用selfdestruct清空代码和存储(若链允许);撤销所有外部合约对该合约的授权(revoke allowance);在前端和区块链浏览器中明确标记合约已废弃。同时,安全监控工具应持续扫描旧合约的余额变动和异常调用,一旦发现可疑交易立即预警。对于用户而言,应及时撤销对已废弃合约的授权,避免因沉睡合约而被盗。
黑客仅用40天就从五个僵尸合约中掠走1700万美元,这一数字在未来可能继续攀升。DeFi行业需将合约退役纳入安全基线,而非事后补救。

