huntersoham/Advanced-Threat-Intelligence-Platform
GitHub: huntersoham/Advanced-Threat-Intelligence-Platform
这是一个基于 OSINT 源的自动化威胁情报平台,能够收集恶意 IP 并根据风险评分自动执行防火墙封禁策略。
Stars: 0 | Forks: 0
# 🛡️ 威胁情报平台 (TIP)
Infotact Cybersecurity 实习 — 项目 1:金融与银行
## 项目功能
自动从公共 OSINT 源收集恶意 IP,按风险等级进行评分,将其存储在 MongoDB 中,并使用 Linux iptables 阻止高风险 IP — 或在任何操作系统上安全地模拟阻止操作。
```
OSINT Feeds → Normalize & Score → MongoDB → iptables Block
```
## 文件夹结构
```
threat-intelligence-platform/
├── config/
│ └── config.py All settings (reads from .env)
├── data_collection/
│ └── fetch_feeds.py Fetches from URLhaus, OTX, AbuseIPDB + fallback
├── data_processing/
│ └── normalize_data.py Cleans, deduplicates, scores HIGH/MEDIUM/LOW
├── database/
│ └── mongo_setup.py MongoDB: store, query, mark blocked
├── policy_enforcer/
│ └── firewall.py iptables block/unblock + simulation mode
├── logs/
│ └── activity.log Auto-generated log (created on first run)
├── main.py ← Run this
├── requirements.txt
└── .env.example
```
## 安装说明
```
# 安装 dependencies
pip install -r requirements.txt
# 复制 environment file
cp .env.example .env
# 启动 MongoDB(如果没有 MongoDB 则跳过——项目仍然可用)
docker run -d -p 27017:27017 mongo:6
# OR install locally: https://www.mongodb.com/try/download/community
# 运行 pipeline
python main.py
```
**无需 API 密钥。** 如果源不可达,将自动使用来自公共封禁列表的 20 个真实已知恶意 IP。
## 示例输出
```
╔══════════════════════════════════════════════════════╗
║ THREAT INTELLIGENCE PLATFORM (TIP) v1.0 ║
║ Finance & Banking | Infotact Cybersecurity ║
╚══════════════════════════════════════════════════════╝
────────────────────────────────────────────────────────
STAGE 1 — OSINT FEED COLLECTION
────────────────────────────────────────────────────────
[✔] Fetched 20 raw indicators
────────────────────────────────────────────────────────
STAGE 2 — NORMALIZATION & RISK SCORING
────────────────────────────────────────────────────────
[✔] Valid indicators : 18
[✔] HIGH (score≥7) : 9 ← these will be blocked
[✔] MEDIUM : 6 ← logged only
[✔] LOW : 3 ← logged only
────────────────────────────────────────────────────────
STAGE 3 — DATABASE STORAGE (MongoDB)
────────────────────────────────────────────────────────
[✔] Stored 18 new entries in MongoDB
────────────────────────────────────────────────────────
STAGE 4 — DYNAMIC POLICY ENFORCEMENT (Firewall)
────────────────────────────────────────────────────────
[✔] Mode: SIMULATION (safe mode)
IP Score Severity Tags
────────────────────── ───── ──────── ─────────────────────────
91.92.109.141 10 HIGH ransomware, apt
194.165.16.11 9 HIGH malware, c2
198.199.80.240 9 HIGH botnet, mirai
46.101.90.205 8 HIGH c2, malware
...
[✔] Blocked 9 IPs [SIMULATION (safe mode)]
────────────────────────────────────────────────────────
PIPELINE SUMMARY
────────────────────────────────────────────────────────
Total in DB : 18
HIGH severity : 9
MEDIUM severity : 6
LOW severity : 3
Total blocked : 9
Log saved to : logs/activity.log
```
## 风险评分
| 分数 | 标签 | 操作 |
|------|---------|------------------|
| 7–10 | HIGH | 自动阻止 |
| 4–6 | MEDIUM | 记录并告警 |
| 1–3 | LOW | 仅记录 |
用于评分的标签:`apt` (+3), `ransomware` (+3), `c2` (+3), `malware` (+2), `botnet` (+2), `scanner` (+1) 等。
## 启用真实防火墙(仅限 Linux)
```
# In .env
ENFORCE_REAL_FIREWALL=true
# Run as root
sudo python main.py
```
此操作对每个高风险 IP 执行:`iptables -A INPUT -s -j DROP`。
## 免费 API 密钥(可选)
| 源 | URL | 免费? |
|------------|----------------------------|---------------------|
| URLhaus | abuse.ch | ✅ 无需密钥 |
| AbuseIPDB | abuseipdb.com/register | ✅ 免费账户 |
| AlienVault | otx.alienvault.com | ✅ 免费账户 |
## 未来改进
- Kibana 仪表板用于可视化威胁地图
- SIEM 集成(Splunk / Elastic)
- IP 地理位置映射
- 在检测到新的高风险时发送电子邮件/Slack 告警
- 定时 cron 任务用于持续监控
标签:AbuseIPDB, CISA项目, DevSecOps, ESC4, iptables, IP 地址批量处理, IP威胁情报, Linux防火墙, masscan, MongoDB, nuclei, OSINT, TIP, URLhaus, 上游代理, 代码示例, 入侵阻断, 动态防御, 去重, 威胁情报平台, 数据分析, 网络安全, 自动阻断, 请求拦截, 逆向工具, 金融银行业, 隐私保护, 风险评分