GitHub Advanced Security入門!開発のセキュリティを劇的に強化するGHASの機能

GitHub Advanced Security(GHAS)は、あなたのコードに潜むセキュリティ上の弱点や、うっかりミスを自動で見つけてくれる、いわば「開発者のためのセキュリティアシスタント」です。つまり、GitHub Advanced Securityを使えば、開発の最初から最後まで、コードに問題がないかを自動で探してくれます。

多くの開発チームでは、脆弱性の発見がリリース直前や、最悪の場合、ユーザーからの報告によって行われがちです。しかし、GHASは開発の早い段階(コードを書き、コミットするタイミング)で脆弱性や機密情報を検出し、開発者がすぐに修正できるような仕組みを提供します。

これにより、セキュリティの問題を「後から修正する」のではなく、「最初から作り込まない」という「セキュリティのシフトレフト」を実現できます。

本記事では、GitHub Advanced Securityの機能や導入方法、料金体系について詳しく解説します。

GHASの主要な機能:何ができて、どう役立つのか?

GHASには、開発ワークフローにセキュリティを組み込むための強力な機能が多数含まれています。

Code Scanning (コードスキャン):コードそのものを分析し、潜在的な脆弱性を検出

これは、リポジトリ内のコードを静的に解析し、潜在的な脆弱性やバグを検出する機能です。GitHub Actionsと連携することで、プルリクエストごとに自動でスキャンを実行できます。これにより、脆弱性のあるコードがmasterブランチにマージされるのを防ぐことができます。

  • 活用例
    • 「新機能を追加するプルリクエストを出したとき」
      GHASが自動でスキャンを実行し、「このコードにはSQLインジェクションにつながる脆弱性があります」と警告を出します。開発者はマージする前に修正できるため、脆弱性が本番環境に入るのを未然に防げます。
    • 「既存のコードベース全体を定期的にチェックしたいとき」
      毎週日曜日の夜に全コードをスキャンするよう設定しておけば、過去に書かれたコードに潜む脆弱性も定期的に発見できます。

2. Secret Scanning (シークレットスキャン):機密情報がコードに紛れていないか監視

あなたは、うっかりAPIキーやパスワードなどの機密情報をコードに直接書いてしまったことはありませんか? Secret Scanningは、そうした情報を自動で検知し、即座にアラートを出します。

つまり、誤ってコード内にコミットされたAPIキー、トークン、パスワードなどの機密情報を自動で検知し、アラートを出します。公開リポジトリはもちろん、プライベートリポジトリでも機密情報の漏洩リスクを大幅に減らせます。これにより、機密情報が外部に漏れるリスクを最小限に抑えられます。

  • 活用例
    • 「うっかりAPIキーをハードコードしてコミットしてしまったとき」
      GHASがコミットを検知し、すぐにアラートを出します。開発者はそのコミットをrevert(取り消し)して、キーを環境変数に移動させるなどの対応を迅速に行えます。
    • 「新しく入社したメンバーが誤って機密情報をプッシュしてしまったとき」
      GHASがそのコミットを即座に検出し、チームのセキュリティ担当者にも通知が届くため、情報漏洩の可能性を最小限に抑えられます。

3. Dependabot (デペンダボット):古いライブラリの脆弱性を自動でチェック・更新

プロジェクトで使っているライブラリに、新しい脆弱性が発見されたらどうしますか? Dependabotは、プロジェクトが依存するライブラリに既知の脆弱性がないかを常に監視します。もし問題が見つかれば、脆弱性を修正したバージョンへのアップデートを提案するプルリクエストを自動で作成してくれます。あなたはそれをレビューしてマージするだけで、セキュリティを最新の状態に保てます。

脆弱性を修正した新しいバージョンへのアップデートを提案するプルリクエストを自動生成してくれるため、依存関係の管理がとても楽になります。

  • 活用例:
    • 「プロジェクトで使っているライブラリに、新しい脆弱性が発見されたとき」
      GHASがその脆弱性を自動で検出し、Dependabotが「脆弱性のあるライブラリをアップデートするプルリクエスト」を自動的に作成してくれます。開発者はそのプルリクエストをレビューし、マージするだけでセキュリティを強化できます。
    • 「古くなった依存関係を一斉に更新したいとき」
      セキュリティアップデートだけでなく、バージョンアップも提案してくれるため、手動でpackage.jsonなどを更新する手間が省けます。

4. Dependency Review (依存関係レビュー):プルリクエストで追加されるライブラリの安全性を確認

Dependabotと似ていますが、こちらはプルリクエスト内で依存関係に新しい脆弱性がないかを直接確認できます。これにより、問題のあるライブラリがプロジェクトに追加されるのを防ぐことができます。

Dependency Reviewは、プルリクエスト内で追加しようとしている新しいライブラリに脆弱性がないかを直接チェックし、警告を出してくれます。これにより、最初から危険なライブラリをプロジェクトに取り込まないようにできます。

  • 活用例:
    • 「package.jsonに新しいライブラリを追加するプルリクエストを出したとき」
      プルリクエストの画面に、「この追加するライブラリには、3つの既知の脆弱性が含まれています」という警告が表示されます。開発者はその場で代替となる安全なライブラリを探すか、追加を断念することができます。
    • 「チームメンバーが誤って脆弱なバージョンのライブラリをインストールしてしまったとき」
      プルリクエストを出すと即座に警告が表示されるため、脆弱なコードがプロジェクトに取り込まれるのを防げます。

特におすすめのGitHub Advanced Securityの機能

GHASの機能の中でも、特に多くのチームが開発効率とセキュリティの両立に役立つと感じるのが、以下の2つです。

Code Scanning:CI/CDに組み込む最強のシフトレフト

Code Scanningは、セキュリティを「シフトレフト」(開発プロセスの早い段階で対策を行うこと)する上で最も強力な機能です。GitHub Actionsと連携することで、プルリクエストが作成されるたびに自動で脆弱性スキャンを実行できます。これにより、セキュリティの問題が下流工程に流れるのを根本的に防ぎ、修正コストを大幅に削減できます。

Secret Scanning:人為的ミスを防ぐ最後の砦

開発者がAPIキーなどを誤ってコミットしてしまうミスは、意外とよく発生します。Secret Scanningは、その一瞬の人為的なミスを即座に検知し、アラートを出してくれる最後の砦です。機密情報の漏洩は企業の信頼に直結するため、この機能の存在は非常に重要です。

GitHub Advanced Securityの導入方法:簡単3ステップ

GitHub Advanced Securityの導入は非常にシンプルです。

  1. GitHub Enterpriseの契約
    GitHub Advanced Securityは、GitHub Enterprise CloudまたはGitHub Enterprise Serverの追加オプションです。まず、これらのエンタープライズプランを契約している必要があります。

    • 日本での導入方法: 日本企業がGitHub Enterpriseを導入する場合、国内の認定代理店を通じて契約・導入支援を受けるのが一般的です。代理店を利用することで、日本語でのサポートや導入に関する相談が可能になります。
  2. GitHub Advanced Securityの有効化
    組織またはエンタープライズレベルで、GitHub Advanced Securityを有効にします。
  3. リポジトリでの機能設定
    各リポジトリの設定画面から、必要な機能を有効にするだけで準備完了です。Code Scanningは、GitHub Actionsのワークフローファイルを追加するだけで簡単に設定できます。

GitHub EnterpriseとGitHub Advanced Securityの料金体系

GitHub Advanced Securityを導入するには、まず前提となるGitHub Enterpriseプランの契約が必要です。料金はそれぞれ独立しており、合算して計算します。

GitHub Enterpriseプランの料金

GitHub Enterpriseは、開発者一人あたりで料金が発生します。

  • GitHub Enterprise Cloud
    • 料金の目安(ドル)
      年額 $252 / 開発者($21/月)
    • 料金の目安(日本円)
      1ドル150円の場合、年額 37,800円 / 開発者(月額 3,150円)
    • 含まれる機能 GitHub.comのすべての機能、SAML/SCIMによる認証連携、GitHub Actionsの利用時間、エンタープライズレベルの管理・監査機能など。
  • GitHub Enterprise Server
    • 料金の目安(ドル)
      年額 $252 / 開発者($21/月)
    • 料金の目安(日本円)
      1ドル150円の場合、年額 37,800円 / 開発者(月額 3,150円)
    • 含まれる機能
      GitHub Enterprise Cloudの機能に加え、自社環境(オンプレミス、AWS, Azureなど)にホスティングできる柔軟性。

※参考:GitHub「プランご紹介」
※この情報は、2025年9月4日時点のものです。最新の情報については公式サイトをご確認ください。

GitHub Advanced Securityの料金(オプション)

GitHub Advanced Securityの料金は、「アクティブコミッター数」に基づいて計算される従量課金制です。

アクティブコミッターとは?

過去90日間にGitHub Advanced Securityが有効化されたリポジトリにコードをコミットしたユニークユーザーのことです。

簡単に言うと、実際にセキュリティ機能を使いながら開発をしている人が課金の対象になります。リポジトリを閲覧するだけの人や、コミットしていない人は料金がかかりません。

GHASが有効なリポジトリにコミットした「ユニークユーザー(アクティブコミッター)」の数で料金が決まります。

たとえば、ある人が1日に100回コミットしても、過去90日間に1回しかコミットしなかったとしても、同じ「1人」としてカウントされます。そのため、コミットの頻度回数によって料金が変わることはありません

2つの製品に分かれた料金プラン

2025年9月現在、GitHub Advanced Securityは以下の2つの製品に分かれており、それぞれを個別に契約することが可能です。

  • GitHub Secret Protection
    • 料金の目安(ドル)
      月額 $19 / アクティブコミッター
    • 料金の目安(日本円)
      1ドル150円の場合、月額 2,850円 / アクティブコミッター
    • 含まれる機能
      Secret Scanning、Push Protection(機密情報のプッシュをブロックする機能)、AIによる誤検知の低減など、機密情報の保護に特化した機能。
  • GitHub Code Security
    • 料金の目安(ドル)
      月額 $30 / アクティブコミッター
    • 料金の目安(日本円)
      1ドル150円の場合、月額 4,500円 / アクティブコミッター
    • 含まれる機能
      Code Scanning、Dependency Review、AIが脆弱性を自動修正するCopilot Autofix機能など、コード自体のセキュリティに特化した機能。

※参考:GitHub Blog「 Introducing GitHub Secret Protection and GitHub Code Security」
※この情報は、2025年9月4日時点のものです。最新の情報については公式サイトをご確認ください。
※上記の料金はあくまで目安であり、契約するコミッター数や期間、代理店との契約内容によって変動します。正確な料金については、GitHubの公式サイトまたは代理店にお問い合わせください。

まとめ:なぜ今、GHASがエンタープライズに求められるのか?

現代の開発環境において、セキュリティは後回しにできるものではありません。GitHub Advanced Securityは、開発者が普段使っているGitHubのプラットフォーム上で、セキュリティを「自動化」し「開発の早い段階から対策」することを可能にします。

これにより、チームはセキュリティを意識しながらも、生産性を落とすことなく、より安全なソフトウェアを迅速に提供できるようになります。

現代のビジネスにおいて、ソフトウェアのセキュリティは単なる技術課題ではなく、企業の信用と直結する経営リスクです。GitHub EnterpriseとGitHub Advanced Securityを導入することで、組織は以下の2つの重要なメリットを同時に享受できます。

  • 開発プロセスとセキュリティの統合
    GitHub Enterpriseプランは、開発者が最も慣れ親しんだプラットフォーム上で、一元化された開発・運用環境を提供します。GitHub Advanced Securityは、その環境にセキュリティ機能をシームレスに組み込むことで、「開発」と「セキュリティ」を分断させません。これにより、セキュリティ対策が開発者の負担となることなく、自然なワークフローの中で実行されます。
  • リスクの可視化とコスト削減
    GitHub Advanced Securityは、開発の初期段階で脆弱性や機密情報を自動で検出し、可視化します。これにより、問題が本番環境に到達する前に修正できるため、後から発生する多大な修正コストやブランドイメージの毀損を未然に防ぎます。これは、セキュリティへの投資が、最終的には企業全体のコスト削減と信頼性の向上につながることを意味します。

GitHub EnterpriseとGitHub Advanced Securityは、単なるツールの集合体ではなく、「セキュアな開発文化」を組織に根付かせるための強力なソリューションです。貴社の開発チームは、セキュリティを新たな成長の機会と捉えることができるでしょう。

タイトルとURLをコピーしました