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…
How it runs
The automated pipeline, trigger to output.
- TriggerCloudflare bot-traffic spike webhookCloudflare
- ActionExtract attacking IPs and time window from eventCloudflare
- ActionQuery GitLab audit events for token use from those IPsGitLab
- LogicBranch: IP overlap with token activity?
- OutputPage on-call with correlated evidencePagerDuty
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
- 1Cloudflare fires a webhook when a bot-score anomaly or traffic spike crosses threshold.
- 2The flow pulls the offending client IPs and time window from the Cloudflare event.
- 3It queries GitLab audit events for token-authenticated actions originating from those same IPs in that window.
- 4A logic branch decides: IP overlap with token use means escalate; no overlap means log and drop.
- 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.
- 1Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
- 2Connect GitLabRepos, MRs, pipelines, registry.
- 3Connect PagerDutyIncidents, on-call, escalations.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More SecOps workflows
Post-Revocation Verification and Audit Logging
After a key is revoked, it confirms the old credential actually fails, verifies the replacement works.
Page on-call when a WAF rule mass-blocks legitimate traffic
On demand or every few minutes, it detects a single Cloudflare WAF rule suddenly blocking a broad spread of ASNs and paths (a likely false-positive storm).
PII Content Scan on New Dropbox External Share
When a file gets an external Dropbox link, it reads the file content, uses an AI classifier to detect PII or secrets.
Compile a weekly WAF tuning review with trends to Confluence
Every week an agent rolls up Cloudflare WAF block clusters by rule and ASN, compares them to prior weeks for trend direction.
Sensitive Dropbox Link Owner Remediation Loop
When a newly created Dropbox shared link points to a sensitive file, this workflow DMs the file owner, gives them a deadline to justify or revoke it.
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.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
