検索
ニュース

GitHubリポジトリの「侵入口」をどうふさぐ? 無料で使える6つのセキュリティ設定30分以内に対策可能、ガイド付き機能も

GitHubは、リポジトリを攻撃者に狙われにくくする6つの無料セキュリティ設定を紹介した。いずれも30分以内で設定でき、攻撃者が狙う「侵入しやすい入り口」をふさぐ効果があるという。

Share
Tweet
LINE
Hatena

 GitHubは2026年7月1日(米国時間)、リポジトリを攻撃者に狙われにくくするための6つの無料セキュリティ設定を紹介した。同社は、こうした基本的なセキュリティ設定を有効にしていないと、攻撃を受ける可能性が高まり、ユーザーを危険にさらす恐れがあると指摘。特にオープンソースプロジェクトの管理者(メンテナー)に対し、これらの設定を有効化するよう推奨している。

 以下で紹介する設定はいずれも無料で利用でき、30分以内で設定できる。これらは攻撃者が今まさに悪用している「侵入しやすい入り口」をふさぎ、プロジェクトを攻撃されにくくするものだという。

GitHubリポジトリの「侵入口」を減らす6つの設定

1.SECURITY.mdファイルを追加する

 最も手軽で、他の全ての設定を進めやすくするのがこの設定だ。「SECURITY.md」ファイルは、プロジェクトの不具合を見つけた人に、その報告先を伝える役割を持つ。このファイルがないと、善意の報告者に残された選択肢は、公開されるイシュー(公開された脆弱<ぜいじゃく>性情報になる)か、探し当てた個人のメールアドレスしかない。

 記載する内容は多くない。脆弱性を見つけた人が公開の場にさらさず直接連絡できるよう、メールアドレスなどの窓口を示しておく。併せて、対象とする不具合の範囲や、連絡時に伝えてほしい点を書いておくとよい。

画像
「SECURITY.md」を設定するセキュリティ設定画面(提供:GitHub

2.非公開の脆弱性報告を有効にする

 SECURITY.mdが報告先を伝えるのに対し、非公開の脆弱性報告(PVR:Private Vulnerability Reporting)は、報告を非公開で行う場所を提供する。有効にすると、研究者はリポジトリ上で非公開のアドバイザリーを提出できる。メンテナーは公開されない場で内容を確認(トリアージ)し、自身の判断した時期に公開できる。設定は「Settings」の「Security」にあるチェックボックス1つで済む。

画像
非公開の脆弱性報告を有効にする設定画面(提供:GitHub

3.プッシュ保護付きのシークレットスキャンを有効にする

 シークレットスキャンは、リポジトリに紛れ込んだ鍵やトークンを検出し、リポジトリへプッシュされる前にローカルで遮断する。シークレット検出企業のGitGuardianの調査「State of Secrets Sprawl 2026」によると、2025年に公開GitHub上で新たに漏えいしたシークレットは2865万件に上り、前年から34%増加した。これは単年の増加としては過去最大だという。AIが支援したコミットは、基準となる比率のおよそ2倍の割合でシークレットを漏えいさせているとしている。

 IBMの「2025年データ侵害のコストに関する調査」によると、データ侵害の平均コストは世界全体で444万ドル、米国では1022万ドルに達しているという。

画像
検出されたシークレットを確認する設定画面(提供:GitHub

4.Dependabotと依存関係レビューを有効にする

 プロジェクトは自身のコードだけで成り立っているわけではない。コードが取り込む数十から数百のパッケージも含まれる。GitHubが提供する依存関係自動更新ツール「Dependabot」は、依存しているパッケージに既知の脆弱性が見つかったときに通知してくれる。

 依存関係レビューは、プルリクエストの中で、何が追加・更新され、そのいずれかに公開済みのアドバイザリーがあるかどうかを示す。この2つを組み合わせることで、パッケージの依存関係の変更内容を短時間のレビューで確認できる。

画像
Dependabotアラートを確認する設定画面(提供:GitHub

5.コードスキャンを有効にする

 コードスキャンは、リポジトリに対して静的解析を実行し、実際の不具合につながるパターンを検出する。SQLインジェクション、コマンドインジェクション、危険なデシリアライズ(復元処理)といった典型的な問題を洗い出す。解析エンジンの「CodeQL」は安全でないGitHub Actionsのワークフローも検出できる。GitHubはコードスキャンを2019年にオープンソース向けに無料で提供して以来、「Security and Quality」タブでワンクリックの既定設定として提供している。既定設定は言語に応じた適切なクエリパックを選び、プルリクエストのたびに実行される。

画像
コードスキャンを設定する画面(提供:GitHub

6.既定ブランチにブランチ保護を有効にする

 最も単純で地味な設定だが、有効にした瞬間から最も大きな効果を生む。これは「main」ブランチへのマージ前に、最低1件の承認を伴うプルリクエストを必須とする設定だ。認証情報の侵害、勘違いしたコントリビューター、疲れた状態での本番環境への直接プッシュといった最悪の事態を防ぐ。加えて、Dependabotの通知やコードスキャンの検出結果がマージを差し止めるようになるため、他の5つの設定を実際に機能させる効果もある。

画像
ブランチ保護を有効にする画面(提供:GitHub

 GitHubは、これらの6つの設定を一連の手順で有効化できる案内付きの機能「Protect Your Project」も用意している。同機能を使えば、1つのリポジトリに対して10〜15分で設定を完了できるとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る