上周攻击者劫持了 Arch 用户软件仓库(AUR)内 400 余个软件包,篡改其构建脚本,只要用户编译安装这些包,设备就会被植入凭证窃取木马。
该恶意程序采用 Rust 语言编译二进制文件,专门窃取开发者各类密钥凭证。若程序以 root 权限运行,还会加载 eBPF 内核 rootkit 实现自身隐匿。AUR 是 Arch Linux 社区维护的软件合集,独立于 Arch 官方软件源,官方源未受本次攻击波及。如果你在 6 月 11 日及之后安装或更新过 AUR 软件包,请先对照当前受感染软件包清单核验设备,切勿直接信任主机环境。受感染包名单数量庞大、仍在持续新增,尚未完整统计完毕。
本次攻击利用的是软件信任体系漏洞,并非程序代码漏洞。遭篡改的软件包保留原名、完整提交历史以及长期积累的用户信任,攻击者仅修改了内部构建执行指令。恶意代码藏匿在打包编译脚本中,软件本体和用户原本要安装的程序完全一致。攻击未利用漏洞、无零日漏洞参与,同时无证据表明 Arch 官方后台系统遭到入侵。
攻击者接管长期无人维护的废弃软件包,修改构建脚本,诱导用户执行恶意载荷。索纳泰(Sonatype)将此次攻击活动命名为 “原子 Arch(Atomic Arch)”,监测发现攻击者专门盯上 “无人托管项目”:这类软件包原维护者弃坑,任何人都可申请接管维护权限。攻击者还伪造 Git 提交元数据,让篡改记录看起来出自资深维护者账号;事后 Arch Linux 可信用户核实,该老牌账号本身并未被盗。
一旦成功接管软件包,攻击者就修改PKGBUILD或.install安装脚本,在编译阶段插入命令npm install atomic-lockfile,同步下载恶意 npm 包并搭配数个正常包作为掩护。恶意包atomic-lockfile@1.4.2内置预安装钩子,会运行捆绑的 Linux 可执行程序deps;用户只要编译软件包,该恶意二进制文件就会自动执行。Arch 邮件列表公布的确认受害包包含alvr、premake-git等。
恶意程序功能介绍
独立研究员 Whanos 对deps恶意载荷完成逆向分析,该 Rust 编写的凭证窃取程序针对开发者工作站与编译服务器,窃取范围包括:
- 1、各类 Chromium 内核浏览器(Chrome、Edge、Brave 等)Cookie、访问令牌、本地存储数据;
- 2、Electron 桌面应用会话数据,含 Slack、Discord、微软 Teams;
- GitHub、npm、HashiCorp Vault 密钥令牌,OpenAI/ChatGPT 授权凭证与账号信息;
- 4、Docker、Podman 容器凭证与 VPN 配置文件。
窃取到的文件通过 HTTP 上传至 temp.sh 网站;远控通信依托 Tor 暗网地址,经由本地回环代理建立连接。
持久化驻留机制
恶意程序创建systemd服务并设置开机强制重启:
早期安全稿件夸大了 eBPF rootkit 的作用:该内核后门为可选组件,仅在程序已获取 root 权限、具备对应系统能力时加载,无法用于提权。启动后会借助固定 BPF 映射表hidden_pids、hidden_names、hidden_inodes,在系统常规查询工具中隐藏自身进程、进程名与套接字节点,同时阻止调试器附加分析恶意程序。
清理处置重点提示
一旦恶意载荷运行完毕,仅卸载 AUR 受感染软件包不足以清除威胁:包管理器只能删除安装时生成的文件,无法确认设备在 rootkit 类恶意程序执行后是否彻底干净。
该二进制文件还会释放关联monero-wallet-gui的第二份程序,分析判定其疑似未完成深度解析的门罗币挖矿程序。窃取木马捆绑 eBPF 内核后门的组合攻击十分罕见,也是本次事件具备高威胁等级的核心原因。
攻击范围与第二波攻击
Sonatype 首份分析报告仅统计出数十个遭劫持软件包;一天之内,社区跟踪清单、Arch aur-general 板块已收录超 400 个受害包,通过检索 AUR Git 镜像汇总的主清单数量约 408 个,整合清单数量仍在上涨。
恶意 npm 包atomic-lockfile下架前,Socket 平台显示每周仅 134 次下载量,说明真正的感染渠道是 AUR 编译流程,而非直接安装 npm 包。
攻击者发起第二波攻击,植入命令bun install js-digest,操作账号与第一波atomic-lockfile发布者归属同一团伙。对应恶意载荷是哈希值完全不同的另一套 ELF 二进制文件,社区已标记为恶意程序。
第二波攻击的受影响规模仍在统计:初期统计仅几十个软件包,后续全量检索 AUR 镜像得到更高数值(其中包含被删除提交记录产生的统计浮动)。两波攻击威胁同等严重,需同时排查atomic-lockfile与js-digest两类恶意指令。
用户应急处置方案
Arch 官方维护者正在撤销恶意代码提交、封禁攻击账号,并呼吁用户在邮件列表持续上报可疑软件包。请默认公开的受害包清单存在遗漏,个人主机执行以下操作:
- 核验排查将 6 月 11 日后安装 / 更新的所有 AUR 软件包,对照社区受害清单与检测脚本比对;检索编译日志、缓存目录,查找恶意指令
npm install atomic-lockfile、bun install js-digest与载荷路径src/hooks/deps。 - 凭证全面重置若主机运行过标记受害的软件包,判定设备所有凭证已泄露,全部轮换:浏览器会话、SSH 密钥、GitHub/npm 令牌、Slack/Teams/Discord 登录信息、Vault 密钥、容器凭证、各类云平台密钥。
- 查杀持久化恶意驻留项检查未知
systemd服务(系统全局单元与用户级单元)、/var/lib/陌生文件;查看/sys/fs/bpf/目录下是否存在hidden_pids、hidden_names、hidden_inodes映射表;监控对外 Tor 流量、文件上传类网站外联行为。 - root 权限运行恶意程序的终极处置若编译软件包时使用 root 权限,默认设备已植入 rootkit,必须使用可信介质重装系统,无其他可靠方式恢复系统可信状态。
长期安全建议
编译 AUR 包前务必手动审阅PKGBUILD与.install安装钩子脚本,重点关注近期刚更换维护者、长期沉寂后突然更新安装逻辑的软件包;无法看懂构建代码时,禁止安装该软件。
威胁检测指标
主恶意载荷 SHA256 哈希:6144d433f8a0316869877b5f834c801251bbb936e5f1577c5680878c7443c98b完整 IOC 指标(含 Tor 暗网远控地址)可查阅 ioctl.fail 安全分析文档。
事件总结
2018 年曾出现过攻击者接管废弃 PDF 阅读器软件包的同类攻击;2026 年本次攻击将该手法规模化。这属于典型软件供应链攻击:攻击者接管无人维护项目继承原有用户信任,而非采用域名仿冒、包名仿冒诱导用户。受害软件清单尚未完整,暂无官方 CVE 漏洞编号;Sonatype 内部攻击编号 Sonatype-2026-003775,CVSS 风险评分 8.7 分(高危)。
本次攻击得逞根源:AUR 仓库判定软件可信度优先依据包名与历史记录,而非当前实际维护人身份。今后遇到刚更换维护者、突然新增安装脚本的软件包,需和陌生开发者发布的包同等高度警惕。