别被高薪骗了!虚假招聘正在把你的Next.js项目变成攻击武器

七月 18, 2026 cybersecurity north korea developer security malware steganography supply chain attacks threat intelligence social engineering job scams javascript security

当"理想工作面试"变成噩梦

说实话,大部分开发者都收到过那种 LinkedIn 消息——写着"轻松远程办公""快速编码兼职",好得让人怀疑人生。嗯,今天要说的这件事,就是一个警醒:这些天上掉馅饼的好事,十有八九是坑。

最近 Elastic Security Labs 披露了一个令人后背发凉的攻击行动。幕后黑手是一伙跟朝鲜有关的黑客组织(编号 REF9403),他们的目标是开发者——用假的编程面试题当诱饵。最可怕的是啥?恶意代码藏在 SVG 图片文件里,用的是隐写术。结果呢?几十家杀毒软件愣是一个都没检测出来。

面试邀请?其实是钓鱼

攻击的起点很典型——社会工程学。

5月26号,有个自称"Maxwell"的家伙在一个公开的 Slack 频道里发了条招聘帖,说是要找人帮忙升级一个电商平台。老套路对吧?招有经验的开发者,活儿急,报酬看着还行。

但 Maxwell 有他自己的盘算。

聊着聊着,他把对话挪到了私信里——这本身就是个红旗,正经 HR 很少一开始就用私信聊的。然后给目标发了一套看起来很标准的编程题。代码仓库看着挺正规,是个叫 GoCart 的 Next.js 电商模板,抄的是 GreatStackDev 的开源项目。甚至跑起来一点问题都没有。

这就是这波攻击的"高明"之处。没有任何可疑行为,没有奇怪的权限请求,没有任何明显的警告。就跟你每天接到的那些课后作业一样——再普通不过了。

恶意代码的"艺术"

接下来的内容有点技术向,但也确实让人细思极恐。

恶意代码被巧妙地埋在代码仓库的各个角落,变量名起得特别无害,跟正常代码混在一起根本看不出来。但真正的骚操作是把主要载荷藏在 SVG 图片文件里。

你想啊,电商平台做国际化,哪个不需要放各国国旗?攻击者就钻了这个空子。他们伪造了各种国家的 SVG 文件(AE.svg、AF.svg 之类的),看起来跟正常图片一模一样。可问题就出在文件里面——藏在 HTML 注释块中的,是一段段 Base64 编码的恶意代码碎片。

然后有个叫 serverValidation.js 的文件悄悄把这些碎片按字母顺序拼起来,解码,执行。对任何审查代码的开发者来说,这段逻辑就跟普通的文件处理代码没两样。恶意意图完全被掩盖了。

受害者到底被装了什么

一旦代码跑起来,受害者的电脑就成了黑客的提款机,总共四层载荷:

第一层:浏览器密码收割机 恶意软件第一时间开始搜刮浏览器里存的各种账号密码。你保存的工作账户、内部工具、云平台的密码——全部打包带走。

第二层:加密货币钱包清道夫 这年头搞网络犯罪,不薅点加密货币都说不过去。各种加密钱包成了重点目标,搞不好这才是这波行动的主要财路。

第三层:文件偷窃器 敏感文档、SSH 密钥、API token、环境变量——只要是这台机器上有价值的东西,全给你打包发走。

第四层:Socket.IO 后门 这个是持久化手段。攻击者用了 Socket.IO——这是个正经的实时通信库——装了个远程木马,建立起指挥控制通道,以后随时能连接受害者的机器。

为什么这波攻击能成功

来聊聊数据。Elastic 在野外发现了多个被挂马的代码仓库:

  • next-ecommerce-private-main.zip
  • shopping-platform-main.zip
  • ecommerce-platform.zip
  • 以及其他好几个压缩包

零检测。 发现的时候,没有一家杀毒软件把这些文件标记为恶意。这说明攻击者在代码编写上下了功夫,专门规避静态分析。

真正的威胁:开发者成了跳板

这波操作不只是想搞定几个开发者个人。醉翁之意不在酒——他们想的是借开发者当跳板,渗透进整个公司。

一个开发者被攻陷,可能意味着:

  • 公司内部系统拱手相让
  • GitHub/GitLab 里的源代码暴露
  • CI/CD 流水线被接管
  • 生产环境大门敞开
  • 客户数据泄露
  • 供应链关系被利用

往大了说,这可能演变成供应链攻击,影响下游成千上万甚至更多的用户。所以黑客越来越把开发者看成高价值目标,这真不是没有道理的。

怎么保护自己:实操建议

那我们能做什么?能做的东西多了:

1. 对课后作业保持警惕 正经公司很少让你下载一个陌生代码仓库还要跑起来。如果"编程题"要求你安装他们提供的仓库里的依赖,这本身就是个红旗。

2. 检查 SVG 和图片文件 用文本编辑器打开看看,有没有什么奇怪的注释块或者编码数据。正经图片一般不会在 HTML 注释里藏 Base64 字符串。

3. 独立核实招聘信息的真伪 有人私信给你推荐工作?自己去找这家公司官网或者招聘页面核实一下,别光听对方一面之词。

4. 用隔离环境 永远不要在主力工作机上跑代码题。用虚拟机、Docker 容器,或者专门的实验环境,而且这些环境里根本不要放任何敏感的东西。

5. 对整个流程多问几个为什么 为什么一个招聘面试需要你跑一个全栈应用,还要 npm install,还要 node serverValidation.js?编程测试用得着这么复杂吗?

最后说两句

开发者社区靠的是协作、开源贡献和对共享代码的信任。黑客深谙这一点,而且毫不留情地利用。

这波攻击代表了一种新 level 的精细化操作——隐写术、看起来正经的项目、再加上社会工程学,批量搞定开发者。能这么长时间不被发现,所有人都应该警醒。

各位保重。不是每个工作机会都像表面上那么美,有时候那些跑得顺顺当当的代码,背后可能跑着一些你根本不想参与的东西。

相关阅读: 如果你想了解更多威胁检测的知识,可以看看我们关于搭建安全开发环境和监控 CI/CD 流水线可疑活动指南。

Read in other languages:

IT FR ES DE DA EN