SECOPS

GitLab Push Secret Detection to Block and History Purge

On a GitLab push that contains a detected secret, it revokes the exposed credential, opens a tracking issue with git-history purge instructions.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab push webhookGitLabGitLab
  • LogicScan diff for secret patterns
  • ActionRevoke exposed credential at providerHTTP webhook
  • ActionOpen tracked remediation issue with purge stepsGitLabGitLab
  • OutputAlert committer and team in SlackSlack

What it does

Intercepts secrets the moment they land in GitLab. When a push event carries a detected credential, the workflow revokes the live key, files a tracked remediation issue covering history rewriting, and pings the committer directly so they fix it while the change is fresh.

When to use it

Choose this if your source of truth is GitLab rather than GitHub and you want detection tied to the push itself. It is especially useful for catching the case where a secret was committed and merged before anyone noticed, because it also drives the history-purge follow-up.

How it works

  1. 1A GitLab push webhook fires on every commit to watched branches.
  2. 2A logic step scans the diff for secret patterns and branches only when a real credential is found.
  3. 3An action calls the issuing provider to revoke the exposed key.
  4. 4A GitLab issue is opened, assigned to the committer, with explicit `git filter-repo` purge steps and the revoked key reference.
  5. 5A Slack alert names the committer, repo, and commit so the team has immediate visibility.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect HTTP webhookTrigger any URL on agent actions.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    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.