SECOPS

Daily WAF Anomaly Digest with BigQuery Trend Analysis

Each morning this workflow rolls up the prior day's Cloudflare WAF block spikes, joins them against Sentry error trends in BigQuery.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily schedule starts the digest run
  • ActionExport prior-day Cloudflare WAF block eventsCloudflareCloudflare
  • ActionLoad to BigQuery and join with Sentry error countsGoogle BigQueryBigQuery
  • LogicScore and rank rules by false-positive-to-threat ratio
  • ActionRender ranked digest of rules needing tuningSentrySentry
  • OutputEmail the digest to the security listGmailGmail

What it does

Produces a once-a-day rollup of WAF behavior. It loads the prior day's Cloudflare block events into BigQuery, joins them against stored Sentry error trends, and ranks each rule by how much of its blocking looks like noise versus genuine threats. The output is an emailed digest telling you which rules to tune, which are working, and where attacks concentrated.

When to use it

Use it for steady-state hygiene rather than real-time paging. It gives security and platform teams a daily, data-backed view of which WAF rules are over-blocking and trending so tuning is prioritized by impact.

How it works

  1. 1A daily schedule kicks off the digest run.
  2. 2An action exports the prior day's Cloudflare WAF block events.
  3. 3An action loads those events into BigQuery and joins them to stored Sentry error counts by path and time.
  4. 4A logic step scores each rule on its false-positive-to-threat ratio and ranks them.
  5. 5An action renders a ranked digest of rules needing attention.
  6. 6An action emails the digest to the security distribution list.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  2. 2
    Connect BigQueryDatasets, queries, schemas.
  3. 3
    Connect SentryErrors, performance, releases.
  4. 4
    Connect GmailRead, draft, send, label.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.