-
-
npm 惊现恶意 Gemini 工具包:专盯 AI 开发者数据
-
发表于: 10小时前 249
-
近日,安全研究人员发现一起针对AI开发工具使用者的新型供应链攻击活动。2026年3月20日,一名攻击者在npm公共仓库中发布了名为gemini-ai-checker的软件包,声称其功能为“Google Gemini AI令牌校验工具”。该包由账户gemini-check维护,表面结构规范,共计44个文件,体积约271kB,并包含SECURITY.md等文档以营造可信假象。
然而,经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字段,载荷即被解码并直接在内存中执行。值得注意的是,攻击者使用了Function.constructor替代eval来动态执行代码,此举可绕过部分将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外,同一威胁行为者还维护了express-flowlimit和chai-extensions-extras两个npm包。三者共用同一套Vercel中转基础设施。截至本文撰写时,三个包的合计下载量已超过500次。
gemini-ai-checker在2026年4月1日前被npm官方移除,但express-flowlimit与chai-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包的技术分析报告整理。
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!