Skip to main content

リポジトリのシークレット スキャンの構成

GitHub がリポジトリで漏洩したシークレットをスキャンし、アラートを生成する方法を構成できます。

この機能を使用できるユーザーについて

People with admin permissions to a public repository can enable secret scanning for the repository.

Secret scanning alerts for partners runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on GitHub.com.

Secret scanning alerts for users are available for public repositories for free. Organizations using GitHub Enterprise Cloud with a license for GitHub Advanced Security can also enable secret scanning alerts for users on their private and internal repositories. For more information, see "About secret scanning" and "About GitHub Advanced Security."

For information about how you can try GitHub Enterprise with GitHub Advanced Security for free, see "Setting up a trial of GitHub Enterprise Cloud" and "Setting up a trial of GitHub Advanced Security" in the GitHub Enterprise Cloud documentation.

ユーザーに対するシークレット スキャンニング アラート を有効にする

組織が所有する所有する無料のパブリック リポジトリ。 有効にすると、secret scanningはGitHubリポジトリ中に存在するすべてのブランチのGit履歴全体に対して、あらゆるシークレットをスキャンします。 さらに、secret scanning は します

  • 問題 の説明とコメント
  • オープンおよびクローズの 履歴 に関する問題
  • pull request のタイトル、説明とコメント
  • GitHub Discussions

pull request のコンテンツのスキャン および GitHub Command Palette は現在ベータ版であり、変更される可能性があります。

のタイトル、説明、コメント

組織内の複数のリポジトリで同時に secret scanning を有効にすることもできます。 詳しくは、「組織のセキュリティ保護」を参照してください。

リポジトリ管理者は、リポジトリのsecret scanningをいつでも無効にすることができます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

  4. ページの下部まで下にスクロールし、secret scanning の [有効] をクリックします。 [無効] ボタンが表示される場合は、リポジトリで secret scanning が既に有効になっていることを意味します。

    [コードのセキュリティと分析] ページの [Secret scanning] セクションのスクリーンショット。濃いオレンジ色の枠で [有効] ボタンが強調表示されています。

ユーザーに対するシークレット スキャンニング アラートの機能を有効にする

リポジトリの「コード セキュリティと分析」設定で、次の追加secret scanning機能を有効にすることができます。

すべての パブリック リポジトリに対して ユーザーに対するシークレット スキャンニング アラート を有効にする

個人用アカウント設定から、すべての既存の パブリック リポジトリに対して secret scanning を有効にすることができます。

: 2024 年 3 月 11 日の時点では、作成したすべての新しい パブリック リポジトリに対して、secret scanning とプッシュ保護が既定で有効になります。 リポジトリの [コードセキュリティと解析] 設定ページで、個々のリポジトリに対してこれらの機能を無効にすることもできます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」をご覧ください。

  1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  2. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

  3. [Code security and analysis] (コードのセキュリティと分析) で、[Secret scanning] の右側にある [すべて無効にする] または [すべて有効にする] をクリックします。

  4. 必要に応じて、プッシュ保護を有効にする場合は、[プッシュ保護] の右側にある [有効] をクリックします。 組織またはリポジトリのプッシュ保護を有効にすると、secret scanning はサポートされているシークレットのプッシュもチェックします。 Secret scanning には、作成者がシークレットを確認して削除できるように、検出したシークレットが一覧表示されます。また、必要に応じて、それらのシークレットをプッシュできるようにします。詳細については、「リポジトリと組織のプッシュ保護」を参照してください。

    "Secret scanning" セクションのスクリーンショット。 「プッシュ保護」セクションの「有効」ボタンが濃いオレンジ色の枠線で強調表示されています。

ユーザーに対するシークレット スキャンニング アラート からディレクトリを除外する

secret_scanning.yml ファイルを構成して、secret scanning からディレクトリを除外することができます (プッシュ保護を使う場合を含む)。 たとえば、テストまたはランダムに生成されたコンテンツを含むディレクトリを除外できます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. ファイル リストの上で、[ファイルの追加] ドロップダウン メニューを選んで、 [新しいファイルの作成] をクリックします。

    または、左側のファイル ツリー ビューの をクリックしてもかまいません。

    リポジトリのメイン ページのスクリーンショット。 ファイルの一覧の上には、[ファイルの追加] というラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。 リポジトリのファイル ツリー ビューでは、+ アイコンが付いたボタンも濃いオレンジ色で囲まれています。

  3. ファイル名フィールドに「 .github/secret_scanning.yml」と入力します。

  4. [新しいファイルの編集] で、paths-ignore: と入力してから、secret scanningから除外するパスを入力します。

    paths-ignore:
      - "foo/bar/*.js"
    

    * などの特殊文字を使用して、パスをフィルター処理することができます。 フィルター パターンの詳細については、「GitHub Actions のワークフロー構文」を参照してください。

    注:

    • paths-ignore に 1,000 を超えるエントリがある場合、secret scanningでは、最初の 1,000 個のディレクトリのみがスキャンから除外されます。
    • secret_scanning.yml が 1 MB を超える場合、secret scanning ではファイル全体が無視されます。

secret scanning からの個々のアラートを無視することもできます。 詳しくは、「シークレット スキャンからのアラートの管理」を参照してください。