Hinweis
Cloud- und lokale Sandboxes für GitHub Copilot sind in Öffentliche Vorschau und können sich ändern.
Introduction
Copilot Cloud- und lokale Sandboxes sind die Plattform für sichere, isolierte Umgebungen für GitHub Copilot CLI und die GitHub Copilot app. Da Copilot immer mehr Aktionen in Ihrem Namen übernimmt – Tools ausführt, Befehle ausführt und Dateien ändert –, bietet Sandboxing die Isolierung, Portabilität und Richtliniensteuerung, die erforderlich sind, um agentische Workflows sicher einzuführen.
Sandboxing ist sowohl in GitHub Copilot CLI als auch in der GitHub Copilot app verfügbar, aber die beiden Oberflächen stellen es unterschiedlich bereit:
- In Copilot CLI, Sie steuern sowohl lokale als auch Cloud-Sandboxing mit den befehlen und Einstellungen, die in diesem Artikel beschrieben werden.
- Im GitHub Copilot app können Sie eine Sitzung in einer Cloud-Sandbox ausführen oder lokales Sandboxing für lokale Repository- und Working-Tree-Sitzungen verwenden. Die Projekteinstellungen legen die Standardeinstellung für neue lokale Sitzungen fest, und Sie können die Sandbox-Einstellungen für eine aktive lokale Sitzung ändern. Weitere Informationen findest du unter Arbeiten mit Agent-Sitzungen in der GitHub-Copilot-App.
Lokale Sandbox-Einstellungen werden in Copilot CLI und GitHub Copilot app separat konfiguriert. Das Aktivieren oder Konfigurieren der lokalen Sandbox in einer Oberfläche hat keine Auswirkungen darauf, wie sie in der anderen Oberfläche konfiguriert ist.
Mit einer Sandbox können Sie auswählen, wo Copilot ausgeführt werden soll:
- Lokales Sandboxing: Führen Sie Copilot sicher auf Ihrem eigenen Computer aus. Die ausgeführten Copilot Befehle haben eingeschränkten Zugriff auf Ihre Dateisystem-, Netzwerk- und Systemfunktionen. Sie können die lokale Sandbox ohne zusätzliche Kosten verwenden.
- Cloud-Sandboxing: Führen Sie eine gesamte Copilot-Sitzung remote in einer vollständig isolierten, ephemeren Linux-Umgebung aus, die von GitHub gehostet wird. Cloud-Sandboxing wird basierend auf der Nutzung in Rechnung gestellt.
Lokales Sandboxing
Hinweis
- In Copilot CLI ist lokales Sandboxing derzeit eine experimentelle Funktion. Um sie zu verwenden, starten Sie die CLI mit der
‑‑experimentalBefehlszeilenoption, oder geben Sie/experimental onwährend einer Sitzung ein. - In der GitHub Copilot app befindet sich die lokale Sandbox-Isolierung in Öffentliche Vorschau und kann sich ändern.
Lokales Sandboxing ermöglicht es, Copilot direkt auf Ihrem Computer in einer Sandbox-Umgebung auszuführen, mit eingeschränktem Zugriff auf Ihr Dateisystem, Netzwerkverbindungen und Systemfunktionen. Sie können die lokale Sandbox in Copilot CLI oder in der GitHub Copilot app konfigurieren.
Die lokale Sandkastenfunktion ist standardmäßig deaktiviert. Bis Sie dies aktivieren, werden die von Copilot ausgeführten Shell-Befehle direkt auf Ihrem Rechner mit denselben Zugriffsrechten wie Ihr Benutzerkonto ausgeführt: Sie können überall dort lesen, schreiben und löschen, wo auch Sie es können, auf jedes Netzwerk zugreifen, das Ihr Rechner erreichen kann, und Ihre Anmeldeinformationen uneingeschränkt verwenden. Wenn Sie lokale Sandboxing aktivieren, wird dieser Zugriff auf eine von Ihnen gesteuerte Richtlinie eingeschränkt.
Funktionsweise des lokalen Sandkastens
Lokale Sandboxing wird von Microsoft eXecution Container (MXC) unterstützt, einer plattformübergreifenden Technologie, die eine gemeinsame Schnittstelle zu den Isolationsmechanismen bereitstellt, die auf jedem Betriebssystem verfügbar sind. Copilot CLI deklariert die Sandkastenrichtlinie, die er erzwingen möchte – welche Pfade lesbar oder schreibbar sind, ob der Netzwerkzugriff zulässig ist usw. – und MXC wendet diese Richtlinie mit dem entsprechenden Isolations-Back-End für Ihr Betriebssystem an.
Isolationstechnologien bestehen in einem Spektrum, von einer starken Isolation wie vollständigen Hypervisoren oder Containern bis hin zur leichteren Isolation wie Prozess- und Dateisystemeindämmung auf Betriebssystemebene. Lokales Sandboxing befindet sich derzeit eher am leichtgewichtigen Ende dieses Spektrums: Es schränkt ein, was ein Prozess lesen und schreiben kann und auf welche Netzwerkressourcen er zugreifen kann, führt Ihre Befehle jedoch nicht in einer separaten virtuellen Maschine oder einem Container aus. Wenn Sie bewerten möchten, ob diese Isolationsstufe Ihre Sicherheitsanforderungen erfüllt, finden Sie im Microsoft/mxc-Repository Details zur Implementierung.
Weitere Informationen findest du unter Grundlegendes zu Dateisystemrichtlinien für lokale Sandboxing in GitHub Copilot CLI.
Lokale Sandbox aktivieren
Führen Sie Folgendes aus, um lokales Sandboxing innerhalb einer Copilot CLI-Sitzung zu aktivieren:
/sandbox enable
/sandbox enable
Nachdem Sie die lokale Sandbox aktiviert haben, werden die Befehle und Tools, die ein Agent für Sie ausführt – Shell-Befehle, Dateisuche und standardmäßig die MCP- und Language-Server (LSP), die von der CLI gestartet werden – innerhalb einer Sandbox auf Betriebssystemebene ausgeführt, wodurch ihr Zugriff auf Ihr System eingeschränkt wird. Die CLI verwendet auch künftig weiterhin lokale Sandbox-Isolierung, wenn Sie die CLI verwenden – sowohl für die programmgesteuerte als auch für die interaktive Nutzung –, bis Sie /sandbox disable ausführen, um dies zu deaktivieren. Wenn bei unternehmensverwalteten Einstellungen Sandboxing erforderlich ist, können normale Einstellungen, Startoptionen und /sandbox disable es nicht deaktivieren. Wenn die effektive Richtlinie die Umgehung der Sandbox zulässt, können Sie die Sandbox für den Rest der aktuellen Sitzung weiterhin ausdrücklich über eine aktive Abfrage der Umgehungsberechtigung deaktivieren.
Die integrierten Dateitools der CLI – eigene Befehle, die Teil der CLI sind, und keine Shell-Befehle wie sed – laufen innerhalb des CLI-Prozesses. Da die CLI selbst nicht in einer Sandbox ausgeführt wird, erfasst die Betriebssystem-Sandbox die Dateioperationen, die diese Tools ausführen, nicht und kann sie daher nicht einschränken. Stattdessen sind die integrierten Tools so programmiert, dass sie die Sandbox-Richtlinie eigenständig prüfen und Ihre konfigurierten Einstellungen nach besten Kräften berücksichtigen.
Weitere Informationen zum Aktivieren des lokalen Sandboxing in Copilot CLI finden Sie unter Verwenden einer lokalen Sandbox.
In den Projekteinstellungen GitHub Copilot app legen Sie die Standardeinstellung für die lokale Sandbox für neue Sitzungen mit lokalen Repositorys und Working Trees fest. Sie können auch die Sandkastenerstellung für eine aktive lokale Sitzung ändern, ohne den Projektstandard zu ändern. Weitere Informationen findest du unter Konfigurieren der lokalen Sandbox in der GitHub Copilot-App.
Konfigurieren der lokalen Sandkastenumgebung
Sie können die standardmäßige lokale Sandbox-Isolierung verwenden oder ändern, worauf Copilot zugreifen kann. Die verfügbaren Steuerelemente hängen von der verwendeten Oberfläche ab.
In Copilot CLI, können Sie mehrere Dimensionen des Zugriffs steuern:
- Dateisystem: Gewähren Sie schreibgeschützten oder Lese-/Schreibzugriff auf bestimmte Pfade oder verweigern Sie den Zugriff auf Pfade.
- Netzwerk: Zulassen oder Blockieren des ausgehenden Internetzugriffs und des lokalen Netzwerkzugriffs unabhängig voneinander.
- Anmeldeinformationen: Wählen Sie aus, ob Ihre Git- und GitHub CLI (
gh) Anmeldeinformationen im Sandkasten verfügbar gemacht werden. - Unterverarbeitungen: Wählen Sie aus, ob lokale MCP-Server und Sprachserver auch innerhalb der Sandbox ausgeführt werden. Remote-MCP-Server werden nie in einer Sandbox ausgeführt.
- Schlüsselbund (macOS): Wählen Sie aus, ob der Systemschlüsselbund innerhalb der Sandbox erreichbar ist.
- Ausnahmen pro Befehl: Zulassen oder Verhindern, dass einzelne Befehle außerhalb der Sandbox ausgeführt werden, wenn sie umfassenderen Zugriff benötigen.
Weitere Informationen zum Konfigurieren der lokalen Sandkasteneinstellungen finden Copilot CLISie unter Konfigurieren lokaler Sandkasteneinstellungen.
In den GitHub Copilot appProjekteinstellungen wird eine Teilmenge dieser Steuerelemente verfügbar gemacht:
- Dateisystem: Gewähren Sie zusätzlichen Nur-Lese- oder Lese-/Schreibzugriff auf bestimmte Pfade oder verweigern Sie den Zugriff auf Pfade.
- Netzwerk: Zulassen oder Blockieren des ausgehenden Internets und des lokalen Netzwerkzugriffs.
- Anmeldeinformationen: Wählen Sie aus, ob Ihre Git- und GitHub CLI Anmeldeinformationen im Sandkasten verfügbar sind.
Die App kann Sie auch bitten, einen einzelnen Befehl zu genehmigen, der außerhalb der Sandbox ausgeführt werden soll. Sie können nicht konfigurieren, ob Umgehungsanforderungen in den Projekteinstellungen zulässig sind. Weitere Informationen zum Konfigurieren der Projektrichtlinie sowie zum Ändern der Sandbox-Einstellungen für eine aktive lokale Sitzung finden Sie unter Konfigurieren der lokalen Sandbox in der GitHub Copilot-App.
Plattformübergreifender Support
Lokale Sandboxing ist unter macOS, unter Linux und in den letzten Windows 11 Builds verfügbar. Jedes Betriebssystem verwendet ein anderes Isolations-Back-End, sodass die Anforderungen unterschiedlich sind:
- macOS verwendet das Seatbelt-Back-End. Copilot CLI weist jedem in einer Sandbox ausgeführten Befehl ein prozessgebundenes Profil zu. Verwenden Sie macOS 15 (Sequoia) oder höher. Copilot CLI blockiert kein älteres macOS, aber das Back-End wird dort nicht getestet.
- Linux verwendet das Bubblewrap-Back-End. Installieren Sie Bubblewrap 0.5.0 oder höher, und stellen Sie sicher, dass sich
bwrapin IhremPATHbefindet. Wenn/sandboxmeldet, dass Ihrbwrapzu alt ist, aktualisieren Sie das Paket. Wenn die Sandbox-Richtlinie ausgehenden Netzwerkverkehr zulässt, müssen Sie außerdem Folgendes erfüllen:slirp4netnsauf IhremPATH.unshareundnsentervon util-linux 2.35 oder höher, mit--map-current-userund--keep-capsUnterstützung.iptables,ip6tablesund deren Wiederherstellungs-Binärdateien. Verwenden Sie dasnf_tablesBack-End. Das Legacy-Backend funktioniert auch, aber nur, wenn Sie in/run/xtables.lockschreiben können.- Zugriff auf
/dev/net/tun.
- Windows verwendet die BaseContainer-Ebene des ProcessContainer-Back-End. Copilot CLI verwendet nicht die AppContainer-Fallbackebenen. Wenn Ihr Windows-Build BaseContainer nicht bereitstellen kann, meldet Copilot CLI, dass Sandboxing nicht unterstützt wird. Informationen zu den unterstützten Windows-Versionen finden Sie unter Windows Betriebssystemunterstützung für Copilot Sandkasten.
Proxyunterstützung
Der Sandkastenproxy funktioniert für jedes Betriebssystem unterschiedlich:
- macOS: Copilot CLI übermittelt den Proxy nicht an Seatbelt. Stattdessen werden
HTTP_PROXY,HTTPS_PROXYundALL_PROXYin der Sandkastenumgebung festgelegt. Nur Programme, die diesen Variablen gehorchen, verwenden den Proxy. Ein Programm, das sie ignoriert, verbindet sich direkt. - Linux: bubblewrap erzwingt die Verwendung des Proxys. Der Sandkasten erhält einen privaten Netzwerknamespace, und nur der Proxyendpunkt ist zulässig. Die Linux-Anforderungen für ausgehenden Datenverkehr, der in der plattformübergreifenden Unterstützung aufgeführt ist, gelten auch, wenn Sie einen Upstreamproxy konfigurieren. Der Proxy muss über eine IPv4-Adresse verfügen, da Copilot CLI ein Proxy abgelehnt wird, den nur IPv6 erreichen kann. Die Proxy-URL darf keine Anmeldeinformationen enthalten, sodass die Anmeldeinformationen dem Proxy selbst zugewiesen werden.
- Windows: Der Proxy ist nicht verfügbar. In Copilot CLI verwenden Sie ebenfalls keine abgelehnten Pfade. Wenn eine CLI-Sandkastenrichtlinie eine der beiden Einstellungen enthält, schlägt der Sandkastenbefehl mit einem Fehler fehl. In den GitHub Copilot app können Sie verweigerte Pfade in den Projekteinstellungen speichern. Wenn die aktiven BaseContainer-Funktionen keinen verweigerten Pfad erzwingen können, schlägt der Sandkastenbefehl fehl, anstatt mit einer schwächeren Richtlinie oder ohne Sandkasten auszuführen.
Unter Linux kann Bubblewrap den Zugriff auf das lokale Netzwerk für gestartete Prozesse nicht unabhängig kontrollieren, darunter Shell-Befehle sowie lokale MCP- oder LSP-Server. In der GitHub Copilot app Einstellung für das lokale Netzwerk gilt diese weiterhin für prozessinterne Vorgänge, z. B. Webanforderungen und Remote-MCP-Verbindungen.
Wenn Ihr Host lokale Sandboxing nicht unterstützt
In Copilot CLI ist die Sandbox für diese Sitzung deaktiviert, und es wird ein Hinweis angezeigt. Shellbefehle und Sandkastendienste werden dann ohne Sandkasten ausgeführt, und Ihre sandbox.enabled Einstellung ändert sich nicht. Wenn Ihr Unternehmen Sandkasten über geräteverwaltete Einstellungen erzwingt, schlägt die Sitzung stattdessen fehl: Sandkastenbefehle werden nicht ausgeführt.
In GitHub Copilot app wird die Hostunterstützung geprüft, wenn die erste Sandbox-Shell gestartet wird. Wenn der Host die angeforderte Richtlinie nicht erzwingen kann, schlägt die Shell mit der Meldung „unsupported-platform“ oder „unsupported-policy“ fehl und wird nicht ohne Sandbox ausgeführt.
Durchsetzung von Unternehmensrichtlinien
Unternehmen können lokale Sandboxing erfordern und ihre Konfiguration über vom Server verwaltete, von MDM verwaltete oder dateibasierte verwaltete Einstellungen erzwingen. Siehe Erste Schritte mit unternehmensverwalteten Einstellungen.
Sandboxing in der Cloud
Cloud-Sandboxing ermöglicht es Ihnen, Sitzungen in vollständig isolierten, temporären Linux-Umgebungen auszuführen, die von GitHub gehostet werden. Sie können das Cloud-Sandboxing sowohl über Copilot CLI als auch über GitHub Copilot app verwenden. Jede Cloud-Sandkastensitzung ist von Ihrer lokalen Umgebung und von anderen Sitzungen isoliert.
Das Cloud-Sandboxing basiert auf Azure Container Apps Sandboxes, wobei GitHub die Identitäts-, Richtlinien- und Abrechnungsebene bereitstellt.
Hinweis
Wenn Sie Copilot über eine Organisation erhalten, hängt der Zugriff auf Cloud-Sandboxing davon ab, ob es in den Organisations- oder Unternehmenseinstellungen aktiviert wurde, wo es standardmäßig deaktiviert ist. Weitere Informationen findest du unter Aktivieren oder Deaktivieren von Cloud-Sandboxes für Ihre Organisation oder Ihr Unternehmen.
Starten einer Cloud-Sandkastensitzung
Führen Sie den folgenden Befehl aus, um eine cloudgestützte Sitzung zu starten:
copilot ‑‑cloud ‑‑experimental
copilot ‑‑cloud ‑‑experimental
Hinweis
Cloud-Sandboxing ist derzeit ein experimentelles Feature. Um es zu verwenden, müssen experimentelle Funktionen für Copilot CLI aktiviert sein, z. B. mithilfe der Befehlszeilenoption ‑‑experimental beim Starten einer CLI-Sitzung, wie oben gezeigt.
Die ‑‑cloud Befehlszeilenoption startet eine interaktive Copilot CLI Sitzung in einer Cloud-Sandbox. Sie können zum Ausführen von Aufgaben, Ausführen von Shellbefehlen und zum Durchlaufen von Code auf die gleiche Weise wie in einer lokalen Sitzung auffordern Copilot . Die Befehle, die Copilot ausführt, werden in der Cloud-Umgebung ausgeführt, nicht auf Ihrem lokalen Computer.
Beim Ausführen copilot ‑‑cloud wird eine einzelne Copilot CLI Sitzung in einer Cloud-Sandbox gestartet. Sie wirkt sich nicht auf zukünftige Copilot Sitzungen aus. Jedes Mal, wenn Sie eine neue Sitzung in einer Cloud-Sandbox ausführen möchten, müssen Sie die CLI mit der ‑‑cloud Option starten.
Hinweis
Cloud-Sandboxing ist nur für interaktive Copilot CLI Sitzungen verfügbar. Sie können die CLI nicht programmgesteuert in einer Cloud-Sandbox ausführen – das heißt, Sie können die Option ‑‑cloud nicht mit den Optionen -p oder -i kombinieren.
Im GitHub Copilot app verwenden Sie keinen Befehl, um eine Cloud-Sandbox-Sitzung zu starten. Wählen Sie stattdessen die Cloud-Sandkastenoption aus, wenn Sie eine neue Sitzung erstellen. Weitere Informationen findest du unter Arbeiten mit Agent-Sitzungen in der GitHub-Copilot-App.
Fortsetzen von Sitzungen auf allen Geräten
Da Cloud-Sandkastensitzungen in einer gehosteten GitHubInfrastruktur ausgeführt werden, können Sie eine Copilot Sitzung auf jedem Gerät aufnehmen, unabhängig davon, wo die Sitzung ursprünglich gestartet wurde. Dies ermöglicht flexiblere Workflows, ohne Dass Dateien kopiert oder Abhängigkeiten neu installiert werden müssen.
Entladen von rechenintensiven Workflows
Sie können mehrere Copilot Aufgaben parallel in der Cloud ausführen, ohne lokale Ressourcen zu verbrauchen. Dies sorgt dafür, dass Ihre lokale Umgebung leicht und reaktionsfähig bleibt, während die agentgesteuerte Arbeit skaliert wird.
Einheitliche Governance
Cloud-Sandkastenrichtlinien verwenden dieselbe Konfiguration wie Copilot cloud agent Richtlinien, wodurch vorhandene Sicherheitssteuerelemente auf die Cloud-Sandkastenausführung ohne zusätzliche Einrichtung erweitert werden.
Sitzungslebenszyklus
Eine Cloud-Sandkastensitzung hat drei Hauptzustände:
- Aktiv: Die Sitzung ist aktiv, und Sie interagieren über Copilot CLI oder GitHub Copilot app mit ihr.
- Beendet: Die Sitzung wird derzeit nicht ausgeführt, aber der Status wird gespeichert. Wenn Sie sie fortsetzen, werden Ihre Dateien, Umgebungsvariablen und laufende Arbeit wiederhergestellt.
- Gelöscht: Die Sitzung und der gespeicherte Zustand werden entfernt und können nicht wiederhergestellt werden.
Wenn Sie eine Sitzung beenden, erstellt der Cloud-Sandkasten eine Momentaufnahme des Zustands, damit Sie später an der Stelle weiterholen können, an der Sie aufgehört haben. Wenn Sie eine Sitzung löschen, werden sowohl die ausgeführte Umgebung als auch die Momentaufnahme entfernt.
Authentifizierung und Zugriff
Sandboxing nutzt Ihre vorhandene Copilot Authentifizierung. Wenn Sie sich bei Copilot CLI oder bei GitHub Copilot app anmelden und Zugriff auf Copilot haben, müssen Sie keine separate Authentifizierung für die Sandboxing-Optionen konfigurieren, die auf dieser Oberfläche verfügbar sind. Sie müssen keinen separaten Cloudanbieter konfigurieren, API-Schlüssel verwalten oder Infrastruktur einrichten.
Ein Organisations- oder Unternehmensbesitzer muss die Cloud Sandbox-Zugriffsrichtlinie in den Organisations- oder Unternehmenseinstellungen aktivieren, bevor Mitglieder Cloud-Sandboxes verwenden können.
Informationen zum Aktivieren oder Deaktivieren von Cloud-Sandboxes für Mitglieder Ihrer Organisation finden Sie unter Aktivieren oder Deaktivieren von Cloud-Sandboxes für Ihre Organisation oder Ihr Unternehmen.
Abrechnung
Lokale Sandboxing ist im Standardsitz GitHub Copilot ohne zusätzliche Kosten enthalten.
Cloud-Sandboxing wird basierend auf der Nutzung in Rechnung gestellt. GitHub misst die Nutzung der Cloud-Sandbox anhand von drei Messwerten:
| Meter | Description | Einheit | Preis (USD) |
|---|---|---|---|
| Compute | Zeit, zu der eine Cloud-Sandkastensitzung ausgeführt wird. | Berechnen der zweiten Sekunde | $0.000024 |
| Gedächtnis | Arbeitsspeicher, der einer Cloud-Sandkastensitzung zugewiesen wird, während sie läuft. | GiB Sekunde | $0.000003 |
| Speicher | Snapshot-Speicher für gestoppte Sitzungen. | GiB-Monat | $0.005 |
Weitere Informationen dazu, wie die Cloud-Sandkastennutzung gemessen und in Rechnung gestellt wird, finden Sie unter Abrechnung für Cloud- und lokale Sandboxes für GitHub Copilot.