| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-RECON-001 | Agent endpoint discovery Network scan to identify dashboard (3001) and Rust API (3000) on LAN | AML.T0006 | Medium | Nginx reverse proxy — internal ports not exposed |
| T-RECON-002 | Skills enumeration List active skills via API to map remediation capabilities | AML.T0006 | Low | Auth required on all API routes |
| T-RECON-003 | Sigma rules extraction Extract Sigma rules to evade SOC detection | AML.T0006 | Medium | Rules not exposed via API — DB access required |
| T-RECON-004 | Whitelist enumeration Extract 35-command whitelist to plan evasion | AML.T0006 | Medium | Compiled in Rust binary — not readable via API |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-ACCESS-001 | Dashboard JWT theft Interception of authentication JWT token | AML.T0040 | High | Short-lived JWT (1h) + HttpOnly refresh cookie |
| T-ACCESS-002 | Malicious community skill Compromised Python skill from community — primary supply chain vector | AML.T0010 | Critical | Docker isolation (network:none, 256MB, RO FS) + code review + BLAKE3 signing for official WASM |
| T-ACCESS-003 | Poisoned skill update Malicious payload via seemingly legitimate update | AML.T0010 | High | BLAKE3 signature verified on every WASM load |
| T-ACCESS-004 | Prompt injection via external data Malicious content in CVE feeds/DMARC reports processed by LLM | AML.T0051 | High | Pillar III: XML wrapper on all tool outputs. 25+ injection patterns blocked. |
| T-ACCESS-005 | Physical server access Physical access allowing DB or credential vault extraction | AML.T0040 | High | Vault encrypted (Argon2id + AES-256-GCM). Disk encryption recommended. |
| T-ACCESS-006 | Channel impersonation Commands via compromised Slack/Telegram to trigger remediation | AML.T0040 | High | Webhook signature + nonce anti-replay + DM pairing + 15min timeout |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-EXEC-001 | Direct LLM prompt injection Injection via Slack/dashboard to manipulate remediation decisions | AML.T0051 | Critical | Pillar I Soul + Pillar II 35-command whitelist. LLM cannot execute outside whitelist. 4-level permission system. |
| T-EXEC-002 | Indirect injection via scan data Payload in Nuclei/Trivy results to alter LLM behavior | AML.T0051 | High | Pillar III XML wrapper + 17-category anonymizer. Structured JSON output only. |
| T-EXEC-003 | WASM sandbox escape Exploit wasmtime to execute native code outside sandbox | AML.T0010 | Critical | wasmtime 36.0.6 (4 CVEs patched, 0 remaining). Fuel metering 1.2B ops. 10MB memory. BLAKE3 verified. |
| T-EXEC-004 | HITL approval bypass Manipulate Slack Block Kit to trigger unapproved remediation | AML.T0043 | High | Webhook signature + unique nonce + 15min timeout + anti-replay |
| T-EXEC-005 | Command parameter injection Shell metacharacters in whitelist command parameters | AML.T0051 | High | 16 forbidden chars validated. Path traversal blocked. Forbidden targets. No shell=true ever. |
| T-EXEC-006 | Skill API lookup abuse LLM floods skill lookups to exhaust API rate limits | AML.T0031 | Medium | Max iterations per ReAct cycle. Cooldown between runs. Rate limits per skill. |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-PERSIST-001 | Persistent malicious skill Compromised skill reloaded by scheduler automatically | AML.T0010 | Critical | Docker network:none. WASM BLAKE3 verified on load. Skill disable stops immediately. |
| T-PERSIST-002 | Vector memory poisoning Inject malicious data in pgvector to bias future LLM decisions | AML.T0051 | High | Pillar IV: HMAC-SHA256 on every memory entry. Tools read-only. Tampering detected next cycle. |
| T-PERSIST-003 | Scheduler config tampering Alter cron routines to silently disable scans | AML.T0010 | Medium | Config compiled in binary. Change requires binary replacement → Soul hash mismatch → no start. |
| T-PERSIST-004 | Stolen channel token reuse Reuse stolen Slack/Telegram token for persistent HITL access | AML.T0040 | Medium | Encrypted vault (Argon2id + AES-256-GCM). Token rotation via dashboard. |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-EVADE-001 | Sigma rule evasion Adapt TTPs to avoid triggering Sigma detections | AML.T0043 | High | Sigma rules updatable. LLM correlation adds behavioral layer. ML detection planned v1.0. |
| T-EVADE-002 | Multi-stage skill payload Benign skill downloads second-stage payload post-install | AML.T0043 | High | WASM network=false. Docker network:none + read-only FS. HTTP blocked unless allowlisted in skill.json. |
| T-EVADE-003 | Anonymizer bypass via encoding Obfuscate sensitive data to bypass anonymizer before cloud LLM | AML.T0043 | Medium | 17 categories + RSSI custom rules. Base64/hex patterns planned v1.0. |
| T-EVADE-004 | Audit log tampering Modify or delete audit entries to hide actions | AML.T0043 | Medium | HMAC chain in PostgreSQL. SQL trigger prevents modification — even by DBA. |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-DISC-001 | Credential vault extraction Access API keys via compromised skill | AML.T0040 | Critical | Secrets injected at host boundary — never in WASM. Vault: Argon2id (m=64MiB, t=3) + AES-256-GCM + HKDF-SHA256. |
| T-DISC-002 | Scan data enumeration Access CVEs, secrets, dark web results in PostgreSQL | AML.T0040 | Medium | PostgreSQL Docker-internal only. No public port. |
| T-DISC-003 | Target infrastructure mapping Extract configured targets to map client infrastructure | AML.T0040 | High | API requires auth. Anonymizer strips IPs/hostnames before cloud LLM. |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-EXFIL-001 | Data exfiltration via cloud LLM Real data sent unanonymized to Mistral/Claude API | AML.T0009 | Critical | 17-category anonymizer before every cloud call. User-controlled flag. IPs→[IP-001]. Reversible locally only. |
| T-EXFIL-002 | Credential theft via skill Skill exfiltrates API keys to external endpoint | AML.T0009 | Critical | WASM: network=false + host boundary injection + leak detection. Docker: network:none + allowlist. |
| T-EXFIL-003 | Report exfiltration Unauthorized access to NIS2/ISO compliance reports | AML.T0009 | High | Reports stored locally — no cloud sync. Dashboard auth required. |
| T-EXFIL-004 | Anonymizer rules leak Extract RSSI custom patterns to understand what's considered sensitive | AML.T0009 | Medium | Rules in PostgreSQL (Docker internal). API requires auth. Only regex patterns, no actual data. |
| ID | Threat | ATLAS | Severity | Mitigation |
|---|---|---|---|---|
| T-IMPACT-001 | Unauthorized remediation Automatic remediation without RSSI approval | AML.T0031 | Critical | 4-level permissions. AUTO disabled by default. HITL for HIGH/CRITICAL. Pillar V Kill Switch: 8 triggers. |
| T-IMPACT-002 | False positive flooding Mass false positives to mask real non-compliance | AML.T0031 | Medium | Weighted scoring + history. Anomaly detection planned v1.0. |
| T-IMPACT-003 | Scheduler DoS Saturate scheduler to prevent planned scans | AML.T0031 | High | Nginx rate limit (30r/s) + Docker resource limits + cooldown |
| T-IMPACT-004 | PostgreSQL destruction Delete scan history, rules, reports via compromised access | AML.T0031 | High | HMAC audit chain prevents silent modification. Docker-internal only. Backup recommended. |