概要
GitHubは10月20日、パッケージインストール時を狙うサプライチェーン攻撃に対抗する新機能「GitHub package firewall」を公開プレビューとして発表した。コーディングエージェントやCI/CDホストといったエンドポイントと、npmなどの上流パッケージレジストリとの間に位置し、メタデータリクエストとパッケージのダウンロード内容の両方を検査する仕組みだ。GitHubは発表の背景として、パッケージのインストール時点を狙うマルウェア攻撃が近年急増しており、特にコーディングエージェントやCIランナーの環境が脆弱になりがちだと指摘している。
仕組みとポリシーコントロール
package firewallは、組織の管理者がポリシーを設定できる点が特徴だ。具体的には、パッケージの公開から一定期間を置いて取り込みを遅らせる「クールダウン期間」の設定、GitHub Advisory Databaseを活用した脆弱性・マルウェアアドバイザリの事前確認、アテステーション(証明)の欠落や低下といったサプライチェーン上の異常を検知するチェックなどが可能になる。これにより、新規公開直後のパッケージに潜むマルウェアや、既知の脆弱性を含む依存関係が組織内のビルド・デプロイ環境に取り込まれるリスクを、インストール時点で遮断できる。
対応範囲と料金
現時点での対応エコシステムはnpmパッケージのみで、他言語のパッケージマネージャーへの対応は今後の課題として残る。利用対象はGitHub Enterprise Cloudの顧客で、データレジデンシー対応版の環境でも利用可能だ。料金についてはプレビュー期間中は無料で提供されるが、一般提供(GA)段階ではGitHub Actionsの課金体系と同様、使用量に応じたメータリング課金が適用される予定となっている。
背景と今後の展望
近年、npmエコシステムを狙った攻撃は、公開直後のパッケージにマルウェアを混入させたり、人気パッケージのメンテナーアカウントを乗っ取って悪意あるバージョンを配布したりする手口が相次いで報告されている。エージェントによる自動化されたコード生成やCI/CDパイプラインの普及により、人間の目によるレビューを経ずにパッケージが取り込まれる場面が増えていることも、こうした攻撃の温床となっている。GitHubは今後、インフラのスケーリングや顧客からのフィードバックを踏まえて機能を拡充していく方針を示しており、対応エコシステムの拡大や検査ルールの強化が注目される。