1600+ 个 AUR 包被植入恶意代码:供应链攻击检测工具详解

📅 2026年06月14日 · 技术

aur-malware-check 项目封面

2026 年 6 月,Arch Linux 社区遭遇了一场大规模供应链攻击。超过 1600 个 AUR(Arch User Repository)包被攻击者注入了恶意 npm 包,通过 npm install atomic-lockfilebun install js-digestlockfile-js 等指令,在用户编译安装软件时悄悄植入信息窃取恶意软件和 eBPF rootkit。目标是开发者的凭证、浏览器数据和 CI/CD 密钥。

攻击是怎么发生的

AUR 是 Arch Linux 的用户软件仓库,任何人都可以提交 PKGBUILD 脚本,用户通过 makepkg 或 AUR 助手(如 yay)从源码编译安装。攻击者利用了这个开放机制,在多个热门 AUR 包的 PKGBUILD 或 install 脚本中插入了恶意 npm/bun 安装命令。

攻击分两个波次:

两波攻击最终都投放了信息窃取器eBPF rootkit,后者利用 Linux 的 eBPF 子系统实现深度隐藏,传统的杀毒软件很难检测到。

如何检测自己是否中招

社区迅速整合了检测工具,集中在 aur-malware-check 这个仓库中。核心检测脚本 aur_check.sh 提供了多种扫描模式:

如果需要快速排查,可以用一行命令对比已安装包列表和感染包列表:

comm -1 -2 <(pacman -Qq | sort) <(curl -s LIST_URL | sort)

工具还支持合并多个恶意包列表进行跨活动扫描(--all-time),以及从官方 Arch Linux HedgeDoc 自动刷新包列表后扫描(--refresh)。

为什么 eBPF rootkit 特别危险

传统的 rootkit 通常修改系统二进制文件或加载内核模块,相对容易检测。但 eBPF rootkit 运行在内核的 BPF 虚拟机中,可以利用 tracepoint、kprobe 等机制拦截系统调用、隐藏文件和网络连接,甚至直接在内核态过滤掉安全工具的查询。这意味着 ls 看不到恶意文件、ps 看不到恶意进程、网络监控看不到恶意连接——一切都是"正常"的。

这类攻击也给所有使用包管理器的开发者敲响了警钟:供应链安全不仅仅是 npm/PyPI 的问题,任何允许社区贡献的软件仓库都可能成为攻击面。

参考来源

🔧 在线开发者工具 — JSON格式化 · Base64 · UUID生成 · 正则测试 等80+免费工具
🔧 在线开发者工具 — JSON格式化 · Base64 · UUID生成 · 正则测试 等80+免费工具