近日,Arch Linux 项目发布公告,宣布暂时禁用 AUR(Arch User Repository)的“包采纳”(Package Adoption)功能。这一决定意味着用户将无法再通过网页界面申请接管无人维护的软件包。 Arch Linux 团队称,此举是为了应对日益频繁的供应链攻击与滥用行为,并将在完成安全审查后重新设计相关流程。

AUR 是 Arch Linux 生态中极具特色的社区驱动软件仓库,用户可在此提交 PKGBUILD 脚本,让其他用户方便地编译安装软件。由于维护者的流动性,许多包会随着维护者精力不足、账号失效或主动放弃而变成“孤儿包”(orphaned package)。在此之前,任何有意向的用户都可以通过“Adopt”按钮申请成为这些包的维护者,并继承已有的用户信任和下载量。这本是社区自治的体现,却也成为攻击者垂涎的目标。

据 Arch Linux 官方论坛及 AUR 邮件列表发布的消息,近期出现多起恶意接管事件:一些长期无人维护却在用户中有广泛知名度的包,在被攻击者快速认领后,旋即被植入恶意代码或后门,再通过周期性的软件更新分发到用户机器。由于孤儿包本身具有“被新维护者接管”的必要性,很多用户对包原有作者的信任并未及时转移,导致此类攻击极具隐蔽性。此外,部分自动脚本也在大规模扫描并抢占孤儿包,使得正常的开发者难以获得维护机会。AUR 管理员表示,这些现象已经破坏了社区的信任基础,必须立刻采取措施。

据了解,本次禁用不仅覆盖网页端的 Adoption 按钮,AUR 的后台 API 接口也一并关闭。即使用户通过命令行工具或自行构造请求,也无法完成认领动作。已有的孤儿包将继续存在,但只能等待原维护者恢复或管理员手动指派。对于已经处于“认领中”状态的申请,官方表示将进行逐个审核,但在新流程出台前,不会批准任何新认领。

这一决定在 Arch Linux 社区内引发了激烈讨论。支持者认为,AUR 长期处于低监管状态,包的质量和安全完全依赖维护者的个人信誉,而这种模式显然无法抵御有针对性的攻击。禁用采纳功能虽然会牺牲一定的灵活性,但至少给恶意行为设下了一道门槛。一位社区用户在 Reddit 上评论:“终于有人意识到 AUR 可能是整个 Arch 生态最大的攻击面了。如果没有信任链,那么任何包都可能是特洛伊木马。”

反对声同样存在。一些资深贡献者指出,AUR 的精髓就在于低门槛和透明度,禁用采纳功能会严重打击新人参与维护的热情。部分合法的孤儿包因为找不到维护者,将逐渐陈旧、失效,最终损害用户利益。他们呼吁官方不要因噎废食,而应引入更完善的验证机制,例如强制 GPG 签名、贡献历史评分、认领冷静期等。

Arch Linux 项目组在公告中承认,单纯禁用并非长远解决方案。一名核心开发者透露,团队正在与 aurweb 的维护者协作,重新设计包接管流程。新方案可能会要求申请者提交 GPG 公钥并关联到知名的开发者账号,同时引入“观察期”机制——申请人需在一段时期持续提交有效的补丁或评论,才能获得正式维护权限。此外,官方也可能要求所有被认领的包在首次发布时,必须记录源码校验和变更的审计日志,以便事后追踪。

目前,Arch Linux 官方尚未公布禁用将持续多久,也未明确新流程的具体上线时间。对于广大 AUR 用户来说,短期内最稳妥的做法是避免盲目接受那些长期未更新、且突然“易主”的包。同时,建议用户使用 pacman -Qm 检查本地已安装的 AUR 包,并在安装前仔细审查 PKGBUILD 文件。

从“自由发展”到“重点看守”,Arch Linux 对 AUR 的这次调整,反映出了开源社区在新时代面临的安全困境。如何在保持开放精神的同时,构建可靠的可信链条,是每一个发行版都需要回答的问题。而 AUR 包采纳功能的暂缓,或许只是这场变革的起点。