GitHub の脆弱性管理とは、GitHub リポジトリ、依存関係、ワークフローにおけるセキュリティ脆弱性の発見、優先順位付け、修正を指します。
GitHub は、ソフトウェア開発者がコードを保存・追跡し、他者と共同作業するために使用するクラウドベースのプラットフォームです。Dependabot、シークレットスキャン、コードスキャンなどの組み込みセキュリティ機能を提供し、開発パイプラインを保護します。これにより脆弱性を早期に発見し修正し、リリースごとにユーザーの信頼を維持できます。
本記事では、GitHub脆弱性管理、組み込みセキュリティ機能、GitHubによる脆弱性の検出・報告方法、GitHub内でのリスク管理・修正手法、GitHub Advanced Security、サードパーティツールとの連携方法、ベストプラクティスについて解説します。
GitHub脆弱性管理とは?
GitHub脆弱性管理とは、GitHubのセキュリティチームが構築したプログラムであり、システムやコード内の脆弱性を特定・評価し、修正を支援することで、1億人以上の開発者のプロジェクトとデータをサイバー脅威から保護します。GitHubにおける脆弱性管理プロセスには、以下の5つの重要なステップが含まれます:
- 発見: セキュリティチームは高度なツールとプロセスを用いて、GitHub上にホストされているコードベース、開発ワークフロー、設定などに存在する脆弱性を検出します。検出された脆弱性は「課題」としてGitHubボードに記録されます。
- トリアージ: 脆弱性の深刻度評価、技術レポートの作成、コード所有者との連携を行います。
- 修正見積もり: コード所有者が修正パッチを作成し、問題の深刻度レベルに基づいて完了までの所要時間を見積もります。&
- 修正: コード所有者がパッチを適用し、GitHubのセキュリティチームが検証を行います。
- 開示: パッチが承認されると、セキュリティチームは脆弱性を顧客とユーザーに開示します。
GitHubのセキュリティチームにとって、脆弱性管理は単純なパッチ管理を超えたものです。これは、潜在的な脅威の暴露を調査し、悪用可能性を予測し、ビジネスへの影響を理解する、知的で機敏なプロセスです。これによりセキュリティリーダーは脅威の軽減策について迅速に情報に基づいた意思決定が可能になります。
GitHubリポジトリにおける脆弱性管理の重要性とは?
GitHubは、世界中の複数のデータセンターやクラウドプロバイダーに保存された、数百万の開発者による膨大なコードリポジトリインフラを保有しています。この膨大な管理データに加え、GitHubは個々の資産のリスクプロファイルを継続的に評価し、それらを保護する必要があります。
GitHubには多様なスキルを持つセキュリティ専門家チームが存在しますが、大規模なインフラ管理には運用上のオーバーヘッドやユーザー体験の不均一性といった課題が伴います。コードリポジトリを効果的に保護するため、GitHubにおける脆弱性管理は不可欠となっています。これにより、次のような利点があります。
- 自動化: 脆弱性管理における GitHub の主な目標の 1 つは、俊敏性です。脆弱性の理解、悪用可能性の評価、ビジネスへの影響の特定にかかる時間を短縮することを目指しています。これにより、攻撃者が脆弱性を悪用する前に、タイムリーにパッチを準備することが可能になります。GitHubはSAST、DAST、脆弱性スキャナーなどの自動化ツールを活用し、反復的な手順を自動化することで、運用上のオーバーヘッド、遅延、人的ミスを削減します。
- リスク露出の低減: コードリポジトリを継続的に監視し脆弱性評価を実施することで、コードベースのセキュリティ弱点を発見できます。これにより修正策を共同で策定する機会が得られます。これにより、ソフトウェア開発ライフサイクル(SDLC)の全段階でコードとシステムをサイバー攻撃者から保護し、リスクへの曝露を減らせます。
- コンプライアンス維持: セキュリティフレームワークや基準では、顧客データを脅威から保護するため、その要件への準拠が求められます。GitHub脆弱性管理を活用すれば、安全な開発プラクティスに従い、脆弱性を積極的に発見・修正できます。これにより、データ侵害、脅威、高額な罰金や制裁の可能性が低減され、コンプライアンスが向上します。
- ユーザーエクスペリエンスの向上: GitHubのセキュリティチームは、GitHub Advanced Security(GHAS)を使用してコード品質を向上させています。バグ報奨金プログラムなどの内部セキュリティプログラムを運用し、脅威の発見と迅速な修正を推進しています。また、脆弱性に関する詳細なコンテキストを提供し、深刻度とビジネスへの影響度に基づいて優先順位付けを行うことで、効果的な修正措置を支援します。これにより、コードベースとシステムのセキュリティを確保し、顧客体験の向上を実現できます。&
脆弱性検出のためのGitHub組み込みセキュリティ機能
GitHubはスケーラビリティと並行してセキュリティに注力する開発者中心のプラットフォームです。コードベース、ワークフロー、システム内の脆弱性を迅速に検出するための優れた組み込みセキュリティ機能を提供します。これにより、本番環境移行前にこれらの弱点を解決し、開発ワークフローを保護できます。脆弱性検出のためのGitHubセキュリティ機能の一部を以下に示します:
- コードスキャン: この機能により、GitHubリポジトリ内のコードを分析してエラーやセキュリティ脆弱性を検出、分類し、修正作業の優先順位付けが可能です。また、新たな修正が新たな脆弱性を生み出さないことも保証します。このツールでは、特定の時間や日にコードスキャンをスケジュールしたり、特定のイベント発生時にスキャンをトリガーしたりできます。重大な脆弱性が検出されると、GitHub は同じリポジトリにアラートとしてエラーを表示します。
- Dependabot:GitHubの強力なネイティブセキュリティ機能であり、コードの依存関係を脆弱性に対して監視し、脆弱性を検出すると即座に通知します。また、依存関係を自動的に更新し、攻撃者に悪用される前に脆弱性を軽減するのに役立ちます。
- バグ報奨金プログラム: GitHubのバグ報奨金プログラムは、コードリポジトリ内のセキュリティ脆弱性を発見したセキュリティ研究者に報奨金を支給します。報酬額は脆弱性の深刻度に応じて617ドルから30,000ドル以上まで変動します。
- シークレットスキャン: このツールにより、セキュリティチームはAPIキー、パスワード、秘密鍵などの公開されたシークレットや認証情報を検出できます。公開リポジトリ内のシークレットを自動的に検出し、警告を発します。これにより、侵害が発生する前にタイムリーにシークレットを保護できます。
- GitHub Advanced Security: プライベートリポジトリでは、GitHub Advanced Security(GHAS)を使用して、コードのコミットやプッシュをスキャンし、セキュリティ上の欠陥を見つけることができます。これにより、コードの品質を向上させ、悪用から保護することができます。
- 脆弱性ボード: GitHubはセキュリティダッシュボードを提供し、コードベース全体の脆弱性を可視化・追跡します。リポジトリごとの未解決脆弱性の件数、未修正課題の経過時間、各リポジトリのコンプライアンス情報、アラートの履歴を確認できます。このボードは、セキュリティ責任者が情報に基づいた修正判断を行い、セキュリティ態勢を強化するのに役立ちます。
- セキュリティアドバイザリデータベース:GitHubは、新たな脅威や脆弱性を把握し無効化するために参照できるリアルタイムデータベースを提供しています。マルウェアアドバイザリ、GitHub審査済みアドバイザリ、未審査アドバイザリの3カテゴリで構成され、CVE、影響を受けるリポジトリ名、CVSSレベルなどを表示します。
GitHubは脆弱性をどのように検出・報告するのか?
GitHubはソフトウェア開発ライフサイクル全体で脆弱性を管理する強力なセキュリティプラットフォームです。ITチームはセキュリティ機能を活用し、コードリポジトリ内の脆弱性、リスクのある依存関係、および公開されたシークレットをスキャンできます。また、問題の修正やセキュリティ状態の経時的な追跡を支援します。GitHubの脆弱性管理プロセスを4つの段階に分けて説明しましょう:
脆弱性の発見
GitHub脆弱性管理の第一段階は、コードリポジトリ内の脆弱性を検出することです。サイバー犯罪者に悪用され攻撃を受ける前に、GitHubリポジトリ内のセキュリティリスクを発見する必要があります。この段階ではセキュリティ脆弱性を完全に可視化し、修正措置の優先順位付けが可能になります。
脆弱性発見のため、GitHubのセキュリティチームは自動化されたSAST(静的アプリケーションセキュリティテスト)またはDAST(動的アプリケーションセキュリティテスト)、手動テスト、内部報告、顧客報告、ペネトレーションテスト、バグ報奨金プログラムを活用しています。また、GitHubチームはネイティブツールを用いてコード、シークレット、依存関係を継続的にスキャンしています:
- Dependabot: プロジェクトの依存関係グラフをGitHubのアドバイザリデータベースと照合します。脆弱なパッケージをフラグ付けし、安全なバージョンを提案します。
- コードスキャン: GitHubはサードパーティ製スキャナーまたはCodeQLを使用してコードを検査し、SQLインジェクションや安全でない関数使用など、不安全または疑わしいコーディングパターンを追跡します。
- シークレットスキャン: GitHubは、AWSキーやデータベースパスワードなど、誤って公開されたデータをスキャンします。公開リポジトリではこの機能はデフォルトで有効ですが、非公開リポジトリではプランの購入が必要です。
GitHubのセキュリティチームが脆弱性を発見すると、追跡ボードに以下のプロパティを持つ「課題」を作成します:
- 課題の明確化タイトル
- 問題の簡潔な説明
- 脆弱性の発生源(ペネトレーションテスト、バグ報奨金プログラム、脆弱性スキャン、内部責任開示、顧客通知、およびCI/CDパイプラインのセキュリティチェックを含む
- 技術レポートまたは脆弱性の情報源へのリンク
セキュリティチームが脆弱性を検知すると、トリアージ段階に移行します。
脆弱性のトリアージ
セキュリティチームは脆弱性を徹底的に評価し、重大性があるかどうかを検証します。この段階では以下のアクションを実行します:
- 脆弱性が悪用される可能性の調査
- 脆弱性がシステムに与える影響の特定
- CVSSまたは影響度に基づく深刻度スコアの割り当て
- 技術レポートの作成
- コード所有者との連携
GitHubのセキュリティチームは、問題の初期報告を受領後3日以内に、問題の種類と原因を記載した技術文書を作成します。技術レポート作成時、セキュリティエンジニアはまず、より多くのシナリオをテストすることで、どのような攻撃が可能かを特定します。例えば、様々なアクセスレベルやデプロイメントモデルで脆弱性を悪用し、どの脆弱性がより深刻なリスクをもたらすかを把握します。p>
深刻な脆弱性が発見された場合、セキュリティチームは技術文書を作成し、コード所有者にタグ付けしてパッチ作業を進められるようにします。GitHubのセキュリティチームはコード所有者に以下の2つの方法で通知します:
- 技術レポートにチームをタグ付けしてコメントを追加する。
- 事前通知としてSlackチャンネルにメッセージを投稿する。
また、脆弱性の深刻度に基づくパッチ開発のSLA(サービスレベル契約)を明記し、修正提案を提供します。
パッチ見積もり
技術文書がコードオーナーに届くと、エンジニアリングチームは指定されたSLA内で脆弱性を解決するパッチ作業を開始します。
パッチが準備でき次第、コード所有者はGitHubに提案し、SLA内でプロセスを完了するための労力とタイムラインの完全な見積もりを提供します。この見積もりには、パッチが問題を解決でき、新たなセキュリティ脆弱性を導入しないことを確認するための回帰テストも含まれます。
脆弱性の深刻度レベルに応じて、コード所有者は以下の見積もりで返信する必要があります:
- 重大リスクの場合:1日以内
- 高リスクの場合:3日以内
- 中程度および低リスクの場合:10日以内
この手順により、セキュリティチームは追跡と連絡のための最終レポートを作成できます。GitHubは以下の方法で脆弱性を報告します:
- セキュリティアラートダッシュボード: 現在および過去の全脆弱性、その修正状況、解決傾向を確認するのに有用です。
- セキュリティアドバイザリデータベース: セキュリティチームが脆弱性を非公開で開示し、CVEを割り当て、修正後の詳細なアドバイザリを公開できるようにします。
- 監査ログとREST API: 高度なレポート機能やコンプライアンス関連のサービスレベル契約(SLA)追跡を実現するために必須です。
- コードスキャンアラート: CodeQLが検出したセキュリティ問題をプルリクエスト上でインライン報告する通知を送信します。脆弱なコード行、深刻度スコア、問題修正のための推奨事項が含まれます。
GitHub ワークフローにおける脆弱性の管理と修正
ソフトウェア開発ライフサイクルのセキュリティと完全性を維持するには、GitHub ワークフローにおける脆弱性を管理し、修正することが不可欠です。これには、過度に広範な権限や信頼できないトリガーといった安全でないワークフローパターンを、安全な設定を通じて修正することが含まれます。
GitHubにおける脆弱性管理と修正がどのように行われるかを理解しましょう。
脆弱性の修正
脆弱性の修正は、GitHubリポジトリからセキュリティ上の弱点を排除するための脆弱性管理ライフサイクルにおける重要なステップです。GitHubリポジトリからセキュリティ上の弱点を排除するための不可欠なステップです。GitHubのセキュリティチームが脆弱性を検出し、優先順位付けを行い、コード所有者にレポートを送信した後、所有者は修正作業を開始します。パッチ開発中、GitHubのセキュリティチームは修正に取り組むエンジニアに必要な相談を提供します。
修正のタイムラインは深刻度レベルによって異なります:
- 重大(Critical): 3日以内
- 高:10日間
- 中:40日間
- 低:100日間
修正が完了すると、コード所有者は修正を「パッチ」としてGitHubのセキュリティチームに提案します。セキュリティチームはパッチの検証者となり、セキュリティパッチに対する概念実証(PoC)を再テストし、パッチが問題を解決し新たな脆弱性を追加していないことを確認します。問題が解決されていない場合、更新を提案します。確認後、エンジニアはコードをマージできます。
ユーザーと顧客への問題開示
GitHubのセキュリティチームは、発見された脆弱性とパッチを公開することでユーザーと顧客への透明性を維持しています。公開方法は以下の通りです:
- 問題が報告されたリポジトリ内のGitHubセキュリティアドバイザリ
- セキュリティ通知メーリングリスト
- CHANGELOGの更新
GitHubは、脆弱性が存在するリポジトリ内でセキュリティアドバイザリを公開します。通常はSourcegraph経由で行われます。開示内容には、脆弱性の説明、対処方法、影響を受けるバージョン、深刻度スコア、修正済みバージョンなどが含まれます。
コード所有者がSLAを満たせない場合やパッチが見つからない場合は、さらなる議論が必要な例外としてエスカレーションされます。例外は深刻度に応じて異なる管理レベルの承認が必要です。
GitHub Advanced Security: 機能とメリット
GitHub Advanced Security(GHAS)は、ソフトウェア開発ライフサイクルの各段階にセキュリティを統合できるプレミアム機能です。このGitHubネイティブ機能は開発ワークフローとシームレスに連携し、攻撃者に悪用される前にセキュリティ問題を発見・修正できます。
GHASはコード品質の維持・向上を支援し、多くの機能を備えています。Dependabotアラート、依存関係グラフ、シークレットスキャン、コードスキャンなどの基本機能は全プランで利用可能です。高度な機能を利用するには、GitHub Secrets Protection または GitHub Code Security のいずれか1つ以上を購入する必要があります。
GitHub Code Security の機能と利点:
- コードスキャン: サードパーティ製スキャナーまたはGitHubのセマンティックコード解析エンジンであるCodeQLを使用して、コード内のコーディングエラーやセキュリティ上の欠陥を検出します。
- CodeQL CLI: このコマンドラインツールでコードを分析し、コードスキャン結果を生成し、カスタムクエリを構築・テストできます。
- 依存関係レビュー: 特定のプルリクエストをマージする前に、脆弱なバージョンが存在しないか、変更が依存関係に与える影響を確認できます。
- Copilot オートフィックス: コードスキャンで検出された脆弱性に対して自動修正を生成します。
- カスタムルール: Dependabot アラートの自動トリアージルールをカスタマイズできます。アラートのトリガー、スヌーズ、無視を自動化します。
- セキュリティ概要: インフラ全体にサイバーリスクがどのように分布しているかを確認し、より適切なセキュリティ判断を下せます。
GitHub Secret Protection の機能と利点:
- シークレットスキャン: リポジトリに保存されたパスワードなどのシークレットを検出し、アラートを送信します。
- Copilot シークレットスキャン: AIを活用し、リポジトリ内の漏洩したシークレットを検出します。
- プッシュ保護: 機密情報を含むコードのコミットをブロックし、漏洩や侵害を防止します。
- カスタムパターン: 組織固有のパターンを監視し、シークレット漏洩を防止します。
- 承認管理: 機密性の高い操作を実行できるユーザーを明確化する強力な承認プロセスにより、ガバナンスと管理を強化します。これには、アラートの委任による解除やプッシュ保護の委任によるバイパスが含まれます。
- セキュリティ概要: 詳細なセキュリティ概要により、リポジトリとインフラストラクチャ全体のリスクを把握します。
サードパーティツールと GitHub の統合
サードパーティツールを GitHub ワークフローと統合することで、CI/CD パイプライン全体の自動化、セキュリティ、可観測性が向上します。GitHub Actions、外部 API のクレーム、シークレットやトークンを使用して、これらのツールを統合することができます。
以下では、サードパーティツールを GitHub と統合する方法を、わかりやすい手順で説明します。
- 適切なツールの選択: まず、セキュリティの強化、テストの自動化、デプロイの管理、パフォーマンスの監視など、プロジェクトのニーズを特定します。明確な目的が定まったら、目標に沿った信頼できるサードパーティ製ツールを選択できます。選択したツールが GitHub との連携をサポートしていることを確認してください。&
- アクセス認証情報を設定する: ほとんどのサードパーティツールは、GitHubアカウントと連携するために、統合後にトークンやAPIキーなどの安全なアクセス手段を必要とします。これらの認証情報は、ツールがコードをスキャンしたり、ビルドをデプロイしたり、通知を送信したりするのに役立ちます。ツールの指示に従って、これらの認証情報を安全に生成・保管してください。
- ツールをGitHubリポジトリに接続する: 認証情報を取得したら、GitHubリポジトリの設定またはサードパーティツールのダッシュボードで両システムを連携させます。ワンクリック統合を提供するツールもあれば、特定のリポジトリへのアクセスを手動で許可する必要があるツールもあります。これによりGitHubと外部サービス間の通信が開始されます。
- 機密データの保存にはGitHubシークレットを使用: リポジトリ設定に移動し、「シークレット」セクションにAPIキーやその他の機密認証情報を追加します。これらのシークレットは、GitHub Actionsワークフローの実行時に安全にアクセス可能となり、統合のセキュリティを確保し、セキュリティのベストプラクティスへの準拠を支援します。
- ツールの実行タイミングと方法を定義する: サードパーティツールがGitHubワークフロー内でいつ、どのように動作するかを決定できます。ほとんどのツールは、開発およびデプロイサイクルに自然に組み込めるよう、アクションを実行するタイミングを柔軟に定義するオプションを提供しています。
- 監視、レビュー、最適化: 統合完了後は、結果を監視・レビューしてください。GitHub Actionsタブまたはサードパーティ製ツールのダッシュボードを確認し、正常に動作していることを確認します。ログ、スキャン結果、アラート、パフォーマンス指標を確認し、ワークフローを円滑に維持するために必要なタイミングで統合を調整してください。
SentinelOneは、GitHubと連携する高度なサイバーセキュリティプラットフォームです。ソフトウェア開発ライフサイクルにおける脆弱性、マルウェア、その他の悪意ある活動を検知・修復します。リポジトリとCI/CDワークフローをリアルタイムで可視化するため、セキュリティチームは開発速度を妨げることなく、コード変更の監視・追跡、設定ミスの発見、脅威対応の自動化を実現できます。
GitHub脆弱性管理のベストプラクティス
GitHubはコードの保存、共同作業、管理に信頼性の高いプラットフォームです。しかし同時にサイバー攻撃者の標的となりやすい環境でもあります。そのためコードベースを脆弱性から保護する必要があります。GitHubにおける脆弱性管理の不備は、サプライチェーン攻撃、規制リスク、データ侵害の危険性を組織にもたらします。&
オープンソースプロジェクトを管理している場合でも、エンタープライズレベルのリポジトリを管理している場合でも、これらのベストプラクティスは組織内で強力なGitHub脆弱性管理を実施するのに役立ちます。
- 既知の脆弱性、漏洩したシークレット、コード内のセキュリティ問題を検出するため、Dependabotアラートと更新、コードスキャン、シークレットスキャンなどのGitHubネイティブツールを有効化します。
- 既知の脆弱性への曝露を減らすため、DependabotプルリクエストとGitHubの依存関係グラフを使用してサードパーティパッケージとライブラリを更新します。
- ステータスチェックやプルリクエストのレビューを確立し、メインブランチへの強制プッシュや直接コミットを防止して、監査可能なコード変更を維持します。
- git-secretsやpre-commitフックなどのツールを活用し、機密情報がGitHubリポジトリにプッシュされるのを防止する。
- 公開リポジトリとそのフォークを追跡し、脆弱なコードがオープンソースプロジェクトで複製されたり公開されたりしていないことを確認します。
- 最小権限アクセス制御を適用し、ユーザーとチームに必要な最小限の権限のみを割り当てます。
- GitHubを脆弱性スキャナーおよびSIEMツールと連携させ、脆弱性の検出、優先順位付け、修正を簡素化する。
- GitHubにおけるセキュアコーディングの実践、ネイティブセキュリティツール、実際の脆弱性事例に関する適切なトレーニングを通じて、組織内にセキュリティファーストの文化を促進する。
- リポジトリ設定、依存関係リスク、監査ログ、アクセス制御を定期的に確認し、設定ミスや不審な活動を検出します。
SentinelOneがGitHub脆弱性管理を補完する方法とは?
SentinelOneは、GitHubリポジトリとCI/CDパイプラインの脆弱性を管理する高度なプラットフォームであるSingularity Vulnerability Managementを提供しています。これはGitHubリポジトリやCI/CDパイプラインの脆弱性を管理する高度なプラットフォームです。開発段階にあるコードでも、本番環境で稼働中のコードでも、監視と保護を支援します。これにより、ワークロード、エンドポイント、コンテナ、システムをアクティブな攻撃から守ることが可能です。
SentinelOneはGitHubで発見された脆弱性を本番環境のリアルタイムリスクにマッピングし、ビジネスへの影響度と悪用可能性に基づき課題を優先順位付けし、攻撃を修復するための自動対応を提供します。これにより、セキュリティ態勢を維持しながらイノベーション活動を拡大できます。
SentinelOneは最大750種類以上の異なるシークレットを検出可能。クラウド認証情報の漏洩を防止し、Snykとの連携機能を備えています。パブリックおよびプライベートなGitHub、GitLab、さらにはbitBucketリポジトリも保護可能です。SentinelOneは休眠中または非アクティブなアカウントを発見し、監査のためにそれらをハイライト表示します。不正なアカウント乗っ取りやハイジャックを防止し、ネットワーク上で実行されている悪意のあるプロセスを排除します。SentinelOneでシングルクラウド、ハイブリッドクラウド、マルチクラウド環境を保護し、ワンクリック修復機能で重大な脆弱性を修正できます。
デモをリクエストして、SentinelOneのSingularity脆弱性管理をご確認ください。
まとめ
GitHub脆弱性管理は、脆弱性をスキャン・トリアージし、リスクレベルに基づいて修正する信頼性の高い方法です。GitHubのセキュリティチームがコードリポジトリ内の問題を発見し通知するため、脅威アクターが発見・悪用する前にパッチを適用できます。これによりコードとシステムをサイバー脅威から保護し、ユーザーの信頼を維持します。
GitHubはサードパーティ製セキュリティツールとの連携を可能にし、CI/CDパイプライン内のセキュリティ脆弱性を発見・修正します。これによりセキュリティワークフローの自動化と高速化が図られ、悪用される可能性を低減します。
GitHub脆弱性管理のための信頼性の高いサードパーティ製ソリューションをお探しなら、SentinelOneが優れた選択肢です。
FAQs
GitHub脆弱性管理とは、GitHubリポジトリおよびワークフローにおけるセキュリティ脆弱性の特定、優先順位付け、評価、修正、開示を指します。Dependabot、シークレットスキャン、コードスキャンなどのGitHubツールを活用し、開発者や組織がコード内の欠陥を発見し修正することを支援します。サードパーティツールと連携し、ソフトウェア開発ライフサイクル全体にわたるリスクの検知と対応を実現します。
GitHubのセキュリティチームは、SAST/DAST、Dependabot、コードスキャン、シークレットスキャンなどのツールを使用して、依存関係、シークレット、セキュリティ設定をスキャンすることでコード内の脆弱性を検出します。脆弱性が検出されると、GitHubはプルリクエストまたはセキュリティタブを通じてリポジトリ管理者に通知し、脆弱性の詳細と修正策を記載したレポートを提供します。これによりソフトウェアエンジニアは迅速に対応し、問題を修正してコードを保護するための即時措置を講じることができます。
GitHub脆弱性管理ダッシュボードでは、GitHubリポジトリのセキュリティ状態を明確に把握できます。未解決および解決済みの脆弱性を表示し、チームの修正速度を追跡し、シークレットスキャンやCodeQLなどのセキュリティ機能が有効なリポジトリを強調表示します。検出メトリクス、修復メトリクス、予防メトリクス、セキュリティ機能の採用状況、高度なフィルタリング、エクスポート可能なデータなどの機能を提供します。
GitHubは、コードや依存関係内の脆弱性を検出するためのDependabotアラート、コードスキャン、シークレットスキャンなどのツールを提供しています。Security Command Centerで検出結果を追跡し、修正ワークフローを管理できます。ただし、資産インベントリ、リスクスコアリング、包括的なレポート作成といった完全な脆弱性管理機能は備えていません。エンドツーエンドの脆弱性管理が必要な場合は、GitHubをSentinelOneなどのアプリケーションと連携させる必要があります。
GitHubはDependabotアラートを通じてサードパーティ脆弱性を追跡します。このアラートはpackage.jsonやGemfileなどの依存関係ファイルを監視し、npmやPyPIなどのレジストリで公開されている既知の脆弱性を検索し、GitHubアドバイザリデータベースと照合します。リポジトリに脆弱な依存関係が含まれている場合、セキュリティタブで通知されます。Dependabotはパッチ適用用のプルリクエストを自動作成するよう設定可能です。カスタム依存関係は手動で確認する必要があります。
