Show HN: Homebrew 6.0.0
摘要
Homebrew 6.0.0 引入了 tap 信任安全机制、新的默认内部 JSON API 以加快更新、通过 Bubblewrap 实现的 Linux 沙盒,以及基于用户调查反馈的各种改进。
今天,我很自豪地宣布 Homebrew 6.0.0。自 5.1.0 以来最显著的变化包括:新的 tap 信任安全机制、新的更快更小的默认内部 Homebrew JSON API、Linux 上的沙盒支持、根据用户调查优化的默认设置、多项 brew bundle 改进、性能提升以及对 macOS 27 (Golden Gate) 的初步支持。<p>很乐意在此回答任何问题!
查看缓存全文
缓存时间: 2026/06/11 19:37
# 6.0.0 来源:https://brew.sh/2026/06/11/homebrew-6.0.0/
今天,我自豪地宣布 Homebrew 6.0.0 正式发布。自 5.1.0 以来最显著的变化包括:新的 tap 信任安全机制、更快更小的默认内部 Homebrew JSON API、Linux 上的沙箱机制、根据用户调查结果优化了默认设置、大量 `brew bundle` 改进、性能提升以及对 macOS 27(Golden Gate)的初步支持。
### ✨ 自 5.1.0 以来的亮点
#### 🔐 Tap 信任
Homebrew 6.0.0 引入了 tap 信任机制。第三方 tap 可能包含在你的机器上运行的任意、未沙箱化的 Ruby 代码,因此 Homebrew 现在要求 tap(以及通过 tap 限定的 formula 和 cask)在评估或运行其代码之前必须被明确信任。这降低了恶意或被入侵 tap 带来的风险,同时官方 Homebrew tap 默认保持信任状态。详情请参阅新的 [Tap-Trust 文档](https://docs.brew.sh/Tap-Trust)。
- Homebrew 在代码运行前强制执行初始 tap 信任,标记未信任的 tap([#22470](https://github.com/Homebrew/brew/pull/22470)),在安装前信任合格的 tap 条目([#22621](https://github.com/Homebrew/brew/pull/22621)),停止自动接入未信任的 tap([#22599](https://github.com/Homebrew/brew/pull/22599)),将 tap 的允许、禁止和信任列表固定到远程([#22590](https://github.com/Homebrew/brew/pull/22590)),并在评估所有 formula 和 cask 时使用 tap 信任([#22476](https://github.com/Homebrew/brew/pull/22476))。
- `brew tap` 新增了管理 tap 信任的命令([#22472](https://github.com/Homebrew/brew/pull/22472)),可以通过其远程 URL 信任 tap([#22611](https://github.com/Homebrew/brew/pull/22611)),`brew trust` 添加了 `--json=v1` 标志([#22624](https://github.com/Homebrew/brew/pull/22624)),`brew tap-info` 增加了 `trusted` 字段([#22613](https://github.com/Homebrew/brew/pull/22613))。
- `brew bundle` 遵循 `trusted:` 选项([#22594](https://github.com/Homebrew/brew/pull/22594)),`brew bundle dump` 记录受信任的 bundle 条目([#22528](https://github.com/Homebrew/brew/pull/22528)),将自定义远程 tap 标记为受信任([#22625](https://github.com/Homebrew/brew/pull/22625))。
- docs.brew.sh 新增了页面,包括 [Tap-Trust](https://docs.brew.sh/Tap-Trust),解释了 Homebrew 新的 tap 信任模型,并且 Homebrew 在 test-bot 中信任 tap([#22497](https://github.com/Homebrew/brew/pull/22497))。
#### ⚡ 默认内部 JSON API
**内部 JSON API** 现在成为默认设置([#22546](https://github.com/Homebrew/brew/pull/22546)),推进了([#22367](https://github.com/Homebrew/brew/pull/22367))这个更小的 API,Homebrew 最近重新启用([#22042](https://github.com/Homebrew/brew/pull/22042))并面向开发者开启([#22226](https://github.com/Homebrew/brew/pull/22226))。它将 Homebrew 的所有元数据合并为单个下载,因此 `brew` 更新更快,与网络的交互更少。自 5.0.0 起,该功能通过 `HOMEBREW_USE_INTERNAL_API` 可选启用;该变量现已弃用(见下文)。
#### 🐧 Linux 沙箱
**Linux Bubblewrap 沙箱**([#22240](https://github.com/Homebrew/brew/pull/22240))使 Linux 与 macOS 对齐,macOS 上的构建、测试和安装后阶段已经以沙箱方式运行。该功能默认面向开发者开启([#22370](https://github.com/Homebrew/brew/pull/22370)),Homebrew 移动了其 macOS 沙箱逻辑([#22238](https://github.com/Homebrew/brew/pull/22238))以共享代码,改进了 Linux 沙箱行为([#22315](https://github.com/Homebrew/brew/pull/22315))(Homebrew/homebrew-core 在 CI 中设置沙箱环境([#283172](https://github.com/Homebrew/homebrew-core/pull/283172))),强化了沙箱安装阶段([#22413](https://github.com/Homebrew/brew/pull/22413)),对 cask 可执行文件钩子进行沙箱([#22406](https://github.com/Homebrew/brew/pull/22406)),允许在构建沙箱中记录日志([#22539](https://github.com/Homebrew/brew/pull/22539)),在托管 Ubuntu 上安装 Bubblewrap([#22458](https://github.com/Homebrew/brew/pull/22458)),并跳过仅语法检查作业的沙箱设置([#22507](https://github.com/Homebrew/brew/pull/22507))。
#### ⚙️ 更好的默认设置
- 根据我们的 [Homebrew 用户调查](https://github.com/orgs/Homebrew/discussions/6706),我们基于结果进行了许多更改。最值得注意的是**将 `ask` 模式设为开发者的默认设置**([#22369](https://github.com/Homebrew/brew/pull/22369)),因此 `brew install` 和 `brew upgrade` 在进行更改之前会显示依赖摘要和确认提示。
- Homebrew 添加了 ask 依赖计划和对 cask 的支持([#22275](https://github.com/Homebrew/brew/pull/22275)),接受一键 ask 确认([#22436](https://github.com/Homebrew/brew/pull/22436)),并对齐了 ask dry-run 提示([#22353](https://github.com/Homebrew/brew/pull/22353))。
- Homebrew 一起获取 ask 升级项([#22435](https://github.com/Homebrew/brew/pull/22435)),更早显示 ask 升级摘要([#22510](https://github.com/Homebrew/brew/pull/22510)),在升级列表为空时跳过 ask 提示([#22333](https://github.com/Homebrew/brew/pull/22333)),添加了最终的 `brew upgrade` 摘要([#22140](https://github.com/Homebrew/brew/pull/22140)),并解释了升级元数据的获取([#22143](https://github.com/Homebrew/brew/pull/22143))。
#### 📦 `brew bundle`
- `brew bundle` 获得了许多改进,最引人注目的是**并行 formula 安装**([#21891](https://github.com/Homebrew/brew/pull/21891)),现在默认自动运行作业([#22545](https://github.com/Homebrew/brew/pull/22545)),此外还有 npm([#21820](https://github.com/Homebrew/brew/pull/21820))和 krew([#21802](https://github.com/Homebrew/brew/pull/21802))扩展,更广泛的清理支持([#22395](https://github.com/Homebrew/brew/pull/22395)),以及在 Windows 上对 `winget` 的支持([#22397](https://github.com/Homebrew/brew/pull/22397))。
- Homebrew 为 npm、cargo、go 和 uv 扩展添加了清理支持([#21883](https://github.com/Homebrew/brew/pull/21883)),并在清理前询问([#22453](https://github.com/Homebrew/brew/pull/22453))。
- Homebrew 通过 `kubectl-krew` 直接运行 `brew bundle krew`([#22328](https://github.com/Homebrew/brew/pull/22328)),尊重 `CARGO_HOME` 及相关环境变量用于 `cargo`([#21795](https://github.com/Homebrew/brew/pull/21795)),为 `brew bundle add` 添加了 `--describe` 标志([#21797](https://github.com/Homebrew/brew/pull/21797)),并在回退到 `mas get` 之前尝试 `mas install`([#22361](https://github.com/Homebrew/brew/pull/22361))。
- Homebrew 添加了 bundle 类型禁用标志([#22452](https://github.com/Homebrew/brew/pull/22452)),改进了检查指南([#22265](https://github.com/Homebrew/brew/pull/22265)),并检查 formula 链接状态([#22412](https://github.com/Homebrew/brew/pull/22412))。
- Homebrew 序列化 formula 锁([#22297](https://github.com/Homebrew/brew/pull/22297)),将非核心 DSL 整合为单个文件([#21721](https://github.com/Homebrew/brew/pull/21721)),从 `brew bundle/remover` 中移除了描述注释([#21735](https://github.com/Homebrew/brew/pull/21735)),并避免解析 `brew services list` 的输出([#21830](https://github.com/Homebrew/brew/pull/21830))。
- `brew bundle` 更安全地执行 npm 安装([#22405](https://github.com/Homebrew/brew/pull/22405))。
#### 🏎️ 性能
Homebrew 整体更快,包括启动性能调整([#21734](https://github.com/Homebrew/brew/pull/21734)),`brew leaves` 速度提升约 30%([#21911](https://github.com/Homebrew/brew/pull/21911)),升级时并行获取 bottle tab([#22118](https://github.com/Homebrew/brew/pull/22118)),以及启动时减少加载 Ruby 库的工作([#22133](https://github.com/Homebrew/brew/pull/22133))。
#### 🍎 macOS 27 (Golden Gate)
Homebrew 添加了对 macOS 27 (Golden Gate) 的初步支持([#22592](https://github.com/Homebrew/brew/pull/22592))。
### 🔮 即将到来的变化
- macOS 27 (Golden Gate) 放弃了 Intel 支持,因此根据我们的[支持层级](https://docs.brew.sh/Support-Tiers#future-macos-support):2026 年 9 月,**macOS Intel `x86_64` 将移至 Tier 3**,不再提供 CI 支持,也不再为 macOS Intel 构建新的 bottle(二进制包);2027 年 9 月,**macOS Intel `x86_64` 将完全不再支持,所有相关代码将被删除**。
- 从 4.6.0 开始的 `master` 到 `main` 迁移仍在继续([#21937](https://github.com/Homebrew/brew/pull/21937)):更多仓库不再更新 `master`,GitHub Actions 警告 `@master` 用户迁移到 `@main`([#838](https://github.com/Homebrew/actions/pull/838)),并且从 Homebrew/homebrew-cask([#257835](https://github.com/Homebrew/homebrew-cask/pull/257835))和 Homebrew/homebrew-core([#276288](https://github.com/Homebrew/homebrew-core/pull/276288))中移除了 `sync-default-branches` 工作流。
- 未能通过 macOS Gatekeeper 检查的 Cask(自 5.0.0 起已弃用)仍计划在 2026 年 9 月被禁用。
### 🔒 安全
#### 🚨 安全公告
Homebrew 发布了三个安全公告:
- POST 下载策略通过丢弃解析后的 URL 绕过了记录的 HTTPS 到 HTTP 重定向保护(GHSA-7699-qf8c-q47m)([公告](https://github.com/Homebrew/brew/security/advisories/GHSA-7699-qf8c-q47m)),已通过强制安全重定向修复([#22368](https://github.com/Homebrew/brew/pull/22368))。
- 通过 macOS `.pkg` 安装后脚本中的 Git 钩子可能实现 root 代码执行(GHSA-6689-q779-c33m)([公告](https://github.com/Homebrew/brew/security/advisories/GHSA-6689-q779-c33m)),已通过清理 Homebrew git 状态([#22081](https://github.com/Homebrew/brew/pull/22081))和替换安装程序 git 目录([#22090](https://github.com/Homebrew/brew/pull/22090))修复。
- macOS 安装程序包信任了用户控制的 `/var/tmp` plist,并可能将 Homebrew 所有权分配给本地攻击者(GHSA-59v8-x8q4-px5c)([公告](https://github.com/Homebrew/brew/security/advisories/GHSA-59v8-x8q4-px5c)),已通过调整 macOS `.pkg` 包用户 plist 处理修复([#22581](https://github.com/Homebrew/brew/pull/22581))。
#### 🛡️ 其他安全改进
- Homebrew 在 Ruby 评估期间过滤敏感环境变量([#22384](https://github.com/Homebrew/brew/pull/22384)),并将 `HOMEBREW_*` 环境秘密推迟到下载时间([#22623](https://github.com/Homebrew/brew/pull/22623))。
- Homebrew 在下载前对 cask 和 formula 执行禁止检查([#22259](https://github.com/Homebrew/brew/pull/22259)),并允许你通过 `HOMEBREW_CASK_OPTS_REQUIRE_SHA` 要求 cask 的校验和([#22007](https://github.com/Homebrew/brew/pull/22007))。
- Homebrew 链接到共享安全策略([#22266](https://github.com/Homebrew/brew/pull/22266))。
### 🗑️ 弃用项
- Homebrew 弃用了默认的 opt-in 选项([#22601](https://github.com/Homebrew/brew/pull/22601))。
- Homebrew 弃用了现已默认的 bundle 和内部 API 环境变量,例如 `HOMEBREW_BUNDLE_NO_SECRETS` 和 `HOMEBREW_USE_INTERNAL_API`([#22641](https://github.com/Homebrew/brew/pull/22641))。
- Homebrew 标记未使用的选项以供弃用([#22478](https://github.com/Homebrew/brew/pull/22478))。
- 其他各种 Homebrew 6.0.0 弃用项([#22549](https://github.com/Homebrew/brew/pull/22549))。
- Homebrew 的 SBOM 支持现在通过 `HOMEBREW_SBOM` 可选启用([#22083](https://github.com/Homebrew/brew/pull/22083))。
### 🎁 功能特性
#### 🖥️ Cask
- Homebrew 可以固定 cask([#22276](https://github.com/Homebrew/brew/pull/22276)),并在 `brew missing` 中支持 cask([#22460](https://github.com/Homebrew/brew/pull/22460))。
- Homebrew 添加了对 Linux 的 AppImage 支持([#20334](https://github.com/Homebrew/brew/pull/20334)),并为 Linux 实现了 freedesktop 回收站用于 cask([#22086](https://github.com/Homebrew/brew/pull/22086))。
- Homebrew 改进了 cask 升级:共享升级下载队列([#22394](https://github.com/Homebrew/brew/pull/22394)),将升级摘要移动到获取之前([#21898](https://github.com/Homebrew/brew/pull/21898)),添加了退出选择([#22383](https://github.com/Homebrew/brew/pull/22383)),并在升级期间重新打开已关闭的应用程序([#22296](https://github.com/Homebrew/brew/pull/22296))。
- Homebrew 改进了 `auto_updates` cask:改进了其更新方式([#21962](https://github.com/Homebrew/brew/pull/21962)),进一步优化行为([#21974](https://github.com/Homebrew/brew/pull/21974))([#22003](https://github.com/Homebrew/brew/pull/22003)),将自动更新置于 opt-in 之后([#21985](https://github.com/Homebrew/brew/pull/21985)),并在 bundle 版本陈旧时升级它们([#21882](https://github.com/Homebrew/brew/pull/21882))。
- `cask` 添加了 `generate_completions_from_executable` DSL 构件([#21781](https://github.com/Homebrew/brew/pull/21781)),并在 JSON 输出中包含已解析的构件目标([#22346](https://github.com/Homebrew/brew/pull/22346))。
- Homebrew 在每个 cask 的升级输出中显示版本过渡([#21730](https://github.com/Homebrew/brew/pull/21730)),跳过有效的缓存 cask 获取([#22580](https://github.com/Homebrew/brew/pull/22580)),加速 cask 备份副本([#22552](https://github.com/Homebrew/brew/pull/22552)),并使 `caskroom` 在 Linux 上使用用户的主组([#22202](https://github.com/Homebrew/brew/pull/22202))。
- `brew doctor` 和 `brew cleanup` 处理损坏的 Caskroom 目录([#21880](https://github.com/Homebrew/brew/pull/21880))。
#### 💻 操作系统支持
- Homebrew 使 Linux cask 要求显式化([#21909](https://github.com/Homebrew/brew/pull/21909)),对齐了 cask 的 macOS 依赖([#22185](https://github.com/Homebrew/brew/pull/22185)),支持 cask 中的裸 `depends_on :macos`([#22006](https://github.com/Homebrew/brew/pull/22006)),显式跟踪 macOS 支持([#22187](https://github.com/Homebrew/brew/pull/22187)),并为具有 Linux 校验和的 cask 发出 Linux 变体([#22632](https://github.com/Homebrew/brew/pull/22632))。
- Homebrew 为 cask 依赖添加了最大 macOS 版本([#22198](https://github.com/Homebrew/brew/pull/22198))。Homebrew/homebrew-cask 采用了新的 `depends_on maximum_macos:` 语法([#268102](https://github.com/Homebrew/homebrew-cask/pull/268102)),并在 Homebrew/homebrew-cask([#263813](https://github.com/Homebrew/homebrew-cask/pull/263813))和 Homebrew/homebrew-core([#282148](https://github.com/Homebrew/homebrew-core/pull/282148))中修复了其 macOS 依赖。
- Homebrew 添加了 M5 和 M5 Pro/Max CPU 识别([#22242](https://github.com/Homebrew/brew/pull/22242)),并在 macOS 过时时限制了 OCLP 层级([#22154](https://github.com/Homebrew/brew/pull/22154))。
- Homebrew 标记了 WSL 分析数据([#22558](https://github.com/Homebrew/brew/pull/22558)),在 `brew config` 中显示 WSL 上的 Windows 构建版本([#22398](https://github.com/Homebrew/brew/pull/22398)),并将 `wsl?` 布尔值从 `OS::Linux` 上移到 `OS` 模块([#22309](https://github.com/Homebrew/brew/pull/22309))。
#### 🚰 Taps
- Homebrew 识别更多等效的 tap 远程形式,在匹配 GitHub 远程时忽略 `.git` 后缀,并整合了 tap 远程规范化([#22612](https://github.com/Homebrew/brew/pull/22612))以及([#22604](https://github.com/Homebrew/brew/pull/22604))更多([#22616](https://github.com/Homebrew/brew/pull/22616))。
- Homebrew 更统一地跨命令处理 formula 和 cask([#22585](https://github.com/Homebrew/brew/pull/22585)),安装显式请求的 tap([#21921](https://github.com/Homebrew/brew/pull/21921)),并停止隐式 tap 安装([#21905](https://github.com/Homebrew/brew/pull/21905))。
- Homebrew 对本地核心 tap 使用工作树([#22455](https://github.com/Homebrew/brew/pull/22455)),并阻止工作树更新([#22525](https://github.com/Homebrew/brew/pull/22525))。
- Homebrew 共享全名解析帮助程序([#21966](https://github.com/Homebrew/brew/pull/21966)),并对拆分名称使用全名帮助程序([#22183](https://github.com/Homebrew/brew/pull/22183))。
#### ℹ️ `brew info` 和 `brew tap-info`
- `brew info` 输出更清晰:更一致和更有帮助([#21917](https://github.com/Homebrew/brew/pull/21917)),添加了列出可执行文件的 Binaries 部分([#22150](https://github.com/Homebrew/brew/pull/22150)),更清晰的递归运行时依赖行([#22113](https://github.com/Homebrew/brew/pull/22113)),更清晰的同名冲突和隐藏 formula([#22537](https://github.com/Homebrew/brew/pull/22537)),以及列出版本的 JSON 输出([#22360](https://github.com/Homebrew/brew/pull/22360))。
- `brew info` 更好地显示安装状态:过时的 `@` 版本 formula 的升级目标([#22321](https://github.com/Homebrew/brew/pull/22321)),使用 `--verbose` 时显示已安装的依赖项([#22163](https://github.com/Homebrew/brew/pull/22163)),安装状态中显示已弃用和已禁用的包([#22334](https://github.com/Homebrew/brew/pull/22334)),从收据的 tap 解析已安装的 formula 并显示隐藏警告([#22224](https://github.com/Homebrew/brew/pull/22224)),标题行显示已安装版本和升级提示([#22128](https://github.com/Homebrew/brew/pull/22128)),其他已安装版本([#22241](https://github.com/Homebrew/brew/pull/22241)),以及已安装信息清单([#22141](https://github.com/Homebrew/brew/pull/22141))。
- `brew info` 和 `brew tap-info` 在不是问题时跳过未安装标记([#22342](https://github.com/Homebrew/brew/pull/22342)),为包显示更多 tap 信息([#22344](https://github.com/Homebrew/brew/pull/22344)),添加了 `brew tap-info` 命令的 `--json` 支持([#22457](https://github.com/Homebrew/brew/pull/22457))。
#### 🛠️ 其他功能
- Homebrew 支持 `brew install` 的 `--only-dependencies` 标志([#22316](https://github.com/Homebrew/brew/pull/22316)),改进了 `brew search` 的输出格式([#21997](https://github.com/Homebrew/brew/pull/21997)),并添加了 `brew update` 的 `--auto-update` 标志([#22102](https://github.com/Homebrew/brew/pull/22102))。
- Homebrew 改进了对 `HOMEBREW_NO_AUTO_UPDATE` 的处理([#22060](https://github.com/Homebrew/brew/pull/22060)),使 `brew services` 命令更稳定([#22387](https://github.com/Homebrew/brew/pull/22387)),并添加了 `brew developer` 命令来管理开发者模式([#22489](https://github.com/Homebrew/brew/pull/22489))。
- Homebrew 现在在 `brew config` 中显示更多信息([#22263](https://github.com/Homebrew/brew/pull/22263)),并改进了对代理设置的支持([#22193](https://github.com/Homebrew/brew/pull/22193))。
### 🐛 Bug 修复
- 修复了 `brew upgrade` 在特定情况下不升级的问题([#21870](https://github.com/Homebrew/brew/pull/21870))。
- 修复了 `brew uninstall` 在卸载 cask 时的问题([#21945](https://github.com/Homebrew/brew/pull/21945))。
- 修复了 `brew list` 在某些情况下显示错误信息的问题([#22019](https://github.com/Homebrew/brew/pull/22019))。
- 修复了 `brew doctor` 中的多个警告([#22074](https://github.com/Homebrew/brew/pull/22074))。
- 修复了 `brew cleanup` 在清理 cask 时的问题([#22167](https://github.com/Homebrew/brew/pull/22167))。
- 修复了 `brew bundle` 在并行安装时的竞争条件([#22288](https://github.com/Homebrew/brew/pull/22288))。
- 修复了在 Linux 上使用 `brew cask install` 时的路径问题([#22350](https://github.com/Homebrew/brew/pull/22350))。
- 修复了 `brew update` 在更新 tap 时的问题([#22427](https://github.com/Homebrew/brew/pull/22427))。
- 修复了 `brew info` 显示已弃用 formula 的版本信息([#22501](https://github.com/Homebrew/brew/pull/22501))。
- 修复了 `brew search` 在搜索时崩溃的问题([#22564](https://github.com/Homebrew/brew/pull/22564))。
### 📦 打包与安装
- Homebrew 的 macOS 安装包现在签名并公证([#22115](https://github.com/Homebrew/brew/pull/22115))。
- Homebrew 的 Linux 安装脚本支持更多发行版([#22233](https://github.com/Homebrew/brew/pull/22233))。
- Homebrew 的 Docker 镜像已更新至 6.0.0([#22438](https://github.com/Homebrew/brew/pull/22438))。
### 🙏 致谢
感谢所有为 Homebrew 6.0.0 做出贡献的贡献者、维护者和测试者。你们的努力使 Homebrew 变得更好。特别感谢 @MikeMcQuaid、@Bo98、@Zhongpeng Zhou、@EricFromCanada、@Rylan12、@SamLukeYes、@sjackman、@iMichka、@colindean 以及其他许多人。
完整的变更日志请参阅 [Homebrew/brew 的发布页面](https://github.com/Homebrew/brew/releases/tag/6.0.0)。
相似文章
@bentlegen: 即将在hunk®上推出 - 将笔记回传给您的代理
Hunk 0.12.0版本已上线,新增安装选项(Homebrew、Nix)、lazygit支持、滚动性能改进以及Windows支持。
Show HN: Davit,一个 Apple Containers 界面
Davit 是一个免费、开源的 macOS 原生应用,使用 SwiftUI 构建,为 Apple silicon 上的 Apple 容器平台提供用户界面,允许用户无需 Docker Desktop 即可运行 Linux 容器。
Show HN: Z-Jail – 一个130KB的Linux沙箱-C99,具有7层防御且无依赖项
Z-Jail 是一个轻量级Linux沙箱,采用C99编写,拥有七层防御、无外部依赖,且二进制文件极小(约130 KiB),专为CI、CTF和轻量级评估中的安全代码执行而设计。
@QGallouedec:发布 hf-sandbox
Quentin Gallouédec 宣布发布 hf-sandbox,这是与 Hugging Face 关联的一款新工具或环境。
Show HN: Safe-install – 通过可信构建依赖实现更安全的 NPM 安装
介绍了一个名为 safe-install 的新 npm 包,旨在通过允许开发者默认禁用安装脚本并屏蔽异类子依赖来增强供应链安全,从而应对持续存在的安全漏洞。