SECOPS

Cloudflare Login-Endpoint Credential-Stuffing Detector

Watches login and auth endpoints in Cloudflare logs for sudden failed-attempt spikes, throttles the attacking IPs via rate-limit rule.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerEvery 5 minutes
  • ActionQuery failed-auth events by IPAxiom
  • LogicConfirm credential-stuffing spike
  • ActionApply Cloudflare rate-limit ruleCloudflareCloudflare
  • ActionPage on-call via PagerDutyPagerDutyPagerDuty
  • OutputOpen Slack incident threadSlack

What it does

This workflow narrows the anomaly hunt to your authentication surface. It watches Cloudflare logs for the specific signature of credential stuffing: a burst of POSTs to login or token endpoints with an elevated 401/403 ratio from a concentrated set of IPs. When that pattern crosses threshold, it applies a tightened Cloudflare rate-limit rule to the source range, pages the on-call security engineer, and spins up a Slack thread to coordinate response.

When to use it

Use this when account takeover is the threat you care about most and a delayed response is unacceptable. It is tuned for auth endpoints specifically, so it reacts faster and with fewer false positives than a generic traffic monitor.

How it works

  1. 1A 5-minute schedule triggers the check.
  2. 2Axiom queries failed-auth event counts grouped by IP over the last 15 minutes.
  3. 3A logic step confirms the spike exceeds the credential-stuffing threshold for one or more sources.
  4. 4Cloudflare applies a strict rate-limit rule to the offending IP ranges.
  5. 5PagerDuty pages the on-call engineer with the incident summary.
  6. 6A Slack thread is opened with the attacking IPs and counts for live coordination.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect AxiomLog streams, queries, dashboards.
  2. 2
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  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.