概要
このモジュールの目的は、シークレット スキャンがどのように機能するかを理解し、プロジェクトで効果的に構成して使用できるようにすることです。
すべてのパブリック リポジトリに対して、シークレット スキャンが既定で有効になっています。 プライベート リポジトリでは、エンタープライズ プランに GitHub Advanced Security ライセンスが含まれている場合は、組織レベルまたは個々のリポジトリで有効にすることができます。
シークレット スキャンでは、次の情報で公開されているシークレットがチェックされます。
- リポジトリ内のすべてのブランチのすべての Git 履歴
- 問題の説明とコメント
- 未解決の問題と終了した問題のタイトル、説明、コメント
- pull request のタイトル、説明、コメント
- GitHub ディスカッションのタイトル、説明、コメント
GitHub がシークレットを検出すると、アラートが表示されるので、コードをセキュリティで保護するための適切なアクションを実行できます。 応答は、コミットされたシークレットの種類によって異なります。 プッシュ保護が有効になっている場合、シークレット スキャンは既知のシークレットを含むコミットをブロックして、リークが発生する前に防ぐことができます。
プライベート リポジトリでは、シークレット スキャン構成オプションを使用すると、次の処理を行うことができます。
- スキャンから特定のファイルを除外する
- アラートを受信するユーザーを選択する
- GitHub が自動的に検出しないシークレットのカスタム パターンをプロジェクトに作成する
GitHub Advanced Security には、ソフトウェアのセキュリティ体制を改善するための他の機能も含まれています。
- Dependency Graph - プロジェクトがオープンソース ライブラリにどのように依存しているかを確認し、脆弱なパッケージに関するアラートを取得します。
- Dependabot セキュリティ更新プログラム - 依存関係の脆弱性を修正するために pull request を自動的に開きます。
- Dependabot バージョンの更新 - 最新バージョンの自動プル要求で依存関係を最新の状態に保ちます。
- コード スキャン - CodeQL やその他のスキャン エンジンを使用して、セキュリティの脆弱性とコーディング エラーを検出します。
GitHub のシークレット スキャンを使用すると、公開されているシークレットを早期に見つけて、資産を保護するために迅速に行動できます。
詳細情報
- GitHub セキュリティ機能の概要 - GitHub で使用できるセキュリティ ツールの概要。
- シークレット スキャンについて - シークレット スキャンの機能とそれが重要な理由。
- シークレット スキャン機能の有効化 - リポジトリでシークレット スキャンを有効にする方法。
- シークレット スキャンからのアラートの管理 - シークレットが見つかったときに応答する方法。
- シークレット スキャン用のカスタム パターンの定義 - カスタムまたは組織固有のシークレットをスキャンする方法。
- サポートされているシークレット スキャン パターン — GitHub が既定で検出できるパターン。
- セキュリティ アラートへのアクセス権の付与 - 適切なユーザーにセキュリティ アラートの確認と解決のアクセス権を付与する方法。