最新消息:关注人工智能 AI赋能新媒体运营

微软揭露恶意Next.js仓库利用VS Code自动任务窃取开发者凭证,疑似在面试题库中植入后门

科技资讯 admin 浏览

初始注册阶段会先以instanceId=0向注册端点发送请求,服务器返回一组可持久使用的instanceId后,后续轮询请求改用该标识符通信,使攻击者能在多次连接间持续追踪同一受害端点

微软发布研究报告指出,近期监测到一波针对软件开发者的攻击活动。黑客将恶意代码仓库伪装成合法的Next.js项目或技术测试题,诱使开发者在日常工作中打开或运行项目,使Node.js在运行时从内存中加载并执行攻击者控制的JavaScript代码,从而建立分阶段的命令与控制(C2)通道,持续下发任务并窃取数据。

研究人员最初通过终端遥测数据发现,Node.js进程反复连接至攻击者控制的C2基础设施,进一步调查确认,这些恶意仓库正是攻击源头。其中一个仓库托管在Bitbucket上,伪装成招聘用的技术测试题,另一个则命名为Cryptan-Platform-MVP1。研究人员通过命名模式和代码结构等线索扩大搜索,陆续发现了更多手法相似的关联仓库。

微软总结出三条常见的攻击路径,目的都是在开发者的日常操作流程中植入恶意执行代码。第一条是滥用VS Code工作区自动化机制,在用户打开并信任项目时自动执行工作区任务。第二条是在看似正常的项目文件中隐藏木马,当开发者通过npm run dev等方式启动开发服务器时触发加载器。第三条是将恶意逻辑嵌入后端模块或路由,在服务器启动或模块加载时上传环境变量并动态加载代码。

三条路径的入口不同,但后续行为高度一致。微软指出,这些仓库在运行时会从Vercel获取JavaScript加载器,由Node.js在内存中直接执行,随后维持与C2服务器的持续通信。

攻击分阶段进行:第一阶段负责注册,恶意程序会收集受害主机的基本信息,定期向攻击者服务器上报,获取一个标识符用于后续追踪,并在收到特定指令后下载下一阶段的代码到内存中执行。第二阶段是常驻的远程控制模式,程序启动后持续从攻击者处获取任务并在内存中执行,同时具备浏览主机文件系统和分段上传数据的能力。

微软建议将开发流程视为主攻面,严格管理信任边界,对来源不明的项目默认采取不信任态度。具体措施包括:在授予VS Code工作区信任前,先检查项目内的自动化配置文件;利用终端可见性追踪异常的Node.js执行链和异常外联行为;结合组织内部的身份风险排查与令牌处置流程,降低凭证或会话被窃取后的横向扩散风险。