
nas: Synology DSM 7을 위한 의존성 없는 Python CLI + MCP 서버. C3RB3R / .L0CK3D 랜섬웨어 캠페인에 대한 원 명령 감사 및 수정; AI 에이전트에게 맡기세요.
단 하나의 명령으로 Synology NAS를 C3RB3R / .L0CK3D 랜섬웨어 캠페인에 대해 감사하고, 두 번째 명령으로 발견된 문제를 수정한 뒤, 이후에도 터미널에서 DSM을 계속 운영하세요.
정식 저장소, 릴리스 및 이슈: https://gitlab.com/aa22396584/synology-nas-cli
nas는 Synology DSM 7 Web API를 위한 무의존성 Python CLI(표준 라이브러리만 사용, Python 3.8+이므로 DSM 자체에서도 실행 가능)이자 stdio MCP 서버입니다: 상태, 헬스, 로그, 패키지, 볼륨, Tailscale, DSM 업그레이드, 웹훅으로 푸시되는 예약 헬스 알림, 그리고 인터넷에 노출된 Synology NAS 박스를 대상으로 한 2026년 10월 C3RB3R / .L0CK3D 캠페인 중에 만들어진 사고 감사 및 교정 도구를 제공합니다(Synology-SA-24:20, SA-26:13, SA-26:14).
Synology Inc.와 제휴 관계가 없습니다. "Synology", "DSM" 및 "QuickConnect"는 Synology Inc.의 상표입니다.
nas incident fix다음 프롬프트 중 하나를 Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Grok Bot 또는 도구를 사용하는 모든 AI 에이전트에 붙여넣으세요(Grok Bot 설정, 스킬 및 알림 루틴: docs/GROK-BOT.md):
영어 프롬프트:
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.
번체 중국어 프롬프트:
使用 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: nas setup --json --no-input ...을 실행하여 ~/.config/synology-nas-cli/config.json(모드 0600)을 작성하고, 자격 증명을 확인하기 위해 한 번 로그인하며, 최초 사용 시 DSM의 TLS 인증서 SHA-256 지문을 고정합니다.nas doctor: nas doctor --json을 실행하여 구성, 자격 증명, origin 연결 가능성, TLS 핀, 로그인, SA-26:13 대비 DSM 버전, 2단계 인증 상태, 관리자 권한, 시계 오차를 확인합니다.nas incident: nas incident --json(선택적으로 --probe --scan)을 실행하여 DSM 버전, 취약한 패키지, 방화벽, QuickConnect, UPnP 라우터 규칙, 공개 포트, 외부 및 실패한 로그인, AutoBlock, SMB1, 내장 admin, 스냅샷 일정, 지원되지 않는 모델의 WORM 잠금 함정, 랜섬 노트, CVE-2024-10441 익스플로잇 시도를 읽기 전용으로 감사합니다.nas incident fix --dry-run --json --ransom-scan을 실행하여 모든 계획된 변경(before -> after), 정확한 DSM Web API 호출, 그리고 해당하는 DSM 웹 UI 경로를 보여줍니다.nas incident fix --yes: 승인된 계획을 순서대로 적용하고(snapshot_worm → snapshots → packages → smb_min_protocol → quickconnect → router_port_forwarding → autoblock → admin_account → firewall, 선택적으로 --rotate-password 및 --upgrade 포함), 모든 설정을 다시 읽어 검증한 후 감사를 재실행합니다.--deep 및 alert-deploy: nas incident --deep --json(Task Scheduler를 통해 root 전용 로그, crontab, /bin 바이너리, 계정, SSH 키, /proc를 확인하는 읽기 전용 root 수집기 하나 실행)과 nas alert-deploy --json --test(웹훅으로 푸시되는 10분 주기의 상태 및 보안 모니터링)를 실행합니다.https://192.0.2.10:5001, 사용하는 경우 VPN/Tailscale URL 포함).op://VAULT/ITEM/password, 비밀번호 명령, 또는 OS 키체인).192.0.2.0/24)./docker/.nas-cli-deploy, --deep 및 alert-deploy에서 사용).nas setup이 "field": "otp"와 함께 종료 코드 3으로 종료되면 현재 6자리 코드를 제공하세요. --trust-device는 DSM의 신뢰할 수 있는 장치 토큰(0600)을 저장하여 이후 명령에서 코드가 필요하지 않게 합니다.nas incident fix --yes가 실행되기 전에 dry-run 계획을 검토하세요(--rotate-password 또는 --upgrade 포함 여부도 선택).전체 에이전트 사양: docs/AGENT-RUNBOOK.md.
nas incident는 읽기 전용입니다. 각 항목은 한 줄 힌트와 함께 PASS, WARN, FAIL 또는 SKIP을 출력합니다(--json은 구조화된 JSON을 출력하며, 스키마는 schemas/incident.schema.json에 있습니다). 항목 중 하나라도 FAIL이면 종료 상태는 1입니다.