Skip to main content

Risiken und Risikominderungen für GitHub Copilot Cloud-Agent

Wie mindern Copilot-Cloud-Agentintegrierte Sicherheitsschutzmechanismen bekannte Risiken?

          Copilot-Cloud-Agent ist ein autonomer Agent, der Zugriff auf Ihren Code hat und Änderungen an Ihr Repository übertragen kann. Dies bringt bestimmte Risiken mit sich.

Wo immer möglich, hat GitHub geeignete Gegenmaßnahmen angewendet. Dies bietet Copilot-Cloud-Agent eine starke Basis für integrierte Sicherheitsvorkehrungen, die Sie durch die folgenden Bewährten Methoden ergänzen können.

Nichtvalidierter Code kann Sicherheitsrisiken einführen

          Standardmäßig überprüft Copilot-Cloud-Agent den von ihm generierten Code auf Sicherheitsprobleme und holt sich mit Copilot Codeüberprüfung eine zweite Meinung zum Code ein. Es versucht, probleme zu beheben, die vor abschluss der Pullanforderung identifiziert wurden. Dies verbessert die Codequalität und verringert die Wahrscheinlichkeit, dass der durch Copilot-Cloud-Agent generierte Code Probleme wie hartcodierte Geheimnisse, unsichere Abhängigkeiten und andere Schwachstellen einführt.
          Copilot-Cloud-AgentDie Sicherheitsüberprüfung **erfordert**GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security keine Lizenz.

          CodeQL
          ** wird verwendet, um Codesicherheitsprobleme zu identifizieren.
  • Neu eingeführte Abhängigkeiten werden auf Schad-Software-Empfehlungen GitHub Advisory Database und auf alle CVSS-bewerteten hohen oder kritischen Sicherheitsrisiken überprüft.

          Secret scanning
          ** wird verwendet, um vertrauliche Informationen wie API-Schlüssel, Token und andere geheime Schlüssel zu erkennen.

Optional können Sie eines oder mehrere der von Copilot-Cloud-Agentihnen verwendeten Codequalitäts- und Sicherheitsüberprüfungstools deaktivieren. Siehe Konfigurieren von Einstellungen für GitHub Copilot Cloud-Agent.

          Copilot-Cloud-Agent kann Codeänderungen an Ihr Repository übertragen

Um dieses Risiko zu mindern, GitHub:

  • Beschränkt, wer den Agent auslösen kann. Nur Benutzer mit Schreibzugriff auf das Repository können Copilot-Cloud-Agent aktivieren. Kommentare von Benutzern ohne Schreibzugriff werden dem Agenten niemals angezeigt.
  • Beschränkt den Branch, auf den der Agent pushen kann. Copilot-Cloud-Agent hat nur die Möglichkeit, auf eine einzelne Verzweigung zu übertragen. Wenn der Agent durch die Erwähnung von @copilot bei einer vorhandenen Pull-Anfrage ausgelöst wird, hat Copilot Schreibzugriff auf den Branch der Pull-Anfrage. In anderen Fällen wird ein neuer copilot/ Branch für Copilot erstellt, und der Agent kann nur zu diesem Branch pushen. Der Agent unterliegt auch allen Verzweigungs-Schutzmaßnahmen und erforderlichen Überprüfungen für das Arbeits-Repository.
  • Beschränkt die Berechtigungen des Agents. Copilot-Cloud-Agent kann nur einfache Pushvorgänge ausführen. Direkte git push- oder andere Git-Befehle können nicht ausgeführt werden.
  • Erfordert eine menschliche Überprüfung vor dem Zusammenführen. Pullanforderungen-Entwürfe, die von Copilot-Cloud-Agent erstellt wurden, müssen von einem Menschen überprüft und zusammengeführt werden. Copilot-Cloud-Agent Die Pullanforderungen können nicht als "Bereit für die Überprüfung" gekennzeichnet werden und können eine Pullanforderung nicht genehmigen oder zusammenführen.
  • Schränkt die Ausführung des GitHub Actions Workflows ein. Workflows werden standardmäßig erst ausgelöst, wenn Copilot-Cloud-Agentder Code überprüft wird, und ein Benutzer mit Schreibzugriff auf das Repository auf die Schaltfläche Workflows genehmigen und ausführen klickt. Optional können Sie so konfigurieren Copilot , dass Workflows automatisch ausgeführt werden können. Siehe Überprüfen Sie die Ausgabe von Copilot.
  • Verhindert, dass der Benutzer, der aufgefordert Copilot-Cloud-Agent hat, eine Pull-Anforderung zu erstellen, sie genehmigt. Dies gewährleistet die erwarteten Kontrollen in der Regel „Erforderliche Genehmigungen“ sowie im Branch-Schutz. Siehe Verfügbare Regeln für Regelsätze.

          Copilot-Cloud-Agent hat Zugriff auf vertrauliche Informationen

          Copilot-Cloud-Agent hat Zugriff auf Code und andere vertrauliche Informationen und könnte es entweder versehentlich oder aufgrund von böswilligen Benutzereingaben durchlecken.

Um dieses Risiko zu verringern, GitHubschränkt Copilot-Cloud-Agentder Zugriff auf das Internet ein. Siehe Anpassen oder Deaktivieren der Firewall für GitHub Copilot Cloud-Agent.

KI-Eingabeaufforderungen können anfällig für Injektionen sein

Benutzer können verborgene Nachrichten in Problemen einfügen, die Copilot-Cloud-Agent zugewiesen sind, oder in Kommentaren, die für Copilot-Cloud-Agent als eine Form von Prompt-Injektion hinterlassen werden.

Um dieses Risiko zu minimieren, werden ausgeblendete Zeichen gefiltert, bevor die Benutzereingaben an GitHub übergeben werden: Beispielsweise wird Text, der als HTML-Kommentar in einem Problem oder einem Pull-Request-Kommentar eingegeben wurde, nicht an Copilot-Cloud-Agent übergeben. ****

Administratoren können die Arbeit der Agents nicht mehr sehen.

Um dieses Risiko zu mindern, ist es so konzipiert, Copilot-Cloud-Agent dass es überwacht und nachverfolgt werden kann.

  • Copilot-Cloud-AgentDie Commits werden von Copilot verfasst, wobei der Entwickler, der das Problem zugewiesen oder die Änderung zur Pull-Anforderung angefordert hat, als Mitautor gekennzeichnet wird. Dies erleichtert die Identifizierung von Code, der von Copilot-Cloud-Agent generiert wurde und wer die Aufgabe gestartet hat.
  • Copilot-Cloud-Agent's Commits sind signiert, sodass sie auf GitHub als "Überprüft" angezeigt werden. Dies gewährleistet das Vertrauen, dass die Commits von Copilot-Cloud-Agent vorgenommen wurden und nicht verändert wurden.
  • Sitzungsprotokolle und Überwachungsprotokollereignisse stehen Administratoren zur Verfügung.
  • Die Commit-Nachricht für jeden vom Agenten erstellten Commit enthält einen Link zu den Agentensitzungsprotokollen zur Codeüberprüfung und -überwachung. Siehe Nachverfolgung der GitHub-Copilot-Sitzungen.