找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2910

积分

0

好友

388

主题
发表于 4 小时前 | 查看: 3| 回复: 0

近日,安全研究人员曝光了一起针对AI开发者群体的新型供应链攻击。在2026年3月20日,一个名为 gemini-ai-checker 的包被发布到npm公共仓库,其描述声称是一个“Google Gemini AI令牌校验工具”。这个包由账户 gemini-check 维护,表面看起来非常规范,包含了44个文件和 SECURITY.md 等文档,整个包体积约为271kB,意图营造出一种可信的假象。

然而,根据Cyber and Ramen团队以及微软威胁情报部门的深入分析,这个包实际上是一个精心设计的恶意程序,其核心目标是窃取开发者本地环境中的AI工具凭证、会话历史记录乃至源代码。

伪装手法与载荷下发机制

gemini-ai-checker 的README内容完全复制自一个名为 chai-await-async 的合法JavaScript测试库,与Google Gemini服务没有任何实际关联。这种明显的描述与功能不匹配本应引起开发者的警觉,但很多人在安装时可能并未仔细检查。

该包的恶意逻辑主要隐藏在两个文件中:

  • libconfig.js:将C2(命令与控制)服务器的配置信息(包括域名、认证令牌、路径等)拆分成多个独立的变量进行存储。这种“化整为零”的手法,可以有效规避基于完整字符串匹配的静态安全扫描。
  • libcaller.js:在包被安装时,会动态重组上述配置片段,并向 server-check-genimi.vercel.app(一个托管在Vercel平台上的域名)发起HTTP GET请求,最多会重试5次。

如果这个中转服务器在返回的HTTP 404响应体中包含一个 token 字段,那么其中编码的载荷就会被解码,并直接在内存中执行。攻击者在这里使用了一个技巧:他们没有用常见的 eval 函数,而是使用了 Function.constructor 来动态执行代码,这可以帮助他们绕过一些将 eval 直接标记为危险信号的静态分析工具。整个过程没有向磁盘写入任何文件,进一步降低了被传统终端安全软件检测到的风险。

载荷功能架构:OtterCookie后门变种

在内存中执行的JavaScript载荷,被确认为是 OtterCookie 后门程序的一个新变种。OtterCookie此前被归因于具有朝鲜背景的“Contagious Interview”攻击活动,微软在2026年3月的一份报告中指出,该恶意软件家族自2025年10月起就持续活跃。

这个载荷采用了四模块架构,每个模块都以独立的 Node.js 进程运行,并分别连接到一个C2主服务器 216.126.237.71 的不同端口:

  • 模块0:基于Socket.IO建立了一个持久化的远程访问通道,为攻击者提供长期控制能力。
  • 模块1:负责扫描浏览器的本地数据库,以及超过25种加密货币钱包(包括MetaMask、Exodus等)的本地存储文件。
  • 模块2:遍历用户的主目录,除了收集常见的敏感文件(如 .ssh 密钥、.aws 配置、各种文档)之外,其扫描重点特别放在了AI开发工具的专用目录上,具体包括:
    • Cursor(.cursor 目录)
    • Claude(.claude 目录)
    • Windsurf、PearAI、Gemini CLI、Eigent AI
      这些目录中通常保存着API密钥、对话历史、会话令牌,甚至可能包含部分源代码片段。
  • 模块3:这是一个剪贴板监控模块,它会每500毫秒检查一次剪贴板的内容。模块还设置了3000毫秒的启动延迟,可能是为了规避沙箱环境对程序启动初期行为的动态检测。

相关恶意包与当前状态

除了 gemini-ai-checker,同一威胁行为者还在 npm 上维护了 express-flowlimitchai-extensions-extras 两个包。这三个恶意包共享同一套Vercel中转基础设施。截至分析报告发布时,这三个包的总下载量已超过500次。

gemini-ai-checker 在2026年4月1日前已被npm官方移除。但值得注意的是,express-flowlimitchai-extensions-extras 在报告发布时仍可公开获取,并且下载记录仍在持续增加。

防范建议

对于开发团队和安全运营团队,可以采取以下措施来降低此类 供应链攻击 的风险:

  1. 网络层监控:在企业网络边界,监控或直接阻断对 *.vercel.app 域名,特别是对 server-check-genimi.vercel.app 的非必要出站连接。
  2. 进程行为检测:可以利用微软公开的KQL(Kusto查询语言)检测规则,来监控Node.js进程中异常的子进程派生行为及网络连接活动。
  3. 开发环境加固:将 .cursor.claude 等AI工具配置目录,纳入与 .ssh.aws 同等级别的敏感数据保护策略中,严格控制其访问权限。
  4. 安装前审查:开发者在安装npm包之前,应花点时间核对包名、描述和README内容是否一致。对于近期创建、描述模糊,或者与知名服务/包名称高度相似的包,应保持高度警惕。
  5. 社区协作:在npm平台上发现疑似仿冒或行为可疑的包时,建议通过官方渠道进行举报,协助社区尽早发现和阻断威胁的扩散。

资讯来源:本文内容基于Cyber and Ramen研究团队及微软威胁情报中心于2026年4月发布的关于“gemini-ai-checker”恶意npm包的技术分析报告整理。

对这类潜伏在开源生态中的 安全 威胁,保持警惕和良好的安全习惯至关重要。如果你想了解更多实战案例或与同行交流防护经验,欢迎来云栈社区的对应板块讨论。




上一篇:软件安全赛2026 Writeup:Thymeleaf SSTI与Pickle反序列化漏洞利用
下一篇:Eigen性能调优实战:C++高效计算提升5倍的4个技巧
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-9 08:21 , Processed in 0.641317 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表