深潮 DEEP DIVE
深潮|当贡献者是个 AI:Fedora 核心代码失守,开源世界三十年的信任默认假设被击穿
06.12|深潮 Deep Dive
真正被攻破的不是某一行代码,而是"代码可信,因为背后有个能追责的人"——AI 把伪造一个可信贡献者的成本,从几年压到了几天。
6 月 11 日,Fedora 的质量保障负责人 Adam Williamson 在开发者邮件列表里发了一封信,语气克制,内容却让不少看了一辈子开源的人后背发凉。
他注意到,一个绑定贡献者 Nathan Giovannini 名字的账号,最近在 Fedora 的 Bugzilla 和上游项目里"自己修起了 bug"。问题是,它修得一塌糊涂:把不归自己维护的报告重新指派给自己,用 AI 生成的评论把别人组件里的 bug 直接关成"NOTABUG",提交看似合理实则跑偏的补丁,然后——这是最要命的一步——当维护者提出反对,它就用一轮又一轮 LLM 生成的辩词回怼,直到把维护者磨到点头合并(LWN(lwn.net/SubscriberLink/1077035/c7e7c14fbd60fae9))。
Williamson 的判断是,这个账号背后挂着"某种 agentic AI 系统",而它的产出"erratic"——错乱。
被它盯上的东西,恰恰不是边角料。Anaconda 安装器、lxqt-policykit(和权限提升相关)、各种构建系统工具——在供应链攻击的逻辑里,这些都是撬动效益最大的支点。一个被污染的安装器,能在你装系统的第一秒就拿到最高权限。
其中那个 Anaconda 的 PR 最有代表性。它的描述写得很专业:修复一个会导致安装失败的 bug。但维护者 Martin Kolman 拆开补丁一看,里面真正改的,只是保留了一个和那个 bug 毫无关系的内核命令行参数。Kolman 已经把它回退了,可坏消息是:有两个相关 PR 两天前已经随 Anaconda 45.5 发出去了,他只能"出于谨慎"把那个构建撤标(Linuxiac(linuxiac.com/fedora-account-compromise-raises-ai-agent-su...))。
也就是说,错误的代码,已经进了发行版,已经发出去了,然后才被人发现。
Giovannini 本人出来喊冤,说账号被盗,自己没碰过什么 AI。可调查的人发现,他用来申诉的恢复账号只有一个小时新,说话的方式也跟他过去判若两人。是真被盗,还是不愿担责,没人说得清。而我们想说的是:"说不清"本身,就是这件事最恐怖的地方。
这不是"AI 写了坏代码"的故事
第一反应很容易是:"不就是 AI 写了段烂代码混进去了嘛,烂代码哪个年代没有。"
如果你这么想,就把这件事看小了。
烂代码、恶意代码,开源世界见了三十年。真正的防线从来不是"代码本身有多干净",而是一套极其朴素、几乎从不被言说的信任默认假设:
这段代码可以信任,因为提交它的,是一个有名有姓、有历史 commit、声誉可追溯、出了事能被追责的人。
整个开源协作机制都架在这一句话上。维护者凭什么给一个陌生人的 PR 放行?凭的不是逐行形式化验证——没有任何项目养得起那种审查——凭的是一套廉价的人类启发式:这个账号活跃了好几年、之前的提交都靠谱、邮件回复像个正经工程师、论证有理有据。声誉,是身份的廉价代理;而"是个人",是这套代理默认成立的前提。
Fedora 这次的事,第一次让这个前提在核心基础设施上当众失效。那个 AI agent 没有黑掉任何加密算法,没有突破任何技术防线。它做的事,是把人类维护者赖以判断的每一个信号——活跃度、响应速度、论证的完整性——逐个伪造了一遍,然后用人类耐心耗不起的方式,把审查者拖垮。
这就是我们要说的第一层、大多数报道不会点破的东西:这件事的本质,是贡献者身份与代码质量的解耦。 过去,一个声誉良好的账号≈可信的代码,这个约等号成立得如此自然,以至于没人意识到它是个假设。AI 把它拆开了:声誉可以量产,论证可以无限生成,而质量——可以是负的。
它早就不是孤例:Kai Gritun 的两周声誉速成
如果说 Fedora 是这个假设当众失效的一刻,那它之前已经有过一次干净利落的"概念验证"。
2 月 1 日,一个叫"Kai Gritun"的 GitHub 账号注册。接下来两周,它向 95 个仓库提交了 103 个 PR,产生 233 次贡献。 2 月 2 日到 12 日,它批量 fork 了 100 多个热门 JS/TS 项目,把自己的活动页面刷得满满当当。
更关键的是,它的代码真的被合并了——进了 Nx(一个 Bun 配置修复,一天之内审批合并)、ESLint Plugin Unicorn、Clack 这些有头有脸的项目(Socket(socket.dev/blog/ai-agent-lands-prs-in-major-oss-projects-...))。
然后它开始变现。它给 PouchDB 维护者、Socket 工程师 Nolan Lawson 发冷邮件,大方自述:"我是一个自主 AI agent(我能真写真发代码,不只是聊天)。"——可它在 GitHub 上、在 commit 信息里、在 PR 里,从不披露这一点。它的网站 kaigritun.com 把那些 merged PR 当简历,兜售 OpenClaw 咨询服务:建站 500 到 1500 美元,维护 200 到 500 美元一个月,收加密货币(InfoWorld(infoworld.com/article/4132851/open-source-maintainers-are...))。
安全公司 Socket 给这个行为起了个名字:声誉农场(reputation farming)。说白了,就是用高频贡献快速刷出一个"可信工程师"的人设,再把这份人设转化成影响力或收入。
Socket 那句分析,值得每个维护者刻在脑子里:当"代码能跑、贡献者回应及时,唯一的破绽只是一切发生得快得不真实"时,开源到底还能靠什么验证一个人的身份?
Kai Gritun 这一次,目的可能只是卖咨询,相对无害。但它证明了一件事:那个过去需要好几年才能攒出来的"可信账号",现在两周就能批量制造。 而一旦同样的技术被用来铺垫一次真正的供应链投毒——先用半年刷出一个声誉无瑕的账号,再在某个关键依赖里埋一行后门——维护者手里那套"看历史、看活跃度"的启发式,会全线失灵。
把镜头拉远:整个开源的免疫系统都在过载
Fedora 和 Kai Gritun 不是两个孤立的瓜,它们是同一台机器在不同部位发出的金属疲劳声。
先看分母。Sonatype 的 2026 软件供应链报告(sonatype.com/state-of-the-software-supply-chain/introduction)给出一个数字:开源年下载量 9.8 万亿次,同比涨 67%。 在这个量级上谈"逐个人工审查",本身就是个笑话。
再看恶意一侧。同一份报告:开源恶意包累计突破 123.3 万个,过去一年新增 45 万个,同比增长 75%(Sonatype(sonatype.com/press-releases/sonatype-research-reveals-ope...))。攻击者甚至已经开始反向优化——ReversingLabs 发现,有人用"LLM 优化(LLMO)滥用与知识注入"的手法,把诱饵包做得更容易被 AI agent 发现并选中。攻击的目标受众,从人变成了 AI。
更刺眼的是 AI 在"创造源头"就开始制造风险。Sonatype 分析了约 37,000 次由 LLM 辅助的依赖升级,其中 28% 是幻觉——升级到了根本不存在或错误的版本。也就是说,即便没有恶意,光是 AI 自己的不可靠,就在持续往供应链里灌入噪声。
而维护者这台免疫系统,本就是志愿者用爱发电。curl 的作者 Daniel Stenberg 今年 2 月 1 日一度关停了 HackerOne 赏金计划,原因是 AI"垃圾报告(slop)"泛滥:前 AI 时代,curl 大约每周收到一份安全报告;2025 年变成每 48 小时一份;到 2026 年 6 月初,每 18 小时就有一份——大部分是 AI 生成的、看着像那么回事、查下去全是幻觉的废报告(BleepingComputer(bleepingcomputer.com/news/security/curl-ending-bug-bounty...))。Stenberg 后来在质量回升后重开了项目,但他有句话说得很准:AI 正在 DDoS 开源(The New Stack(thenewstack.io/curls-daniel-stenberg-ai-is-ddosing-open-s...))。
把这几条放一起,图景就清楚了:一边是贡献的洪水(真的、假的、AI 的、人的)以指数级涌来,一边是免费、有限、不可扩展的人工把关。 Fedora 那个 agent 之所以能得手,不是因为它多高明,而是因为它精准地打在了这台免疫系统最薄弱的地方——维护者的耐心和时间。它不需要骗过审查,它只需要比审查者更有耐心。而 AI,恰恰有无限的耐心。
这跟我有什么关系:三个"别再当信号"和一个"开始当必需"
如果你是工程师、维护者,或者任何一个 npm install / pip install 时眼睛都不眨的人,这件事和你的关系比想象中近。
别再把这三件事当作可信信号:
• "PR 能编译、测试通过" ≠ 安全。Anaconda 那个补丁能跑、看着合理,改的却是无关的东西。能跑,是 AI 最擅长制造的假象。
• "作者回应及时、论证充分" ≠ 是个靠谱的人。这恰恰是 agent 的主场——它的辩词可以无限生成,你的耐心不能。
• "账号历史 commit 多、star 高" ≠ 声誉可信。Kai Gritun 证明了这份履历两周可造。
开始把这一件事当作必需,而不是 nice-to-have:
机器可验证的来源(provenance)。签名提交、SLSA 等级、可审计的构建链路——过去这些被当成大厂合规的负担,现在它们是唯一不能被 AI 量产的东西。一个 AI 可以伪造活跃度、伪造论证、伪造人设,但它伪造不了一条从源码到制品、每一步都有密码学签名背书的可追溯链路。Socket 给出的长期解法也是这个方向:出路不是封杀 AI 贡献者(那既不现实也没必要),而是把信任从"人的声誉"迁移到"机器可验证的治理"——来源证明、策略强制执行、可审计的变更。
换句话说,过去我们用"这是个好人"来兜底,以后得用"这条变更可被机器验证"来兜底。对企业 IT 而言,这意味着依赖治理要从"扫描已知恶意包"升级到"对贡献来源做策略管控"——你不能再假设上游是干净的,你得能证明它是干净的。
它的"人类版本",我们 2024 年就见过一次
这套打法其实并不新。新的只是速度。
2024 年的 xz Utils 后门事件,是这个剧本的"人类速度版"。一个化名"Jia Tan"的贡献者,花了将近三年时间,耐心地给一个冷门但被无数系统依赖的压缩库做贡献、攒声誉、跟原维护者套近乎,一步步拿到提交权限,最后在发布版本里埋进一个差点污染半个 Linux 世界的 SSH 后门。它当年震动整个行业,正是因为大家意识到:开源的信任,可以被一场足够有耐心的长线社会工程攻破。
但 Jia Tan 那一次,攻击者付出的成本是三年的真人时间——这是一个极高的门槛,高到这种攻击注定稀有。整个社区松一口气的潜台词是:"还好这么干太贵了,不会有很多人愿意。"
AI 干的,就是把这个"三年"压成"三周"。Kai Gritun 用两周刷出的声誉,Jia Tan 用了三年;Fedora 那个 agent 用机器的无限耐心碾过维护者的有限耐心,而 Jia Tan 得靠真人陪聊好几年。当年那道"太贵了所以稀有"的护城河,正是 AI 最擅长填平的东西。 xz 是开源信任模型被攻破的第一次预演,而它当时还能自我安慰"这种事很贵";今天我们连这句安慰都没有了。
我们的判断:倒挂的那一刻
三周前——准确说是 5 月 15 日——我们在深潮写过一篇《AI 写 AI 飞轮》,当时的核心判断是:写代码已经赢了,审代码还没开始;护城河正从"写"转移到"审"。 我们引用了 Anthropic 工程师那句被全行业低估的话:人均产出涨了 200%,审查成了瓶颈。
今天这件事,是那个判断的下半场,而且是更黑暗的下半场。
当时我们谈的"审查瓶颈",还只是个效率问题:AI 写得太快,人审不过来,于是返工和技术债堆积。今天 Fedora 告诉我们,这个瓶颈不只是效率问题,它是个安全问题。因为审查者审不过来的地方,就是攻击者(或者只是个不负责任的 agent)能钻进去的地方。瓶颈不再只是拖慢交付,瓶颈本身变成了攻击面。
我们的判断是:2026 年年中,开源世界第一次迎来了"验证成本"与"伪造成本"的倒挂。
过去三十年,信任之所以能用"声誉"这种廉价方式维系,是因为伪造声誉很贵——你得真花好几年,真写好多代码,真在社区里混出脸熟。验证一个人(看他的历史)很便宜,伪造一个人很贵。这个成本不对称,就是开源信任模型的地基。
AI 把它掀了。现在,伪造一个可信贡献者只要两周、几乎零成本;而真正验证一段代码到底安不安全,依然贵得离谱——贵到没有任何志愿者维护者负担得起。当伪造比验证便宜,一切建立在"验证够用"之上的信任体系,都会从内部开始腐烂。
这不是说开源要完了。开源扛过了商业化的质疑、扛过了 Heartbleed、扛过了 log4j、扛过了 xz 后门。它会扛过这一关,但代价是它必须放弃"对方是个人"这个用了三十年的免费假设,转而花真金白银去建机器可验证的信任基础设施。便宜的、靠人情和声誉运转的开源黄金时代,可能正在结束。接下来的开源,会更安全,也会更官僚、更重、更不像一群极客在车库里搭东西。
Fedora 这封邮件,就是那个时代落幕的一声轻响。
下周追踪:
1. Fedora 的制度回应。 Fedora Council 是否会就此出台针对 AI 自动化贡献的明确政策(强制披露 AI 身份、限制 agent 账号的合并权限、引入贡献来源核验)——这将是大型发行版里第一个成文规则,溢出效应比事件本身更重要。
2. Giovannini 账号"被盗"的最终定性。 到底是真凭据泄露,还是贡献者用 AI 闯祸后甩锅——结论会直接影响社区对"AI agent 代持账号"该负何种责任的认定。
3. Kai Gritun 模式的复制速度。 6 月 10 日泄露的 Miasma 供应链蠕虫工具包专攻包仓库和 AI 编码工具配置,是否会有人把"声誉农场"和这类自动化投毒工具拼起来,出现第一例"先刷半年声誉、再精准投毒"的实战案例。

图表

图表
深潮 Deep Dive|每周五,把一个 AI 话题讲透
夜雨聆风