SECOPS

Log Phishing Indicators to a Living Blocklist

Whenever a phishing verdict is confirmed, this records the sender, URLs, and domains to a Postgres IOC ledger, deduplicates against prior incidents, and flags repeat campaigns.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerConfirmed-verdict webhook receivedHTTP webhook
  • ActionNormalize indicators
  • LogicLook up indicators in IOC ledgerPostgreSQLPostgres
  • ActionInsert new or increment sighting countPostgreSQLPostgres
  • OutputAlert on repeat-campaign matchSlack

What it does

Builds an institutional memory of phishing indicators. Each confirmed verdict appends its senders, URLs, and domains to a Postgres indicator ledger, checks whether those indicators have appeared before, and surfaces when a campaign is a repeat or escalation of a known one.

When to use it

Use this when reports keep coming from the same actors and you want a queryable blocklist plus campaign correlation instead of scattered tickets. It is the system-of-record backbone other phishing workflows can read from.

How it works

  1. 1A confirmed-verdict webhook delivers the indicator set.
  2. 2Each indicator is normalized (lowercased domains, stripped URL params).
  3. 3A Postgres lookup checks whether any indicator already exists in the ledger.
  4. 4New indicators are inserted; matches increment a sighting count and link to the prior incident.
  5. 5If indicators match a known campaign, an alert posts to Slack so responders know it's a repeat actor.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  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.