プロジェクトを外部サービスと通信させる場合、認証にトークンまたは秘密鍵を使用できます。 トークンや秘密鍵は、サービスプロバイダが発行できるシークレットです。 リポジトリにシークレットをチェックインする場合、リポジトリへの読み取りアクセスを持つすべてのユーザがシークレットを使用して、自分の権限で外部サービスにアクセスできます。 シークレットは、プロジェクトのリポジトリの外の、安全な専用の場所に保存することをお勧めします。
誰かが GitHub パートナーのシークレットをパブリックまたはプライベートリポジトリにチェックインすると、secret scanning がシークレットを検出し、リークの影響を軽減することができます。
サービスプロバイダは GitHub と提携して、スキャンのためのシークレットフォーマットを提供することができます。 詳しい情報については、「シークレットスキャニング」を参照してください。
パブリックリポジトリの secret scanning について
パブリックリポジトリにプッシュすると、GitHub がコミットの内容をスキャンしてシークレットを探します。 プライベートリポジトリをパブリックに切り替えると、GitHub はリポジトリ全体をスキャンしてシークレットを探します。
secret scanning が認証情報一式を検出すると、弊社はそのシークレットを発行したサービスプロバイダに通知します。 サービスプロバイダは認証情報を検証し、シークレットを取り消すか、新しいシークレットを発行するか、または直接連絡する必要があるかを決定します。これは、ユーザまたはサービスプロバイダに関連するリスクに依存します。
現在 GitHub は、パブリックリポジトリをスキャンして、次のサービスプロバイダが発行したシークレットを探します。
- Adafruit
- Alibaba Cloud
- Amazon Web Services (AWS)
- Atlassian
- Azure
- CloudBees CodeShip
- Databricks
- Datadog
- Discord
- Dropbox
- Dynatrace
- Frame.io
- GitHub
- GoCardless
- Google Cloud
- Hashicorp Terraform
- Hubspot
- Mailgun
- MessageBird
- npm
- NuGet
- Palantir
- Postman
- Proctorio
- Pulumi
- Samsara
- Shopify
- Slack
- SSLMate
- Stripe
- Tencent Cloud
- Twilio
プライベートリポジトリの secret scanning について
ノート: プライベートリポジトリのためのSecret scanningは現在ベータで、変更されることがあります。 ベータへのアクセスをリクエストするには、待ちリストに参加してください。
secret scanning が有効化されているプライベートリポジトリにコミットをプッシュすると、GitHub はコミットの内容をスキャンしてシークレットを探します。
secret scanning がプライベートリポジトリでシークレットを検出すると、GitHub はアラートを送信します。
-
GitHub は、リポジトリ管理者と Organizationのオーナーにメールアラートを送信します。 シークレットが GitHub からの個人アクセストークンである場合、トークンの所有者に直接メールアラートを送信します。
-
GitHub は、リポジトリにアラートを表示します。 詳しい情報については、「secret scanning からのアラートを管理する」を参照してください。
現在 GitHub は、プライベートリポジトリをスキャンして、次のサービスプロバイダが発行したシークレットを探します。
- Adafruit
- Alibaba Cloud
- Amazon Web Services (AWS)
- Atlassian
- Azure
- CloudBees CodeShip
- Databricks
- Discord
- Dropbox
- Dynatrace
- Frame.io
- GitHub
- GoCardless
- Google Cloud
- Hashicorp Terraform
- Hubspot
- Mailgun
- npm
- NuGet
- Palantir
- Postman
- Proctorio
- Pulumi
- Samsara
- Shopify
- Slack
- SSLMate
- Stripe
- Tencent Cloud
- Twilio
注釈: Secret scanning では現在、シークレットを検出するための独自のパターンを定義することはできません。