news 2026/4/22 22:15:46

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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() # 返回正确的退出码

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 23:26:31

NanoPi R5S网络性能评测与配置指南

你是否正在为家庭网络性能瓶颈而烦恼?面对复杂的网络环境和日益增长的网络需求,一款性能稳定、配置灵活的路由器设备至关重要。NanoPi R5S作为友善电子推出的高性能开发板,配合nanopi-openwrt项目的定制固件,能够为你提供企业级的…

作者头像 李华
网站建设 2026/4/21 13:47:04

Metis智能运维平台新手快速上手指南

Metis智能运维平台新手快速上手指南 【免费下载链接】Metis Metis is a learnware platform in the field of AIOps. 项目地址: https://gitcode.com/gh_mirrors/me/Metis Metis是腾讯开源的一个智能运维(AIOps)平台,致力于通过机器学习技术解决运维领域的质…

作者头像 李华
网站建设 2026/4/21 20:27:33

极速配置MPV:告别卡顿的终极影音解决方案

极速配置MPV:告别卡顿的终极影音解决方案 【免费下载链接】mpv-config 本项目为 windows 下 mpv 播放器的配置文件 (This project is the configuration file of mpv player on Windows) 项目地址: https://gitcode.com/gh_mirrors/mp/mpv-config 你是否曾经…

作者头像 李华
网站建设 2026/4/18 13:03:13

打造智能数字人:从零开始的Live2D虚拟角色搭建全攻略

打造智能数字人:从零开始的Live2D虚拟角色搭建全攻略 【免费下载链接】awesome-digital-human-live2d Awesome Digital Human 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-digital-human-live2d 想要拥有一个能够实时对话、表情丰富的虚拟角色…

作者头像 李华
网站建设 2026/4/22 20:49:21

毕业论文用什么 AI 写?实测 6 款论文写作工具优缺点对比(2025)

在写毕业论文的过程中,很多同学都会主动搜索这样的问题: “毕业论文可以用 AI 吗?” “AI 写论文靠谱吗?” “哪款 AI 论文写作工具最好用?”我在论文写作阶段,前后实际体验了 6 款主流 AI 论文写作工具&am…

作者头像 李华
网站建设 2026/4/12 22:35:46

传统农业升级路上的数字孪生实践

在数字技术不断深入产业发展的今天,传统农业也迎来了新的变革契机。数字孪生技术通过将真实农田、作物生长环境和农业设施映射到虚拟空间,实现对农业生产全过程的可视化、可分析与可预测,为长期依赖经验的农业生产方式注入了更加科学和精准的…

作者头像 李华