ASI Alliance 生态连环攻击事件分析及被盗资金追踪

作者:Beosin 发布:2026-09-22 23:50 收录:2026-09-23 00:33 4 次阅读 约 1196 字

9月20-21日,Fetch.ai、NuNet及SingularityNET相继受到同一攻击者的攻击。攻击者首先利用泄露的私钥和合约设计缺陷从Fetch.ai的TokenConversionManagerV3合约中提取了870万枚FET,随后利用NuNet的铸币权限增发了4.085亿枚NTX代币,最后通过SingularityNET跨链桥在以太坊上铸造了约8.96亿枚AGIX、5.005亿枚WMTx以及4.924亿枚CGV。


目前,这起事件造成的直接损失约225万美元,攻击者还持有名义价值约1650万美元的新铸代币。Beosin对本次连环攻击的分析如下:

 

一、攻击流程分析


第一阶段:FET 代币转换合约被清空


攻击的起点是Fetch.ai的TokenConversionManagerV3合约。除私钥泄露外,该合约的conversionIn()函数还存在一个关键的设计缺陷:


function conversionIn(        address to,         uint256 amount,         bytes32 conversionId,         uint8 v,         bytes32 r,         bytes32 s    )        external        notZeroAddress(to)    {        // Check for non zero value for the amount is not needed as the Signature will not be generated for zero amount        // Compose the message which was signed        bytes32 message = prefixed(            keccak256(                abi.encodePacked(                    "__conversionIn",                    amount,                     _msgSender(),                     conversionId,                     this                )            )        );        // Check that the signature is from the authorizer        if (ecrecover(message, v, r, s) != _conversionAuthorizer)            revert InvalidRequestOrSignature();        // Check for replay attack (message signature can be used only once)        if (_usedSignatures[message])            revert UsedSignature();        _usedSignatures[message] = true;        // check for available token on contract        if (getConverterBalance() < amount)            revert InsufficientConverterBalance();        IERC20(TOKEN).transfer(to, amount);        emit ConversionIn(to, conversionId, amount);    }

该函数仅依赖单一外部账户(EOA)的签名作为授权凭证。该函数既未实现conversionOut()中存在的checkLimits(amount)限额控制机制,也未要求验证目标资产是否在另一网络完成了锁定或销毁。因此只要签名密钥泄露,合约内的全部资产便毫无缓冲地暴露在风险之下。


攻击者利用这一缺陷,使用泄露的授权签名调用conversionIn(),一笔交易清空了转换器合约中剩余的8,721,530枚FET。


第二阶段:NTX 代币被大量增发


攻击者获得NuNet部署者账户(0x863F13e5B505f1Eb17803b94EC9d3DaF80092165)的权限,新铸造了4.085亿枚NTX代币。此次未授权增发将代币流通量推至10亿枚的上限。


第三阶段:跨链桥权限被滥用


随后,攻击范围进一步扩大至SingularityNET的跨链桥。攻击者利用该桥接基础设施的授权漏洞,在以太坊网络先铸造了约2.6亿枚AGIX和5383.8万枚WMTx。


后续由SingularityNET官方统计,攻击者总共铸造了约8.96亿枚AGIX、5.005亿枚WMTx以及4.924亿枚CGV,累计涉及约23亿枚代币。具体情况如下所示:


二、被盗资金追踪

本次安全事件的攻击者地址为0x1572F2af7696b39c85E3221CDE8EFb640F86c362;被盗资金接收地址为0x2dcc1085fDCf418B421E45e86e4e54637cc21dfE。

通过链上追踪调查平台Beosin Trace对被盗资金流向进行分析,结果如下:


地址0x2dcc1在收到被盗及增发的代币后,通过DEX将其兑换成ETH,累计完成兑换 613.69 ETH,随后向地址0xca14a4b02232cd13b32cc59a5a7e422b81f93410和地址0xc5e7cb519c8f83e57763fb415a1d8024aa5f51bd分别转移了 100 ETH,然后通过Chainflip和代理合约(0x3E0c50C67442724d6352ffFD4f91BF9102520528)完成资金清洗。

加上此前上游地址发送的ETH,目前总共约 433 ETH仍存放在地址0x2dcc1中,Beosin Trace将持续监控所有被盗资金动态。

三、安全建议


这起连环攻击事件发生在ASI Alliance生态(Fetch.ai、NuNet、SingularityNET)之中,暴露了去中心化AI基础设施在安全实践上的一个重大缺陷,即项目在追求协议间的互操作性和生态协同,但私钥及其它关键凭证的管理却未能达到安全标准。

从Beosin统计分析的安全数据来看,Web3领域攻击者的目标正在从智能合约代码漏洞转向人、密钥和运营流程。这些环节的防御往往更加薄弱,但一旦失守,危害范围更广。对于任何依赖特权签名或铸币权限的协议而言,单一EOA签名不应成为保护大量资产或关键权限的唯一屏障。多签架构、时间锁、角色分离、以及跨项目间的密钥隔离,应成为项目安全的最低要求。

Beosin是一家领先的区块链安全与监管合规科技公司,专注于项目上线前的智能合约安全审计、项目运行时的安全风险监控与阻断、被盗追回、虚拟资产反洗钱(AML)以及调查追踪。Beosin已为全球20多个国家和地区的监管与执法机构、200多家虚拟资产服务商以及4500多家Web3项目提供“一站式”区块链合规产品+安全服务。欢迎点击公众号留言框,与我们联系。
































转载声明:本文转载自原发布平台 (作者:Beosin), 原文标题《ASI Alliance 生态连环攻击事件分析及被盗资金追踪》, 查看原文。 版权归原作者及原发布平台所有,本站仅作收录与展示,未对正文内容作实质性修改; 若涉及侵权请联系本站处理。