Skip to content

Repository files navigation

πŸ›‘οΈ CTI Automation Platform

Automated Cyber Threat Intelligence Pipeline with Live Threat Dashboard
AlienVault OTX Β· AbuseIPDB Β· URLhaus Β· Splunk Correlator

Python Splunk Threat Intel License Status


πŸ“Œ Overview

A fully automated Cyber Threat Intelligence (CTI) pipeline that:

  1. Collects IOCs (Indicators of Compromise) from 3 live threat intelligence feeds
  2. Correlates them against Splunk security logs to detect active threats
  3. Visualizes everything on a real-time dark-themed threat dashboard

Built to demonstrate SOC Tier 2 and CTI Analyst level skills for enterprise blue team environments.


🎯 Features

Feature Description
πŸ”— Multi-Feed Collection Pulls IOCs from OTX, AbuseIPDB, URLhaus simultaneously
πŸ” Splunk Correlation Matches IOCs against real Splunk log events via REST API
πŸ“Š Live Dashboard Real-time threat feed with severity classification
🌐 Threat Origin Map Visualizes attacker geographic distribution
⚑ Auto Severity Classifies alerts as CRITICAL / HIGH / MEDIUM / LOW
πŸ”„ Demo Mode Works fully offline without API keys

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              CTI AUTOMATION PLATFORM                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ AlienVault   β”‚  AbuseIPDB   β”‚       URLhaus          β”‚
β”‚    OTX       β”‚  Blacklist   β”‚   Malicious URLs       β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚              β”‚                  β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 feeds/collector.py
                 (IOC Aggregator + Deduplication)
                        β”‚
                        β–Ό
              data/iocs.json  ◄──── Stored IOCs
                        β”‚
                        β–Ό
          correlator/splunk_correlator.py
          (Splunk REST API / Offline Correlation)
                        β”‚
                        β–Ό
           data/correlation_hits.json
                        β”‚
                        β–Ό
            dashboard/index.html
         (Live Threat Intelligence Dashboard)

πŸ“ Project Structure

cti-platform/
β”œβ”€β”€ feeds/
β”‚   └── collector.py          # IOC collection from 3 threat feeds
β”œβ”€β”€ correlator/
β”‚   └── splunk_correlator.py  # Splunk REST API correlation engine
β”œβ”€β”€ dashboard/
β”‚   └── index.html            # Live dark-themed threat dashboard
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ iocs.json             # Collected IOCs (auto-generated)
β”‚   β”œβ”€β”€ correlation_hits.json # Alert matches (auto-generated)
β”‚   └── sample/
β”‚       └── sample_logs.json  # Sample log events for demo
β”œβ”€β”€ main.py                   # Main orchestrator
β”œβ”€β”€ requirements.txt          # Python dependencies
└── README.md

βš™οΈ Setup & Installation

Prerequisites

  • Python 3.10+
  • Splunk Enterprise (optional β€” demo mode works without it)

1. Clone the repository

git clone https://github.com/ibu-cyx0/cti-automation-platform
cd cti-automation-platform

2. Install dependencies

pip install -r requirements.txt

3. Configure API keys (optional for live mode)

export OTX_API_KEY="your_otx_key_here"
export ABUSEIPDB_API_KEY="your_abuseipdb_key_here"
# URLhaus requires no API key

4. Run

# Demo mode (no API keys needed)
python main.py

# Live mode (with API keys + Splunk)
export SPLUNK_HOST="localhost"
export SPLUNK_USER="admin"
export SPLUNK_PASS="yourpassword"
python main.py

5. Open the Dashboard

Open dashboard/index.html in your browser

πŸ” Threat Feeds Used

Feed Type Data API Required
AlienVault OTX Community IPs, Domains, Hashes, URLs βœ… Free
AbuseIPDB Crowd-sourced Malicious IPs with confidence score βœ… Free
URLhaus Malware Active malware delivery URLs ❌ No key

πŸ” Sample SPL Queries Used

# Detect IOC match in firewall logs
index=firewall (src_ip="185.220.101.47" OR dest_ip="185.220.101.47")
| table _time, src_ip, dest_ip, action, host

# Correlate all blocked IPs against IOC list
index=* action=blocked
| lookup ioc_lookup ip AS src_ip OUTPUT threat_name, severity
| where isnotnull(threat_name)
| stats count BY src_ip, threat_name, severity

# Detect outbound connections to known C2 domains
index=proxy_logs
| rex field=url "(?P<domain>[^/]+)"
| lookup ioc_lookup domain AS domain OUTPUT threat_name
| where isnotnull(threat_name)
| table _time, src_ip, url, threat_name

πŸ“Š Dashboard Features

  • Live IOC Feed Table β€” streams new threats every second
  • Severity Donut Chart β€” CRITICAL / HIGH / MEDIUM / LOW breakdown
  • Source Bar Chart β€” IOC count by threat feed
  • Threat Origin Map β€” geographic attacker distribution
  • System Log Terminal β€” real-time event logging
  • Auto-refresh β€” repeats every 30 seconds

πŸ› οΈ Tech Stack

  • Python β€” feed collection, correlation logic
  • Splunk REST API β€” log correlation (/services/search/jobs/export)
  • AlienVault OTX API β€” threat pulse + IOC collection
  • AbuseIPDB API β€” malicious IP blacklist
  • URLhaus API β€” active malware URL feed
  • HTML/CSS/JS β€” live threat intelligence dashboard
  • Docker (optional) β€” containerized deployment

πŸ—ΊοΈ Roadmap

  • MISP integration for threat sharing
  • Automated email alerting (SMTP)
  • Elasticsearch support
  • STIX/TAXII feed support
  • ML-based IOC prioritization

πŸ‘€ Author

Mohamed Ibrahim H
EC-Council Certified SOC Analyst (CSA) | Splunk Core Certified User | Cisco Cyber Ops Associate


πŸ“„ License

MIT License β€” free to use, modify, and distribute.

About

Automated Cyber Threat Intelligence pipeline that collects IOCs from AlienVault OTX, AbuseIPDB & URLhaus, correlates them against Splunk logs, and visualizes active threats on a real-time dark-themed dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages