Skip to main content

Verantwortungsvolle Erkennung von generischen Geheimnissen mit Copilot Secret Scanning

Erfahren Sie, wie Copilot Geheimnisüberprüfung KI verantwortungsvoll zum Überprüfen und Erstellen von Warnungen für unstrukturierte geheime Schlüssel wie z. B. Kennwörter verwendet.

Wer kann dieses Feature verwenden?

Copilot Geheimnisüberprüfung ist für die folgenden Repositorytypen verfügbar:

  • Repositorys im Besitz von Organisationen auf GitHub Team oder GitHub Enterprise Cloud,die GitHub Secret Protection aktiviert haben

Informationen über generische Erkennung von Geheimnissen mit Copilot Geheimnisüberprüfung

Die generische Erkennung von Geheimnissen von Copilot Geheimnisüberprüfung ist eine KI-gestützte Erweiterung von secret scanning, die unstrukturierte geheime Schlüssel (Kennwörter) in Ihrem Quellcode identifiziert und dann eine Warnung generiert.

Hinweis

Sie benötigen kein Abonnement für GitHub Copilot, um die generische Erkennung von Geheimnissen von GitHub Copilot nutzen zu können. Copilot Geheimnisüberprüfung-Features sind in Repositorys im Besitz von Organisationen und Unternehmen verfügbar, die über eine Lizenz für GitHub Secret Protection verfügen.

GitHub Secret Protection-Benutzende können Warnungen zur Geheimnisüberprüfung für Partnermuster oder benutzerdefinierte Muster in ihrem Quellcode erhalten. Unstrukturierte Geheimnisse sind jedoch nicht leicht auffindbar. Copilot Geheimnisüberprüfung verwendet große Sprachmodelle (LLMs) zum Identifizieren von Geheimnissen dieser Art.

Wenn ein Kennwort erkannt wird, wird eine Warnung in der Liste „Generic“ der secret scanning-Warnungen (unter der Registerkarte Security des Repositorys, der Organisation oder des Unternehmens) angezeigt, damit Maintainende und Sicherheitsmanagende die Warnung überprüfen und ggf. die Anmeldeinformationen entfernen oder einen Fix implementieren können.

Für Benutzende mit GitHub Enterprise Cloud müssen Unternehmensbesitzende zunächst eine Richtlinie auf Unternehmensebene festlegen, die steuert, ob generische Erkennung von Geheimnissen für Repositorys in einer Organisation aktiviert und deaktiviert werden kann. Standardmäßig ist diese Richtlinie auf „zulässig“ festgelegt. Das Feature muss dann für Repositorys und Organisationen aktiviert werden.

Eingabeverarbeitung

Die Eingabe ist auf Text (in der Regel Code) beschränkt, den ein Benutzer in ein Repository eingecheckt hat. Das System stellt diesen Text dem LLM zusammen mit einer Meta-Eingabeaufforderung bereit, die die LLM auffordert, Kennwörter im Bereich der Eingabe zu finden. Der Benutzer interagiert nicht direkt mit dem LLM.

Das System scannt mithilfe der LLM nach Kennwörtern. Vom System werden keine zusätzlichen Daten erfasst, außer dem, was bereits vom vorhandenen secret scanning-Feature erfasst wird.

Ausgabe und Anzeige

Die LLM scannt nach Zeichenfolgen, die Kennwörtern ähneln und überprüft, ob die in der Antwort enthaltenen identifizierten Zeichenfolgen tatsächlich in der Eingabe vorhanden sind.

Diese erkannten Zeichenfolgen werden als Warnungen auf der Seite secret scanning-Warnungsseite angezeigt, werden jedoch in einer zusätzlichen Liste angezeigt, die von regulären Warnungen zur Geheimnisüberprüfung getrennt ist. Diese separate Liste wird mit mehr Kontrolle analysiert, um die Gültigkeit der Ergebnisse zu überprüfen. Jede Warnung stellt fest, dass sie mithilfe von KI erkannt wurde. Informationen zum Anzeigen von Warnungen für generische geheime Schlüssel finden Sie unter Anzeigen und Filtern von Warnungen aus Geheimnisüberprüfung.

Verbessern der Leistung von generische Erkennung von Geheimnissen

Um die Leistung von generische Erkennung von Geheimnissen zu verbessern, empfehlen wir, falsch positive Warnungen angemessen zu schließen.

Überprüfen der Genauigkeit von Warnungen und Schließen nach Bedarf

Da die generische Erkennung von Geheimnissen von Copilot Geheimnisüberprüfung für Partnermuster möglicherweise mehr False Positives generiert als das bestehende secret scanning-Feature, ist es wichtig, dass Sie die Genauigkeit dieser Warnungen überprüfen. Wenn Sie überprüfen, ob eine Warnung falsch positiv ist, schließen Sie die Warnung, und markieren Sie den Grund in der Benutzeroberfläche von GitHub als „Falsch positiv“. Das GitHub-Entwicklungsteam nutzt die Informationen zum Umfang der False Positives und zu ihren Fundorten, um das Modell zu verbessern. GitHub hat keinen Zugriff auf die Geheimnisliterale selbst.

Einschränkungen von generische Erkennung von Geheimnissen

Wenn Sie die generische Erkennung von Geheimnissen von Copilot Geheimnisüberprüfung verwenden, sollten Sie die folgenden Einschränkungen berücksichtigen.

Eingeschränkter Gültigkeitsbereich

Generischen Erkennung von Geheimnissen sucht derzeit nur nach Instanzen von Kennwörtern in Git-Inhalten. Das Feature sucht nicht nach anderen Typen von generischen Geheimschlüsseln und es sucht nicht nach Geheimnissen in Nicht-Git-Inhalten, z. B. GitHub Issues.

Potenziell falsch-positive Warnungen

Generischen Erkennung von Geheimnissen kann mehr falsch positive Warnungen generieren als das vorhandene secret scanning-Feature (das Partnermuster erkennt und eine sehr niedrige Rate an False Positives hat). Um dieses übermäßige Rauschen zu mindern, werden Warnungen in einer separaten Liste von Partnermusterwarnungen gruppiert und Sicherheitsmanager und Betreuer sollten jede Warnung triagen, um ihre Genauigkeit zu überprüfen.

Potenzial für unvollständige Berichterstattung

Generischen Erkennung von Geheimnissen kann Fälle übersehen, in denen Anmeldeinformationen in ein Repository eingecheckt wurden. Die LLM wird sich im Laufe der Zeit verbessern. Sie sind für Sicherheit Ihres Codes verantwortlich.

Designbedingte Einschränkungen

Generischen Erkennung von Geheimnissen unterliegt designbedingt den folgenden Einschränkungen:

  • Copilot Geheimnisüberprüfung erkennt keine Geheimnisse, bei denen es sich offensichtlich um gefälschte Kennwörter, Testkennwörter oder Kennwörter mit geringer Entropie handelt.
  • Copilot Geheimnisüberprüfung erkennt nur maximal 100 Kennwörter pro Push.
  • Wenn fünf oder mehr erkannte Geheimnisse in einer einzelnen Datei als False Positives markiert sind, generiert Copilot Geheimnisüberprüfung keine neuen Warnungen mehr für diese Datei.
  • Copilot Geheimnisüberprüfung erkennt keine Geheimnisse in generierten oder mitgelieferten Dateien.
  • Copilot Geheimnisüberprüfung erkennt keine Geheimnisse in verschlüsselten Dateien.
  • Copilot Geheimnisüberprüfung erkennt keine Geheimnisse in den Dateitypen: SVG, PNG, JPEG, CSV, TXT, SQL oder ITEM.
  • Copilot Geheimnisüberprüfung erkennt keine Geheimnisse in Testcode. Copilot Geheimnisüberprüfung überspringt Erkennungen, wenn beide Bedingungen erfüllt sind:
    • Der Dateipfad enthält „test“, „mock“ oder „spec“ UND
    • Die Dateierweiterung lautet .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift oder .ts.

Bewertung von generische Erkennung von Geheimnissen

Generischen Erkennung von Geheimnissen wurde einem Responsible AI Red Teaming unterzogen, und GitHub wird weiterhin die Wirksamkeit und Sicherheit des Features im Laufe der Zeit überwachen.

Nächste Schritte

  •         [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/enabling-ai-powered-generic-secret-detection)
    
  •         [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning)
    

Weiterführende Lektüre

  •           [AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning)
    
  •         [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-the-use-of-generic-secret-detection-for-secret-scanning-in-your-enterprises-repositories)