← 返回信息流
AI 资讯Hacker News·3 天前

Npm-scan:为npm生态构建现代供应链安全体系

原标题:Npm-scan: Modern supply chain security for the npm ecosystem

速览

Npm-scan是一个专注于npm生态系统的工具,致力于解决软件供应链中的安全风险。它通过现代化的方法增强npm包的安全性,帮助开发者和企业防范潜在的恶意代码或依赖漏洞。这一工具对于维护开源生态的健康发展具有重要意义。

AI 深度解读

Npm-scan:为 npm 生态系统构建的现代供应链安全防线

背景

2025 至 2026 年期间,npm 生态系统经历了前所未有的供应链攻击浪潮。这一阶段的攻击者已经超越了简单的“拼写错误劫持”(typosquatting)阶段,转而采用更加隐蔽和复杂的策略。攻击者开始分发经过混淆的 preinstall 钩子、隐藏在环境检测背后的凭证窃取器、具备基于时间触发的休眠后门,以及通过 peer 依赖进行蠕虫式传播的恶意代码。

传统的静态分析工具(如 npm audit)和动态行为扫描工具(如 Snyk、Socket)在面对这些新型威胁时显得力不从心。这些传统工具主要关注已知的 CVE 漏洞或明显的恶意行为,却难以识别那些在开发环境中看似无害、直到部署到生产环境才激活的恶意载荷。例如,攻击者利用 HuggingFace 组织身份伪造,发布伪装成合法模型仓库的包(如将 openai/gpt2 伪造为 0penai/gpt2),诱导用户在 CI/CD 流程中下载包含可疑二进制文件(.exe, .dll)的恶意模型工件。

在此背景下,@lateos/npm-scan 应运而生。它旨在填补现有工具在检测混淆载荷、凭证窃取器、条件触发器、沙箱逃逸以及蠕虫式传播等方面的空白,专门应对 2025 年后出现的新一代供应链攻击。

核心内容

@lateos/npm-scan 是一个结合了静态分析与行为分析的安全工具,专门用于检测 npm 生态系统中高度隐蔽的供应链攻击。其核心能力在于能够识别传统工具遗漏的高级威胁,并内置了对近期多个重大攻击事件的检测规则。

1. 针对重大攻击事件的内置检测

该工具已针对 2025-2026 年间爆发的多个著名供应链攻击战役进行了专门优化,能够开箱即用地检测以下事件的相关特征:

  • Megalodon 活动(2026年):该活动通过伪造 GitHub PR、恶意工作流注入和云凭证外泄,影响了 5,500 多个仓库。npm-scan 能够检测与该活动相关的攻击工件,包括协调统一的自动化杀伤链特征。
  • Mini Shai-Hulud 蠕虫活动(2026年5月):该蠕虫分三波次攻击了 npm 生态,包括劫持 TanStack CI/CD、入侵 AntV/atool 维护者账号以及毒化 Nx Console VS Code 扩展(CVE-2026-48027)。攻击者使用了 ctf-scramble-v2 混淆技术、带有 CI 环境检查的守护进程持久化机制、针对制裁地区的地理死开关以及 GitHub C2 死投通道。npm-scan 能够检测该蠕虫的两个检测套件中的所有 10 个信号。
  • TrapDoor 活动(2026年5月):这是一个跨 npm、PyPI 和 Crates.io 的多平台攻击,涉及 34 个恶意包和 384 多个版本。攻击者针对加密、DeFi、Solana 和 AI 开发者,使用 Fernet + ECDH 加密载荷,并通过在 .cursorrulesCLAUDE.md 中注入零宽 Unicode 字符来污染 AI 上下文。此外,攻击者在数据外泄前会针对 AWS STS 和 GitHub API 进行凭证实时验证。npm-scan 能够检测该活动的所有 9 个信号。
  • node-ipc 被劫持事件(2026年5月14日):攻击者利用过期的维护者邮件域名劫持了拥有 82.2 万次周下载量的 node-ipc 包。三个恶意版本(9.1.6, 9.2.3, 12.0.1)通过 DNS TXT 隧道传输了 80KB 的凭证窃取器,不依赖 HTTP 或 postinstall 钩子,从而避开了 HTTP 层防火墙。npm-scan 能够检测该事件的所有 11 个信号。
  • 大规模拼写错误劫持活动(vpmdhaj,2026年5月):攻击者利用 vpmdhaj npm 维护者账号在 4 小时内发布了 14 个拼写错误包,针对 AWS/CI/CD 环境,使用 preinstall 阶段加载器、滥用 Bun 运行时以及外泄云凭证(AWS IMDSv2, ECS 任务角色等)。npm-scan 能够检测该活动的所有 3 个信号。
  • Axios 注册表投毒活动(2026年5月):攻击者篡改了 npm 注册表中 axios 包的元数据,发布了包含注入依赖(plain-crypto-js)的 [email protected][email protected]。这些依赖包含跨平台 RAT 载荷、C2 回调、进程注入和系统持久化功能。npm-scan 能够检测该投毒活动的所有 3 个信号。

2. 扩展至 Python 生态系统

除了 npm,npm-scan 还涵盖了 Python 生态系统中的关键基础设施漏洞。例如,它检测 Starlette < 1.0.1 版本中的 BadHost 漏洞(CVE-2026-48710)。该漏洞允许通过未验证的 HTTP Host 头注入绕过身份验证,影响 FastAPI、vLLM、LiteLLM、MCP 服务器以及任何间接使用 Starlette 的项目。扫描覆盖 Python 清单、传递依赖链和源代码模式。

3. HuggingFace 身份伪造检测

针对日益增长的 HuggingFace 组织身份伪造攻击,npm-scan 采用两阶段评估机制:

  • 第一阶段:扫描 package.json 脚本及 JS/TS 源码,识别对 HuggingFace 模型的引用及潜在的混淆逻辑。
  • 第二阶段:深入分析模型仓库中的二进制文件和依赖关系,识别伪装成合法模型工件的恶意内容。

4. 隐私优先与本地部署

npm-scan 强调数据主权和隐私保护。所有扫描均在用户本地机器上完成,代码不会离开用户环境,无遥测数据上传,无云端依赖。支持多种部署方式:

  • 本地安装:通过 npm install -g 全局安装,或使用 npx 直接运行,无需 Node.js 环境。
  • Docker 容器化:提供多架构镜像(linux/amd64, linux/arm64),适用于 CI 服务器、隔离环境(air-gapped)和 Kubernetes 集群。
  • VPC 部署:通过 Helm Chart 部署到私有 VPC,支持 BYOC(Bring Your Own Cloud)配置,确保数据完全保留在基础设施内部。

5. 高级检测技术与合规性

  • ** evasion 检测**:
    • ATK-009:检测检查 process.env.CI、探测主机名或使用基于时间激活的包。
    • ATK-010:标记 debugger 语句、os.hostname() 探测和环境指纹识别。
    • ATK-011:追踪 peer 依赖图,检测蠕虫式传播模式。
  • 合规性报告:支持生成符合 NIST 800-161、欧盟 CRA(Cyber Resilience Act)标准的报告,以及 Splunk CEF、Elastic ECS、Microsoft Sentinel 和 IBM QRadar 等 SIEM 格式导出。
  • SBOM 生成:支持生成 CycloneDX (JSON/XML) 和 SPDX 2.3 格式的软件物料清单。

关键要点

  • 超越传统工具npm audit 仅检查已知 CVE,Snyk 扫描漏洞,Socket 查看行为,但三者均未能有效应对 2025 年后出现的、在到达生产环境前看似无害的高级供应链攻击。
查看原文 →github.com