Skip to main content

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

この記事では、次の項目が扱われます。

高度なセキュリティ パターンに一致するシークレットを探すためにリポジトリをスキャンする方法を GitHub で構成することができます。

Who can use this feature

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

詳細については、「[GitHub's products](/articles/githubs-products)」 (GitHub の製品) を参照してください。

の有効化

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

  1. で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

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

  3. Advanced Security がまだリポジトリで有効化されていなければ、[GitHub Advanced Security] の右側で [有効化] をクリックしてください。 リポジトリで GitHub Advanced Security を有効にする

  4. Advanced Securityの有効化の影響をレビューしてから、 [このリポジトリで GitHub Advanced Security を有効化] をクリックしてください。

  5. Advanced Securityを有効化すると、Organizationの設定によってはリポジトリでsecret scanningが自動的に有効化されることがあります。 "Secret scanning" が [有効] ボタンと共に表示されている場合でも、 [有効] をクリックしてsecret scanningを有効にする必要があります。 [無効] ボタンが表示された場合、secret scanningは既に有効になっています。 リポジトリで secret scanningを有効にする

からディレクトリを除外する

secret_scanning.yml ファイルを使用して、secret scanningからディレクトリを除外できます。 たとえば、テストまたはランダムに生成されたコンテンツを含むディレクトリを除外できます。

  1. で、リポジトリのメイン ページへ移動します。 1. ファイルの一覧の上にある、 [ファイルの追加] ドロップダウンを使用し、 [新しいファイルの作成] をクリックします。 [ファイルの追加] ドロップダウンの [新しいファイルの作成]

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

  3. [新しいファイルの編集] で、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 からの個々のアラートを無視することもできます。 詳細については、「secret scanningからのアラートの管理」を参照してください。

参考資料