Cloud security 4 min read

GitHub secret scanning: review the new filters and your rotation runbook

On this page
  1. Filtering and validity answer different questions
  2. A partner notification still needs an accountable response
  3. Check which protection is actually enabled
  4. Give the runbook a useful evidence checklist

A secret-scanning alert needs a clear next step: who can identify the credential, disable it and check that the application still works afterwards?

GitHub’s 5 November update changes part of that detection process. Selected Alibaba, AWS and Google detectors suppress unpaired matches when dictionary filtering removes all qualifying companion values. The release also adds SpaceX as a partner and the starlink_public_api_v2_secret detector. These are useful reasons to review your coverage and your response runbook together.

GitHub’s original announcement graphic for updates to secret scanning.

The practical opportunity is to spend less effort investigating unsuitable matches while keeping a reliable response for an actual exposed credential. The release note does not establish that your team will see a particular reduction in alerts or that any credential has already been revoked.

Filtering and validity answer different questions

Consider a hypothetical repository containing a test fixture with a value shaped like a cloud credential identifier. Whether that text meets a detector’s matching rules is one question. Whether a credential can still authenticate to its provider is another.

GitHub documents validity checks separately: for supported secrets, these checks contact the issuing service and can report an active, inactive or unknown status. Support depends on the secret type. Validity-check documentation.

Keep those observations separate during triage. A filtering improvement can change which candidate matches are reported. It does not turn every remaining alert into a confirmed active credential, and an absence of alerts does not establish that the repository contains no secrets.

For the hypothetical fixture, ask the application owner what the value represents and why it exists. Record the explanation without copying credential values into a general ticket. If the provenance is uncertain, keep that uncertainty visible while the responsible team investigates it.

Avoid turning a detector update into a blanket decision to dismiss old findings. Review the evidence for each closure, including whether the underlying credential was real and what happened to it.

A partner notification still needs an accountable response

GitHub’s partner-program documentation describes sending matches found in public sources to a provider’s endpoint. The provider implements the response, including revocation and user notification. That is a response path, not evidence that a particular credential has been disabled successfully.

For a team using Starlink APIs, the useful follow-up is to identify the credential owner and how the team would confirm provider action. Which application uses the credential? Who can replace it? How will operations know that the replacement is working and the exposed credential is no longer usable?

Those questions also matter when a provider takes action quickly. Disabling a credential can interrupt a legitimate integration. A response plan should connect the security decision to the application dependency, with the right people able to restore authorized operation.

Keep the provider confirmation and your application verification in the same incident record. A notification being delivered, a key being disabled and a service recovering are separate events to substantiate.

Check which protection is actually enabled

Secret scanning and push protection address different points in the workflow. GitHub describes push protection as blocking supported secret types during a push attempt; it has its own enablement, supported patterns and bypass behaviour. Push-protection guidance.

For your repository, record which capabilities are enabled and who owns the exceptions. A detector announcement alone does not demonstrate that a push was blocked, that a bypass was reviewed or that a CI check ran. Use the actual configuration and events when explaining the control to the wider team.

For organization-owned private and internal repositories on GitHub.com, check the GitHub Team or Enterprise Cloud requirements and whether GitHub Secret Protection is enabled. Availability. Private-repository protection involves paid licensing based on active committers, so confirm the affected repository and contributor scope before enabling more coverage. Licensing and billing.

Give the runbook a useful evidence checklist

The following is a suggested review worksheet. It has not been exercised against a repository or provider account for this article.

Review pointEvidence to collectPerson to identify
Understand the findingDetector, affected repository and explanation of the credential’s purposeApplication or credential owner
Establish exposure and statusRelevant locations, available validity information and unresolved questionsSecurity investigator
Disable or replace the credentialProvider-side confirmation and an agreed replacement planPerson authorized to manage the credential
Check the dependent serviceA legitimate application operation using the approved replacementApplication or operations owner
Close the responseRecorded outcome, remaining exposure and any follow-up workIncident coordinator

For an Azure workload using stored credentials, Microsoft’s Key Vault secrets guidance recommends planned rotation and refreshing cached values when secrets change. Apply that dependency thinking to the runbook. Saving a new value in a vault and confirming that the issuer has disabled an exposed credential are separate checks.

Start with one integration whose credential owner is known. Walk through the worksheet with that owner, identify the missing evidence and agree who would act during an exposure. Better filtering helps the team find useful work; a clear, verifiable response is what lets it finish that work.

Cheers,
Marcos Nogueira
Connect with me on LinkedIn

Search