黑客通过潜入与加密货币Solana配合使用的智能合约应用程序开发人员使用的代码库中安装后门,窃取了高达155,000美元的SOL。
此次供应链攻击的目标是solana-web3.js,这是一组JavaScript代码,由去中心化应用程序的开发人员用来与Solana区块链交互。这些“dapp”允许人们签署智能合约,理论上,当满足某些商定条件时,智能合约可以自主执行两方或多方之间的货币交易。
当直接处理私钥的应用程序集成solana-web3.js版本1.95.6和1.95.7时,后门以代码的形式出现,用于收集私钥和钱包地址。这些带有后门的版本在UTC时间周二下午3:20至晚上8:25之间的5小时内可供下载。
代码库开发公司Anza在GitHub上发布的一条消息称:“这让攻击者可以发布未经授权的恶意程序包,这些程序包经过了修改,从而窃取私钥材料,并从直接处理私钥的dapp(如机器人)中窃取资金。”“这个问题不会影响非托管钱包,因为它们通常不会在交易过程中暴露私钥。”
Anza继续敦促所有Solana应用程序开发人员升级到1.95.8版本,这是目前的最新版本。该公司进一步鼓励怀疑自己可能在攻击中受到攻击的开发人员轮换任何可疑的授权密钥,包括多重签名、程序授权和服务器密钥对。
分叉原始客户端的开发商Solana Labs也在社交媒体上发布了同样的消息。
Solscan.io是追踪涉及Solana区块链交易的几个网站之一,该网站指出,后门代码将窃取的加密货币发送到的钱包地址大约有674.8SOL,这是Solana货币单位。按当前价格计算,这相当于约155,000美元。在社交媒体帖子中,一人声称在黑客攻击中损失了20,000美元,另一人报告损失了未公开数量的数字货币。
Socket是一家帮助检测供应链攻击的安全公司,该公司表示,该后门“被认为是针对Solana维护的官方Web3.js开源库的维护者的社会工程/网络钓鱼攻击的结果”。
安全研究员Christophe Tafani-Dereeper在Bluesky上表示,他对1.95.7版本的分析发现,黑客在库中添加了一个“addToQueue”函数,这导致受影响的与私钥一起使用的应用程序泄露私钥。然后,对添加函数的调用被插入到访问私钥的代码位置。
Tafani-Dereeper指出,sol-rpc.xyz(充当后门的命令和控制服务器的域名)于11月22日通过NameSilo注册商注册。攻击发生时,该域名在Cloudflare内容交付网络后面运行。攻击广为人知后,该网站不再托管在那里。在由Cloudflare托管之前,该域名的IP地址为91.195.240.123。
GitHub咨询数据库发出的消息警告任何可能运行了后门代码的人立即采取行动。
“任何安装或运行此软件包的计算机都应被视为已完全被入侵,”数据库警告道。“该计算机上存储的所有机密和密钥都应立即从另一台计算机轮换。该软件包应被删除,但由于计算机的完全控制权可能已交给外部实体,因此无法保证删除该软件包就能删除安装后产生的所有恶意软件。”