Triage security alerts with AbuseIPDB, VirusTotal, ipinfo.io, OpenAI, and Slack

Go to Workflow
0 views
Built by Harvey Kubath Harvey Kubath
Created on August 26, 2026

Description

Quick overview
This workflow receives security alerts via a webhook, normalizes and enriches them with AbuseIPDB, ipinfo.io, and VirusTotal lookups, then uses OpenAI to generate a SOC-style triage (severity, summary, and actions) and routes urgent alerts to Slack and a ticketing endpoint.

How it works
Receives a security alert payload via an HTTP POST webhook.
Normalizes common alert fields (IDs, IPs, host, user, rule name, severity, and file hash) into a consistent JSON structure.
Enriches the source IP with reputation data from AbuseIPDB and geolocation/ASN data from ipinfo.io, and looks up the provided file hash in VirusTotal.
Consolidates the enrichment results into a single alert object and sends it to an OpenAI chat model to produce a structured JSON triage (severity, false-positive likelihood, summary, recommended actions, and confidence).
Parses the model output, builds a notification-friendly message, and returns the enriched alert plus triage JSON back to the webhook caller.
Posts high/critical alerts to an urgent Slack incoming-webhook channel and creates an incident via a configured ticketing HTTP endpoint, while routing other severities to a routine Slack logging channel.

Setup
Configure your SIEM/EDR/IDS to POST alert JSON to the workflow’s webhook URL (path: /security-alert).
Add an OpenAI API credential for the OpenAI chat model used for triage.
Provide API keys for AbuseIPDB and VirusTotal (replace the placeholder header values or connect them via n8n credentials).
Set your Slack incoming webhook URLs for both the urgent and routine channels.
Replace the ticketing system incident creation URL with your own endpoint and adjust the JSON payload if your system requires different fields.

Nodes Used (4)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi