当前位置: 首页 > news >正文

Homebrew构建来源探秘 - 实现可验证的软件供应链安全

Homebrew快速回顾

Homebrew是macOS和Linux的开源包管理器,其核心是homebrew-core仓库,包含7000多个精选开源软件包。Homebrew使用预编译的二进制分发文件(称为"bottle")来加速安装过程并确保一致性。

当新公式(描述软件包构建方式的机器可读文件)被更新或添加到homebrew-core时,Homebrew的CI系统(通过BrewTestBot编排)会自动触发构建这些bottle的过程。构建成功后,bottle会被上传到GitHub Packages,然后更新相关公式引用。

构建来源验证

构建来源提供了密码学可验证的证据,证明软件包确实是由预期的"构建身份"构建的,而不是被特权攻击者篡改或秘密插入的。对于Homebrew来说,这个"构建身份"是GitHub Actions工作流。

每个bottle的构建来源都包含有价值的元数据,如GitHub所有者、仓库、触发工作流的分支、触发事件以及工作流运行的git提交等。这些数据被封装在机器可读的in-toto声明中。

我们的实现方案

我们基于GitHub的新工件验证功能实现了Homebrew的构建来源验证。这为我们提供了当前和未来所有bottle构建的来源证明,但遗留问题是如何处理大量已有的旧bottle。

我们采用了"回填验证"的方案:

  1. 首先检查是否有来自上游仓库的构建来源
  2. 如果没有,则检查是否有在指定截止日期前的回填验证
  3. 如果两者都不存在,则产生硬性失败

当前验证方法

目前该功能处于早期测试阶段,但冒险的早期采用者可以通过两种方式尝试:

  1. 使用第三方tap提供的专用brew verify命令:
brew update
brew tap trailofbits/homebrew-brew-verify
brew verify --help
brew verify bash
  1. 通过设置环境变量在brew install时验证:
brew update
export HOMEBREW_VERIFY_ATTESTATIONS=1
brew install cowsay

展望未来

我们计划将验证功能直接集成到brew中作为开发者命令。此外,我们也在探索为第三方仓库(taps)添加构建来源验证,并计划进一步实现源代码来源验证。

最后,我们要感谢Homebrew维护者在此过程中的开发和审查,以及GitHub Package安全团队和Alpha-Omega的支持,共同推动更安全、更可靠的软件供应链建设。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

http://www.sczhlp.com/news/10983/

相关文章:

  • 【完结22章】LLM应用全流程开发 全新技术+多案例实战+私有化部署
  • 2025.8.9 CSP-S模拟赛31
  • Luogu P2397 yyy loves Maths VI (mode) / Leetcode 229 多数元素 II 题解 [ 橙 ] [ 摩尔投票 ]
  • OMV
  • 参考第三方链接
  • GAS_Aura-Replication Mode
  • Gitee企业版效能度量升级:用数据“透视镜”驱动研发效能革命
  • C# Web开发教程(二)
  • vue-router 加载动态路由不能动态引入解决方案
  • Daily Probs 2
  • 深入解析:B-树与B+树
  • 盘点迪士尼电影下载入口|迪士尼动画电影合集高清资源下载全平台支持
  • x86 机器 上拉取 ARM 架构的 Docker 镜像
  • 自定义导出逻辑
  • vulnyx Carlam writeup
  • eth 内存池pending机制以及按照nonce执行 - 若
  • 26_1 类与对象学习练习指导
  • 【上新啦】HarmonyOS官方模板优秀案例 (第2期:新闻行业 综合新闻)
  • 麒麟操作系统apt安装软件时报错默认禁用该源怎么处理
  • 一图胜千言:如何打造高专业度的技术博客/开源项目配图?
  • 面经学习-HTTP2的优点
  • 思通数科 AI视频监控:重构安防行业智能化新生态
  • 软考中级系统集成项目管理工程师近10年历史真题
  • 零基础学MCP(2)| MCP 开发环境配置
  • python编译单个.py到.pyc
  • 破解能源管控难题:MyEMS 开源系统的实战价值与创新路径
  • HarmonyOS SDK助力高德地图创新,带来便捷出行新体验
  • Gitee DevSecOps:军工软件研发转型的“智能引擎”
  • 2023年下半年中级系统集成项目管理工程师下午真题及答案解析
  • RHEL8,提取 DEV hosts升級安裝包,去PROD host 安裝