当前位置: 首页 > news >正文

SHA1-HULUD 蠕虫硬盘递归检测器

一场席卷 npm 生态的供应链攻击

2025 年 11 月,npm 生态系统遭受了一次大规模的供应链攻击 —— SHA1-HULUD pt 2。这次攻击影响了 288+ 个流行的 npm 包,包括:

PostHog 全家桶 (@posthog/*, posthog-node)

Zapier 包 (@zapier/*)

AsyncAPI 工具链 (@asyncapi/*)

Postman 相关包 (@postman/*)

ENS Domains (@ensdomains/*, ethereum-ens)

MCP 包 (mcp-use, @mcp-use/*)

以及更多...

如果你的项目依赖了这些包,你的敏感信息可能已经泄露:GitHub tokens、AWS 凭证、NPM tokens、API keys 等等。

🛡️ 解决方案:SHA1-HULUD Scanner(递归扫描增强版)

SHA1-HULUD Scanner 是一个专门用于检测 SHA1-HULUD pt 2 攻击的 bash 扫描工具。

在原版的基础上,我添加了递归扫描功能(v2.2,https://github.com/zhaokang555/sha1-hulud-scanner ),使其能够一次性扫描整个目录树中的所有 Node.js 项目,极大地提升了扫描效率和覆盖范围。

✨ 核心特性

🆕 递归扫描,一键搞定(v2.2 新增)

原版只能逐个扫描项目,现在

使用 -r 递归模式,可以一次性扫描整个目录下的所有 Node.js 项目(默认递归深度为5,可以通过 -d 参数修改):

# 扫描整个用户主目录

./sha1-hulud-scanner.sh -r ~

# 扫描工作目录下的所有项目

./sha1-hulud-scanner.sh -r ~/Projects

# 扫描工作目录下的所有项目,并自定义深度为 4 层

./sha1-hulud-scanner.sh -r -d 4 ~/Projects

递归模式的优势:

💼 批量检查工作项目 - ~/Projects 下几十个项目一次搞定

🏠 全盘安全检查 - 扫描整个用户目录,不遗漏任何项目

📊 综合报告 - 自动汇总所有项目的扫描结果

🛡️ 容错设计 - 某个项目扫描失败不影响其他项目

🚀 快速开始

安装

推荐:v2.2 增强版(支持递归扫描)

# 克隆增强版(包含递归扫描功能)

git clone git@github.com:zhaokang555/sha1-hulud-scanner.git

cd sha1-hulud-scanner

chmod +x sha1-hulud-scanner.sh

使用

递归扫描多个项目

# 扫描当前目录下的所有项目

./sha1-hulud-scanner.sh -r .

# 扫描指定目录

./sha1-hulud-scanner.sh -r ~/Projects

# 扫描整个用户主目录

./sha1-hulud-scanner.sh -r ~

📊 实际效果展示

递归模式汇总报告

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 SCAN SUMMARY

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Total projects scanned: 50

✅ Clean projects: 49

🚨 Compromised projects: 1

⚠️ Failed scans: 0

🚨 Compromised Projects:

• /Users/username/work/legacy-project

🔧 技术实现

扫描原理

阶段 1-3:模式匹配

使用正则表达式在不同的文件中搜索受感染的包名:

package.json 中的 dependencies 和 devDependencies

node_modules 目录结构

各种锁文件格式(包括二进制的 bun.lock)

阶段 4:特征检测

SHA1-HULUD 攻击的一个特征是恶意包名称中包含 "sha1",扫描器会:

提取所有包含 "sha1" 的包名

与已知的合法包列表对比

标记可疑的包

递归扫描架构

用户调用: ./sha1-hulud-scanner.sh -r ~/Projects

find_all_projects() # 查找所有 package.json 文件

validate_project() # 验证每个项目

scan_all_projects() # 批量扫描循环

├─ scan_single_project(project1) # 4阶段扫描

├─ scan_single_project(project2) # 容错:失败不中断

└─ scan_single_project(project3)

print_summary() # 综合报告

├─ 统计信息(总数、干净、受感染、失败)

├─ 受感染项目列表

├─ 失败项目列表

└─ 修复建议

exit_with_code() # 返回正确的退出码

http://www.cnnetsun.cn/news/112252.html

相关文章:

  • HoYo.Gacha专业抽卡分析工具完全使用手册
  • FastMCP高级特性之Composition
  • 安卓手机投屏到电脑的开源软件(scrcpy)
  • 边缘计算开源项目终极指南:让物联网设备秒变智能终端
  • ForensicsTool取证工具完整安装配置指南:快速掌握电子数据取证技能
  • DeepSeek-V3 KV缓存技术:让AI对话像翻书一样流畅
  • SpringBoot进阶教程(八十八)获取图片的宽高
  • PeachPie 1.1.13 发布支持最新PHP 8.5.0
  • 电视也可以玩街机经典游戏,你的客厅,早就该变成这样了!
  • 掌握3个Mock工具,轻松玩转单元测试
  • AutoGen到Microsoft Agent Framework终极迁移指南:从零开始构建现代化AI代理系统
  • 2008-2024年地级市女性奥运冠军数据
  • 2003-2024年上市公司人工智能采纳程度数据+Stata代码
  • 问了 3 个博士,导师不说,但目前最新论文卡人的已经不是知网查重
  • CST设计:可重构超表面宽带窄带可切换吸收与多波束技术
  • ai智能搜索文献:高效精准的学术资源检索新工具与应用研究
  • 英文文献的高效检索与阅读策略研究
  • 万字长文!Agent及其主流框架终极指南(附对比图),好Agent的标准:自己想、自己干、自己复盘!
  • 打造专属问答社区,开源系统助力内容创业新风口
  • Apache Impala为啥TBDS、华为MRS弃用?为什么不能做到无缝切换平缓迁移
  • 从开发到上线:智能Agent的Docker部署全链路实践(含YAML模板)
  • 智能连接与自动化引擎的全能表单系统,重新定义数据收集与业务流程的协同
  • 如何彻底解决企业级数据流程编排难题:Apache DolphinScheduler完整指南
  • 深度学习框架生态竞争格局:从Stable Diffusion WebUI Forge看技术选型逻辑
  • better-sqlite3深度解析:Node.js数据库操作的性能革命
  • 终极AI平台wgai:零门槛构建国产化智能识别系统
  • 基于VUE的企业协同管理系统 [VUE]-计算机毕业设计源码+LW文档
  • 如何快速使用bandcamp-dl:命令行音乐下载工具的完整教程
  • 【Excel VBA 编程】第61讲:两种方法驾驭文本处理猛兽
  • 探索金领冠珍护源初的纯净世界:2025年健康奶粉新篇章