

本周,攻击者控制了Arch用户软件仓库(AUR)中超过400个软件包,通过篡改其构建脚本,在编译者的主机上植入了一款凭证窃取程序。这个由Rust编写的恶意二进制文件,专门窃取开发者的机密信息。一旦获取root权限,它还会加载一个eBPF rootkit来隐藏自身。需要强调的是,AUR是Arch Linux的社区软件集合,独立于官方软件仓库,后者并未受到影响。
如果你在6月11日或之后安装或更新过AUR软件包,请务必对照当前已知的受影响软件列表进行核查。由于名单规模仍在持续增长,目前尚不完整。此次攻击的狡猾之处在于,它针对的是社区信任模型而非软件本身的漏洞——被劫持的软件包保留了原有的名称、历史记录和既有的信任关系,只是构建指令遭到了篡改。陷阱就隐藏在构建方案中,软件包看起来与用户预期安装的完全一致。这既非漏洞利用,也非0Day攻击,并且目前没有证据表明Arch的官方系统遭到入侵。
攻击者通过接管那些已无人维护的“孤儿项目”,修改其构建文件,诱骗用户代为执行恶意负载。Sonatype公司将此次行动命名为“Atomic Arch”,并发现攻击者专门针对维护者弃管的软件包。他们还伪造了git提交元数据,让修改看起来像是出自一位长期维护者之手,但事后经Arch Linux可信用户确认,该维护者的账户自始至终都未被攻陷。
恶意软件行为分析
独立研究员Whanos的逆向分析发现,所谓的deps负载实际上是一个针对开发者工作站和构建系统的Rust凭证窃取器。它能收集:
- 基于Chromium的浏览器(如Chrome、Edge、Brave等)的Cookie、令牌及本地存储
- Electron应用(包括Slack、Discord、Microsoft Teams)的会话数据
- GitHub、npm、HashiCorp Vault的令牌,以及OpenAI、ChatGPT的持有者凭证与账户元数据
- SSH密钥、
known_hosts文件以及shell历史记录
- Docker、Podman的凭证与VPN配置文件
窃取到的数据通过HTTP被发送至temp.sh,而命令与控制(C2)信道则通过本地回环代理连接Tor洋葱服务。为了持久化,该程序会注册一个Restart=always的systemd服务:在拥有root权限时,恶意二进制文件会被复制到/var/lib/,并创建/etc/systemd/system/下的单元文件;在普通用户权限下,则利用用户主目录及~/.config/systemd/user/下的单元文件。
关于eBPF rootkit,外界存在一些误读——它仅在二进制文件已获取root权限且具备相应能力时才会加载,而不是一个用于提权的工具。激活后,它会通过名为hidden_pids、hidden_names、hidden_inodes的固定BPF映射,隐藏自身的进程、进程名及套接字inode,并阻止调试器附加。这也意味着常规的清理手段会失效:单纯移除AUR软件包并不足以保证系统洁净,因为rootkit可能早已驻留。
此外,该二进制文件还会释放一个与monero-wallet-gui关联的次级文件,分析人士认为这可能是一个未经证实的加密货币挖矿程序。信息窃取器与eBPF rootkit的组合实属罕见,值得高度警惕。
影响范围与第二波攻击
Sonatype最初报告了20余个被劫持的软件包,但在24小时内,社区追踪者通过grep搜索AUR的git镜像,在讨论串中已确认超过400个。与之关联的atomic-lockfile npm包在被下架前,每周下载量仅有134次,这表明主要威胁来自于AUR的构建路径,而非npm安装。
第二波攻击则改用bun install js-digest,其源头是与atomic-lockfile发布者相关联的另一组npm账户。其负载为不同哈希值的ELF文件,同样已被社区标记为恶意。当前传播规模仍在统计中,需要同时检查atomic-lockfile与js-digest相关的痕迹。
处置建议
当加载器运行时,它完全在内存中解码最终的有效载荷,这意味着恶意的程序主体并不会写入硬盘。这种内存驻留技术是一种已知的、用于规避安全软件检测的战术,因为大多数安全软件主要监控磁盘上的文件活动。研究人员指出,相关加载器使用Go的syscall.Syscall函数作为传输机制,并硬编码了虚拟参数,这种异常行为模式可以作为有效的检测标记。
Arch的维护者正在重置恶意提交、封禁相关账户,并呼吁用户通过邮件列表持续报告可疑软件包。鉴于受影响的列表尚不完整,建议采取以下安全措施:
- 对照社区列表与检测脚本,核查6月11日后的AUR安装或更新记录。使用
grep检查构建历史缓存中是否包含npm install atomic-lockfile、bun install js-digest以及src/hooks/deps路径。
- 若曾运行过任何可疑软件包,应视为主机凭证已泄露,需立即轮换所有可能被窃取的凭证:包括浏览器会话、SSH密钥、GitHub/npm令牌、Slack/Teams/Discord会话、Vault令牌、Docker/Podman凭证以及云服务商密钥。
- 排查持久化机制:检查未知的systemd服务(包括系统单元与用户单元)、
/var/lib/中的异常文件,审查/sys/fs/bpf/中的BPF映射,并监控指向Tor及文件上传服务的出站连接。
- 如果在root权限下执行过恶意软件包,则需要从可信介质彻底重装系统。
- 今后在构建任何软件包前,务必审查
PKGBUILD和.install钩子脚本,尤其要警惕那些近期易主或长期休眠后突然活跃的包。
主负载的SHA-256哈希值为6144d433f8a0316869877b5f834c801251bbb936e5f1577c5680878c7443c98b,完整的威胁指标(IoC)集可查阅ioctl.fail的分析报告。
此次攻击与2018年某PDF阅读器软件包的劫持事件手法类似,但规模显著扩大。它属于利用废弃项目继承信任(而非域名仿冒)的供应链攻击新趋势。
目前该事件尚未分配CVE编号,Sonatype将其追踪为Sonatype-2026-003775(CVSS评分8.7)。事件暴露出AUR目前仍过度依赖软件包的名称和历史记录,而非当前维护者的可信度。对于近期易主或突然新增安装钩子的软件包,用户应保持与对待陌生来源同等的警惕。
参考来源:
Over 400 Arch Linux AUR Packages Hijacked to Deploy Infostealer and eBPF Rootkit
https://thehackernews.com/2026/06/over-400-arch-linux-aur-packages.html