Mozilla 开源支持提名,Track III

征集

开源和免费软件生态系统需要是安全的;感谢您希望通过建议一个 SOS 审计项目来帮助实现这一目标。请注意,此表格允许您提出建议,而不是申请 - 请不要指望我们给您回复。与 MOSS 的其他轨道不同,Mozilla 将主动接触希望向其提供帮助的组织,也许会根据建议,也许不会。

我们在评估申请时会考虑一系列因素。例如

此类问题的答案通常不是“是”或“否”,而是程度问题,因此 Mozilla 在评估项目时会考虑整个情况。

申请

项目名称

Homebrew

您的姓名

Jonathan Chang

您与该项目的关系

维护者

项目网站(我们需要能够从这里获取源代码。)

https://brew.sh.cn

项目描述

Homebrew 旨在成为 macOS(和 Linux)的缺失包管理器。其主要目标是尽可能对尽可能多的人有用,同时由一小群志愿者以专业、高标准的方式进行维护。在可能和明智的情况下,它应寻求使用 macOS 的功能来融入 macOS 和 Apple 生态系统。在 Linux 和 Windows 上,它应尽可能地独立。

Homebrew 的代码在 BSD 2 条款许可下获得许可。Homebrew 还提供三个依赖项,它们都获得 MIT 许可 (https://github.com/Homebrew/brew/tree/master/Library/Homebrew/vendor).

该项目是否包含任何专有代码,或者依赖或使用专有 Web 服务?如果是,请提供详细信息

Homebrew 的源代码托管在 GitHub 上。Homebrew 与 Bintray API 交互,以上传和托管我们的二进制包。Homebrew 还依赖于 Microsoft 的 Azure Pipelines 持续集成服务,在 macOS 和 Linux 上运行我们的测试套件。

该项目的维护状态如何?

该项目是否处于积极维护状态?如果是,请提供维护者的联系方式,并说明他们是否了解和/或支持此应用程序。最近一次发布是什么时候?

Homebrew 处于积极维护状态,其最新版本是 2019 年 4 月 5 日发布的 v2.1.0。Homebrew 有 22 位维护者;他们的 GitHub 句柄如下所示,以及他们可能拥有的其他特定管理角色

其他维护者审查了此应用程序,并表示支持。

有多少已安装/使用的实例?请提供尽可能多的数据,包括任何数字的来源。

根据我们政策收集的匿名分析数据 (https://docs.brew.sh.cn/Analytics),macOS 上的 Homebrew 在过去一个月中有大约 124 万个活动实例。与去年同期的 104 万个活动实例相比,增长了 19.3%。

Linux 上的 Homebrew 大约有 1.5 万个活动实例,比去年的 8600 个实例增加了 75%。

每个已安装的 Homebrew 实例都非常活跃:在过去的一年中,我们记录了大约 1.66 亿个安装事件;这意味着平均而言,一个实例每天会安装大约 1.7 次软件。

请提供有关该项目中发现的任何近期安全漏洞的咨询或其他文档的指针。

https://brew.sh.cn/2018/08/05/security-incident-disclosure/

该项目之前是否进行过安全源代码审计?如果是,何时以及进行了多大的范围?

如果之前进行过审计并且报告是公开的,请提供 URL。

Homebrew 之前并未针对安全问题进行过审计。我们的 HackerOne 项目会收到有关安全问题的临时报告。

开发过程中存在哪些正式或非正式的公司参与?

目前没有维护人员受雇于公司专门从事 Homebrew 的工作。我们的章程 (https://docs.brew.sh.cn/Homebrew-Governance) 禁止同一家公司的两名以上员工同时在我们的项目领导委员会或技术指导委员会任职。

我们为用于我们基础设施的几项服务收到了实物赞助,但这些公司并未参与我们的开发过程。

您认为为什么该项目适合获得 SOS 奖项?

这是最重要的问题。请参阅 https://wiki.mozilla.org/MOSS/Secure_Open_Source 上的标准。此外,请解释代码以何种方式暴露给攻击者,以及安全问题可能产生的影响。

macOS 上的 Homebrew 有超过一百万个已安装实例,并且根据 Google 趋势(“homebrew mac”与“macports”)的衡量,自 2015 年以来一直是 macOS 最流行的包管理器。因此,Homebrew 中的任何安全漏洞都可能影响许多 macOS 用户。

作为包管理器,Homebrew 经常访问网络以下载和安装二进制文件,或从其原始源中提取和编译 tarball。Homebrew 公式具有从网络运行不受信任代码的能力,例如 Makefile 和构建脚本。因此,Homebrew 的网络处理和验证代码中的漏洞可能会向最终用户传递恶意软件。

Homebrew 经常用于持续集成 (CI) 基础设施,以便在 macOS 上安装开发工具。例如,Travis CI 建议将 Homebrew 作为其在 CI 容器上安装开发包的默认方式。Homebrew 构建环境中的任何弱点都可能损害通过 CI 为 macOS 系统构建的软件,从而加剧任何安全漏洞的影响。

此外,许多 Web 开发人员目前使用 macOS 作为其首选开发平台。2017 年 Stack Overflow 开发人员调查(这是这些数据可用的最后一年)显示,在 26,235 名自述的 Web 开发人员中,有 4,220 名(16%)使用 macOS 作为其开发平台。仅查看前端开发人员时,近 70% 的人使用 macOS。Homebrew 的分析强化了其对 Web 开发的重要性——其安装最多的软件包是 Node.js,它占所有记录的软件包安装量的近 5%(290 万次安装事件)。Homebrew 中的安全漏洞可能会损害很大一部分 Web 开发机器。

Linux 上的 Homebrew 经常被高性能计算和其他科学计算用户使用,并由称为“linuxbrew”的特殊角色帐户管理。Linux 上的 Homebrew 软件遭到破坏可能会导致拥有数万个节点的计算集群被滥用或接管,每个节点都拥有大量的计算资源和网络访问权限,可以破解密码或实施拒绝服务攻击。

Fork me on GitHub