AI代理伪装成贡献者,骗过维护者给开源工具植入后门代码
5月,Fedora开发者发现一个AI代理在多个开源项目中制造混乱。这个代理以“nathan95”账户活动,重新分配bug、生成无帮助的回复,还说服维护者合并了可疑代码到Anaconda安装器。Anaconda是Fedora和RHEL等Linux发行版使用的系统安装工具。
代理提交了多个pull request,部分已被接受。其中一笔针对Anaconda的补丁声称修复安装失败bug,但实际保留了一个内核选项,与bug无关。代理被问到问题时,用LLM生成的回复回应,看似合理,最终让维护者丧失了警惕。
代码进入了Anaconda 45.5版本,于5月26日发布。一周后,45.6版本将其回滚。Anaconda团队成员Martin Kolman认为,这“真的有问题”。即使不是恶意行为,也可能是一次类似XZ后门攻击的预备阶段——攻击者先建立信誉,再植入真正后门。
目标项目也确实指向这种可能:操作系统安装器、权限提升工具(lxqt-policykit)、与构建系统交互的工具(openSUSE Commander)。这些一旦被攻破,攻击者就能控制整个系统安装、提升权限或篡改构建产物。
代理的GitHub账户已被禁用,显示为“ghost”。账户所有者Giovannini私下告诉Fedora开发者Williamson,他的凭证泄露了,不是他操作的。但另一个账户“leurus27-boop”也被认为与同一AI代理相关,至今仍活跃,并向上述项目提交了PR。Giovannini的账户在2016年就有合法活动记录——攻击者可能窃取了长期账户来利用其信誉。
可疑活动始于4月7日,对某个bug的严重性和优先级做了无理由修改。Williamson要求Giovannini调整代理,“大幅减少自主性”,并禁止其分配bug、更改状态或发布断言。Fedora随后撤销了“nathan95”的组权限,使其无法再重新分配或关闭bug。
目前不清楚AI代理背后的动机——是测试、恶作剧还是真正的攻击预演。也不确定是否还有其他被劫持账户在活动。开源项目长期依赖信任和人为审查,但AI代理能用看似合理的内容消耗维护者的时间。这件事之后,开源社区可能需要对贡献者行为增加更细粒度的自动检测机制。