Skip to main content

Risiken und Risikominderungen für GitHub Copilot Cloud-Agent

Wie mindern Copilot Cloudagentintegrierte Sicherheitsschutzmechanismen bekannte Risiken?

          Copilot Cloudagent 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 Cloudagent 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 Cloudagent 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 Cloudagent generierte Code Probleme wie hartcodierte Geheimnisse, unsichere Abhängigkeiten und andere Schwachstellen einführt.
          Copilot CloudagentDie 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 Schadsoftware-Empfehlungen GitHub Advisory Database überprüft und für alle CVSS-bewerteten hohen oder kritischen Sicherheitsrisiken.
  •         **
            Secret scanning
            ** wird verwendet, um vertrauliche Informationen wie API-Schlüssel, Token und andere geheime Schlüssel zu erkennen.
    
  • Details zu den durchgeführten Analysen und den von Copilot Cloudagent ausgeführten Aktionen können im Sitzungsprotokoll eingesehen werden. Siehe Nachverfolgung der GitHub-Copilot-Sitzungen.

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

          Copilot Cloudagent 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 Cloudagent aktivieren. Kommentare von Benutzern ohne Schreibzugriff werden dem Agenten niemals angezeigt.
    
  •         **Beschränkt den Branch, auf den der Agent pushen kann.** 
            Copilot Cloudagent hat nur die Möglichkeit, auf einen einzelnen Branch 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 Zweigschutzmaßnahmen und erforderlichen Überprüfungen für das Arbeits-Repository.
    
  •         **Beschränkt die Berechtigungen des Agents.** 
            Copilot Cloudagent 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 Cloudagent erstellt wurden, müssen von einem Menschen überprüft und zusammengeführt werden. 
            Copilot Cloudagent 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 Cloudagentder Code überprüft wird, und ein Benutzer mit Schreibzugriff auf das Repository klickt auf die Schaltfläche " **Workflows genehmigen und ausführen** ". Optional können Sie so konfigurieren Copilot , dass Workflows automatisch ausgeführt werden können. Siehe [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/review-copilot-prs#managing-github-actions-workflow-runs).
    
  •         **Verhindert, dass der Benutzer, der aufgefordert Copilot Cloudagent hat, eine Pull-Anforderung zu erstellen, sie genehmigt.** Dies gewährleistet die erwarteten Kontrollen in der Regel „Erforderliche Genehmigungen“ sowie im Branch-Schutz. Siehe [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets).
    

          Copilot Cloudagent hat Zugriff auf vertrauliche Informationen

          Copilot Cloudagent 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 Cloudagentder 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 Cloudagent zugewiesen sind, oder in Kommentaren, die für Copilot Cloudagent 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 Cloudagent übergeben. ****

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

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

  •         Copilot CloudagentDie 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 Cloudagent generiert wurde und wer die Aufgabe gestartet hat.
    
  •         Copilot Cloudagent's Commits sind signiert, sodass sie auf GitHub als "Überprüft" angezeigt werden. Dies gewährleistet das Vertrauen, dass die Commits von Copilot Cloudagent vorgenommen wurden und nicht verändert wurden.
    
  • Sitzungsprotokolle und Überwachungsprotokollereignisse stehen Administratoren zur Verfügung.
  • Die Commit-Nachricht für jeden vom Agent erstellten Commit enthält einen Link zu den Agentensitzungsprotokollen zur Codeüberprüfung und -überwachung. Siehe Nachverfolgung der GitHub-Copilot-Sitzungen.