注目

製品・ツール / TOOLS / PACKAGE MANAGER SECURITY

Homebrew 7.0.0が公開 — 組み込みの脆弱性チェック「brew vulns」とOSV形式のアドバイザリDBを追加、サンドボックスも強化

パッケージ管理ツールHomebrewの開発チームは2026年9月13日、メジャー版「Homebrew 7.0.0」を公開した。別途tapやgemを追加することなく使える脆弱性チェックコマンド「brew vulns」と、Homebrewが配布するformulaの脆弱性をOSV形式で記録するアドバイザリデータベースが加わった。サンドボックスも強化され、既定でホームディレクトリの読み取りが遮断される。

攻撃手法
ソフトウェア

要点

  • Homebrewの開発チームは2026年9月13日、メジャー版「Homebrew 7.0.0」を公開した。6.0.0からの主な変更点として、インストールとアップグレードの高速化、サンドボックスの強化、macOS用のネイティブアプリ、組み込みの脆弱性チェックとアドバイザリデータベース、macOS 10.15のサポート終了、Intel版MacのTier 3への移行が挙げられている。
  • 新コマンド「brew vulns」は別途tapやgemを追加することなく使える。インストール済みのformula、特定のformula、Brewfileで宣言した依存関係を対象に、OSV.devへ問い合わせて既知の脆弱性を確認する。
  • Homebrewは、自分たちが配布するformulaの版と修正に対して脆弱性を記録するアドバイザリデータベースを新設した。上流のソフトウェアのバージョンを変えずにバックポートした修正も記録され、OSV形式のレコードはCC0で自由に再利用できる
  • macOS 10.15以前のサポートは終了し、Intel版macOSはTier 3に移行して新しいbottle(ビルド済みバイナリ)が提供されなくなる。Homebrewは移行先としてMacPortsを挙げている。
Homebrew 7.0.0で追加されたmacOS用ネイティブアプリ「BrewUI」の画面
Homebrew 7.0.0で追加されたmacOS用ネイティブアプリ「BrewUI」の画面。(原典(Homebrew)

何が公開されたのか

HomebrewプロジェクトのMike McQuaid氏は2026年9月13日のブログで、メジャー版Homebrew 7.0.0を発表した。自動更新、またはbrew updateを手動で実行すると7.0.0に更新される。

今回の版の特徴として、発表では次の点が挙げられている。

  • パッケージのダウンロード、準備、インストールをまたいだ同時実行の拡大による高速化
  • サンドボックスの強化とインストール時の保護の追加
  • macOS 26「Tahoe」以降で使えるネイティブアプリ「BrewUI」
  • 組み込みの脆弱性チェックとアドバイザリデータベース
  • macOS 10.15のサポート終了と、Intel版MacのTier 3への移行

組み込みの脆弱性チェック「brew vulns」

brew vulnsは、Homebrewに組み込まれた脆弱性チェックのコマンドだ。発表によると、インストール済みのformulaを走査し、信頼できないtap(第三者のパッケージ提供元)に由来するformulaをスキップした場合はそのことを報告する。--severity=high--deps--brewfileを使うと対象を絞った確認ができる。

修正の優先順位づけも用意されている。--fix-available--no-fix-availableで修正版が存在するかどうかを分け、--fix-typeで「上流がリリースした修正」と「Homebrewが適用したパッチ」を区別し、--list-skippedで確認できなかった範囲を把握できる。

判定の流れは次のとおりだ。

  1. formulaごとに上流のソフトウェアリポジトリとそのバージョン/タグを特定する。インストール済みのパッケージでは、利用できるSBOM(ソフトウェア構成表)の情報を使うか、formulaの定義から入手元を割り出す
  2. 特定したリポジトリとバージョン/タグをOSV.devにまとめて問い合わせ、脆弱性のレコードを取得する
  3. 該当する可能性があるレコードを検証し、任意の深刻度フィルタを適用する
  4. Homebrewがすでにセキュリティパッチを適用済みかどうかを確認する

脆弱性情報をOSV形式で公開、CC0で再利用可能

Homebrewは、自分たちが配布するformulaの版とリビジョンに対して脆弱性を記録するアドバイザリデータベースを新設した。上流のソフトウェアのバージョン番号を変えずにバックポートした修正もここに記録される。

このデータはformula APIとダウンロード可能なアドバイザリ索引で公開され、他のツールが「未対応の脆弱性」と「Homebrewがすでに配布済みの修正」を区別できるようにすることを狙っている。OSV形式のレコードはCC0の下で自由に再利用でき、セキュリティチームがHomebrew固有の脆弱性データを共有できる共通の情報源になるとHomebrewは説明している。

関連する変更として、Homebrewは**resolvesが付与されたセキュリティパッチを認識**し、すでに取り込まれた修正についての脆弱性報告が上がらないようにした。また、SBOMに上流パッケージの識別子を追加し、Homebrewのformula名だけに頼らずにPyPI、npm、Cargoなどのレジストリとソースアーカイブを結び付けられるようにした。対応するtapが証明(attestation)を公開している場合は、homebrew/core以外のtapのbottleについてもビルドの来歴を検証する。

サンドボックスとインストール時の保護

Homebrew 7.0.0は、パッケージのインストール時に構造化された設定を署名付きデータとして受け渡し、formulaとcaskの操作をサンドボックス内で実行する。これにより、任意のRubyコードの実行とパッケージ定義の重複した読み込みを減らすとしている。

サンドボックスの変更で利用者に影響が大きいのは、ビルド時のホームディレクトリの読み取りが既定で遮断される点だ。パッケージのビルドに無関係な個人ファイルを触れないようにしつつ、Homebrewに必要なパスは許可する。また、ビルドツールがローカルで通信するためのプライベートな一時ディレクトリを用意し、ネットワークアクセスを有効にせずにやり取りできるようにした。

依存関係のダウンロードは取得フェーズへの移行が進められている。移行済みのformulaはネットワークアクセスと書き込み可能なキャッシュを使ってダウンロードし、その後のインストールではネットワークを無効化しキャッシュを読み取り専用にする。この移行は継続中だとHomebrewは説明している。

さらに、実ユーザーIDと実効ユーザーIDが一致しない場合は設定を読む前に拒否するようになり、サポート対象外の共有インストール向けのテストされていない権限切替コードが削除された。

ただしHomebrewは、悪意のある第三者のcaskに対する主要な防御はtapの信頼であり、サンドボックスは主に事故による被害を限定し、インストール時の保護を追加するものだと明記している。サンドボックスは信頼できないソフトウェアを安全に実行できるようにするものではなく、アプリケーションは利用者の権限で動作し、ベンダー提供の.pkgインストーラはサンドボックスの外で実行されてsudoを要求する場合があると説明している。

修正されたセキュリティ勧告

発表では、Homebrewが今回および直近の版で修正したセキュリティ勧告(GHSA)も列挙されている。

深刻度 勧告 内容 修正版
High GHSA-rg9r-ppxp-87hm 署名のないcask削除用メタデータがsudo権限でコマンドを実行できる可能性があった。該当する復旧用コードとAPIアクセサは削除された 6.0.12
Moderate GHSA-5263-whxq-77hp 悪意のあるcaskが、macOSのインストール用サンドボックスの外でLaunchServices経由でコードを実行できる可能性があった。アプリケーションの起動、Machサービス、Unixソケット接続を制限した 7.0.0
Moderate GHSA-hqpg-hjr9-c7j8 macOS用インストーラが、root権限でプログラムを実行し得るprefix所有のGit設定を読み込んでいた。修正後はこの設定を無視する 6.0.12
Low GHSA-x82f-cj53-gqfr brew livecheckのリダイレクトを制限し、サーバーサイドリクエストフォージェリ(SSRF)を防ぐ 6.0.7
Low GHSA-3m5g-jfx7-3p65 ダウンロードのリダイレクトで、秘密のヘッダーが別のホストへ転送されないようにする 6.0.7
Low GHSA-r9gp-p4vv-f93x Gitのリダイレクトでtapの制限を回避できないようにする 6.0.6
Low GHSA-9g4r-vmj2-j2gj Subversionの外部URLがコマンドのオプションとして解釈されないようにする 6.0.7
Low GHSA-r7qx-325v-4ccx パッチの対象が展開済みのソースツリーの外に出ないようにする 6.0.6

対応環境とサポート期限の変更

7.0.0では対応環境も変わった。発表に記載された主なものを挙げる。

  • macOS 10.15以前のサポートは終了し、macOS 11以降へのアップグレードが必要になった
  • macOS Sonoma 14はTier 3に移行し、bottleと.pkgによるインストールにはSequoia 15以降が必要になった
  • Apple SiliconではSequoia 15、Tahoe 26、Golden Gate 27がTier 1として、ビルド済みbottle付きでサポートされる。HomebrewはmacOS 27「Golden Gate」を完全にサポートするとしている
  • Intel版macOS 11以降はTier 3に移行し、新しいbottleが提供されなくなる。Homebrewは動かなくなる前にMacPortsへ移行するよう案内しており、サポート終了は2027年9月1日としている
  • Apple Silicon上のmacOS 11は、サポート終了(2027年9月1日)までにmacOS 12以降へ更新する必要がある
  • CI向けでは**ghcr.io/homebrew/ubuntu22.04のイメージが削除され、ghcr.io/homebrew/brewへの移行が必要になった。Homebrew/actions/*@master**も削除され、CalVerのリリースか完全なSHAの指定が求められる

macOS 26「Tahoe」以降では、**brew install homebrew-appでインストールできるネイティブアプリ「BrewUI」**が利用できる。BrewUIはパッケージの閲覧・検索・インストール済みバージョンの確認を1つのウインドウにまとめ、操作の裏で実行されるbrewコマンドも表示する。

まとめ:確認しておきたい点

Homebrewは、自動更新か手動のbrew updateで7.0.0に更新されると説明している。利用者とセキュリティチームには、次の点が関係する。

  • インストール済みパッケージの脆弱性を確認したい場合は**brew vulns**が使える。--severity=high--brewfileで対象を絞り、--fix-available--no-fix-availableで修正の有無を分けられる
  • セキュリティチームは、**formula APIとアドバイザリ索引で公開されるOSV形式のレコード(CC0)**を自組織のツールに取り込める。SBOMには上流パッケージの識別子が含まれるようになった
  • macOS 10.15以前の環境は、7.0.0への更新に先立ってmacOS 11以降への移行が必要になる
  • Intel版MacはTier 3に移るため、新しいbottleは提供されない。HomebrewはMacPortsへの移行を案内している
  • CIでHomebrewのイメージやGitHub Actionsを使っている場合は、ghcr.io/homebrew/ubuntu22.04の削除と@masterの削除に合わせた更新が必要になる

出典

この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。