nas: eine Python-CLI ohne Abhängigkeiten + MCP-Server für Synology DSM 7. Audit und Behebung der C3RB3R / .L0CK3D-Ransomware-Kampagne mit einem einzigen Befehl; übergib sie an deinen KI-Agenten.
Prüfe ein Synology NAS mit einem einzigen Befehl gegen die C3RB3R / .L0CK3D-Ransomware-Kampagne, behebe die gefundenen Probleme mit einem zweiten Befehl und betreibe DSM anschließend weiterhin über das Terminal.
Kanonisches Repository, Releases und Issues: https://gitlab.com/aa22396584/synology-nas-cli
nas ist ein abhängigkeitsfreies Python-CLI (nur Standardbibliothek, Python 3.8+, läuft daher auch auf DSM selbst) und ein stdio-MCP-Server für die Synology DSM 7 Web API: Status, Health, Logs, Pakete, Volumes, Tailscale, DSM-Upgrades, geplante Health-Benachrichtigungen, die an einen Webhook gesendet werden, sowie ein Tool zur Incident-Prüfung und -Behebung, das während der C3RB3R / .L0CK3D-Kampagne im Oktober 2026 gegen im Internet exponierte Synology-NAS-Geräte (Synology-SA-24:20, SA-26:13, SA-26:14) entwickelt wurde.
Nicht mit Synology Inc. verbunden. „Synology", „DSM" und „QuickConnect" sind Marken von Synology Inc.
nas incident fixFüge einen der beiden Prompts in Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Grok Bot oder ein beliebiges KI-Agent-Tool mit Tool-Nutzung ein (Grok-Bot-Setup, Skills und Alert-Routine: docs/GROK-BOT.md):
Englischer Prompt:
Use https://github.com/akari-sora/synology-nas-cli to audit and fix my Synology NAS at https://192.0.2.10:5001. Follow docs/AGENT-RUNBOOK.md.
Prompt auf Traditionellem Chinesisch:
使用 https://github.com/akari-sora/synology-nas-cli 檢查並修復我的 Synology NAS(位址:https://192.0.2.10:5001),照著 docs/AGENT-RUNBOOK.md 的步驟執行。
./bin/nas --version.nas setup: Führt nas setup --json --no-input ... aus, um ~/.config/synology-nas-cli/config.json (Modus 0600) zu schreiben, meldet sich einmal an, um die Anmeldedaten zu verifizieren, und pinnt beim ersten Einsatz den SHA-256-Fingerabdruck des TLS-Zertifikats von DSM.nas doctor: Führt nas doctor --json aus, um Konfiguration, Anmeldedaten, Erreichbarkeit des Ursprungs, TLS-Pin, Anmeldung, DSM-Version gegen SA-26:13, Status der 2-Schritt-Verifizierung, Administratorfunktionen und Uhrzeitabweichung zu verifizieren.nas incident: Führt nas incident --json (und optional --probe --scan) für ein schreibgeschütztes Audit von DSM-Version, verwundbaren Paketen, Firewall, QuickConnect, UPnP-Routerregeln, öffentlichen Ports, externen und fehlgeschlagenen Anmeldungen, AutoBlock, SMB1, integriertem admin, Snapshot-Zeitplänen, der WORM-Lock-Falle bei nicht unterstützten Modellen, Erpressernotizen und Exploit-Versuchen auf CVE-2024-10441 aus.nas incident fix --dry-run --json --ransom-scan aus und zeigt jede geplante Änderung (before -> after), die genauen DSM-Web-API-Aufrufe und den entsprechenden Pfad in der DSM-Weboberfläche an.nas incident fix --yes: Wendet den genehmigten Plan in der Reihenfolge an (snapshot_worm → snapshots → packages → smb_min_protocol → quickconnect → router_port_forwarding → autoblock → admin_account → firewall, plus optional --rotate-password und --upgrade), liest jede Einstellung zur Verifikation zurück und führt das Audit erneut aus.--deep und alert-deploy: Führt nas incident --deep --json aus (ein schreibgeschützter Root-Collector über den Task Scheduler, der nur für Root zugängliche Logs, Crontabs, /bin-Binärdateien, Konten, SSH-Schlüssel und /proc prüft) sowie nas alert-deploy --json --test (10-minütige Überwachung von Zustand und Sicherheit, die an einen Webhook gesendet wird).https://192.0.2.10:5001, plus eine VPN-/Tailscale-URL, falls verwendet).op://VAULT/ITEM/password, ein Passwortbefehl oder der Schlüsselbund des Betriebssystems).192.0.2.0/24)./docker/.nas-cli-deploy, verwendet von --deep und alert-deploy).nas setup mit 3 und "field": "otp" beendet wird, geben Sie den aktuellen 6-stelligen Code an; --trust-device speichert das Trusted-Device-Token von DSM (0600), sodass nachfolgende Befehle keinen Code mehr benötigen.nas incident fix --yes ausgeführt wird (und entscheiden Sie, ob --rotate-password oder --upgrade einbezogen werden sollen).Vollständige Agent-Spezifikation: docs/AGENT-RUNBOOK.md.
nas incident ist schreibgeschützt. Jedes Element gibt PASS, WARN, FAIL oder SKIP mit einem einzeiligen Hinweis aus (--json gibt strukturiertes JSON aus; Schema in schemas/incident.schema.json). Der Exit-Status ist 1, wenn ein Element FAIL ist.