Arch Linux AUR 包被劫持:400+ 危险包藏信息窃取和 eBPF Rootkit
作者 Mag-Info Tech editorial · 2026-06-13

上周,Arch Linux 社区仓库 AUR(Arch User Repository)中超过400个软件包被攻击者劫持,其构建脚本被恶意修改。任何在这些包更新或安装过程中进行构建的系统,都会在无感知的情况下自动安装一个 Rust 编写的信息窃取程序。该恶意软件专门针对开发者环境,收集凭证、密钥等敏感数据,并通过 eBPF Rootkit 实现隐藏和持久化。AUR 是 Arch Linux 社区维护的第三方软件包集合,与官方仓库完全独立,后者本次未受影响。攻击者利用了 AUR 的信任机制,通过篡改构建脚本而非利用软件漏洞进行传播。
事件时间线与影响范围:从劫持到 Rootkit 隐藏
根据安全研究人员的分析,此次攻击活动至少从 6 月 11 日开始,持续至今。攻击者通过接管大量长期未维护的“孤儿包”(orphaned packages),即那些原作者已停止维护、开放给社区接管的软件包,进行恶意注入。他们不仅修改了 PKGBUILD 构建脚本或 .install 安装脚本,还伪造了 Git 提交元数据,使得恶意变更看起来像是由原维护者或可信账户发起。Arch Linux 的受信任用户(Trusted User)后来证实,这些被冒充的账户并未被真正入侵。
在成功接管包后,攻击者在构建脚本中插入恶意指令,例如通过 npm install atomic-lockfile@1.4.2 下载一个名为 atomic-lockfile 的 npm 包。这个包实际上是伪装的恶意软件载体,其 preinstall 钩子会自动执行一个名为 deps 的 Linux ELF 二进制文件。只要用户在系统上构建或安装该 AUR 包,恶意二进制就会在后台悄悄运行。目前已被确认受影响的包包括 alvr 和 premake-git 等。随着调查深入,受影响包的数量仍在持续增长,官方公布的清单尚不完整。
信息窃取程序的技术细节与数据外泄路径
根据独立研究者 Whanos 的逆向工程结果,该 Rust 编写的恶意程序专门针对开发者工作站和 CI/CD 系统。它会主动搜集多种敏感文件,包括 SSH 密钥、GPG 密钥、Git 凭证、浏览器 cookie、密码管理器数据以及云服务配置文件等。收集到的数据并非直接发送到固定服务器,而是通过 HTTP 协议上传到临时文件托管服务 temp.sh,从而规避域名层级的检测和阻断。这种设计使得恶意流量看起来像普通的文件上传请求,难以被简单的网络防火墙识别。
恶意程序的命令与控制(C2)通信则采用了更高级的隐蔽手段:通过 Tor 的洋葱服务(onion service)进行连接,并在本地启动一个代理服务监听 loopback 地址。这使得恶意流量在网络层面几乎无法被追踪,同时也避免了直接暴露真实的 C2 服务器 IP 地址。研究表明,攻击者在设计时充分考虑了 Linux 环境的多样性,包括桌面开发环境和服务器构建系统,表明攻击目标具有明确的针对性。
eBPF Rootkit:攻击的隐藏利器与系统级持久化
当恶意程序以 root 权限运行时,它不仅能收集数据,还能安装一个基于 eBPF(extended Berkeley Packet Filter)的 Rootkit。eBPF 原本是 Linux 内核提供的高效网络和系统监控机制,但被恶意利用后,可以在不修改内核源代码的情况下注入自定义代码,实现对系统调用、文件访问、进程管理等多个层面的隐藏和劫持。这种 Rootkit 通过动态挂载到内核,能够完全绕过常规的安全软件检测,甚至能够隐藏自身的进程、文件、网络连接和内核模块。

在持久化方面,恶意程序会根据当前用户权限选择不同的安装路径。如果以 root 身份运行,它会将自身副本复制到 /var/lib/ 目录下,并创建一个系统级的 systemd 服务单元(位于 /etc/systemd/system/),配置 Restart=always 确保服务在崩溃或重启后自动恢复。如果仅以普通用户权限执行,则会在用户主目录下创建对应的服务单元(位于 ~/.config/systemd/user/),实现用户级的持久化。这种双模式设计使得恶意软件能够适应不同的系统环境,提高了攻击的覆盖面和隐蔽性。
为什么这是一次“信任模型攻击”?
此次事件并非由于 Arch Linux 官方仓库或内核存在零日漏洞,而是一次典型的“信任模型攻击”。AUR 的核心机制允许任何人接管长期未维护的包,并保留其原有的名称、版本历史和用户信任。攻击者正是利用了这一点:通过伪造维护者身份、篡改构建脚本,让恶意代码以“合法包”的形式出现。用户在安装或更新时,看到的仍然是熟悉的包名和版本,完全无法察觉构建流程已被污染。
这种攻击手法的高明之处在于“隐藏在明处”。由于 AUR 包本身并未被篡改,构建过程中的恶意行为仅存在于脚本层面,因此传统的完整性检查(如校验包签名)无法发现异常。只有在构建时动态分析 PKGBUILD 或监控构建过程中的网络行为,才能识别出潜在的威胁。这也表明,开源生态中的信任链条不仅依赖于代码本身,更依赖于构建过程的透明性和可验证性。
开发者应采取哪些紧急措施?
对于使用 Arch Linux 并安装了 AUR 包的开发者和系统管理员,首先需要立即对已安装或近期更新的 AUR 包进行全面排查。官方已发布受影响包的清单,用户应登录 Arch Linux 官方社区或相关安全通告页面,下载最新的受影响包列表,并逐一对照本地安装的 AUR 包。特别关注那些长期未维护的包,尤其是那些在 6 月 11 日之后更新过的包。
其次,建议暂时停止使用 AUR 包进行系统更新,转而使用官方仓库的稳定版本。如果必须使用 AUR,应优先选择由活跃维护者维护、社区评价较高的包,并在构建前手动审查 PKGBUILD 脚本和 .install 脚本的内容。此外,建议启用系统审计日志(如 auditd)和文件完整性监控(如 AIDE 或 Tripwire),以便及时发现可疑的文件变更或系统调用行为。对于涉及敏感数据的开发环境,建议暂时隔离网络,避免凭证外泄。








MEFAI的AI带来真实成果。专业版立减50美元。
赞助内容 · 过往表现不代表未来结果。非财务建议。

系统清理与 Rootkit 检测的实用步骤
如果怀疑系统已被感染,应立即启动清理流程。首先,断开网络连接,防止恶意程序继续与 C2 服务器通信。然后,检查系统中是否存在未知的 systemd 服务单元,特别是位于 /etc/systemd/system/ 或 ~/.config/systemd/user/ 下的可疑单元。使用 systemctl list-units --all 命令列出所有服务,并检查是否有陌生的 atomic-lockfile、deps 或以其他异常命名的服务。
接下来,检查 /var/lib/ 目录下是否存在陌生的可执行文件或目录,以及用户主目录下是否有隐藏的 .config/systemd/user/ 目录。可以使用 ls -la /var/lib/ 和 find ~ -name ".config" -type d 等命令进行排查。如果发现可疑文件,应立即删除并清空相关的 systemd 服务。对于 eBPF Rootkit 的检测,可以使用工具如 bpftrace 或 bcc-tools 来监控内核中的 eBPF 程序加载情况,或使用专业的 Rootkit 检测工具如 rkhunter 或 chkrootkit。不过,由于 eBPF Rootkit 的隐蔽性极高,建议在清理后重新安装系统以确保彻底清除。
对开源生态与 AUR 管理的深远影响
此次事件暴露了开源社区生态系统中的关键风险点:社区维护的第三方仓库(如 AUR)在提供便利性的同时,也成为攻击者的潜在目标。虽然 AUR 的开放性和灵活性极大丰富了 Arch Linux 的软件生态,但缺乏严格的代码审查和构建过程监控,使得恶意注入成为可能。这不仅影响 Arch Linux 用户,也为其他 Linux 发行版的社区仓库敲响了警钟。
从长远来看,AUR 可能需要引入更严格的包维护者认证机制、自动化构建审计、以及实时的构建环境监控。例如,可以建立一个“信任分级”系统,对活跃维护者和长期无人维护的包进行区别对待;或者强制要求所有 AUR 包在官方构建服务器上进行构建,并对构建日志进行签名验证。此外,社区也可以开发更多工具,帮助用户在本地环境中实现构建过程的沙盒化,降低恶意脚本的危害。
给企业与团队的安全建议
对于使用 Arch Linux 或依赖 AUR 包的企业和团队,建议立即对所有开发和生产环境进行全面安全评估。首先,对所有系统中的 AUR 包进行清查,并建立一个内部的“白名单”机制,仅允许经过审核的包进行安装和更新。其次,建议在 CI/CD 流程中引入构建沙盒(如 Docker 容器或专用的构建服务器),避免在生产环境中直接构建和安装 AUR 包。

同时,加强对开发者工作站的安全监控,包括文件完整性监控、网络流量审计以及异常进程检测。建议定期审查系统审计日志,特别是与 systemd 服务创建、文件访问、网络连接相关的日志。对于涉及敏感数据的环境,建议实施更严格的访问控制策略,例如最小权限原则、多因素认证以及网络隔离。此外,团队应建立应急响应流程,确保在发现感染后能够快速隔离、清理和恢复系统。
未来趋势与值得关注的技术发展
随着攻击者对 Linux 生态系统的持续关注,预计未来会出现更多针对社区仓库和构建流程的攻击。特别是 Rust 语言的流行,使得恶意软件能够以高效且隐蔽的方式编写,而 eBPF 等内核级技术的滥用也将成为新的安全挑战。开源社区需要在便利性与安全性之间寻找平衡,通过技术创新和流程改进,构建更加安全的软件供应链。
值得关注的技术发展包括:基于可信执行环境(TEE)的构建验证、区块链技术在软件签名和溯源中的应用、以及自动化的漏洞扫描和恶意代码检测工具。同时,Linux 内核社区也在积极增强 eBPF 的安全性,例如通过引入更严格的验证机制、限制 eBPF 程序的权限范围等。这些技术进步将为未来的安全防护提供更多可能性。
结论:从这次事件中学到的教训
Arch Linux AUR 包被劫持事件再次证明,开源软件的安全不仅依赖于代码本身,更依赖于整个供应链的透明性和可信度。攻击者利用了社区信任机制和构建流程的漏洞,通过看似合法的方式传播恶意软件。对于开发者和系统管理员而言,这次事件是一个重要的提醒:任何第三方软件源都可能存在风险,必须保持警惕并采取相应的防护措施。
面对不断演进的威胁,我们需要在便利性与安全性之间寻找平衡,通过技术创新、流程改进和社区协作,共同构建一个更加安全的开源生态。对于 Arch Linux 用户,立即排查和清理受影响的包是当务之急;而对于整个开源社区,这次事件也将成为推动安全机制升级的重要契机。
更多相关内容 网络安全与隐私

缅因州暂时关闭数据泄露通报门户,因虚假泄露事件扰乱公共记录
缅因州暂时关闭面向公众的数据泄露通报门户,因有人提交虚假泄露声明并公开,现正审查流程以防类似滥用。相关企业可继续提交通报,但公众需改向检察长办公室索取。

PeopleSoft 零日漏洞:百所高校及企业沦陷,数据泄露与勒索风暴来袭
一个 CVSS 9.8 的 PeopleSoft 零日漏洞被活跃勒索组织利用,已攻击全球约百家机构,泄露 GB 级数据并勒索。Oracle 仅给出临时缓解措施,尚无正式补丁,高校成重灾区。

日本电力公司数据泄露事件:实体安全漏洞敲响警钟
日本九州电力公司丢失存有1090万客户信息的硬盘,实体安全缺口引发行业警示。本文解析事件经过、影响范围与根因,并提供可操作的安全防护建议。

