事件回顾:五个僵尸合约成黑客提款机
据MarsBit报道,过去40天内,黑客利用五个已被弃用但仍在链上运行的智能合约盗走近1700万美元。这些合约分别来自DxSale、TrustedVolumes、Huma Finance V1、Raydium Legacy AMM和Aztec Connect。攻击者通过调用这些旧合约中未彻底关闭的权限或资金提取功能,成功将资金转移。值得注意的是,这些合约在被弃用后仍保留着链上状态,且部分合约仍持有原生代币或授权额度,成为高价值目标。
“僵尸合约”的成因与风险
“僵尸合约”指那些已被项目方放弃、不再维护,但由于未完全销毁或撤销权限,仍能在链上被调用的智能合约。其成因通常包括:项目升级后未彻底迁移旧合约中的资金;未撤销合约中的管理员权限;代币授权未回收;合约自毁函数未执行等。这类合约在DeFi生态中普遍存在,因为许多项目在版本迭代时仅通过代理模式或迁移前端来“隐藏”旧合约,而非从链上彻底移除。攻击者便利用这种残留权限进行“借尸还魂”式攻击,直接提取合约余额或调用授权转账。
此次事件中涉及的五个合约均属于此类。以Raydium Legacy AMM为例,旧版AMM合约被新版本取代后,残留的流动性池仍持有约400万美元的代币,且合约未设置owner权限的撤销,黑客直接调用withdraw函数即可取走资金。同样,Huma Finance V1的旧贷款合约仍保存着部分抵押品,且未停止贷款流程,攻击者利用旧合约的未过期签名验证功能发起恶意清算。
对DeFi项目的警示与防范建议
这一系列攻击暴露了DeFi项目在智能合约生命周期管理上的系统性缺陷。首先,项目方应在合约退役时执行“自毁”操作(如Solidity中的selfdestruct),或至少将合约内资金转移、权限撤销、关键函数暂停。其次,建议建立合约退役清单制度:关闭所有外部调用入口;回收所有授权(ERC20 approve);冻结合约内代币转移;永久关闭管理员权限。此外,用户也应定期检查自己交互过的合约地址是否有未回收的授权,避免因僵尸合约被攻击而导致个人资产受损。最后,链上监控工具应将僵尸合约状态变化纳入预警范围,帮助安全团队及时发现异常提款行为。
值得庆幸的是,此次攻击的五个项目中,部分团队已及时介入并修复了剩余漏洞,但仍有数百个僵尸合约暴露在风险中。据安全公司统计,当前以太坊主网上仍有超过3万个未彻底停用的旧合约,其中约12%仍持有总价值超过5000万美元的代币或NFT。这无疑为黑客提供了持续的“提弹药”窗口。

