Socket 研究团队最近的一份报告揭露了针对使用流行的 @typescript-eslint/eslint-plugin 的开发人员的复杂错别字抢注攻击。
合法的 @typescript-eslint/eslint-plugin 是 TypeScript 开发的基石,每周下载量超过 300 万次,在 CI/CD 管道中得到广泛采用。攻击者于 2023 年 11 月 17 日发布了一个名为 @typescript_eslinter/eslint 的恶意软件包。攻击者于 2023 年 11 月 17 日发布了恶意软件包 @typescript_eslinter/eslint,该软件包模仿合法插件的名称,并进行了细微的改动,以欺骗开发人员。
报告指出:“利用开源生态系统中的信任是威胁行为者的主要手段,他们利用错别字抢注渗透开发环境并获得未经授权的访问权限。”攻击者在两周内发布了 43 个版本的软件包,这一策略旨在躲避自动工具的检测。虽然恶意软件包已于 12 月 1 日从 npm 中删除,但其影响是深远的。
该恶意软件包实施了多方面的攻击链:
剪贴板和键盘监控: 通过使用 clipboard-event 和 node-global-key-listener 库,恶意软件监控剪贴板活动并记录全局键盘输入。这使得攻击者可以捕获敏感数据,如密码、API 密钥和凭证。
持久机制: 该软件包通过将自身复制到 Windows 系统的启动文件夹来确保持续执行。这种策略确保恶意软件在每次系统重启时都能运行,从而将其深深植入受影响的环境中。
实时通信: WebSocket 服务器实现了动态利用,允许攻击者实时执行命令和外泄敏感数据。该服务器托管在芬兰的一个数据中心,为实时利用被入侵系统提供了便利。
辅助有效载荷: 一个相关软件包 @typescript_eslinter/prettier 在 npm 上仍处于活动状态,并增强了攻击的功能,构成了持续威胁。
禁用合法工具: 恶意软件禁用了 ESLint 等合法的剔除工具,以防止其运行受到干扰,并用恶意进程取代受信任的进程。
这种攻击会将敏感的项目数据、配置文件和凭证暴露给恶意行为者。“报告强调:“除了直接的技术风险之外,这种攻击还削弱了人们对开源软件源的信任,破坏了开发人员对日常依赖的工具的信心。”由于 npm 上的二级恶意软件包仍处于活动状态,对许多开发人员来说,这一威胁仍未得到解决。
文章原文链接:https://www.anquanke.com/post/id/302654