Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
claude-code-devcontainer — Sandbox-Devcontainer für die sichere Ausführung von Claude Code im Bypass-Modus. Entwickelt für Sicherheitsaudits und die Überprüfung von nicht vertrauenswürdigem Code. | Kitploit
Tools/GitHubGitHub/trailofbits/claude-code-devcontainer
DefensivwerkzeugeContainer-SicherheitCode-AnalyseSicherheitsvirtualisierungDevSecOpsDienstprogramme & FrameworksLernen & Bildung
GitHubtrailofbits/claude-code-devcontainer

claude-code-devcontainer

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Sandbox-Devcontainer für die sichere Ausführung von Claude Code im Bypass-Modus. Entwickelt für Sicherheitsaudits und die Überprüfung von nicht vertrauenswürdigem Code.

Repository anzeigen
90497vor 2 MonatenVon Kitploit geprüft

Claude Code in einem Devcontainer

Eine sandbox-Entwicklungsumgebung zum sicheren Ausführen von Claude Code mit bypassPermissions. Entwickelt bei Trail of Bits für Sicherheitsaudit-Workflows.

Warum dies nutzen?

Claude mit bypassPermissions auf Ihrem Host-Computer auszuführen ist riskant – es kann ohne Bestätigung beliebige Befehle ausführen. Dieser Devcontainer bietet Dateisystem-Isolation, sodass Sie die Produktivitätsvorteile von uneingeschränktem Claude nutzen, ohne Ihr Hostsystem zu gefährden.

Konzipiert für:

  • Sicherheitsaudits: Überprüfen Sie Client-Code, ohne Ihr Hostsystem zu gefährden
  • Nicht vertrauenswürdige Repositories: Erkunden Sie unbekannte Codebasen sicher
  • Experimentelle Arbeit: Lassen Sie Claude in Isolation Code frei modifizieren
  • Multi-Repo-Engagements: Arbeiten Sie an mehreren zusammenhängenden Repositories

Voraussetzungen

  • Docker-Laufzeitumgebung (eine von):

    • Docker Desktop – stellen Sie sicher, dass es läuft
    • OrbStack
    • Colima: brew install colima docker && colima start
  • Für Terminal-Workflows (einmalige Installation):

    root@kitploit:~
    npm install -g @devcontainers/cli
    git clone https://github.com/trailofbits/claude-code-devcontainer ~/.claude-devcontainer
    ~/.claude-devcontainer/install.sh self-install
    
Colima für Apple Silicon optimieren

Colimas Standardeinstellungen (QEMU + sshfs) sind konservativ. Für eine bessere Leistung:

root@kitploit:~
# Stop and delete current VM (removes containers/images)
colima stop && colima delete

# Start with optimized settings
colima start \
  --cpu 4 \
  --memory 8 \
  --disk 100 \
  --vm-type vz \
  --vz-rosetta \
  --mount-type virtiofs

Passen Sie --cpu und --memory je nach Ihrem Mac an (z. B. 6/16 für Pro, 8/32 für Max).

Schnellstart

Wählen Sie das Muster, das zu Ihrem Workflow passt:

Muster A: Container pro Projekt (Isoliert)

Jedes Projekt erhält einen eigenen Container mit unabhängigen Volumes. Am besten geeignet für einmalige Überprüfungen, nicht vertrauenswürdige Repos oder wenn Sie Isolation zwischen Projekten benötigen.

Terminal:

root@kitploit:~
git clone <untrusted-repo>
cd untrusted-repo
devc .          # Installs template + starts container
devc shell      # Opens shell in container

VS Code / Cursor:

  1. Installieren Sie die Dev Containers-Erweiterung:

    • VS Code: ms-vscode-remote.remote-containers
    • Cursor: anysphere.remote-containers
  2. Richten Sie den Devcontainer ein (wählen Sie eine Option):

    root@kitploit:~
    # Option A: Use devc (recommended)
    devc .
    
    # Option B: Clone manually
    git clone https://github.com/trailofbits/claude-code-devcontainer .devcontainer/
    
  3. Öffnen Sie Ihren Projektordner in VS Code, dann:

    • Drücken Sie Cmd+Shift+P (Mac) oder Ctrl+Shift+P (Windows/Linux)
    • Geben Sie "Reopen in Container" ein und wählen Sie Dev Containers: Reopen in Container

Muster B: Gemeinsamer Workspace-Container (Gruppiert)

Ein übergeordnetes Verzeichnis enthält die Devcontainer-Konfiguration, und Sie klonen mehrere Repos darin. Gemeinsame Volumes über alle Repos hinweg. Am besten geeignet für Kunden-Engagements, zusammenhängende Repositories oder laufende Arbeiten.

root@kitploit:~
# Create workspace for a client engagement
mkdir -p ~/sandbox/client-name
cd ~/sandbox/client-name
devc .          # Install template + start container
devc shell      # Opens shell in container

# Inside container:
git clone <client-repo-1>
git clone <client-repo-2>
cd client-repo-1
claude          # Ready to work

Token-basierte Authentifizierung (Headless)

Für headless-Server oder zum Überspringen des interaktiven Login-Assistenten:

root@kitploit:~
claude setup-token                          # run on host, one-time
export CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-...
devc rebuild                                # rebuilds with token

Das Token wird in den Container weitergeleitet. Bei jeder Containererstellung führt post_install.py einen einmaligen Authentifizierungs-Handshake durch, sodass claude ohne den Login-Assistenten startet.

Dies umgeht den interaktiven Onboarding-Assistenten von Claude Code, der in Containern immer angezeigt wird, selbst mit gültigen Anmeldeinformationen (#8938).

Wenn Sie kein Token setzen, funktioniert der interaktive Login-Ablauf wie zuvor.

CLI-Hilfebefehle

root@kitploit:~
devc .              Vorlage installieren + Container im aktuellen Verzeichnis starten
devc up             Devcontainer starten
devc rebuild        Container neu erstellen (behält persistente Volumes)
devc destroy [-f]   Container, Volumes und Image für aktuelles Projekt entfernen
devc down           Container anhalten
devc shell          zsh-Shell im Container öffnen
devc exec CMD       Befehl im Container ausführen
devc upgrade        Claude Code im Container aktualisieren
devc mount SRC DST  Bind-Mount hinzufügen (Host → Container)
devc sync [NAME]    Claude Code-Sitzungen von Devcontainern auf den Host synchronisieren
devc template DIR   Devcontainer-Dateien in Verzeichnis kopieren
devc self-install   devc nach ~/.local/bin installieren

Hinweis: Verwenden Sie devc destroy, um die Docker-Ressourcen eines Projekts zu bereinigen. Das manuelle Entfernen von Containern (z. B. docker rm) hinterlässt verwaiste Volumes und Images, die devc destroy nicht finden kann.

Sitzungssynchronisation für /insights

Der Befehl /insights von Claude Code analysiert Ihren Sitzungsverlauf, liest aber nur von ~/.claude/projects/ auf dem Host. Sitzungen in Devcontainer-Volumes sind für ihn unsichtbar.

devc sync kopiert Sitzungsprotokolle von allen Devcontainern (laufende und gestoppte) auf den Host, sodass /insights sie einbeziehen kann:

root@kitploit:~
devc sync              # Sync all devcontainers
devc sync crypto       # Filter by project name (substring match)

Devcontainer werden automatisch über Docker-Labels erkannt – es ist nicht nötig, Containernamen oder -IDs zu kennen. Die Synchronisation ist inkrementell, daher kann sie wiederholt ausgeführt werden.

Dateifreigabe

VS Code / Cursor

Ziehen Sie Dateien von Ihrem Host in das VS Code Explorer-Panel – sie werden automatisch in /workspace/ kopiert. Keine Konfiguration erforderlich.

Terminal: devc mount

Um ein Host-Verzeichnis im Container verfügbar zu machen:

root@kitploit:~
devc mount ~/drop /drop           # Read-write
devc mount ~/secrets /secrets --readonly

Dies fügt einen Bind-Mount zu devcontainer.json hinzu und erstellt den Container neu. Vorhandene Mounts bleiben bei devc template-Aktualisierungen erhalten.

Tipp: Ein gemeinsamer "Drop-Ordner" ist nützlich, um Dateien zu übergeben, ohne Ihr gesamtes Home-Verzeichnis zu mounten.

Sicherheitshinweis: Vermeiden Sie das Mounten großer Host-Verzeichnisse (z. B. $HOME). Jeder gemountete Pfad ist von innen schreibbar, es sei denn, --readonly ist angegeben, was die Dateisystem-Isolation untergräbt, die dieses Projekt bietet.

Netzwerkisolation

Standardmäßig haben Container vollen ausgehenden Netzwerkzugriff. Für strengere Sicherheit verwenden Sie iptables, um den Netzwerkzugriff einzuschränken.

Wann Netzwerkisolation aktivieren

  • Überprüfen von Code, der bösartige Abhängigkeiten enthalten könnte
  • Auditieren von Software mit Telemetrie- oder Phone-Home-Verhalten
  • Maximale Isolation für hochsensible Überprüfungen

Beispiel: Claude + GitHub + Paketregistries

root@kitploit:~
sudo iptables -A OUTPUT -d api.anthropic.com -j ACCEPT
sudo iptables -A OUTPUT -d github.com -j ACCEPT
sudo iptables -A OUTPUT -d raw.githubusercontent.com -j ACCEPT
sudo iptables -A OUTPUT -d registry.npmjs.org -j ACCEPT
sudo iptables -A OUTPUT -d pypi.org -j ACCEPT
sudo iptables -A OUTPUT -d files.pythonhosted.org -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A OUTPUT -j DROP

Kompromisse

  • Blockiert Paketmanager, es sei denn, Sie setzen Registries auf die Whitelist
  • Kann Tools beeinträchtigen, die Netzwerkzugriff benötigen
  • DNS-Auflösung funktioniert weiterhin (in Erwägung ziehen, zu blockieren, wenn paranoid)

Bedrohungsmodell

Die primäre Bedrohung, die dieses Projekt adressiert, ist Claude Code, das beliebige Befehle auf Ihrem Host-Computer ausführt. Wenn bypassPermissions aktiviert ist, führt Claude Shell-Befehle aus, installiert Pakete und modifiziert Dateien ohne Bestätigung. Auf einem Host-Computer bedeutet dies, dass es Ihre Shell-Konfiguration ändern, außerhalb des Projektverzeichnisses rm -rf ausführen oder lokal gespeicherte Anmeldeinformationen missbrauchen kann. Der Devcontainer schränkt all dies auf einen wegwerfbaren Container ein, in dem der Explosionsradius auf /workspace begrenzt ist.

Der Container enthält gängige Entwicklungswerkzeuge, sodass Sie die gesamte Entwicklungsarbeit darin erledigen können – nicht nur Claude ausführen. Der beabsichtigte Workflow ist: Repository klonen, Devcontainer starten und vollständig darin arbeiten. Wenn Ihr Projekt zusätzliche Laufzeiten oder Tools erfordert, die nicht enthalten sind, fügen Sie sie entweder dem Dockerfile für wiederholte Nutzung hinzu oder installieren Sie sie ad-hoc mit devc exec.

Für die spezifischen Grenzen dessen, was isoliert ist und was nicht, siehe Security Model unten. Eine Nuance, die erwähnenswert ist: Die Devcontainer-Laufzeitumgebung leitet automatisch den SSH-Agent-Socket (SSH_AUTH_SOCK) Ihres Hosts in den Container. Dadurch kann Code im Container sich über SSH als Sie authentifizieren (z. B. git push), aber das eigentliche private Schlüsselmaterial bleibt auf dem Host und wird dem Container nie ausgesetzt.

Sicherheitsmodell

Dieser Devcontainer bietet Dateisystem-Isolation, aber kein vollständiges Sandboxing.

Sandboxed: Dateisystem (Host-Dateien nicht zugänglich), Prozesse (vom Host isoliert), Paketinstallationen (bleiben im Container)

Nicht sandboxed: Netzwerk (standardmäßig voll ausgehend – siehe Network Isolation), Git-Identität (~/.gitconfig schreibgeschützt gemountet), SSH-Agent (Socket weitergeleitet, Schlüssel bleiben auf dem Host), Docker-Socket (standardmäßig nicht gemountet)

Der Container konfiguriert automatisch den bypassPermissions-Modus – Claude führt Befehle ohne Bestätigung aus. Dies wäre auf einem Host-Computer riskant, aber der Container selbst ist die Sandbox.

Container-Details

Volumes werden außerhalb des Containers gespeichert, sodass Ihr Shell-Verlauf, Claude-Einstellungen und gh-Login auch nach devc rebuild erhalten bleiben. Das Host-~/.gitconfig ist für die Git-Identität schreibgeschützt gemountet.

Fehlerbehebung

"devcontainer CLI nicht gefunden"

root@kitploit:~
npm install -g @devcontainers/cli

Container startet nicht

  1. Überprüfen Sie, ob Docker läuft
  2. Versuchen Sie neu zu erstellen: devc rebuild
  3. Überprüfen Sie die Logs: docker logs $(docker ps -lq)

GitHub CLI-Authentifizierung bleibt nicht erhalten

Das gh-Volume benötigt möglicherweise eine Besitzerkorrektur:

root@kitploit:~
sudo chown -R $(id -u):$(id -g) ~/.config/gh

Python/uv funktioniert nicht

Python wird über uv verwaltet:

root@kitploit:~
uv run script.py              # Run a script
uv add package                # Add project dependency
uv run --with requests py.py  # Ad-hoc dependency

Entwicklung

Image manuell erstellen:

root@kitploit:~
devcontainer build --workspace-folder .

Container testen:

root@kitploit:~
devcontainer up --workspace-folder .
devcontainer exec --workspace-folder . zsh
Tool herunterladen
OptionVorteil
--vm-type vzApple Virtualization.framework (schneller als QEMU)
--mount-type virtiofs5-10x schnellerer Datei-I/O als sshfs
--vz-rosettax86-Container via Rosetta ausführen

Überprüfen Sie mit colima status – es sollte "macOS Virtualization.Framework" und "virtiofs" anzeigen.

KomponenteDetails
BasisUbuntu 24.04, Node.js 22, Python 3.13 + uv, zsh
Benutzervscode (passwortloses sudo), Arbeitsverzeichnis /workspace
Toolsrg, fd, tmux, fzf, delta, iptables, ipset
Volumes (überstehen Neuerstellungen)Befehlsverlauf (/commandhistory), Claude-Konfiguration (~/.claude), GitHub CLI-Authentifizierung (~/.config/gh)
Host-Mounts~/.gitconfig (schreibgeschützt), .devcontainer/ (schreibgeschützt)
Automatisch konfiguriertanthropics + trailofbits Fähigkeiten, git-delta