过去40天内,黑客利用五个已被弃用但仍在链上运行的智能合约,盗走了近1700万美元的加密资产。这些被称为“僵尸合约”的旧合约因退役不彻底,仍保留资金、权限或可调用入口,成为高价值攻击目标。涉及的项目包括DxSale、TrustedVolumes、Huma Finance V1、Raydium Legacy AMM和Aztec Connect等多个DeFi协议,暴露出行业在合约生命周期管理上的严重缺失。
什么是僵尸合约?
“僵尸合约”指的是那些已被项目方弃用、不再维护,但由于种种原因仍然在链上存在且可以被交互的智能合约。常见情况包括:旧版本合约未彻底失效、管理员权限未撤销、合约中仍有锁定的流动性或未提取的费用等。这些合约虽然不再被官方使用,但代码逻辑和潜在漏洞依然存在,且往往缺乏安全监控,因此成为黑客眼中的“软柿子”。过去半年,区块链安全公司已多次发出警告,但部分项目方仍未采取有效措施。
被攻击的五个项目
本次攻击事件涉及五个知名项目的旧合约:DxSale(代币销售平台)、TrustedVolumes(交易量机器人)、Huma Finance V1(信贷协议)、Raydium Legacy AMM(Solana上的去中心化交易所)以及Aztec Connect(隐私转账协议)。这些合约在被弃用后,仍保留着大量的资金或关键权限。黑客通过精心构造的交易,绕过了原有的安全检查,直接提取了资产。值得注意的是,这些合约分散在不同公链和协议中,表明黑客是有针对性地搜索遗留合约,而非随机攻击。
攻击手法分析
根据安全团队的初步分析,黑客主要利用了以下方式:一是利用旧合约中未撤销的withdraw或transfer函数,直接提取资金;二是通过旧合约的升级漏洞或权限漏洞,重新获得控制权;三是利用跨合约调用,通过旧合约作为跳板攻击其他仍在运作的协议。部分合约被弃用已经超过一年,但从未经过安全审计或主动停用,导致这些“后门”长期存在。
行业教训与防范建议
这一系列攻击再次提醒DeFi项目方:合约退役必须彻底。建议采取以下措施:1)调用selfdestruct或sweep清空合约余额;2)撤销所有管理员权限,设置为零地址;3)在链上明确标记合约状态,阻止用户交互;4)定期扫描历史合约,及时处理僵尸合约。对用户而言,在与旧版本合约交互前应仔细确认其安全性,避免被钓鱼。安全审计机构也应将退役合约纳入常规检查范围。
截至发稿,被盗资金部分已通过混币器转移,很难追回。此次事件也引发了对DeFi安全审计标准的重新讨论,尤其是针对退役合约的审计要求。业内专家呼吁建立统一的“僵尸合约”黑名单机制,帮助用户和协议规避风险。未来,合约生命周期的规范化管理将成为DeFi安全的重要防线。

