SECOPS

Auto-rotate a leaked GitHub token caught by secret scanning

When GitHub secret scanning flags a committed credential, this workflow revokes the exposed token, opens a tracking issue.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitHub secret-scanning alert webhookGitHubGitHub
  • LogicFilter: new alert and auto-rotate secret type
  • ActionRevoke token and resolve the alert in GitHubGitHubGitHub
  • ActionOpen remediation issue with commit and detector detailsGitHubGitHub
  • OutputPost leak timeline and rotation status to SlackSlack

What it does

Turns a GitHub secret-scanning alert into an immediate revoke-and-record response. The moment a token is detected in a commit, the credential is revoked, a remediation issue is filed, and the security channel gets a single message with the alert, the affected repo, and the rotation status.

When to use it

Run this when your org relies on GitHub Advanced Security secret scanning and you want the leaked credential dead before a human even opens the alert. Ideal for teams where commit-leaked PATs, deploy keys, or API tokens are the most common exposure.

How it works

  1. 1A GitHub secret-scanning alert webhook fires with the detected secret type, repo, and commit.
  2. 2A filter checks the alert is new and the secret type is one your policy auto-rotates.
  3. 3The workflow calls GitHub to revoke the token and mark the alert resolved.
  4. 4It opens a GitHub issue capturing the repo, commit SHA, detector, and revocation result for audit.
  5. 5A Slack message lands in the security channel summarizing the leak and confirming the credential is dead.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.