Hinweis
Cloud- und lokale Sandkasten sind GitHub Copilot in Öffentliche Vorschau und unterliegen Änderungen.
Einleitung
Copilot Cloud- und lokale Sandboxes sind die Ausführungsplattform, die sichere Sandkastenerfahrungen sowohl GitHub Copilot CLIlokal als auch in der Cloud ermöglicht. 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 wird derzeit auf Copilot CLI Sitzungen angewendet. Sie können beim Starten einer neuen Sitzung in der GitHub Copilot app auch Cloud-Sandboxing verwenden. Weitere Informationen findest du unter Arbeiten mit Agent-Sitzungen in der GitHub-Copilot-App.
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.
- Sandboxing in der Cloud: Führen Sie die gesamte Copilot CLI Sitzung remote in einer vollständig isolierten, temporären Linux-Umgebung aus, die von GitHub gehostet wird. Cloud-Sandboxing wird basierend auf der Nutzung in Rechnung gestellt.
Lokales Sandboxing
Hinweis
Lokales Sandboxing ist derzeit eine experimentelle Funktion. Um sie zu verwenden, beginnen Sie Copilot CLI mit der ‑‑experimental Befehlszeilenoption, oder geben Sie /experimental on während einer Sitzung ein.
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.
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 findest du unter Verwenden einer lokalen Sandbox.
Konfigurieren der lokalen Sandkastenumgebung
Sie können das standardmäßige lokale Sandbox-Verhalten verwenden oder ändern, worauf Copilot zugreifen kann. Wenn Sie lokale Sandboxing konfigurieren, 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 findest du unter Konfigurieren lokaler Sandkasteneinstellungen.
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. - 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. Dieser Modus hat mehr Anforderungen. Sie benötigen Folgendes:
slirp4netnsauf IhremPATH.unshareundnsentervon util-linux 2.35 oder höher, mit--map-current-userund--keep-capsUnterstützung.iptablesundip6tables. Verwenden Sie dasnf_tablesBack-End. Das Legacy-Backend funktioniert auch, aber nur, wenn Sie in/run/xtables.lockschreiben können.
Für Linux gelten zwei weitere Grenzwerte. 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.
Auch unter Linux kann Bubblewrap den lokalen Netzwerkzugriff unabhängig vom ausgehenden Zugriff nicht steuern. Ihre lokale Netzwerkeinstellung hat daher dort keine separate Wirkung.
-
Windows: Der Proxy ist nicht verfügbar. Verwenden Sie auch unter Windows keine Pfade mit verweigertem Zugriff. Copilot CLI Diese Einstellungen können nicht erzwungen werden, und der Sandkastenbefehl schlägt mit einem Fehler fehl.
Wenn Ihr Host lokale Sandboxing nicht unterstützt
Copilot CLI deaktiviert den Sandkasten für die Sitzung und zeigt eine Benachrichtigung an. 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.
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, Copilot CLI Sitzungen in vollständig isolierten, ephemeren Linux-Umgebungen auszuführen, die von GitHub gehostet werden. 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.
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 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 CLI Authentifizierung. Wenn Sie sich bei Copilot CLI anmelden können und Zugriff auf Copilot haben, können Sie Sandboxing verwenden. 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:
| Zähler | 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 |
| Storage | 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.