Automated Cyber Threat Intelligence Pipeline with Live Threat Dashboard
AlienVault OTX Β· AbuseIPDB Β· URLhaus Β· Splunk Correlator
A fully automated Cyber Threat Intelligence (CTI) pipeline that:
- Collects IOCs (Indicators of Compromise) from 3 live threat intelligence feeds
- Correlates them against Splunk security logs to detect active threats
- 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.
| 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 |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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)
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
- Python 3.10+
- Splunk Enterprise (optional β demo mode works without it)
git clone https://github.com/ibu-cyx0/cti-automation-platform
cd cti-automation-platformpip install -r requirements.txtexport OTX_API_KEY="your_otx_key_here"
export ABUSEIPDB_API_KEY="your_abuseipdb_key_here"
# URLhaus requires no API key# 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.pyOpen dashboard/index.html in your browser
| 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 |
# 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
- 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
- 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
- MISP integration for threat sharing
- Automated email alerting (SMTP)
- Elasticsearch support
- STIX/TAXII feed support
- ML-based IOC prioritization
Mohamed Ibrahim H
EC-Council Certified SOC Analyst (CSA) | Splunk Core Certified User | Cisco Cyber Ops Associate
- GitHub: @ibu-cyx0
- TryHackMe: @IbrahimCyb3r4
- Email: ibrahim.cybrx@gmail.com
MIT License β free to use, modify, and distribute.