正文
在被安装后,这些软件包旨在获取用户提供的 Cursor 凭据并从远程服务器 (“t.sw2031[.]com“或”api.aiide[.]xyz“),然后用于用恶意逻辑替换特定于 Cursor 的合法代码。
对这三个软件包的代码片段进行处理和注释之后,Socket 发现它们共有一个核心后门逻辑:只有硬编码的域名,以及(就 sw‑cur1 和 aiide‑cur 而言)最后的调用有所不同;而凭据窃取、加密加载器检索、解密例程以及文件补丁序列在其他方面都是相同的。
据 Socket 称,一旦这些库被安装,它们就会被设计用来窃取用户提供的 Cursor 凭据,并从远程服务器(“t.sw2031[.]com” 或 “api.aiide[.]xyz”)获取下一阶段的有效载荷,然后用恶意逻辑替换合法的 Cursor 特定代码。并且,sw-cur 还进一步采取了禁用 Cursor 的自动更新机制并终止所有 Cursor 进程的步骤。然后这些 npm 软件包会继续重启应用程序,以便被篡改的代码生效,从而允许恶意行为者能够在该平台的环境中执行任意代码。
恶意软件包的执行流程图
此攻击专门针对 Cursor 在 macOS 系统上的安装,方法是修改 /Applications/Cursor.app/... 路径下的诸如 main.js 之类的内部文件,利用该编辑器可信赖的运行时环境来执行由恶意行为者控制的代码,并持续运行。
“这三个软件包的设计表明,攻击者蓄意利用开发者的工作流程以及 IDE 的信任边界,以获取长期的访问权限和控制权。这是对开发者信任的代码编写工具的攻击。”Socket 建议,所有怀疑已遭受攻击的机构从经过验证的安装程序中重新安装 Cursor,更换所有受影响的凭据,并对源代码控制和构建工件进行审核,以查找未经授权的更改迹象。