- Startseite
- Entwicklungscontainer
- Sicherheit
Sicherheit
Hintergrund
Abschnitt betitelt „Hintergrund“Im Februar 2025 veröffentlichte LayerX Security Research eine kritische Zero-Click-Schwachstelle für Remote-Code-Ausführung im Extensions-Framework (DXT) von Anthropics Claude Desktop. Extensions laufen ohne Sandbox mit vollen Systemberechtigungen und fungieren als Ausführungsbrücken zwischen dem Sprachmodell und dem lokalen Betriebssystem.
Viele IT-Sicherheitsteams in Unternehmen verlangen mittlerweile, dass KI-Coding-Tools nur in dedizierten virtuellen Maschinen, Containern oder Wegwerfumgebungen ausgeführt werden — nicht direkt auf Unternehmensendgeräten.
Dieser Devcontainer erfüllt diese Anforderung.
Isolationsmodell
Abschnitt betitelt „Isolationsmodell“+------------------------------------------------+| Host-Rechner (Unternehmensendgerät) || || - Keine KI-Tool-Binärdateien installiert || - Keine KI-Tool-Extensions oder Plugins || - Nur Docker wird benötigt || || +------------------------------------------+ || | Docker-Container (isoliert) | || | | || | KI-Tools laufen hier: | || | - Claude Code CLI | || | - Codex | || | | || | Kein Zugriff auf: | || | x Host-Dateisystem | || | x Host-Schlüsselbund / Anmeldedaten | || | x Host-Zwischenablage | || | x Host-Netzwerkschnittstellen | || | x Andere Host-Anwendungen | || +------------------------------------------+ |+------------------------------------------------+Sicherheitskontrollen
Abschnitt betitelt „Sicherheitskontrollen“Keine Host-Volume-Mounts
Abschnitt betitelt „Keine Host-Volume-Mounts“Alle Daten befinden sich in benannten Docker-Volumes — nicht in bind-gemounteten Host-Verzeichnissen. Eine Kompromittierung innerhalb des Containers kann nicht auf Dateien auf Ihrem Host-Rechner zugreifen. Siehe Konfiguration — Datenpersistenz für Details zu den Volumes.
Keine gemeinsamen Anmeldedatenspeicher
Abschnitt betitelt „Keine gemeinsamen Anmeldedatenspeicher“Der Container hat keinen Zugriff auf den macOS-Schlüsselbund, den Windows-Anmeldeinformationsspeicher, Browser-Profile oder den SSH-Agent des Hosts. SSH-Schlüssel werden beim Start über eine base64-kodierte Umgebungsvariable injiziert und existieren nur innerhalb des Containers.
Keine Zwischenablage-Synchronisierung
Abschnitt betitelt „Keine Zwischenablage-Synchronisierung“Docker-Container teilen den Zwischenablage-Status nicht mit dem Host. Daten können nicht durch Kopieren/Einfügen abfließen.
Netzwerkisolation
Abschnitt betitelt „Netzwerkisolation“Der Container kommuniziert mit der Außenwelt in einem von zwei unterstützten Authentifizierungsmodi:
- LiteLLM-Proxy-Modus — ausgehendes HTTPS zu Ihrem LiteLLM-Proxy über Dockers NAT.
- OAuth-Modus — ausgehendes HTTPS direkt zu Anthropic über Dockers NAT.
Der Container hat keinen Zugriff auf VPN-Tunnel, Unternehmensnetzwerkschnittstellen oder andere Dienste auf dem Host.
Kurzlebig durch Design
Abschnitt betitelt „Kurzlebig durch Design“Die gesamte Umgebung kann in Sekunden zerstört und neu erstellt werden. Behandeln Sie den Container als Wegwerfprodukt.
docker compose down -vdocker compose pull && docker compose up -dpodman-compose down -vpodman-compose pull && podman-compose up -dReine CLI-Tools
Abschnitt betitelt „Reine CLI-Tools“Diese Umgebung führt KI-Tools ausschließlich als Kommandozeilenschnittstellen aus. Keine Desktop-Anwendungen, keine Browser-Extensions, keine DXT-Frameworks. Die Schwachstelle, die dieses Isolationsmodell veranlasst hat, betrifft die CLI-Nutzung innerhalb eines Containers nicht.
Container-Härtung
Abschnitt betitelt „Container-Härtung“Die docker-compose.yml wendet mehrere Defense-in-Depth-Maßnahmen an:
- Capability-Dropping — Alle Linux-Capabilities werden entfernt (
cap_drop: ALL), dann wird nur die minimale Menge wieder hinzugefügt:CHOWN,DAC_OVERRIDE,FOWNER(für Volume-Berechtigungskorrekturen im Entrypoint),SETUID/SETGID(für sudo),NET_RAW(für ping/tcpdump) undNET_ADMIN(für Paketerfassungstools wie Wireshark und bettercap). - Ressourcenlimits — CPU (4 Kerne), Arbeitsspeicher (8 GB) und PID-Anzahl (4096) werden über
mem_limit,cpusundpids_limitbegrenzt, um Ressourcenerschöpfungsangriffe zu verhindern. - tmpfs für
/tmp— Das/tmp-Verzeichnis wird als 256 MB tmpfs gemountet, wodurch temporäre Dateien im Arbeitsspeicher gehalten werden und nicht in die beschreibbare Schicht des Containers persistiert werden. - TLS-Validierung standardmäßig aktiviert —
NODE_TLS_REJECT_UNAUTHORIZEDist nicht gesetzt, sodass Node.js TLS-Zertifikate standardmäßig validiert. Benutzer, die selbstsignierte Zertifikate akzeptieren müssen (z. B. für einen internen Proxy), können dies aktivieren, indem sieNODE_TLS_REJECT_UNAUTHORIZED=0zu ihrer.env-Datei hinzufügen. - SSH-Schlüssel-umask — SSH-Privatschlüssel werden mit
umask 077geschrieben, sodass die Datei niemals weltlesbar ist — auch nicht kurzzeitig — zwischen Erstellung und demchmod-Aufruf.
Sicherheits- und Penetrationstest-Tools
Abschnitt betitelt „Sicherheits- und Penetrationstest-Tools“Der Container enthält etwa 80 vorinstallierte Sicherheits- und Penetrationstest-Tools für autorisierte Testszenarien. Die Tools sind nach Kategorien organisiert:
| Kategorie | Tools (Beispiele) |
|---|---|
| Netzwerkanalyse | tshark, wireshark, masscan, hping3, bettercap (amd64), netdiscover |
| Web-Scanner | nikto, sqlmap, dirb, whatweb, sslscan, OWASP ZAP, dalfox, feroxbuster |
| Passwort und Authentifizierung | hydra, john, hashcat, medusa, ncrack |
| Reverse Engineering | radare2, Ghidra, gdb, binwalk, strace, ltrace |
| Aufklärung | subfinder, amass, httpx, nuclei, gau, waybackurls, recon-ng, spiderfoot |
| Fuzzing und Enumeration | ffuf, gobuster, SecLists |
| Lieferkette und Geheimnisse | trufflehog, grype, syft, gitleaks, trivy |
| Exploitation-Frameworks | Metasploit (amd64), searchsploit (ExploitDB) |
Einige Tools (bettercap, Metasploit) sind aufgrund von Einschränkungen bei der Upstream-Paketierung nur auf amd64 verfügbar. Paketerfassungstools (tshark, bettercap) benötigen die NET_ADMIN-Capability, die in der Standard-docker-compose.yml enthalten ist.
Für die vollständige Liste führen Sie claude-self-test innerhalb des Containers aus (Abschnitt 7 prüft alle Sicherheitstools).
Compliance-Checkliste
Abschnitt betitelt „Compliance-Checkliste“| Anforderung | Status |
|---|---|
| KI-Tools nicht auf dem Host-Endgerät installiert | Ja |
| Läuft in isolierter VM oder Container | Ja |
| Kein Zugriff auf Host-Dateifreigaben | Ja |
| Keine Zwischenablage-Synchronisierung | Ja |
| Keine gemeinsamen Anmeldedatenspeicher | Ja |
| Kein VPN-Split-Tunneling in Produktionsnetzwerke | Ja |
| Umgebung ist wegwerfbar | Ja |
| Keine Desktop-Extensions oder Plugins | Ja |
| Linux-Capabilities entfernt (Least-Privilege) | Ja |
| Ressourcenlimits durchgesetzt (CPU/Arbeitsspeicher/PIDs) | Ja |
| TLS-Zertifikatvalidierung standardmäßig aktiviert | Ja |
| Interne Dienste nur an localhost gebunden | Ja |
Best Practices
Abschnitt betitelt „Best Practices“- Installieren Sie keine KI-Coding-Tools auf Ihrem Host-Rechner. Verwenden Sie stattdessen diesen Container.
- Fügen Sie keine Bind-Mounts zur
docker-compose.ymlhinzu. Die Named-Volume-Konfiguration ist beabsichtigt. - Rotieren Sie SSH-Schlüssel, die innerhalb des Containers verwendet werden, regelmäßig.
- Überprüfen Sie
.envvor dem Teilen. Sie enthält API-Schlüssel und kann SSH-Privatschlüssel enthalten. - Aktualisieren Sie regelmäßig, um Sicherheitspatches zu erhalten:
docker compose pull && docker compose up -dpodman-compose pull && podman-compose up -d