Skip to main content

Verantwortungsvolle Erkennung generischer Geheimnisse mit Copilot Geheimnisüberprüfung

Erfahren Sie, wie Copilot Geheimnisüberprüfung die KI zum Scannen und Erstellen von Warnungen für unstrukturierte Geheimnisse wie z. B. Kennwörter verwendet.

Informationen zu 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 Geheimnisse (Kennwörter) in Ihrem Quellcode identifiziert und dann eine Warnung generiert.

GitHub Advanced Security Benutzer können bereits Warnungen zur Geheimnisüberprüfung für Partner oder benutzerdefinierte Muster in ihrem Quellcode erhalten, aber unstrukturierte Geheime sind 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 „experimentellen“ Liste der secret scanning-Warnungen (unter der Registerkarte Sicherheit des Repositorys, der Organisation oder des Unternehmens) angezeigt, damit Betreuer und Sicherheitsmanager die Warnung überprüfen und ggf. die Anmeldeinformationen entfernen oder einen Fix implementieren können.

Für die Verwendung der generische Erkennung von Geheimnissen muss ein Unternehmensbesitzer zuerst eine Richtlinie auf Unternehmensebene festlegen, die steuert, ob das Feature 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.

Verbessern der Leistung von generische Erkennung von Geheimnissen

Um die Leistung von generische Erkennung von Geheimnissen zu verbessern, empfehlen wir, falsch positive Warnungen entsprechend 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 falsch positive Ergebnisse 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 falsch positiven Ergebnisse und zum Ort der Erkennung, um das Modell zu verbessern. GitHub hat keinen Zugriff auf den eigentlichen Wortlaut der Geheimnisse.

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 von falsch-positiven Ergebnissen 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 Instanzen von Anmeldeinformationen verpassen, die in ein Repository eingecheckt wurden. Die LLM wird sich im Laufe der Zeit verbessern. Sie sind für Sicherheit Ihres Codes verantwortlich.

Entwurfsbedingte Einschränkungen

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

  • Copilot Geheimnisüberprüfung erkennt keine Geheimnisse, bei denen es sich um offensichtlich gefälschte Kennwörter, Test-Kennwörter oder Kennwörter mit niedriger 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 falsch positive Ergebnisse 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 anbieterbezogenen 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 die Erkennung in den folgenden Fällen:
    • Der Dateipfad enthält „test“, „mock“ oder „spec“.
    • Die Dateierweiterung ist .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift oder .ts.

Auswertung von generische Erkennung von Geheimnissen

Generischen Erkennung von Geheimnissen wurde dem verantwortlichen KI Red Teaming unterzogen, und GitHub werden weiterhin die Wirksamkeit und Sicherheit des Features im Laufe der Zeit überwachen.

Weitere Informationen