1024Cyber/ATLAS-Framework

GitHub: 1024Cyber/ATLAS-Framework

ATLAS 是一个完全本地运行的威胁情报工作台,帮助安全分析师在不上传数据的前提下完成 IOC 富化、威胁行为者追踪、情报关联和报告生成。

Stars: 1 | Forks: 0

# ATLAS — 分析师威胁与关联分析系统 ![仪表盘](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/dashboard.png) ## 什么是 ATLAS? ATLAS 专为安全分析师打造,提供一个本地化的框架,用于**收集**、**富化**、**关联**和**处置**威胁情报 —— 无需将您的数据发送至第三方平台。 它完全运行在 `localhost:2077` 上。所有数据均保留在您的本地机器中。 ## 截图 | 仪表盘 | 监控 | |---|---| | ![仪表盘](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/dashboard.png) | ![监控](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/monitoring.png) | | IOC 分析 | 威胁行为者 | |---|---| | ![IOC 分析](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/ioc_analysis.png) | ![分析](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/analysis.png) | | 事件响应与漏洞管理 | 实时订阅源 | |---|---| | ![事件响应与漏洞](https://static.pigsec.cn/wp-content/uploads/repos/cas/38/380d2b5e03edf0c4cdb0c8a691e263d377c40761e26a4e7cfbe6a82baa4cffee.png) | ![实时订阅源](https://static.pigsec.cn/wp-content/uploads/repos/cas/f4/f4c5526d0dac48c13fba83c0b88d0a868cccb1e4fdeff18d9d3108b0e896dce3.png) | | ATT&CK Navigator 地图 | PDF 报告生成器 | |---|---| | ![ATT&CK 地图](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/attck_map.png) | ![PDF 报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/10/109c8f5705f834ed355c7047644270f707f973132ab3ba1be154c56efb888409.png) | | 关联图谱 | 导入 / 导出 | |---|---| | ![图谱](https://static.pigsec.cn/wp-content/uploads/repos/cas/3a/3a3f4cd14aa72f0172dfd342b45ec00b447f18b6fdcc4387a571a968aec6c93c.png) | ![导入导出](https://static.pigsec.cn/wp-content/uploads/repos/cas/a4/a40d862153f1d19e8547de5f232f960046d6e327f552c88e42c95d99ddd90836.png) | | 关于 | |---|---| | ![关于](https://raw.githubusercontent.com/1024Cyber/ATLAS-Framework/main/screenshots/about.png) | ## 功能 ### 模块 - **监控与收集** — 提交 IOC(domain、IP、hash、URL、email),通过 VirusTotal + OTX + Shodan 自动富化。点击任意行可查看完整的富化详情面板。 - **IOC 分析** — 深度多源分析,结合 VirusTotal、OTX AlienVault、AbuseIPDB、GreyNoise、URLScan.io 和 Shodan,生成单一的 0–100 风险评判。 - **分析** — 威胁行为者注册表,包含 ATT&CK TTP 映射。一键从 MISP Galaxy 导入 700+ 个行为者。活动追踪器,与 IOC 实现全面关联。 - **文档** — TLP 分级的情报报告构建器(每日、每周、闪电预警、行为者画像、高管摘要)。 - **事件响应与漏洞管理** — 带有时间线和状态工作流的事件追踪器。CVE 登记表,自动进行 CISA KEV 检查。点击任意 CVE 可查看完整的 NVD 详情面板。 ### 实用工具 - **实时订阅源** — 定时自动从 abuse.ch Feodo Tracker、URLhaus、CISA KEV 和 OTX 订阅中拉取数据(间隔可配置,大部分无需 API key)。 - **ATT&CK Navigator 地图** — 根据所有行为者和活动的 TTP 生成 MITRE ATT&CK v16 / Navigator v5.1 的 layer JSON。下载后即可在 attack-navigator.github.io 中即时打开。 - **MISP 集成** — 双向同步:将 ATLAS 的 IOC 推送到 MISP 事件中,或将 MISP 属性拉取为 ATLAS 的 IOC。 - **PDF 报告生成器** — 品牌化、多章节的高管 PDF 报告,支持章节选择器、TLP 标记,并自动生成发现与建议。 - **导入 / 导出** — 批量 CSV IOC 导入(带富化功能),STIX 2.1 bundle 导出,针对关键 IOC 的 Slack/邮件预警。 - **关联图谱** — 力导向图,展示所有实体关系。节点可以是 IOC、行为者、活动、事件和漏洞。随着您将数据关联在一起,边会自动建立。 ## 快速开始 ``` # 克隆 / 解压 cd atlas # 虚拟环境 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 配置 cp .env.example .env # 添加你的 API keys(VT、OTX 等) — 见下方的 API Keys 部分 # 修复 graph library(一次性) curl -L https://cdnjs.cloudflare.com/ajax/libs/vis-network/10.0.2/standalone/umd/vis-network.min.js \ -o static/vis-network.min.js # 运行 python main.py ``` 打开 **http://localhost:2077** - 交互式 API 文档:**http://localhost:2077/docs** - 健康检查:**http://localhost:2077/api/health** ## API Keys | 服务 | 获取地址 | 免费额度 | 用途 | |---|---|---|---| | VirusTotal | virustotal.com/gui/join-us | 4 次查询/分钟 | IOC 富化 + 分析 | | OTX AlienVault | otx.alienvault.com | 无限 | IOC 富化 + 订阅源 | | Shodan | account.shodan.io | 有限 | IP 的端口/横幅数据 | | AbuseIPDB | abuseipdb.com | 1000 次/天 | IP 滥用置信度评分 | | GreyNoise | greynoise.io | 社区版 | 互联网扫描器分类 | | URLScan | urlscan.io | 100 次扫描/天 | URL/Domain 页面分析 | | CISA KEV | 公开订阅源 | 无需 key | 已知被利用的 CVE | | abuse.ch 订阅源 | 公开 | 无需 key | C2 IP,恶意 URL | ## 配置 ``` # .env VIRUSTOTAL_API_KEY=your_key OTX_API_KEY=your_key SHODAN_API_KEY=your_key ABUSEIPDB_API_KEY=your_key GREYNOISE_API_KEY=your_key URLSCAN_API_KEY=your_key # MISP(可选) MISP_URL=https://your-misp.local MISP_KEY=your_auth_key MISP_VERIFY_SSL=false # Slack 告警(可选) ALERT_SLACK_ENABLED=false SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... ALERT_MIN_SEVERITY=critical # Feed 计划 FEED_ENABLED=true FEED_INTERVAL_HOURS=6 ``` ## 架构 ``` atlas/ ├── main.py # FastAPI app, scheduler, startup ├── database.py # SQLAlchemy async models (SQLite) ├── requirements.txt ├── .env.example ├── routers/ │ ├── monitor.py # IOC intake + enrichment │ ├── analysis.py # Actors, campaigns, TTPs │ ├── docs.py # Reports, knowledge base │ ├── ir.py # Incidents, vulnerabilities │ ├── graph.py # Correlation graph │ ├── ioc_analysis.py # Deep multi-source analysis │ ├── feeds.py # Live feed control │ ├── export.py # CSV import, STIX, alerts │ ├── intelligence.py # MISP, PDF, search │ ├── autopull.py # Bulk one-click ingestion │ └── auth.py # JWT auth, user management ├── services/ │ ├── enrichment.py # VT / OTX / Shodan / CISA KEV │ ├── ioc_analysis.py # AbuseIPDB / GreyNoise / URLScan │ ├── correlation.py # Graph edge builder │ ├── navigator.py # ATT&CK layer generator (v16) │ ├── feeds.py # Feodo / URLhaus / OTX / KEV │ ├── autopull.py # NVD CVEs / incidents / MISP Galaxy │ ├── misp.py # MISP push/pull │ ├── pdf_report.py # ReportLab PDF generator │ ├── stix_export.py # STIX 2.1 bundle │ ├── csv_import.py # Bulk IOC CSV import │ ├── search.py # Global full-text search │ └── auth.py # JWT, bcrypt, role management └── static/ ├── index.html # Single-file frontend (no build step) └── vis-network.min.js # Graph library (download separately) ``` ## API 参考 涵盖 11 个 router 的 66 个 endpoint。完整的交互式文档位于 `/docs`。 | 分组 | Endpoint | 描述 | |---|---|---| | `/api/monitor/` | IOC CRUD | 提交、富化、过滤、删除 IOC | | `/api/analyze/` | 深度分析 | 多源 IOC 判定 | | `/api/analysis/` | 行为者、活动 | 画像、MISP Galaxy 导入 | | `/api/ir/` | 事件、CVE | 追踪、KEV 检查 | | `/api/graph/` | 关联 | 节点、边、重建 | | `/api/feeds/` | 实时订阅源 | 运行、调度、状态 | | `/api/navigator/` | ATT&CK | Layer 下载 (v16) | | `/api/export/` | 导入/导出 | CSV、STIX、预警 | | `/api/misp/` | MISP | 推送、拉取、事件 | | `/api/report/pdf` | PDF | 章节选择器报告 | | `/api/autopull/` | 批量摄取 | IOC、CVE、事件、Galaxy | | `/api/search` | 搜索 | 跨所有实体的全局全文检索 | ## 图谱:关联如何工作 当您执行以下操作时,边将被自动创建: | 操作 | 边 | |---|---| | 将 IOC 链接至行为者 | `IOC → attributed_to → Actor` | | 将 IOC 链接至活动 | `IOC → part_of → Campaign` | | 将活动链接至行为者 | `Campaign → conducted_by → Actor` | | 将 IOC ID 添加至事件 | `Incident → contains → IOC` | | CVE 被行为者利用 | `CVE → exploited_by → Actor` | | 行为者共享 3 个及以上 TTPs | `Actor ↔ shares_ttps ↔ Actor` | ## 技术栈 | 层级 | 技术 | |---|---| | 后端 | Python 3.11 + FastAPI + Uvicorn | | 数据库 | SQLite + SQLAlchemy async | | 前端 | 原生 JS + HTML/CSS(无需构建步骤) | | 图谱 | vis-network 10.0.2 | | PDF | ReportLab | | 情报格式 | STIX 2.1, ATT&CK Navigator v5.1 | | 调度器 | APScheduler | | 认证 | JWT (python-jose) + bcrypt (passlib) | ## 完整使用指南 请参阅 **[ATLAS_USAGE_GUIDE.md](ATLAS_USAGE_GUIDE.md)** 获取完整的操作指南,涵盖各项功能、日常工作流和故障排除。 ## 路线图 - [ ] 用于自动化订阅源共享的 TAXII 2.1 server endpoint - [ ] 暗网关键词监控调度器 - [ ] IOC 衰减/过期引擎(自动归档过期指标) - [ ] 多用户协同(共享笔记、任务分配) - [ ] 从观察到的 TTPs 导出 Sigma 规则 - [ ] Docker compose 配置 *专为需要本地、自包含且能真正实现数据关联(而不仅仅是存储)的 CTI 框架的分析师而打造。* 如需获取本项目的完整源代码,请通过 Telegram 联系我: https://t.me/xnor1
标签:GPT, IOC分析, 威胁情报, 安全分析平台, 开发者工具, 数据可视化, 本地部署, 漏洞管理, 调试辅助, 逆向工具