AUR 恶意软件浪潮迫使 Arch Linux 禁用所有软件包推送

在攻击者滥用受信任的软件包工作流之后,该由志愿者运营的项目将措施从阻止软件包被接管升级为冻结 AUR 的写入路径。

By · Published

Primary source: International Cyber Digest on X

Why it matters

AUR recipes execute on developer machines that often hold source-control keys and cloud credentials. Attackers are turning trusted package ownership transfers into a distribution channel.

The urgent lockdown of a compromised open-source software repository (Charcoal and white-chalk sketch on toned paper — expressive smudged shading, urgent gesture lines)

Arch Linux 已禁用对 Arch User Repository 的所有推送,阻止维护者在这个由志愿者运营的项目清除恶意提交期间更新其社区软件包配方。该停摆在周日被 International Cyber Digest 扩散,此前 Arch Linux DevOps 贡献者 Robin Candau 在项目的 AUR 邮件列表中确认了该冻结

“我们现在也已完全禁用推送,暂时处理这一情况,” Candau 在 8月1日 写道。

此举阻止了整个 AUR 的新提交,包括合法的软件包更新。现有的软件包配方仍然可以被读取和下载,但维护者无法通过正常的 Git 工作流程发布修复或新版本。此次冻结不影响通过 Arch Linux 官方仓库分发的软件包。

Candau 是一名 Linux 系统和 DevOps 工程师,于 2023 年加入 Arch 团队,他已经在 7月30日 禁用了软件包接管。他指出出现了大量恶意接管和后续提交,并要求用户报告可疑活动。不足两天后,该响应升级为仓库范围的写入冻结。

第二次遏制失败

Arch Linux 自 6 月以来一直在与 AUR 的恶意活动作斗争。在一则 6月12日 的事件通告 中,软件包维护者 Campbell Jones 表示项目当时看到大量恶意软件包接管和更新。项目警告说,在维护者追查有害提交期间,账户创建、软件包更新、接管和新包创建可能会受到干扰。

随后项目禁用了新的 AUR 注册。在 7月13日,DevOps 贡献者 Leonidas Spyropoulos 重新开放了注册,并加入一次性邮箱屏蔽、强制邮件验证以及邮箱更改冷却期。

这些账户控制并未消除攻击者利用的更大弱点:AUR 软件包在被放弃的配方易主后可以保留其名称和累积的信任。

Sonatype 将 6 月的活动命名为 "Atomic Arch"。其研究人员表示,攻击者接管了孤立的软件包并修改其 PKGBUILD 指令以安装恶意的 npm 依赖项,包括 atomic-lockfilejs-digestlockfile-js。Sonatype 估计在几波攻击中大约有 1,500 个软件包可能受到影响,但同时警告其分析和软件包计数仍属初步。

Sonatype 检查的有效载荷包含与凭证收集、反调试、进程和文件隐藏以及可能的数据外传相关的功能。研究人员发现了对 GitHub 凭证、SSH 工件、HashiCorp Vault 令牌、浏览器 cookie 以及工作场所通信服务数据的引用。Sonatype 建议将执行过该有效载荷的机器视为已被攻破,因为仅删除 AUR 软件包可能无法清除第二阶段的恶意软件。

来自最新一波的报告描述了不同的投递方法。7 月下旬,AUR 用户标记了包含小型 ELF 可执行文件的软件包,这些可执行文件有时命名为 validatorassembleroptimizerconverter。社区成员报告了包括 openconnect-ssogit-pkgsnnn-nerd 在内的软件包的可疑更改。随着报告的到来,Arch 的维护者已还原提交并暂停了相关账户。公开证据尚无法确定 7 月下旬的活动是否来自 Atomic Arch 背后的操作者。

AUR 的信任移交是薄弱环节

AUR 托管用户提交的构建配方,用于 Arch Linux 官方仓库之外的软件。这些配方不像官方软件包那样经过审查,其脚本会在构建或安装过程中执行。因此,即使上游软件本身未被攻破,恶意指令也可能到达开发者的工作站。

被放弃的软件包为攻击者提供了进入该工作流程的高效途径。攻击者可以接管一个熟悉的软件包,保留其可识别的名称和历史记录,然后在下次更新时更改现有用户将执行的指令。该软件包已通过最难逾越的分发障碍:说服人们信任并安装它。

Arch Linux 仍然告诫用户在更新 AUR 软件之前检查每一个 PKGBUILD 和安装脚本的更改。一旦自动化攻击者能够生成账户、扫描被放弃的软件包并比志愿审查团队更快地发布恶意更改,全体推送冻结就显示出依赖人工审查的局限性。

对于在开发者机器上运行 Arch Linux 或基于 Arch 的发行版的工程团队而言,直接暴露的风险不仅限于桌面软件。开发者系统通常保存源控制凭证、SSH 密钥、云令牌和浏览器会话。被攻破的社区构建脚本可能在端点工具识别软件包名称为恶意之前就将这些资产置于攻击者可及范围之内。

Reader comments

Conversation for this story loads after sign-in.