1024Cyber/ATLAS-Framework

GitHub: 1024Cyber/ATLAS-Framework

Stars: 0 | Forks: 0

# ATLAS — Analyst Threat & Link Analysis System ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f7930d93b6224404.png) ## What is ATLAS? ATLAS is built for security analysts who need one local framework to **collect**, **enrich**, **correlate**, and **act on** threat intelligence — without sending your data to a third-party platform. It runs entirely on `localhost:2077`. Everything stays on your machine. ## Screenshots | Dashboard | Monitoring | |---|---| | ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f7930d93b6224404.png) | ![Monitoring](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/624109059e224404.png) | | IOC Analysis | Threat Actors | |---|---| | ![IOC Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/04f818ecdf224405.png) | ![Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/40991d59bb224406.png) | | IR & Vulnerability Management | Live Feeds | |---|---| | ![IR & Vuln](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/39e955f3ed224407.png) | ![Live Feeds](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/beefe2509a224408.png) | | ATT&CK Navigator Map | PDF Report Generator | |---|---| | ![ATT&CK Map](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5f0a305d03224408.png) | ![PDF Report](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cc7269b44c224409.png) | | Correlation Graph | Import / Export | |---|---| | ![Graph](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/557f392857224410.png) | ![Import Export](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f647bb3e0c224410.png) | | About | |---| | ![About](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/03bc522d58224411.png) | ## Features ### Modules - **Monitoring & Collection** — Submit IOCs (domain, IP, hash, URL, email), auto-enriched via VirusTotal + OTX + Shodan. Click any row for a full enrichment detail panel. - **IOC Analysis** — Deep multi-source analysis combining VirusTotal, OTX AlienVault, AbuseIPDB, GreyNoise, URLScan.io, and Shodan into a single 0–100 risk verdict. - **Analysis** — Threat actor registry with ATT&CK TTP mapping. One-click import of 700+ actors from MISP Galaxy. Campaign tracker with full correlation to IOCs. - **Documentation** — TLP-classified intelligence report builder (daily, weekly, flash alerts, actor profiles, executive summaries). - **IR & Vulnerability Management** — Incident tracker with timeline and status workflow. CVE register with auto CISA KEV check. Click any CVE for full NVD detail panel. ### Utilities - **Live Feeds** — Scheduled auto-pull from abuse.ch Feodo Tracker, URLhaus, CISA KEV, and OTX subscriptions (configurable interval, no API key needed for most). - **ATT&CK Navigator Map** — Generates a MITRE ATT&CK v16 / Navigator v5.1 layer JSON from all actor and campaign TTPs. Download and open at attack-navigator.github.io instantly. - **MISP Integration** — Bi-directional: push ATLAS IOCs to MISP events, pull MISP attributes as ATLAS IOCs. - **PDF Report Generator** — Branded, multi-section executive PDF with section picker, TLP marking, auto-generated findings and recommendations. - **Import / Export** — Bulk CSV IOC import with enrichment, STIX 2.1 bundle export, Slack/email alerting for critical IOCs. - **Correlation Graph** — Force-directed graph showing all entity relationships. Nodes are IOCs, actors, campaigns, incidents, and vulnerabilities. Edges auto-build as you link data together. ## Quick Start # 1. Clone / extract cd atlas # 2. Virtual environment python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 3. Install dependencies pip install -r requirements.txt # 4. Configure cp .env.example .env # Add your API keys (VT, OTX, etc.) — see API Keys section below # 5. Fix graph library (one-time) 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 # 6. Run python main.py Open **http://localhost:2077** - Interactive API docs: **http://localhost:2077/docs** - Health check: **http://localhost:2077/api/health** ## API Keys | Service | Get it at | Free tier | Used for | |---|---|---|---| | VirusTotal | virustotal.com/gui/join-us | 4 lookups/min | IOC enrichment + Analysis | | OTX AlienVault | otx.alienvault.com | Unlimited | IOC enrichment + feeds | | Shodan | account.shodan.io | Limited | Port/banner data on IPs | | AbuseIPDB | abuseipdb.com | 1000/day | IP abuse confidence score | | GreyNoise | greynoise.io | Community tier | Internet scanner classification | | URLScan | urlscan.io | 100 scans/day | URL/domain page analysis | | CISA KEV | Public feed | No key needed | Known exploited CVEs | | abuse.ch feeds | Public | No key needed | C2 IPs, malicious URLs | ## Configuration # .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 (optional) MISP_URL=https://your-misp.local MISP_KEY=your_auth_key MISP_VERIFY_SSL=false # Slack alerting (optional) ALERT_SLACK_ENABLED=false SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... ALERT_MIN_SEVERITY=critical # Feed schedule FEED_ENABLED=true FEED_INTERVAL_HOURS=6 ## Architecture 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 Reference 66 endpoints across 11 routers. Full interactive docs at `/docs`. | Group | Endpoints | Description | |---|---|---| | `/api/monitor/` | IOC CRUD | Submit, enrich, filter, delete IOCs | | `/api/analyze/` | Deep analysis | Multi-source IOC verdict | | `/api/analysis/` | Actors, campaigns | Profiles, MISP Galaxy import | | `/api/ir/` | Incidents, CVEs | Tracking, KEV check | | `/api/graph/` | Correlation | Nodes, edges, rebuild | | `/api/feeds/` | Live feeds | Run, schedule, status | | `/api/navigator/` | ATT&CK | Layer download (v16) | | `/api/export/` | Import/export | CSV, STIX, alerts | | `/api/misp/` | MISP | Push, pull, events | | `/api/report/pdf` | PDF | Section-picker report | | `/api/autopull/` | Bulk ingestion | IOCs, CVEs, incidents, Galaxy | | `/api/search` | Search | Global full-text across all entities | ## Graph: How Correlations Work Edges are created automatically when you: | Action | Edge | |---|---| | Link IOC to actor | `IOC → attributed_to → Actor` | | Link IOC to campaign | `IOC → part_of → Campaign` | | Link campaign to actor | `Campaign → conducted_by → Actor` | | Add IOC IDs to incident | `Incident → contains → IOC` | | CVE exploited by actor | `CVE → exploited_by → Actor` | | Actors share 3+ TTPs | `Actor ↔ shares_ttps ↔ Actor` | ## Tech Stack | Layer | Technology | |---|---| | Backend | Python 3.11 + FastAPI + Uvicorn | | Database | SQLite + SQLAlchemy async | | Frontend | Vanilla JS + HTML/CSS (no build step) | | Graph | vis-network 10.0.2 | | PDF | ReportLab | | Intel formats | STIX 2.1, ATT&CK Navigator v5.1 | | Scheduler | APScheduler | | Auth | JWT (python-jose) + bcrypt (passlib) | ## Full Usage Guide See **[ATLAS_USAGE_GUIDE.md](ATLAS_USAGE_GUIDE.md)** for the complete walkthrough covering every feature, daily workflow, and troubleshooting. ## Roadmap - [ ] TAXII 2.1 server endpoint for automated feed sharing - [ ] Dark web keyword monitoring scheduler - [ ] IOC decay/expiry engine (auto-archive stale indicators) - [ ] Multi-user collaboration (shared notes, assignments) - [ ] Sigma rule export from observed TTPs - [ ] Docker compose setup *Built for analysts who need a local, self-contained CTI framework that actually correlates data — not just stores it.* For access to the complete source-code of this project, reach out to me on Telegram: https://t.me/CyberSenal_bot