恶意Nethereum NuGet包使用同形字符手法窃取加密货币钱包密钥
网络安全研究人员发现了一起针对NuGet包管理器的新型供应链攻击,攻击者通过伪造Nethereum(一个流行的以太坊.NET集成平台)的恶意仿冒包来窃取受害者的加密货币钱包密钥。
根据安全公司Socket的分析,名为"Netherеum.All"的软件包被发现具有解码命令与控制(C2)端点并外泄助记词、私钥和密钥库数据的功能。
该库由名为"nethereumgroup"的用户于2025年10月16日上传,四天后因违反服务使用条款而从NuGet下架。
该NuGet包的显著特点是,它将字母"e"的最后一个出现替换为西里尔同形字符"e"(U+0435),以此欺骗毫无戒心的开发者下载。
为了进一步提高软件包的可信度,威胁行为者还采取了人为夸大下载量的手段,声称该包已被下载1170万次——这是一个巨大的危险信号,因为一个全新的库不太可能在短时间内积累如此高的下载量。
安全研究员Kirill Boychenko表示:“威胁行为者可以发布多个版本,然后通过v3 flat-container脚本下载每个.nupkg,或者从云主机循环执行nuget.exe安装和dotnet恢复(使用无缓存选项)。轮换IP和用户代理并并行化请求可以增加数量,同时避免客户端缓存。”
“结果是软件包看起来’很受欢迎’,这提高了按相关性排序的搜索排名,并在开发者浏览数字时给人一种虚假的证明感。”
NuGet包中的主要有效负载位于名为EIP70221TransactionService.Shuffle的函数内,该函数解析XOR编码字符串以提取C2服务器(solananetworkinstance[.]info/api/gads),并将敏感钱包数据外泄给攻击者。
研究发现,该威胁行为者本月早些时候还上传了另一个名为"NethereumNet"的NuGet包,具有相同的欺骗功能。该包已被NuGet安全团队移除。
这不是NuGet存储库中发现的第一个同形字符仿冒包。2024年7月,ReversingLabs记录了多个软件包的详细信息,这些软件包通过用等效字符替换某些元素来冒充合法对应物,以绕过随意检查。
与PyPI、npm、Maven Central、Go Module和RubyGems等其他开源软件包存储库对命名方案强制限制为ASCII字符不同,NuGet除了禁止空格和不安全的URL字符外没有此类限制,这为滥用打开了大门。
为了减轻此类风险,用户应在下载库之前仔细检查,包括验证发布者身份和突然的下载激增,并监控异常网络流量。