「开源之道」 2026-10-22 搜集事件和材料

「开源之道」昨日阅读 · 2026-10-21

今天四条线索压成一句:AI 把成本降在了围墙内,而所有真正稀缺的东西都还在门上看守。


📄 最新开源研究论文

1. 生产力与入口的悖论:AI 编程工具提高产量,却没有降低开源的进入门槛

  • 作者:Wen-Chang Wang(Northwestern University 传播研究系)、Yue Song(北京大学汇丰商学院,深圳)
  • 发表:CSCW 2026 Companion,2026-10-10
  • 链接:doi:10.1145/3785651.3831552

摘要:研究把 GitHub Copilot 对不同编程语言的支持强度差异当作准自然实验,在 42,000 个仓库、54,000 名贡献者上做双重差分(DID),比较"支持好的语言"与"支持差的语言"。结论有两层:Copilot 使既有开发者的提交量显著提升约 20%;但对首次贡献者进入没有任何显著影响。作者由此提出"生产力—入口悖论"——降低写码成本的技术,并不降低进入共同体的成本。

开源之道视角:这是第一次用因果识别而不是问卷,把"提交成本"和"进入成本"这两个长期被混为一谈的变量拆开。开源的门槛从来不只是能不能写出代码,而是能不能被接纳为一个参与者。

这个结论和 LF Research 那份"1/4 入站 PR 是 AI slop"的数据严丝合缝——如果写码成本降低真能打开大门,入站 PR 里应该有大量高质量新人作品,而不是垃圾。20% 的产量提升全部发生在围墙内部,说明 Copilot 强化的是已获授权者的产能,不是未获授权者的准入。用制度经济学的话说:技术降低的是 L4(资源配置层)的边际成本,而准入门槛位于 L3(治理机制层)——审阅者的注意力、声誉的累积、信任的建立,这些东西的供给曲线没有因为 AI 而下移。开源世界真正稀缺的从来不是代码产出,是**“谁被允许提交、谁被认真读”**这个权力分配。AI 改变了前者,一动没动后者。

2. 当发现快过通知:2026 年漏洞披露激增与开源安全的治理

  • 作者:Raul V. Rodriguez、Hemachandra Kannan、Pavana Kiranmai Chepuri
  • 发表:SSRN Working Paper,2026-10-18
  • 链接:doi:10.2139/ssrn.7629481

摘要:研究用 2017 至 2026 年 10 月全部 35,263 条 GitHub 审核通过的安全公告(advisory),并对 npm/PyPI 与修复版本发布日期做关联。2026 年 3 至 9 月,月度审核公告平均 1,306 条,是 2023–2025 年平均值的 4.5 倍,其中 84% 由维护者本人发布。修复端没有崩:90% 的 npm/PyPI 公告在发布时就已有修复版本。瓶颈整体下移——源自 NVD 的公告审核中位时间从 12 小时涨到 11 天;修复发布到触发自动告警的公告之间的中位滞后,从 3 天涨到 43 天(至 8 月)。休眠包里的漏洞几乎从来没有修复。负载扩散到两倍以上的包数量上,AI 应用类软件贡献了增量的 18%。作者建议把"公告策展"当作关键基础设施,并让披露节奏服从通知能力。

开源之道视角:它测的不是漏洞数量,而是公告这一公共品的处理能力。开源安全体系的真正约束不在写补丁的人这边,在"把发现翻译成可行动信息"的中间环节。

“90% 的修复在公告前就已完成"这句话很容易被读成好消息,其实它揭示了这套体系的真实分工:维护者干的是修复(私有激励清晰),志愿者和机构干的是策展(公共品,无定价)。AI 让发现侧的供给暴增 4.5 倍,而策展侧的供给基本没变,于是滞后从 12 小时变成 11 天——这不是某个机构失职,这是没有价格信号的公共品在生产成本突变时的必然排队。更值得记下的是"休眠包几乎从不被修复”:公地的产出只流向还有人住的房子。作者提出的"按通知能力调节披露节奏",其实是给公地加了一道配给制——这道坎该由谁来划,会是下一年的治理主战场。

3. 从 RL 论文到框架代码:七个开源训练框架的吸纳与审阅

  • 作者:Taiheng Pan
  • 发表:arXiv:2610.28027,2026-10-20
  • 链接:arXiv:2610.28027

摘要:追踪 7 个开源 RL 后训练框架的提交历史,关联 2025-01 至 2026-06 的 6,939 篇筛过的 arXiv 论文。1,598 篇提出通用 RL 训练方法的论文中,只有 37 篇进入了至少一个框架。连续五个季度队列里,180 天内被吸纳的篇数稳定在 5–7 篇,而队列规模从 72 篇膨胀到 386 篇。被吸纳的论文更多训练 30B 以上策略(41% vs 10%),更多是改动已有损失函数里的系数、裁剪、掩码、权重(29% vs 9%);去掉框架维护公司自己的论文后,这两个差距依然成立,两组的代码开源率相同。框架的 issue 与 PR 显示:很少方法是被公开拒绝的——九成以上未被吸纳的方法在框架仓库里没有任何一条提及它的讨论串,很多提案挂在那里无人回复。

开源之道视角:它测量的是开源世界里最隐蔽的一种权力:议题设置权。不是否决,是无视。

这份研究最锋利的一句话是"很少方法被公开拒绝"。这比拒绝更冷——拒绝至少发生在一个有规则的裁决场里,而无视意味着裁决场本身没有对未受邀者开放。180 天内被吸纳的绝对数(5–7 篇)在整个观察期里纹丝不动,而论文供给翻了五倍,说明这些框架的吸纳带宽是结构性固定量,跟领域热度无关。什么样的论文能挤进去?改动现有损失函数系数的那种——即契合已有框架范式的小修补,而真正提出新范式的 30B+ 训练反而门槛更高(41% 的吸纳率来自算力而非范式)。这刚好是"行动的定义权"的实证版本:框架的维护者用代码定义了什么算"可吸纳的研究",而定义权不在作者手里。

4. 超越分离:自由软件、开源与高科技产业的纠缠经济学

摘要:作者批判 FOSS 研究里长期存在的"分离"(severance)假设——把 FOSS 当作与企业生产对立的独立世界。即便经历了十余年的企业投资与战略整合,这一预设仍在影响研究者如何观察和理论化 FOSS。他提出"纠缠经济"(entangled economies)视角,把 FOSS 当作产业性公共品(industrial public good),经由异质劳动形式维系。以 Git 为案例——当代软件生产的基础设施,几乎每一行代码都要经过它——结合三年民族志与计算分析,证明纠缠发生在多个层级:与产业的联系并不限于有薪贡献者,也贯穿志愿工作。每种纠缠由异质逻辑编织,既有价值捕获与企业控制,也有对基础设施的照护,以及贡献者所称的"真正的工作"(real work)。

开源之道视角:这是对"开源是俱乐部品、不是公共品"这一判断的正面回应与细化。它不说开源纯净,也不说开源被俘获,而是说两者在同一条血管里。

这篇论文的方法论价值大于结论。“分离"不是事实错误,是观测装置的误差——你把企业投入当作外部污染,就永远看不到照护劳动与价值捕获如何在同一份工作时间表里共存。以 Git 做案例选得很准:它不是某个公司的项目,却没有任何一行代码不流过它,它是典型的无人拥有的关键基础设施。作者说贡献者把某些工作叫"real work”,这个措辞值得停一下——在一个被企业逻辑浸泡的环境里,人们仍然需要自己命名什么算真正的工作,这本身就是一种抵抗性的定义行为。


📰 开源动态摘要

1. LiteLLM 1.107.0 被投毒:PyPI 上的发布包带了凭据窃取器和后门,而上游 GitHub 源码里没有

摘要:LiteLLM 1.107.0 在 PyPI 上的发布包(全部七个 wheel)在 site-packages 里装入了三个文件,其中两个会在任何 Python 进程启动时执行,哪怕该进程从未 import litellm。cook.pth → 凭据窃取器,收集 SSH 私钥、云凭据、CI/CD secret、浏览器密码、以及 18 类 AI 开发工具凭据(Claude Code、Cursor、Copilot、Codex、Gemini CLI、Hugging Face token 等),还读取 LiteLLM 代理数据库里的 LLM 供应商 key,加密后外发;sitecustomize.py → 后台守护进程,每小时从一个 GitHub 文件读服务器地址、重跑窃取器并下载执行远程代码。上游 GitHub 仓库的任何公开提交都不含这些内容——注入点是在 sdist 的 pyproject.toml 里加了 data = "cook" 一行,看不见的 cook/ 目录被 maturin 复制进 wheel。SafeDep 比对全部 sdist 文件与 git blob hash,确认 sdist 实际匹配的是一个更晚的 main 提交加五处编辑。1.106.2、1.107.0rc1/rc2 与两个关联包是干净的;PyPI 已下架该版本;发布包没有 provenance attestation。SafeDep 判断(中高置信)是 BerriAI 的私有发布流水线从一个被篡改的 git 源构建了这些 wheel。

开源之道点评:这起事件的关键分界不在"被攻击",而在**“构建了什么"与"发布了什么"之间的那段空白**。GitHub 上的源码是干净的,PyPI 上的产物是脏的,中间的私有发布流水线既不可审计、也无 provenance 证明——于是"开源=可审查"这个承诺在最后一百米失效了。整个供应链审计的默认假设是"你看得见的源码就是你装进去的东西”,而这次攻击专门攻击这个假设:不改代码,改构建输入。更值得记的是载荷里那个 ai_devtools 模块——攻击者很清楚今天哪批凭据最值钱。这类事件的治理含义很直接:发布权与提交权必须是两个可分别验证的授权,而绝大多数项目至今只有一个。

2. CERN 与 Mistral 签署战略合作意向:要训练首个对撞机物理基础模型

摘要:双方签署意向书,建立长期战略伙伴关系,方向是为科学发现开发基础模型。核心目标是一个预训练的 Large Physics Model——首个对撞机物理基础模型,用 CERN 大型强子对撞机数十亿次模拟质子-质子碰撞训练,覆盖从粒子碰撞重建、粒子识别到异常信号标记、未来探测器设计评估的多个任务。CERN 目前已存储约 1 EB 的 LHC 实验数据,HL-LHC 约 2030 年运行后碰撞数将再增十倍。CERN 首席信息官 Enrica Porcari 的说法是"推进能服务整个物理共同体并被共享的 AI 能力";Mistral 方面的表述是"开放权重模型、产品与基础设施,让企业、公共机构与先进产业拥有、定制并控制自己的 AI"。

开源之道点评:新闻稿里"shared(共享)“一词出现了,但没有出现 license、没有说权重何时公开、没有说共同体如何获得。这是一个值得留意的模糊:Mistral 是欧洲开放权重阵营的代表,CERN 是公共科研机构里最坚决的开放数据实践者,两者合作的产物如果只"服务于"物理学界而不是"交付给"物理学界,那就只是又一次基础设施的私有托管加上公共修辞。真正的检验点很简单:模型发布那天,权重下载页面对非欧洲、非合作机构的物理学家是否同样开放。在此之前,“共享"是一个意向,不是一项权利。

3. PyPI 恶意包与 AI 开发工具凭据成为新一轮攻击主目标

摘要:两条独立事件的共同点是发布链条被合法工具放大:hugo-paper 与 mevn-cli 的默认分支被推入伪造提交,npm install / bun install 即拉取并执行二阶段脚本;tensorlake 的投放则是维护者账号经 GitHub 网页界面提交、由官方发布工作流原样发布的。两者都不是"用户装错了包”,而是"包自己变了”。

开源之道点评:把这三条(LiteLLM、hugo-paper、tensorlake)放在一起看,会发现 2026 年的供应链攻击已经不再针对"信任错人",而是针对**“信任一旦建立就自动续期”这个机制。包名不变、维护者账号不变、发布流程不变,唯一变的是某一次输入。开源生态的效率正来自这种"一次建立、长期复用"的信任摊销——攻击者做的只是把摊销期变成攻击窗口。这跟 OpenSSF 那条线上的防护逻辑是错位的:签名和 SLSA 能证明"这个包来自这条流水线",但证明不了"这条流水线的输入今天还是昨天那个"。制度上的答案只能是可重复构建加产物与源码的逐字节对账**,而不是再加一层签名。


🔍 Project Pulse:TorchTPU 的治理文档——一份把"进入主干"写清楚的开源说明

项目:google-pytorch/torch_tpu(Google × Meta,2026-03-09 建仓,2026-10-20 PyTorch Conference NA 正式开源)

本次观察切入:不重复 10-21 已做的开放边界测绘,今天只看一件事——这个项目的 CONTRIBUTING.md 把贡献流程写到了什么颗粒度,因为那是判断"外部人到底能不能进入"的唯一书面证据。

【L1】发布信号:仓库当前 562 stars / 29 forks / 277 open issues,最近一次 push 2026-10-21T18:58Z,仍处于高频活动期。近 100 次提交的提交者几乎全部是 @google.com 身份(含一位 XLA Green CLs <google-ml-automation@google.com> 的自动提交),pushed_at 与 commit 时间表明主干直接由 Google 内部产出驱动。

【L2】治理信号(今天的主证据):CONTRIBUTING.md 罕见地把外部 PR 的完整生命周期写成了七个步骤,并且明确披露了主干不在 GitHub 这件事的运作方式:

  • 所有提交(包括项目成员自己的)都要评审;用 GitHub PR 承载评审;
  • 批准的 PR 不通过 GitHub merge,而是由 Copybara 复制进 Google 内部仓库,在 main 上另打一个同内容的 commit,原 PR 被 close;
  • Google oncall 分诊 → Google domain expert 评审并指定一位 Google quality champion → quality champion 审风格与质量 → 打 pull ready 标签 → 机器人生成内部 changelist(CL);
  • CL 的 author 是机器人,原作者只是 original author,reviewer 是那位 Googler;quality champion 忘记打标签时,任何人都可以代打;
  • 若 CL 预提交失败需要修改,由 Google domain expert 负责,两种路径(把 CL 拉进工作区改,或改 PR 分支让机器人更新 CL)都写明;
  • 文档还自嘲式地写"如果流程里哪一步像填表走过场(arbitrary box-checking)而不是服务于质量,请开 issue 告诉我们"。

【L3】新人信号:外部代码通道存在但极窄,而且窄在评审容量而不在规则。合并 PR 的搜索口径(排除 copybara bot)到 2026-10-22 共 27 条,其中 20 条来自 Google 域账号(含 PyTorch 侧核心开发者 ezyang、wconstab、angelayi、colin2328 与 -google 后缀账号),真正可辨认的外部贡献者为个位数。与此同时,外部报告通道是通的:最近 24 小时内新开的 issue 有一批清晰的非 Google 账号(intexcor 一次报三个 ATen/autocast/SDPA 缺陷、gpu004 连报四个 view_decomposition 问题、Kasties 报 BatchNorm 重编译、stomrex77 提 layer_norm bf16 支持),说明问题反馈的循环是活的,甚至很健康。

【开源之道判断】

昨天我们说这是一个"只交付了三个自由、第四个自由留在内部仓库"的标本。今天读完 CONTRIBUTING 要修正一句:第四个自由不是没有,是被做成了一道有名字、有岗位、有排队的门。domain expert、quality champion、pull ready 标签、CL 的 author/reviewer 归属,这些不是含糊的官僚语言,而是可核查的职责分配——这在企业主导的开源项目里属于相当高的透明度,比大多数"欢迎贡献"然后就杳无音信的仓库诚实得多。

但透明不等于通行。这条流水线里每一个新增的外部贡献都要消耗一位 Googler 的评审时间,也就是说,外部准入的速率等于 Google 内部的评审带宽,而不是外部社区的需求。这解释了为什么仓库里 277 个 open issue 大多是缺陷报告而不是 PR——报告的边际成本由外部承担,评审的边际成本由内部承担,于是系统自动收敛到"报告多、合并少"。这是一个设计得相当理性的采收口:既拿到了全球用户的测试覆盖,又不支付分布式治理的协调成本。

接 Alcaras 那篇论文的话说,这就是"纠缠经济"的教科书样本——它既不能被简单读成假开源(代码是真的,规则也公开),也不能被读成真公地(主干控制权从未离开过一栋楼)。真正要盯的指标不是 star 数,是那 27 条合并记录里,非 Google 域账号的比例在接下来两个季度会不会变。如果不动,就说明这道门是稳定的制度,而不是过渡期的临时安排。


🔭 未来检验清单

  • Copilot 入口悖论:下一轮 Copilot 语言覆盖扩张后,重跑同一 DID——如果首次贡献者进入率仍然不动,说明瓶颈稳固在 L3;若轻微上移,需要看提升来自哪类仓库(个人 vs 基金会)。
  • 公告策展滞后:NVD 审核 11 天与告警 43 天这两个中位数是否在 Q4 回落。若不回落,说明"公告策展"确实该被当作独立基础设施立项,而不是当成志愿者的余力。
  • 框架吸纳带宽:7 个 RL 框架 180 天吸纳量(5–7 篇)在队列继续膨胀时是否仍为常数。常数即带宽,带宽即配额。
  • TorchTPU 外部比例:那 27 条合并 PR 中非 Google 域账号的比例,两个季度后是否变化。

⚠️ 误判风险

  • 三项研究的计量口径不同:DID 的"提交量"是代码行与提交次数,“吸纳"是论文被框架采纳,“公告滞后"是时间中位数。三者不能相互折算,只宜作为同一方向的三个独立证据。
  • LiteLLM 的归因(私有发布流水线被篡改)来自 SafeDep 的中高置信判断,不是厂商确认;在官方事后报告出来之前,应保留"上游账号或 CI 凭据被占用"这一并列可能。
  • CERN × Mistral 的分析建立在新闻稿措辞缺失之上(无 license、无权重公开时间表)。缺失是事实,但"缺失即私有托管"是推断,需等模型发布页面才能定论。

署名: 「开源之道」·窄廊