Blog
Sicherheits-Best-Practices für Remote-KI-Programmierung
Wenn ein KI-Agent Schreibzugriff auf Ihre Codebasis hat und Sie ihn über ein Netzwerk steuern, sind Sicherheitsentscheidungen wichtig. So treffen Sie die richtigen.
Weitere Produkt- und Engineering-Updates aus dieser Kategorie.
Kategorie öffnenEinen KI-Coding-Agenten remote zu betreiben, bringt Sicherheitsaspekte mit sich, die nicht existieren, wenn Sie an Ihrem Schreibtisch sitzen. Der Agent hat Zugriff auf Ihre Codebasis, kann Befehle ausführen und Dateien ändern. Der Netzwerkpfad zwischen Ihrem Telefon und Ihrem Mac durchquert möglicherweise nicht vertrauenswürdiges Gebiet.
Das ist kein Grund, Remote-KI-Programmierung zu vermeiden. Es ist ein Grund, das Bedrohungsmodell zu verstehen und informierte Entscheidungen zu treffen. Die meisten Risiken sind mit unkomplizierten Maßnahmen beherrschbar.
Das Bedrohungsmodell
Bevor wir zu den Gegenmaßnahmen kommen, verstehen Sie, was Sie schützen:
Schützenswerte Werte:
- Ihr Quellcode (geistiges Eigentum, Geheimnisse in Konfigurationsdateien)
- Ihre Entwicklungsumgebung (Fähigkeit, Befehle auszuführen)
- Ihre Git-Zugangsdaten und SSH-Schlüssel auf dem Mac
- API-Schlüssel für Services, die Ihr Code nutzt
Bedrohungsakteure:
- Opportunistische Angreifer, die das Internet nach exponierten Services scannen
- Netzwerk-Lauscher in geteiltem WiFi
- Jemand, der Ihr Telefon findet oder stiehlt
- Supply-Chain-Angriffe auf die verwendeten Tools
Angriffsflächen:
- Netzwerkverbindung zwischen Telefon und Mac
- Authentifizierungsmechanismus
- Die Berechtigungen des KI-Agenten auf Ihrem Dateisystem
- Der Serverprozess auf Ihrem Mac
Schicht 1: Netzwerksicherheit
Verschlüsselte Verbindungen verwenden
LAN-Modus (ws://): Datenverkehr ist unverschlüsselt. Das ist auf Ihrem Heim-WiFi akzeptabel, weil der Datenverkehr nie Ihr lokales Netzwerk verlässt. Auf geteilten oder öffentlichen Netzwerken ist es nicht akzeptabel.
Cloudflare Tunnel (wss://): Datenverkehr ist mit TLS verschlüsselt. Nutzen Sie dies für jede Verbindung, die über das Internet geht. Der Tunnel verschlüsselt zwischen Ihrem Telefon und Cloudflares Edge sowie zwischen Cloudflare und Ihrem Mac.
Faustregel: Wenn Sie in einem Netzwerk sind, das Sie kontrollieren (Zuhause, Büro), ist der LAN-Modus in Ordnung. Überall sonst: Cloudflare Tunnel verwenden.
Keine rohen Ports exponieren
Leiten Sie niemals Port 8765 (oder irgendeinen Port) an Ihrem Router zu Ihrem Mac für TacticRemote-Zugriff weiter. Das exponiert Ihren Server direkt im Internet ohne Zwischenschutz.
Cloudflare Tunnel vermeidet das komplett — der Mac initiiert eine ausgehende Verbindung zu Cloudflare. Keine eingehenden Ports nötig.
Die Mac App enthält eine Firewall-Erkennung, die Sie über die Firewall-Konfiguration warnt. Halten Sie die Firewall Ihres Mac aktiviert mit Stealth-Modus.
Schicht 2: Authentifizierung
API-Schlüssel-Konfiguration
Tactic Remote verwendet API-Schlüssel-Authentifizierung für WebSocket-Verbindungen:
- LAN-Verbindungen: API-Schlüssel ist optional. Ihr lokales Netzwerk fungiert als Vertrauensgrenze.
- Cloudflare Tunnel-Verbindungen: API-Schlüssel ist erforderlich. Der Server lehnt nicht authentifizierte Verbindungen ab.
Der API-Schlüssel wird beim WebSocket-Handshake über den Sec-WebSocket-Protocol-Header übertragen. Über wss:// ist dies verschlüsselt.
API-Schlüssel-Best-Practices
- Den generierten Schlüssel verwenden. Die Mac App generiert einen zufälligen 32-Zeichen-Schlüssel. Das ist stärker als jedes Passwort, das Sie manuell wählen würden.
- Sicher übertragen. Nutzen Sie die QR-Code-Funktion, um den Schlüssel persönlich auf Ihr iPhone zu übertragen. Nicht per E-Mail, Slack oder SMS senden.
- Regelmäßig rotieren. Wenn Sie vermuten, dass der Schlüssel kompromittiert sein könnte, generieren Sie einen neuen in der Mac App und aktualisieren Sie Ihr iPhone.
- Nicht wiederverwenden. Nutzen Sie Ihren Tactic Remote API-Schlüssel nicht für andere Services. Es ist eine Einzelzweck-Zugangsberechtigung.
Rate Limiting
Der Server enthält Rate-Limiting-Middleware, die wiederholte fehlgeschlagene Authentifizierungsversuche verlangsamt. Das schützt gegen Brute-Force-Angriffe auf den API-Schlüssel. Bei einem zufälligen 32-Zeichen-Schlüssel ist Brute Force rechnerisch nicht machbar, aber Rate Limiting bietet zusätzliche Verteidigungstiefe.
Schicht 3: Zugriffskontrolle
Pfad-Einschränkungen
Tactic Remote unterstützt die Umgebungsvariable CLAUDE_REMOTE_ALLOWED_PATH, die einschränkt, auf welche Verzeichnisse Claude Code zugreifen kann. Setzen Sie diese auf Ihr Code-Verzeichnis:
Ohne diese Einstellung hat Claude Code Zugriff auf Ihr gesamtes Home-Verzeichnis (Standardverhalten). Pfad-Einschränkung begrenzt den Schadensradius, wenn etwas schiefgeht.
Claude Code-Berechtigungen
Claude Code selbst hat ein Berechtigungssystem. Zwei Modi sind in Tactic Remote verfügbar:
- Standardmodus:
claude— Claude Code fragt vor riskanten Operationen nach Genehmigung (Dateilöschung, unbekannte Befehle ausführen) - Berechtigungen-überspringen-Modus:
claude --dangerously-skip-permissions— Claude Code führt ohne Nachfrage aus. Schneller, aber ohne Sicherheitsnetz.
Empfehlung für Remote-Nutzung: Verwenden Sie immer den Standardmodus. Die Genehmigungsabfragen sind besonders wertvoll, wenn Sie remote arbeiten, weil Sie vorgeschlagene Aktionen vom Telefon prüfen und mit Y/N bestätigen können. Berechtigungen zu überspringen bedeutet, Claude kann alles ohne Ihr Wissen tun — gefährlich, wenn Sie nicht zusehen.
Server-seitige Validierung
Der TacticRemote-Server validiert alle eingehenden Befehle. Das lib/validators.js-Modul prüft:
- Korrektheit des Befehlsformats
- Pfad-Traversal-Versuche
- Eingabelängen-Limits
Das lib/execSafe.js-Modul umhüllt die Befehlsausführung mit Sicherheitsprüfungen. Diese ersetzen nicht Claude Codes eigene Berechtigungen, fügen aber eine Verteidigungsschicht auf Server-Ebene hinzu.
Schicht 4: Physische und Gerätesicherheit
Mac-Sicherheit
Ihr Mac ist die Ausführungsmaschine. Wenn jemand physischen Zugang erhält:
- Kann er auf Ihren gesamten Code zugreifen
- Kann er Claude Code direkt steuern
- Kann er den API-Schlüssel aus der Mac App auslesen
Gegenmaßnahmen:
- FileVault aktivieren (vollständige Festplattenverschlüsselung)
- Ein starkes Anmeldepasswort verwenden
- Automatische Bildschirmsperre aktivieren (5 Minuten oder weniger)
- Wenn der Server läuft, während Sie nicht am Mac sind: Stellen Sie sicher, dass der Mac an einem physisch sicheren Ort steht
iPhone-Sicherheit
Ihr iPhone ist die Steuerfläche. Wenn jemand Zugang zu Ihrem entsperrten Telefon erhält:
- Kann er Befehle über Tactic Remote an Ihren Mac senden
- Kann er Ihre Verbindungseinstellungen einschließlich API-Schlüssel lesen
Gegenmaßnahmen:
- Face ID oder einen starken Passcode aktivieren
- iOS aktuell halten
- Telefon nicht entsperrt und unbeaufsichtigt liegen lassen
Schicht 5: Operative Sicherheit
Was nicht in Ihre Prompts gehört
Wenn Sie Claude Code vom Telefon Anweisungen senden, denken Sie daran, dass Ihre Prompts Teil des Gesprächskontexts werden. Fügen Sie nicht ein:
- Passwörter oder API-Schlüssel in Prompts („Verwende den API-Schlüssel abc123 für...")
- Datenbank-Zugangsdaten
- Persönliche Informationen über Benutzer oder Kunden
Referenzieren Sie stattdessen Geheimnisse über Umgebungsvariablen-Namen: „Verwende den API-Schlüssel aus der Umgebungsvariable STRIPE_SECRET_KEY."
Vor dem Genehmigen prüfen
Wenn Claude Code um Genehmigung bittet (der Y/N-Prompt), lesen Sie, was es tun möchte, bevor Sie Y tippen. Das ist besonders wichtig bei Remote-Arbeit, weil Sie möglicherweise abgelenkt sind. Häufige Genehmigungsanfragen:
- Dateilöschung
- Shell-Befehle ausführen
- Pakete installieren
- Konfigurationsdateien ändern
Eine kurze Prüfung dauert Sekunden und verhindert unbeabsichtigte Aktionen.
Event-Log überwachen
Die Mac App führt ein Event-Log aller Hook-Events. Prüfen Sie es regelmäßig, um zu verifizieren, dass nur Ihre Sessions und Befehle erscheinen. Unerwartete Aktivität könnte auf unbefugten Zugriff hindeuten.
Bedrohungsszenarien und Reaktionen
Szenario: Verlorenes oder gestohlenes Telefon
Risiko: Angreifer greift auf Tactic Remote mit Ihren gespeicherten Verbindungseinstellungen zu.
Reaktion:
- Von Ihrem Mac aus sofort einen neuen API-Schlüssel generieren (macht den alten ungültig)
- Optional den Server stoppen, bis die Situation geklärt ist
- Das Telefon fernlöschen, wenn Sie es nicht zurückbekommen können
Szenario: API-Schlüssel geleakt
Risiko: Jemand hat Ihre Tunnel-URL und den API-Schlüssel.
Reaktion:
- Neuen API-Schlüssel in der Mac App generieren
- Wenn auch die Tunnel-URL exponiert wurde, cloudflared neu starten (erhält eine neue zufällige URL)
- Event-Log auf unbefugte Session-Aktivität prüfen
- Aktuelle Git-History auf unerwartete Commits prüfen
Szenario: Nicht vertrauenswürdiges WiFi-Netzwerk
Risiko: Netzwerk-Lauschangriffe, Man-in-the-Middle-Angriffe.
Reaktion: Das wird per Design gehandhabt. Cloudflare Tunnel nutzt TLS, der Datenverkehr ist verschlüsselt. Selbst in einem kompromittierten Netzwerk sehen Angreifer verschlüsselte WebSocket-Frames, nicht Ihren Terminal-Inhalt.
Szenario: Claude Code macht unbeabsichtigte Änderungen
Risiko: KI-Agent ändert etwas, das Sie nicht erwartet haben.
Reaktion:
Ctrl+Cvom Telefon senden, um Claude zu unterbrechen- Änderungen prüfen:
git diffin der Session - Bei Bedarf zurücksetzen:
git checkout .odergit reset - Dafür gibt es Git-Versionskontrolle — sie ist Ihr Sicherheitsnetz
Sicherheits-Checkliste
Vor dem Remote-Gehen:
- Cloudflare Tunnel für Internetzugang aktiviert
- API-Schlüssel gesetzt (32+ Zeichen, zufälliger String)
- API-Schlüssel per QR-Code übertragen (nicht über das Internet)
- Mac-Firewall aktiviert
- Mac FileVault aktiviert
- Mac auf automatische Sperre eingestellt
- iPhone Passcode/Face ID aktiviert
- Claude Code im Standardmodus (nicht
--dangerously-skip-permissions) -
CLAUDE_REMOTE_ALLOWED_PATHgesetzt zur Einschränkung des Dateisystemzugriffs - Aktueller Git-Commit als Wiederherstellungspunkt vor Arbeitsbeginn
Tactic Remote ausprobieren
Coding-Agenten vom Smartphone aus steuern
Verbinde dich mit Claude Code, Codex und anderen Agenten auf deinem Mac-, Windows- oder Linux-Rechner. Prüfe den Fortschritt und sende die nächste Anweisung vom iPhone oder iPad.