SECOPS

Geo-Distributed Login Burst Correlation

Correlates failed-then-successful login bursts arriving from many distinct geographies against one account within a short window, signaling distributed brute-force.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerschedule
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerScheduled rolling-window aggregation of login attemptsAxiom
  • LogicFlag accounts crossing distinct-geo + failed-to-success thresholds
  • ActionOpen PagerDuty incident for the campaignPagerDutyPagerDuty
  • ActionFile Linear tracking issue with attempt timelineLinearLinear
  • OutputPost Slack summary linking incident and issueSlack

What it does

This workflow looks for the signature of a distributed attack: a single account hit by many login attempts from a scatter of countries in a tight time window, ending in a success. That pattern usually means a credential-stuffing or brute-force campaign behind a proxy network rather than a traveling user.

When to use it

Use it when single-event geo-velocity rules miss slow, distributed attacks. It aggregates across many low-signal events to surface the campaign as a whole, then both pages on-call and files a tracked follow-up.

How it works

  1. 1A scheduled Axiom query buckets login attempts per account over a rolling window, counting distinct source countries and failure/success transitions.
  2. 2A logic step flags accounts crossing both a distinct-geography threshold and a failed-to-successful transition.
  3. 3For flagged accounts, a PagerDuty incident is opened for immediate response.
  4. 4A Linear issue is created in the security project with the attempt timeline attached for post-incident tracking.
  5. 5A Slack summary links both the incident and the issue for the responding analyst.

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 LinearIssues, projects, cycles, triage.
  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.