SECOPS

Brute-Force and Credential-Stuffing Burst Pager

Scans Axiom auth logs every few minutes for failed-login bursts against single accounts or single source IPs, classifies the pattern as brute-force or credential stuffing.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule: query Axiom every few minutesAxiom
  • ActionAggregate failed logins by account and by IP
  • LogicClassify burst and test against thresholds
  • ActionBuild attacker summary for crossings
  • OutputPage on-call via PagerDutyPagerDutyPagerDuty
  • OutputMirror heads-up to SlackSlack

What it does

Identifies password-guessing campaigns in near real time. It distinguishes a vertical attack (many passwords against one account) from a horizontal one (one IP spraying many accounts) and escalates only the genuinely abusive bursts so on-call isn't drowned in noise.

When to use it

Use when login endpoints are exposed to the internet and you want automated paging for active guessing, not a daily report. Ideal if you already centralize auth failures in Axiom.

How it works

  1. 1A schedule fires every few minutes and queries Axiom for failed-login events in the trailing window.
  2. 2The flow aggregates failures two ways: by target account and by source IP/subnet.
  3. 3A logic step classifies each cluster — brute-force vs. credential stuffing — and checks failure count and velocity against tunable thresholds.
  4. 4Bursts below threshold are logged and dropped; only crossings continue.
  5. 5For a qualifying cluster it builds a summary: attacker IPs, targeted accounts, success/failure ratio, and time-to-lockout estimate.
  6. 6It triggers a PagerDuty incident with that summary and severity, and mirrors a heads-up to Slack for situational awareness.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect AxiomLog streams, queries, dashboards.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  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.