Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

OSS Rebuild 简介:开源,持久重建

Posted on 2025-07-24

OSS Rebuild 简介:开源,持久重建

可重复构建方面的重要新闻:Google 安全团队宣布了OSS Rebuild ,他们的项目旨在为通过 NPM、PyPI 和 Crates 生态系统(以及更多)发布的开源包提供构建证明。

他们目前针对这些生态系统中“最受欢迎”的软件包运行构建:

通过自动化和启发式方法,我们确定目标包的预期构建定义并重新构建。我们将结果与现有的上游构件进行语义比较,并对每个构件进行规范化,以消除导致逐位比较失败的不稳定性(例如存档压缩)。一旦我们重新构建了包,我们就会通过SLSA Provenance发布构建定义和结果。此证明机制使用户能够可靠地在源历史记录中验证包的来源,理解并重复其构建过程,并基于已知功能的基准自定义构建。

目前与重建数据交互的唯一方法是通过他们的Go CLI 工具。我使用 Gemini 2.5 Pro对其进行了逆向工程,并得出了此命令以获取所有构建包的列表:

总共有 9,513 行, gsutil ls -r 'gs://google-rebuild-attestations/**'

这里有一个 Gist 。我使用 Claude Code对它们在不同的生态系统中进行计数(忽略同一软件包不同版本的重复项):

  • pypi:5,028 个软件包
  • cratesio:2,437 个软件包
  • npm:2,048 个软件包

然后我变得有点雄心勃勃……因为文件本身托管在 Google Cloud Bucket 中,我可以在storage.googleapis.com上的某个地方运行我自己的 Web 应用程序,该应用程序可以使用fetch()来检索该数据,从而解决缺少开放 CORS 标头的问题?

我让 Claude Code 帮我尝试了一下(我不想为了这一个实验而弄清楚如何创建一个存储桶并配置它以进行网络访问)并且它构建并部署了https://storage.googleapis.com/rebuild-ui/index.html ,它确实有效!

Google Rebuild Explorer 界面的屏幕截图,显示“Search rebuild attestations:”下带有占位符文本“Type to search packages (e.g., 'adler', 'python-slugify')...”的搜索框、加载文件路径“pypi/accelerate/0.21.0/accelerate-0.21.0-py3-none-any.whl/rebuild.intoto.jsonl”以及包含 JSON 的对象 1,其中“payloadType”为“in-toto.io Statement v1 URL”,“payload”为“...”,“signatures”为[{“keyid”为“Google Cloud KMS 签名密钥 URL”,“sig”为“..."}]

它允许您从 Gist 中搜索包列表,然后选择一个来查看为该包存储的漂亮打印的换行符分隔的 JSON。

输出并不像我期望的那样有趣,但它很有趣地证明了可以构建和部署 Web 应用程序到 Google Cloud,然后可以向其他公共存储桶发出fetch()请求。

希望 OSS Rebuild 团队将来能为他们的项目添加一个 Web UI 。

来源: Hacker News

标签:谷歌、包装、 pypi 、安全、 npm 、人工智能、生成人工智能、法学硕士、人工智能辅助编程、供应链、氛围编码、克劳德代码

原文: https://simonwillison.net/2025/Jul/23/oss-rebuild/#atom-everything

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme