SafeDep 的攻击活动页面和社区整合的清单最终列出了 1937 个受影响的 AUR 包名,凸显了此次攻击的巨大覆盖面 。关键的一点是,Arch Linux 的官方仓库(
core, extra, community)并未受到影响——这完全是 AUR 的独有事件 。
攻击分两波展开,攻击者不断改进其手法以逃避检测。
攻击者系统性地收养了孤儿包。一旦获得维护者权限,他们并没有修改软件的源代码本身——这么做会破坏校验和并触发警报。相反,他们修改了 PKGBUILD 构建脚本,注入了恶意的 npm 依赖项:atomic-lockfile (v1.4.2) 和 js-digest (v4.2.2) 。这些包被配置为在
makepkg 构建过程中自动执行。为了进一步隐藏恶意活动,代码被嵌入到 .install 脚本中,并通过 Shell 字符串分割、混合引用和十六进制转义进行伪装 。
仅仅一天后,第二波攻击接踵而至。这一次,攻击者将 npm 安装路径替换为 基于 Bun 的安装流程,并使用了一个名为 lockfile-js (v1.4.2) 的新恶意包 。这一转变增加了检测的复杂性,因为许多初期的威胁指标都专注于 npm 仓库,安全工具必须更新才能监控新的运行时和依赖项
。
构建了受污染软件包的机器会接收到一个用于间谍活动和持久化的两阶段载荷。
凭证窃取器和内核级 Rootkit 的组合,使得此次攻击构成了极其严重的威胁,特别是对开发者而言,他们的工作站往往持有高权限的访问密钥和敏感数据。
Arch Linux 社区和安全行业迅速行动起来,但攻击的庞大规模使得应对工作变得异常复杂。
aur-malware-check),以帮助用户审计他们的系统 Atomic Arch 攻击暴露了依赖志愿者维护的、基于信任的社区仓库所存在的结构性弱点。
安全研究人员和 Arch 社区给出的指导是高度一致的:这绝非仅仅删除一个软件包就能解决的问题。
pacman -Qmatomic-lockfile、lockfile-js 或 js-digest 的踪迹,以及 /sys/fs/bpf/ 下的可疑条目