kilo-bytez/sentinelmap
GitHub: kilo-bytez/sentinelmap
一个将多个公开威胁情报源聚合到交互式全球地图上的 AI 驱动网络威胁可视化平台,帮助安全分析师实时监控全球 APT 和恶意活动。
Stars: 0 | Forks: 0
# 🛡️ SentinelMap
**由 AI 驱动的网络威胁和 APT 情报平台,提供实时 OSINT 订阅源、交互式全球地图和分析师仪表盘。**
  
## ✨ 功能特性
- **交互式全球地图**(Leaflet,CartoDB Dark 瓦片),带有实时攻击弧线和动态威胁粒子效果
- **9 个威胁层** — 每一层均可独立切换:
- 🔴 恶意软件 / 活跃感染
- 🔺 C2 / 僵尸网络命令与控制
- 🟡 钓鱼基础设施
- 🟣 勒索软件活动
- 🔵 僵尸网络节点
- ⚡ 暴力破解攻击
- 🟢 漏洞利用 / 扫描活动
- ⬛ 垃圾邮件源
- 🔴 DDoS 基础设施
- **12 个实时 OSINT 订阅源** — ThreatFox, URLhaus, Feodo Tracker, Blocklist.de, SANS ISC, SSL Blacklist, Cinsscore, IPsum, Emerging Threats, Spamhaus DROP, DataPlane SSH, Turris Greylist
- **时间范围过滤** — 1H, 6H, 24H, 7D, 30D
- **URL 状态** — 可共享链接,内置 lat/lon/zoom/layers/timeRange 参数
- **事件详情面板** — 指标、恶意软件家族、MITRE ATT&CK 技术、来源、置信度、严重性、ASN、组织、地理置信度
- **优先级评分** — 基于严重性、置信度和来源可靠性的综合评分
- **实时滚动条** — 底部实时事件流
- **搜索** — 按 IP、国家、恶意软件家族、订阅源或层级进行过滤
- **规范化 schema** — 每个事件均包含来源归属、摄取时间戳和关系类型(confirmed / inferred / raw)
## 🚀 快速开始(本地)
```
git clone https://github.com/kilo-bytez/sentinelmap.git
cd sentinelmap
cp .env.example .env
npm install
npm run dev
```
打开 [http://localhost:5000](http://localhost:5000)
## 🐳 Docker(推荐用于 VPS)
```
git clone https://github.com/kilo-bytez/sentinelmap.git
cd sentinelmap
cp .env.example .env
# 编辑 .env — 至少设置 SESSION_SECRET
docker compose up -d
```
应用默认在端口 **3000** 上运行。
## 🌐 Nginx 反向代理(生产环境)
```
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
## 📡 OSINT 来源
| 订阅源 | 层级 | 可靠性 | 更新频率 |
|---|---|---|---|
| ThreatFox | Malware / C2 | 90% | 每日 |
| URLhaus | Phishing / Malware | 88% | 每小时 |
| Feodo Tracker | C2 / Botnet | 92% | 每日 |
| Blocklist.de | Brute Force | 75% | 每日 |
| SANS ISC | Exploit / Scanning | 85% | 每日 |
| SSL Blacklist | Malware / Botnet | 88% | 每日 |
| Cinsscore | DDoS / Exploit | 70% | 每日 |
| IPsum | Malware / Exploit | 80% | 每日 |
| Emerging Threats | Malware | 82% | 每日 |
| Spamhaus DROP | Spam | 95% | 每日 |
| DataPlane SSH | Brute Force | 85% | 每日 |
| Turris Greylist | Botnet | 78% | 每小时 |
## 🗂️ 文件夹结构
```
sentinelmap/
├── client/src/
│ ├── pages/
│ │ └── threat-map.tsx ← Main map UI (Leaflet + all components)
│ ├── components/ui/ ← Shadcn/Radix UI primitives
│ ├── index.css ← SentinelMap design system
│ └── App.tsx
├── server/
│ ├── routes.ts ← All API routes + 12 feed fetchers
│ ├── index.ts ← Express server entry
│ └── storage.ts ← Optional DB storage layer
├── shared/
│ └── schema.ts ← Normalized CyberEvent schema + types
├── Dockerfile
├── docker-compose.yml
└── .env.example
```
## 🔐 环境变量
查看[`.env.example`](.env.example)获取完整文档。
| 变量 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|
| `NODE_ENV` | 否 | `development` | 部署时使用 `production` |
| `PORT` | 否 | `3000` | 后端 API 端口 |
| `SESSION_SECRET` | 是(生产环境) | `changeme` | Express session 密钥 |
| `DATABASE_URL` | 否 | — | PostgreSQL 连接字符串 |
| `FEED_CACHE_TTL_MS` | 否 | `10800000` | 订阅源刷新间隔(毫秒) |
## 🛣️ 路线图
- [ ] AlienVault OTX 集成
- [ ] AbuseIPDB 富化
- [ ] GreyNoise 扫描器噪音过滤
- [ ] MISP 社区订阅源
- [ ] CVE / KEV 叠加层(CISA 已知被利用漏洞)
- [ ] APT 组织标记和攻击活动关联
- [ ] AI 集群摘要
- [ ] 分析师关注列表和书签
- [ ] RBAC / 多用户支持
- [ ] WebSocket 实时推送
## 📄 许可证
MIT — 随意构建、复刻和部署。
标签:AMSI绕过, APT攻击, Cloudflare, DDoS, Docker, ESC4, GNU通用公共许可证, HTTP/HTTPS抓包, IP 地址批量处理, Leaflet, MITM代理, MITRE ATT&CK, Mutation, Node.js, OSINT, PoC, ThreatFox, URLhaus, 仪表盘, 僵尸网络, 全球地图, 勒索软件, 可视化, 命令与控制, 垃圾邮件, 威胁检测, 安全分析师, 安全防御评估, 密码管理, 态势感知, 恶意软件, 情报源, 暴力破解, 测试用例, 漏扫, 网络威胁情报, 网络安全, 自动化攻击, 请求拦截, 隐私保护