Skip to main content

Verantwortungsvolle Erkennung von generischen Geheimnissen mit Copilot Secret Scanning

Erfahren Sie, wie Copilot-Geheimniserkennung KI verantwortungsbewusst zum Scannen und Erstellen von Warnungen für unstrukturierte geheime Schlüssel wie Kennwörter verwendet wird.

Wer kann dieses Feature verwenden?

Copilot-Geheimniserkennung 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

Über generische Erkennung von Geheimnissen mit Copilot-Geheimniserkennung

          Copilot-Geheimniserkennungs KI-gestützte Erweiterung von secret scanning identifiziert unstrukturierte Geheimnisse (Kennwörter) in Ihrem Quellcode und erzeugt dann eine Warnung.

Hinweis

Sie benötigen kein Abonnement für GitHub Copilot, um die generische Erkennung von Geheimnissen von GitHub Copilot nutzen zu können. Copilot-Geheimniserkennung-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 Benutzer können bereits Warnungen zur Geheimnisüberprüfung für Partner- oder benutzerdefinierte Muster in ihrem Quellcode empfangen, aber unstrukturierte Geheimnisse sind nicht leicht auffindbar. 
          Copilot-Geheimniserkennung verwendet große Sprachmodelle (LLMs), um diesen Geheimschlüsseltyp zu identifizieren.

Wenn ein Kennwort erkannt wird, wird eine Warnung in der "Generischen" Liste der secret scanning Warnungen (unter der Security and quality Registerkarte des Repositorys, der Organisation oder des Unternehmens) angezeigt, damit Verwalter und Sicherheitsmanager 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 auf der secret scanning Warnungsseite als Warnungen angezeigt, werden jedoch in einer zusätzlichen Liste angezeigt, die von regulären Warnungen zur GeheimnisüberprüfungZeichenfolgen 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 allgemeine geheime Daten finden Sie unter Anzeigen und Filtern von Warnungen aus der Secrets-Ü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 Copilot-Geheimniserkennung's generische Erkennung von Geheimnissen möglicherweise mehr falsch positive Ergebnisse als das vorhandene secret scanning Feature für Partnermuster generieren kann, ist es wichtig, dass Sie die Genauigkeit dieser Warnungen überprüfen. Wenn Sie überprüfen, ob eine Warnung falsch positiv ist, schließen Sie bitte die Warnung und markieren Sie den Grund in der GitHub Benutzeroberfläche als „False positive“. Das GitHub Entwicklungsteam wird Informationen über die Menge der falsch-positiven Ergebnisse und deren Erkennungsstandorte verwenden, um das Modell zu verbessern. GitHub hat keinen Zugriff auf die geheimen Literale selbst.

Einschränkungen von generische Erkennung von Geheimnissen

Bei der Verwendung von Copilot-Geheimniserkennunggenerische Erkennung von Geheimnissen sollten Sie die folgenden Einschränkungen berücksichtigen.

Eingeschränkter Gültigkeitsbereich

          Generische Geheimniserkennung Sucht derzeit nur nach Instanzen von Kennwörtern in Git-Inhalten. Die Funktion sucht nicht nach anderen Arten von generischen Geheimnissen und auch nicht nach Geheimnissen in nicht-Git-Inhalten, wie z.B. GitHub Issues.

Potenziell falsch-positive Warnungen

          Generische Geheimniserkennung kann im Vergleich zum vorhandenen secret scanning Feature mehr falsch positive Warnungen generieren (die Partnermuster erkennen und eine sehr niedrige falsch positive Rate aufweisen). 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

          Generische Geheimniserkennung Möglicherweise fehlen Vorkommen von Anmeldeinformationen, die 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

          Generische Geheimniserkennung weist die folgenden Einschränkungen nach Entwurf auf:

* Copilot-Geheimniserkennung erkennt keine Geheimnisse, die offensichtlich gefälschte oder Test-Kennwörter oder Kennwörter mit niedriger Entropie sind. * Copilot-Geheimniserkennung erkennt nur maximal 100 Kennwörter pro Push.

  • Wenn fünf oder mehr erkannte geheime Schlüssel in einer einzelnen Datei als falsch positiv gekennzeichnet sind, Copilot-Geheimniserkennung werden keine neuen Warnungen mehr für diese Datei generiert.
  •         Copilot-Geheimniserkennung erkennt keine geheimen Schlüssel in generierten oder vom Anbieter bereitgestellten Dateien.
    
  •         Copilot-Geheimniserkennung erkennt geheime Schlüssel in verschlüsselten Dateien nicht.
    
  •         Copilot-Geheimniserkennung erkennt geheime Schlüssel in Dateitypen nicht: SVG, PNG, JPEG, CSV, TXT, SQL oder ITEM.
    
  •         Copilot-Geheimniserkennung erkennt geheime Schlüssel im Testcode nicht. 
            Copilot-Geheimniserkennung ü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.

Auswertung von generische Erkennung von Geheimnissen

          Generische Geheimniserkennung wurde dem verantwortlichen AI Red Teaming unterzogen und GitHub wird die Wirksamkeit und Sicherheit des Features im Laufe der Zeit weiterhin ü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)