SECOPS

Correlate Cloudflare bot spikes with GitLab token misuse and page on-call

When Cloudflare reports a sudden bot-traffic spike, this checks GitLab audit events for token activity from the same source IPs in the same window and pages PagerDuty if…

CategorySecOps
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerCloudflare bot-traffic spike webhookCloudflareCloudflare
  • ActionExtract attacking IPs and time window from eventCloudflareCloudflare
  • ActionQuery GitLab audit events for token use from those IPsGitLabGitLab
  • LogicBranch: IP overlap with token activity?
  • OutputPage on-call with correlated evidencePagerDutyPagerDuty

What it does

This watches for Cloudflare bot-management traffic spikes and asks one decisive question: did any of those attacking IPs successfully use a GitLab personal-access or CI token at the same time? If the answer is yes, it treats the spike as a likely credential-backed intrusion rather than ordinary scraping noise, and pages on-call immediately.

When to use it

Run this when your perimeter (Cloudflare) and your source-control plane (GitLab) are operated by different teams and bot noise is constant. It filters out the 99% of spikes that are harmless scrapers and surfaces only the ones overlapping authenticated GitLab token use — the signal that actually warrants waking someone up.

How it works

  1. 1Cloudflare fires a webhook when a bot-score anomaly or traffic spike crosses threshold.
  2. 2The flow pulls the offending client IPs and time window from the Cloudflare event.
  3. 3It queries GitLab audit events for token-authenticated actions originating from those same IPs in that window.
  4. 4A logic branch decides: IP overlap with token use means escalate; no overlap means log and drop.
  5. 5On a match, PagerDuty receives a high-urgency incident with the IPs, token IDs, and matched events attached.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect GitLabRepos, MRs, pipelines, registry.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  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.