Managing alerts from high confidence patterns
Note: Alerts are created only for repositories with secret scanning alerts for users enabled. Secrets found in public repositories and public npm packages using the free secret scanning alerts for partners service are reported directly to the partner, without creating an alert. For more information, see "Secret scanning patterns."
-
On GitHub.com, navigate to the main page of the repository.
-
Under the repository name, click Security. If you cannot see the "Security" tab, select the dropdown menu, and then click Security.
-
In the left sidebar, under "Vulnerability alerts", click Secret scanning.
-
Optionally, to filter by alert validity status, under "Secret scanning" select a status in the "Validity" dropdown menu and then click the filter that you would like to apply. Alternatively, filter using the
validity
key in the search field. You can filter alerts by specifying multiple validity statuses as a comma-separated string, for examplevalidity:active,unknown
. For more information about validity statuses, see "Validating partner patterns" below.Note: Validity checks for partner patterns is currently in beta and subject to change.
To be able to filter by validity status, you need to have enabled validity checks for partner patterns in a repository, or have organization owners and enterprise administrators enable the feature for all repositories in the organization or enterprise settings. For more information, see "Managing security and analysis settings for your repository," "Managing security and analysis settings for your organization," and "Managing GitHub Advanced Security features for your enterprise."
-
Under "Secret scanning", click the alert you want to view.
Note: The High confidence view is the default view for the list of secret scanning alerts. If the detection of non-provider patterns is enabled for your repository or organization, you'll need to use a different view to be able to see non-provider alerts. For more information, see "Managing alerts from non-provider patterns" below.
-
Optionally, to perform a validity check on the token, on the top right-hand side of the alert, click Verify secret. For more information, see "Validating partner patterns."
Note: You can only perform on-demand validity checks for patterns detected in the repository if automatic validity checks have been enabled for the repository. For more information, see "Allowing validity checks for partner patterns in a repository."
-
Optionally, if the leaked secret is a GitHub token, you can also review the token metadata. For more information on reviewing token metadata, see "Reviewing GitHub token metadata."
-
To dismiss an alert, select the "Close as" dropdown menu and click a reason for resolving an alert.
-
Optionally, in the "Comment" field, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can view the history of all dismissed alerts and dismissal comments in the alert timeline. You can also retrieve or set a comment by using the Secret scanning API. The comment is contained in the
resolution_comment
field. For more information, see "Secret scanning" in the REST API documentation. -
Click Close alert.
Managing alerts from non-provider patterns
Note: The detection of non-provider patterns is currently in beta and subject to change.
Non-provider patterns are patterns such as private keys, and have a higher rate of false positive than high confidence patterns.
As an organization owner, or repository administrator, you need to enable the detection of non-provider patterns in your organization or repository for secret scanning to scan for non-provider patterns. For more information, see "Configuring secret scanning for your repositories."
Non-provider alerts are different from high confidence alerts. Non-provider alerts:
- Are not shown in the summary views for security overview, only in the "Secret scanning" view.
- Are listed in a different view from high-confidence alerts. That view is called "Other".
- Only have the first five detected locations shown on GitHub.
- Are limited in quantity to 5000 alerts per repository (this includes open and closed alerts).
-
On GitHub.com, navigate to the main page of the repository.
-
Under the repository name, click Security. If you cannot see the "Security" tab, select the dropdown menu, and then click Security.
-
In the left sidebar, under "Vulnerability alerts", click Secret scanning.
-
On the top right corner of the list of secret scanning alerts, click Other.
-
Click the alert you want to view.
-
To dismiss an alert, select the "Close as" dropdown menu and click a reason for resolving an alert.
-
Optionally, in the "Comment" field, add a dismissal comment. The dismissal comment will be added to the alert timeline and can be used as justification during auditing and reporting. You can view the history of all dismissed alerts and dismissal comments in the alert timeline.
-
Click Close alert.
Validating partner patterns
Note: Validity checks for partner patterns is currently in beta and subject to change.
Validity checks for partner patterns is available on all types of repositories on GitHub.com. To use this feature, you must have a license for GitHub Advanced Security.
You can allow secret scanning to check the validity of a secret found in your repository by sending it to the relevant partner.
You can enable automatic validity checks for supported partner patterns in the code security settings for your repository, organization, or enterprise. GitHub will periodically send the pattern to the relevant partner to check the secret's validity and display the validation status of the secret in the alert view.
For more information on enabling automatic validation checks for partner patterns in your repository, organization, or enterprise, see "Allowing validity checks for partner patterns in a repository," "Allowing validity checks for partner patterns in an organization," and "Managing Advanced Security features."
If your repository has validity checks enabled, you can also perform an on-demand validity check for a secret by clicking Verify secret in the alert view. GitHub will send the pattern to the relevant partner and display the validation status of the secret in the alert view.
You can filter alerts for supported partner patterns by their validation status, and use the status of a leaked secret to help prioritize the secrets needing remediation steps.
You can use the REST API to retrieve a list of the most recent validation status for each of your tokens. For more information, see "Secret scanning" in the REST API documentation.
Validity | Status | Result |
---|---|---|
Active secret | active | GitHub checked with this secret's provider and found that the secret is active |
Possibly active secret | unknown | GitHub does not support validation checks for this token type yet |
Possibly active secret | unknown | GitHub could not verify this secret |
Secret inactive | inactive | You should make sure no unauthorized access has already occurred |
For more information on which partners support validity checks, see "Supported secrets."
Reviewing GitHub token metadata
Note: Metadata for GitHub tokens is currently in public beta and subject to change.
In the view for an active GitHub token alert, you can review certain metadata about the token. This metadata may help you identify the token and decide what remediation steps to take. For more information on viewing individual alerts, see "Managing secret scanning alerts."
Tokens, like personal access token and other credentials, are considered personal information. For more information about using GitHub tokens, see GitHub's Privacy Statement and Acceptable Use Policies.
Metadata for GitHub tokens is available for active tokens in any repository with secret scanning enabled. If a token has been revoked or its status cannot be validated, metadata will not be available. GitHub auto-revokes GitHub tokens in public repositories, so metadata for GitHub tokens in public repositories is unlikely to be available. The following metadata is available for active GitHub tokens:
Metadata | Description |
---|---|
Secret name | The name given to the GitHub token by its creator |
Secret owner | The GitHub handle of the token's owner |
Created on | Date the token was created |
Expired on | Date the token expired |
Last used on | Date the token was last used |
Access | Whether the token has organization access |
Viewing alerts for generic secrets detected using AI
Note: Generic secret detection for secret scanning is in beta. Functionality and documentation are subject to change. If you have an enterprise account and use GitHub Advanced Security, you can join the waitlist for GitHub Advanced Security AI features.
During this phase, generic secret detection is limited to looking for passwords in source code.
When you enable AI-powered generic secret detection for your repository, secret scanning will scan for unstructured secrets, such as passwords, in your source code and generate alerts.
Once a potential password is identified, an alert is displayed in a separate list on the secret scanning alerts page (under the Security tab of the repository). The separate view makes it easier for you to triage and verify the validity of the findings.
To see the separate list of alerts for generic secrets, you must to toggle to "Other" on the alerts page. Each alert notes that it was detected using AI.
-
On GitHub.com, navigate to the main page of the repository.
-
Under the repository name, click Security. If you cannot see the "Security" tab, select the dropdown menu, and then click Security.
-
In the left sidebar, under "Vulnerability alerts", click Secret scanning.
-
On the top right corner of the list of secret scanning alerts, toggle to "Other".
For more information about the feature and its limitations, see "About the detection of generic secrets with secret scanning." For information on how to enable the feature for your repository, see "Enabling AI-powered generic secret detection."
Securing compromised secrets
Once a secret has been committed to a repository, you should consider the secret compromised. GitHub recommends the following actions for compromised secrets:
- For a compromised GitHub personal access token, delete the compromised token, create a new token, and update any services that use the old token. For more information, see "Managing your personal access tokens."
- If your organization is owned by an enterprise account, identify any actions taken by the compromised token on your enterprise's resources. For more information, see "Identifying audit log events performed by an access token."
- For all other secrets, first verify that the secret committed to GitHub Enterprise Cloud is valid. If so, create a new secret, update any services that use the old secret, and then delete the old secret.
Note: If a secret is detected in a public repository on GitHub.com and the secret also matches a partner pattern, an alert is generated and the potential secret is reported to the service provider. For details of partner patterns, see "Secret scanning patterns."
Configuring notifications for secret scanning alerts
Notifications are different for incremental scans and historical scans.
Incremental scans
When a new secret is detected, GitHub Enterprise Cloud notifies all users with access to security alerts for the repository according to their notification preferences. These users include:
- Repository administrators
- Security managers
- Users with with custom roles with read/write access
- Organization owners and enterprise owners, if they are administrators of repositories where secrets were leaked
Note: Commit authors who've accidentally committed secrets will be notified, regardless of their notification preferences.
You will receive an email notification if:
- You are watching the repository.
- You have enabled notifications for "All Activity", or for custom "Security alerts" on the repository.
- In your notification settings, under "Subscriptions", then under "Watching", you have selected to receive notifications by email.
-
On GitHub.com, navigate to the main page of the repository.
-
To start watching the repository, select Watch.
-
In the dropdown menu, click All Activity. Alternatively, to only subscribe to security alerts, click Custom, then click Security alerts.
-
Navigate to the notification settings for your personal account. These are available at https://github.com/settings/notifications.
-
On your notification settings page, under "Subscriptions", then under "Watching", select the Notify me dropdown.
-
Select "Email" as a notification option, then click Save.
For more information about setting up notification preferences, see "Managing security and analysis settings for your repository" and "Configuring your watch settings for an individual repository."
Historical scans
For historical scans, GitHub Enterprise Cloud notifies the following users:
- Organization owners, enterprise owners, and security managers—whenever a historical scan is complete, even if no secrets are found.
- Repository administrators, security managers, and users with custom roles with read/write access—whenever a historical scan detects a secret, and according to their notification preferences.
We do not notify commit authors.
For more information about setting up notification preferences, see "Managing security and analysis settings for your repository" and "Configuring your watch settings for an individual repository."
Auditing responses to secret scanning alerts
You can audit the actions taken in response to secret scanning alerts using GitHub tools. For more information, see "Auditing security alerts."