SECOPS

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).

CategorySecOps
Enginesim
Difficultyadvanced
Triggerschedule
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerShort-interval schedule or on-demand
  • ActionFetch recent Cloudflare ruleset blocksCloudflareCloudflare
  • LogicMeasure per-rule breadth across ASN, geo, path
  • LogicBranch: false-positive storm vs attack
  • OutputPage on-call via PagerDuty with rollbackPagerDutyPagerDuty

What it does

It looks for the inverse of an attack signature: one WAF rule that abruptly starts blocking a wide, diverse set of ASNs, geographies, and URI paths at once — the fingerprint of a misconfigured or overbroad rule blocking real customers. When it sees that pattern it pages on-call through PagerDuty with the offending rule, the affected breadth, and a recommended temporary disable so revenue traffic isn't stuck.

When to use it

Use it as a safety net after WAF rule changes. A bad rule can silently break checkout for whole regions; this catches the self-inflicted outage fast and routes it as an incident, not a chat message.

How it works

  1. 1A short-interval scheduled trigger fires (or it runs on demand post-deploy).
  2. 2Cloudflare returns recent blocks for the active ruleset.
  3. 3Logic measures per-rule breadth across ASNs, countries, and paths to flag a false-positive storm.
  4. 4A branch separates broad-spread storms from narrow attack patterns.
  5. 5PagerDuty receives a high-urgency incident for any storm, with the rule and a rollback recommendation.

Set it up

What you configure once, before turning it on.

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