Skip to main content

Anwendungskarte: KI-Funktionen für Sicherheit und Qualität in GitHub

Verwenden Sie die KI-basierten Codesicherheits- und Codequalitätsfeatures von GitHub verantwortungsbewusst, indem Sie ihre Zwecke, Funktionen und Einschränkungen verstehen.

Was ist eine Anwendungskarte?

GitHub’s application and platform cards are intended to help you understand how our AI technology works, the choices application owners can make that influence application performance and behavior, and the importance of considering the whole application, including the technology, the people, and the environment. Application cards are created for AI applications and platform cards are created for AI platform services. These resources can support the development or deployment of your own applications and can be shared with users or stakeholders impacted by them.

As part of its commitment to responsible AI, GitHub adheres to Microsoft's six core principles: fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability. These principles are embedded in the Responsible AI Standard, which guides teams in designing, building, and testing AI applications. Application and Platform Cards play a key role in operationalizing these principles by offering transparency around capabilities, intended uses, and limitations. For further insight, readers are encouraged to explore Microsoft’s Responsible AI Transparency Report and GitHub-Bedingungen.

1. Übersicht

die Sicherheits- und Qualitätsplattform von GitHub umfasst mehrere KI-gestützte Funktionen, die Entwicklern helfen, Sicherheitsrisiken zu finden und zu beheben, geheime Schlüssel zu erkennen und die Codequalität zu verbessern. Diese Anwendungskarte deckt die folgenden Erfahrungen ab:

  • Copilot Autofix für die Codeüberprüfung: Generiert automatisch Fixvorschläge für CodeQL-Warnungen bei Pullanforderungen und der Standardverzweigung.
  • Generische geheime Erkennung: Verwendet ein Modell, um unstrukturierte geheime Schlüssel im Quellcode zu identifizieren, die den deterministischen Musterabgleich nicht finden können.
  • Benutzerdefinierter Muster regex-Generator: Verwendet KI, um reguläre Ausdrücke für benutzerdefinierte geheime Scanmuster aus Beschreibungen natürlicher Sprachen zu generieren.
  • GitHub Codequalität: Zeigt Probleme bei der Codequalität auf und bietet LLM-gestützte Lösungsvorschläge für Pull Requests und den Standard-Branch.

Copilot Autofix ist eine Erweiterung der Codeüberprüfung, die Benutzern gezielte Empfehlungen zur Behebung von Codeüberprüfungswarnungen bietet, um die Einführung neuer Sicherheitsrisiken zu vermeiden. Potenzielle Korrekturen werden automatisch von großen Sprachmodellen (LLMs) mithilfe von Daten aus der Codebasis und aus der Codescananalyse generiert. Copilot Autofix ist für die CodeQL-Analyse verfügbar und erfordert kein GitHub Copilot Abonnement.

Codeüberprüfungsbenutzer können bereits Sicherheitswarnungen für ihre Pull-Anforderungen sehen. Entwickler haben jedoch häufig wenig Schulungen zur sicheren Codierung, sodass das Beheben dieser Warnungen erhebliche Anstrengungen erfordert. Copilot Autofix senkt die Einstiegsbarriere, indem Informationen zu bewährten Methoden mit Details zur Codebasis und Warnung kombiniert werden, um einen potenziellen Fix vorzuschlagen. Anstatt mit einer Suche nach Informationen über das Sicherheitsrisiko zu beginnen, beginnt der Entwickler mit einem Codevorschlag, der eine mögliche Lösung für ihre Codebasis veranschaulicht. Der Entwickler wertet den potenziellen Fix aus, um festzustellen, ob es die beste Lösung für ihre Codebasis ist, und um sicherzustellen, dass das beabsichtigte Verhalten beibehalten wird.

Die allgemeine Geheimniserkennung von Secret Scanning ist eine KI-gestützte Erweiterung von Secret Scanning, die unstrukturierte Geheimnisse im Quellcode oder in anderen Bereichen von GitHub erkennt und eine Warnung ausgibt. Benutzer von GitHub Secret Protection und GitHub Advanced Security können zwar bereits Secret-Scanning-Warnmeldungen für Partner- oder benutzerdefinierte Muster erhalten, die in ihrem Quellcode gefunden werden, doch unstrukturierte Geheimnisse lassen sich nicht leicht erkennen. Das geheime Scannen verwendet Modelle, um diese geheimen Schlüssel zu identifizieren. Wenn ein Fund erkannt wird, wird in der Liste „Generisch“ der Secret-Scanning-Warnungen eine Warnung angezeigt (auf der Registerkarte Sicherheit und Qualität des Repositorys, der Organisation oder des Unternehmens), damit Maintainer und Sicherheitsverantwortliche die Warnung überprüfen und gegebenenfalls die Anmeldeinformationen entfernen oder eine Behebung implementieren können. Für die generische Erkennung von Geheimnissen ist kein GitHub Copilot-Abonnement erforderlich.

Der Generator für reguläre Ausdrücke für benutzerdefinierte Secret-Scanning-Muster ermöglicht es, benutzerdefinierte Secret-Scanning-Muster ohne Kenntnisse in regulären Ausdrücken zu definieren. Benutzer geben eine Beschreibung in natürlicher Sprache dessen ein, was sie erkennen möchten, zusammen mit optionalen Beispielzeichenfolgen, und der Generator erzeugt bis zu drei mögliche reguläre Ausdrücke. Diese Muster können dann über den Trockenlaufmechanismus überprüft werden, bevor sie als benutzerdefinierte Muster bereitgestellt werden. Der Generator für reguläre Ausdrücke erfordert kein GitHub Copilot Abonnement.

GitHub Code Quality hilft Benutzern, die Zuverlässigkeit von Code, die Wartbarkeit und den allgemeinen Projektzustand zu verbessern, indem umsetzbares Feedback bereitgestellt und automatische Korrekturen für Befunde in Pull Requests und auf dem Standard-Branch angeboten werden. Wenn Code Quality aktiviert ist, werden zwei Arten von Analysen ausgeführt: CodeQL-Qualitätsabfragen identifizieren Probleme hinsichtlich der Wartbarkeit, Zuverlässigkeit oder des Codestils, und eine LLM-gestützte Analyse liefert zusätzliche Erkenntnisse, die über das hinausgehen, was deterministische Engines finden können. Wenn ein Qualitätsproblem erkannt wird, schlägt Copilot Autofix einen relevanten Fix vor. Bei Pullanforderungen werden die Ergebnisse als Kommentare vom github-code-quality Bot angezeigt. Im Standard-Branch werden LLM-basierte Ergebnisse im Dashboard KI-Ergebnisse unter der Registerkarte Sicherheit und Qualität angezeigt.

Die primäre unterstützte Sprache für GitHub Code Security AI-Features ist Englisch.

2. Schlüsselbegriffe

Die folgende Liste enthält ein Glossar mit wichtigen Begriffen im Zusammenhang mit GitHub Code Security AI-Features:

  • CodeQL: GitHub semantischen Codeanalysemodul zur Identifizierung von Sicherheitsrisiken im Quellcode.
  • Copilot Autofix: GitHub LLM-unterstützte Funktion, die automatisch Korrekturvorschläge für Codescanbenachrichtigungen generiert. Copilot Autofix ist für die CodeQL-Analyse verfügbar und erfordert kein GitHub Copilot Abonnement.
  • Großes Sprachmodell (LLM): Eine Art neurales Netzwerk, das auf einem großen Textteil von Textdaten trainiert wurde, der natürliche Sprache und Code generieren, analysieren und transformieren kann. Copilot Autofix verwendet eine oder mehrere LLMs zum Verarbeiten von Codeüberprüfungswarnungen und zur Erstellung von Fixvorschlägen.
  • KI-Erkennung für geheime Scans: KI-gestützte Funktionen, die geheime Scans erweitern, einschließlich generischer geheimer Erkennung. Erfordert kein GitHub Copilot-Abonnement.
  • Generische geheime Erkennung: KI-Identifizierung unstrukturierter Geheimschlüssel (z. B. Kennwörter), die nicht von Partner- oder benutzerdefinierten Mustern abgedeckt werden. Generische geheime Erkennung verwendet Modelle, um nach kennwortähnlichen Zeichenfolgen im Quellcode zu suchen.
  • Benutzerdefiniertes Muster: Ein benutzerdefinierter regulärer Ausdruck, der vom Secret-Scanning verwendet wird, um Geheimnisse zu erkennen, die einem bestimmten Format entsprechen. Der Generator für reguläre Ausdrücke für benutzerdefinierte Muster unterstützt Sie beim Erstellen dieser Muster anhand von Beschreibungen in natürlicher Sprache.
  • SARIF: Static Analysis Results Interchange Format – das Standardformat CodeQL verwendet, um Codescanergebnisse zu melden, einschließlich Warnungsstandorte und Beschreibungen.
  • GitHub Codequalität: Ein Feature, das Codequalitätsprobleme anzeigt und LLM-basierte Fixes bietet. Codequalität kombiniert CodeQL-Qualitätsabfragen mit LLM-basierten Analysen, um Wartungs-, Zuverlässigkeits- und Stilprobleme zu identifizieren.
  • KI-Befunde: Das Dashboard unter der Registerkarte Sicherheit und Qualität, in dem LLM-gestützte Codequalitätsbefunde für den Standard-Branch angezeigt werden.

3. Zentrale Merkmale oder Funktionen

Die hier beschriebenen wichtigsten Merkmale und Funktionen erläutern, wofür die KI-Funktionen von GitHub Code Security ausgelegt sind und wie sie bei den unterstützten Aufgaben abschneiden.

  • Automatierte Fixvorschläge für Sicherheitswarnungen: Copilot Autofix generiert automatisch Codeänderungsvorschläge für CodeQL-Warnungen, die bei Pullanforderungen und in der Standardverzweigung gefunden wurden. Jeder Vorschlag enthält sowohl die vorgeschlagene Codeänderung als auch eine Erklärung in natürlicher Sprache der Korrektur.
  • Alert-to-fix translation: Copilot Autofix übersetzt die Beschreibung und die Position einer Warnung aus der Codeüberprüfung in umsetzbare Codeänderungen, die die zugrunde liegende Sicherheitslücke beheben können. Das System verwendet CodeQL-Warnungsdaten im SARIF-Format, umgebende Codeausschnitte und Abfragehilfetext zum Generieren relevanter Fixes.
  • Multi-language support: Copilot Autofix unterstützt die Fixgenerierung für eine Teilmenge von Abfragen, die in den Standard- und sicherheitsweiten CodeQL-Abfragesammlungen für C#, C/C++, Go, Java/Kotlin, Swift, JavaScript/TypeScript, Python, Ruby und Rust enthalten sind. Weitere Informationen zu diesen Abfragesammlungen finden Sie unter CodeQL-Abfragesammlungen.
  • KI-gestützte Passworterkennung: Die generische Erkennung von Geheimnissen beim Secret Scanning durchsucht Repository-Inhalte mithilfe von KI, um unstrukturierte Geheimnisse (wie Passwörter) zu identifizieren, die durch deterministischen Musterabgleich nicht gefunden werden können. Erkannte Geheimnisse werden als Warnungen in der Warnungsliste für die Überprüfung auf Geheimnisse auf der Registerkarte Security and quality angezeigt.
  • KI-gestützte Generierung regulärer Ausdrücke: Der Generator für reguläre Ausdrücke beim Secret-Scanning nimmt eine Beschreibung des zu erkennenden Musters in natürlicher Sprache sowie optionale Beispielzeichenfolgen entgegen und erzeugt bis zu drei Kandidaten für reguläre Ausdrücke. Jedes Ergebnis enthält eine KI-generierte allgemeinverständliche Beschreibung, und Sie können Muster vor der Bereitstellung mithilfe eines Testlaufs überprüfen.
  • Erkennung von Codequalitätsproblemen: GitHub Code Quality führt CodeQL-Qualitätsabfragen für geänderten Code in Pull Requests und regelmäßig für den gesamten Standard-Branch aus. Diese Abfragen identifizieren Wartungs-, Zuverlässigkeits- und Stilprobleme.
  • LLM-basierte Codequalitätsanalyse: Nach jedem Push in den Standard-Branch analysiert ein LLM die zuletzt geänderten Dateien auf Qualitätsprobleme, die deterministische Engines nicht finden können. Die Ergebnisse werden im AI-Ergebnisdashboard angezeigt.
  • Automatisierte Korrekturvorschläge für Qualitätsbefunde: Wenn ein Qualitätsproblem durch eine der beiden Analysearten erkannt wird, erstellt Copilot Autofix einen Korrekturvorschlag. Bei Pullanforderungen veröffentlicht der github-code-quality Bot einen Kommentar mit der vorgeschlagenen Änderung.

4. Beabsichtigte Verwendung

GitHub KI-Features für die Codesicherheit können in einer Vielzahl von Branchen in mehreren Szenarien eingesetzt werden. Beispiele für Anwendungsfälle sind:

  • Beschleunigte Behebung von Sicherheitslücken: Verwenden Sie Copilot Autofix, um schnell Korrekturvorschläge für CodeQL-Warnungen zu erstellen und so den erforderlichen Zeit- und Fachaufwand zur Behebung von beim Codescannen erkannten Sicherheitsproblemen zu reduzieren.
  • Abbau von Hürden für sichere Softwareentwicklung: Copilot Autofix hilft Entwicklern mit begrenzter Schulung im Bereich sicherer Softwareentwicklung. Anstatt Sicherheitslücken unabhängig zu recherchieren, beginnen Entwickler mit einem Codevorschlag, der eine mögliche Lösung für ihre Codebasis veranschaulicht.
  • Optimierung der Pull-Request-Überprüfung: Wenn die Codeüberprüfung in einem Pull Request Warnmeldungen findet, stellt Copilot Autofix direkt im Code Korrekturvorschläge bereit und hilft Entwicklern, Sicherheitsprobleme vor dem Zusammenführen zu beheben.
  • Beheben von Warnungen im Standardbranch: Copilot Autofix kann auch Korrekturvorschläge für vorhandene Warnungen im Standardbranch generieren und Teams dabei helfen, ihren Rückstand bei Sicherheitsbefunden zu verringern.
  • Erkennen von durchleckten Kennwörtern im Quellcode: Verwenden Sie die generische geheime Erkennung, um unstrukturierte Geheimschlüssel in Repositorys zu finden, die außerhalb der Abdeckung von Partner- und benutzerdefinierten geheimen Scanmustern liegen.
  • Triagieren von Anmeldeinformationen mit kontextbezogenen Warnungen: Wenn ein Kennwort erkannt wird, wird eine Warnung mit KI-Erkennungskontext in der Warnungsliste angezeigt, sodass Betreuer und Sicherheitsmanager die Suche überprüfen und Maßnahmen ergreifen können.
  • Erstellen benutzerdefinierter geheimer Scanmuster ohne regex-Expertise: Verwenden Sie den Regulären Ausdrucksgenerator, um benutzerdefinierte Muster zu definieren, indem Sie beschreiben, was Sie in natürlicher Sprache erkennen möchten, und entfernen Sie die Notwendigkeit, reguläre Ausdrücke manuell zu schreiben.
  • Überprüfen generierter Muster vor der Bereitstellung: Verwenden Sie nach dem Generieren regulärer Ausdrücke den Trockenlaufmechanismus, um Muster in Ihrem Repository oder Ihrer Organisation zu testen, bevor Sie sie als benutzerdefinierte Muster bereitstellen.
  • Probleme mit der Codequalität in einem Repository sichtbar machen: Verwenden Sie GitHub Code Quality, um Probleme bei Wartbarkeit, Zuverlässigkeit und Stil zu identifizieren, damit Entwickler und Administratoren Risikobereiche schnell priorisieren können.
  • Beschleunigung der Behebung von Codequalitätsbefunden: Copilot Autofix schlägt Korrekturen für Codequalitätsbefunde vor, indem Informationen zu bewährten Methoden mit Details zur Codebasis kombiniert werden, um direkt im Pull Request oder im KI-Dashboard für Befunde eine mögliche Behebung vorzuschlagen.
  • Bereitstellung von umsetzbarem Feedback zu Pull Requests: Der github-code-quality-Bot postet Kommentare mit vorgeschlagenen Korrekturen zu Pull Requests und hilft Entwicklern, Qualitätsprobleme vor dem Zusammenführen zu beheben.

5. Modelle und Trainingsdaten

Copilot Autofix verwendet interne GitHub-Copilot-APIs, die mit den großen Sprachmodellen interagieren, welche sowohl vorgeschlagene Korrekturen im Code als auch erklärenden Text zu diesen Korrekturen erzeugen.

Die allgemeine Geheimniserkennung verwendet Modelle, um nach unstrukturierten Geheimnissen zu durchsuchen.

Der Generator für reguläre Musterausdrücke verwendet LLMs und die GitHub Copilot-API, um reguläre Ausdrücke zu generieren, die mit beschreibungen und Beispielen des Benutzers übereinstimmen.

GitHub LLM-basierte Analyse der Codequalität verwendet Copilot Sprachmodelle, um kürzlich geänderte Dateien auf Qualitätsprobleme zu analysieren. Die CodeQL-Qualitätsabfragenkomponente verwendet keine LLM. Copilot Autofix für Ergebnisse der Codequalität verwendet dieselbe LLM-Pipeline wie Copilot Autofix für die Codeüberprüfung.

Einen Vergleich der für Copilot verfügbaren Modelle finden Sie unter KI-Modellvergleich. Die vollständige Liste der unterstützten Modelle finden Sie unter Unterstützte KI-Modelle in GitHub Copilot. Informationen dazu, wo Modelle gehostet werden, finden Sie unter Hosting von Modellen für GitHub Copilot. Weitere Informationen zu den Daten, die zum Trainieren der Basismodelle hinter GitHub Security und GitHub Quality verwendet werden, finden Sie in den GitHub Copilot-FAQ unter Auf welchen Daten wurde GitHub Copilot trainiert?.

Daten, die von Copilot Autofix verarbeitet werden, werden nicht für LLM-Schulungen verwendet. Die Verwendung dieses Features unterliegt den bestehenden Geschäftsbedingungen, die GitHub Advanced Security zugeordnet sind. Weitere Informationen finden Sie unter GitHub-Nutzungsbedingungen für zusätzliche Produkte und Funktionen in der kostenlosen, Pro- und Team-Dokumentation.

6. Leistung

Wenn Copilot Autofix für ein Repository aktiviert ist, werden Codeüberprüfungswarnungen über die folgende Pipeline verarbeitet:

  1. Eingabeverarbeitung: Wenn eine Code-Scanning-Warnung erkannt wird, stellt GitHub die relevanten Daten zu einem Prompt für das Sprachmodell zusammen. Zu diesen Daten gehören:
    • CodeQL-Warnungsdaten im SARIF-Format
    • Code aus der aktuellen Version des Branches, einschließlich kurzer Codeausschnitte rund um jede Quellcodeposition, jede Senkenposition und jede im Warnhinweis oder im Ablaufpfad referenzierte Codeposition
    • Die ersten ~10 Zeilen aus jeder Datei, die an einem dieser Speicherorte beteiligt ist
    • Hilfetext für die CodeQL-Abfrage, die das Problem identifiziert hat
  2. Sprachmodellanalyse: Die zusammengesetzte Eingabeaufforderung wird an das Sprachmodell gesendet, das den Warnungskontext, die Codestruktur und Abfragehilfeinformationen analysiert.
  3. Antwortgenerierung: Das Modell generiert einen potenziellen Fix, einschließlich der vorgeschlagenen Codeänderung und eines erläuternden Texts, der den Fix beschreibt.
  4. Ausgabeformatierung: Der Vorschlag wird im Codescan-Back-End gespeichert und als Inlinevorschlag auf der Pullanforderungs- oder Warnungsdetailseite angezeigt. Es ist keine Benutzerinteraktion erforderlich, die über das Aktivieren der Codeüberprüfung für die Codebasis und das Erstellen eines Pull Requests hinausgeht.

Unterschiede nach Erfahrung

KI-Geheimniserkennung verarbeitet Eingaben und erzeugt Ausgaben wie folgt:

  1. 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 Modell zusammen mit einer Metaaufforderung bereit, die das Modell auffordert, unstrukturierte Geheimnisse im Rahmen der Eingabe zu finden. Der Benutzer interagiert nicht direkt mit dem Modell. Mehrere Modelle können zur Validierung eines einzelnen Ergebnisses verwendet werden.
  2. Modellanalyse: Das Modell sucht nach Zeichenfolgen, die unstrukturierten geheimen Schlüsseln wie Kennwörtern ähneln.
  3. Antwortgenerierung: Das Modell überprüft, ob die identifizierten Zeichenfolgen, die in der Antwort enthalten sind, tatsächlich in der Eingabe vorhanden sind.
  4. Ausgabeformatierung: Erkannte Zeichenfolgen werden als Warnungen auf der Seite mit geheimen Überprüfungswarnungen in einer separaten Liste von regulären Geheimüberprüfungswarnungen angezeigt. Jede Warnung stellt fest, dass sie mithilfe von KI erkannt wurde. Informationen zum Anzeigen von Warnmeldungen für allgemeine Geheimnisse finden Sie unter Anzeigen und Filtern von Warnungen aus der Secrets-Überprüfung.

Der benutzerdefinierte Muster regex-Generator verarbeitet Eingaben und erzeugt die Ausgabe wie folgt:

  1. Eingabeverarbeitung: Benutzer geben eine Textbeschreibung der natürlichen Sprache des Musters ein, das sie erkennen möchten, zusammen mit optionalen Beispielzeichenfolgen, die übereinstimmen sollen.
  2. Analyse des Sprachmodells: Die Beschreibung und Beispiele werden über die GitHub Copilot-API an das LLM gesendet, das daraufhin reguläre Ausdrücke erzeugt, die der Eingabe entsprechen.
  3. Antwortgenerierung: Das Modell gibt bis zu drei reguläre Kandidatenausdrücke zurück. Jedes Ergebnis enthält eine KI-generierte Beschreibung in einfacher Sprache. Einige Ergebnisse sind möglicherweise ziemlich ähnlich, und einige stimmen möglicherweise nicht mit jeder Instanz des beabsichtigten Musters überein.
  4. Ausgabeformatierung: Ergebnisse werden im benutzerdefinierten Musterdefinitionsformular angezeigt. Wenn Sie auf "Ergebnis verwenden" klicken, werden der Ausdruck und alle Beispiele in das Hauptformular für benutzerdefinierte Muster kopiert, in dem Sie einen trockenen Lauf ausführen können, um das Muster in Ihrem Repository oder Ihrer Organisation zu überprüfen. Weitere Informationen findest du unter Definieren von benutzerdefinierten Mustern für das Scannen auf geheime Daten.

GitHub LLM-basierte Codequalitätsanalyse verarbeitet Eingaben und erzeugt die Ausgabe wie folgt:

  1. Eingabeverarbeitung: Nach jedem Push in den Standardzweig werden kürzlich geänderte Dateien mit weiteren relevanten Kontextinformationen kombiniert, um einen Prompt zu bilden. Die Eingabeaufforderung wird an ein Copilot Sprachmodell gesendet.
  2. Sprachmodellanalyse: Das Sprachmodell analysiert den Code auf Wartung, Zuverlässigkeit und andere Qualitätsprobleme.
  3. Antwortgenerierung: Das Modell generiert eine Antwort, die Natürliche Sprachvorschläge und Codevorschläge enthalten kann, die mit bestimmten Zeilen verknüpft sind.
  4. Ausgabeformatierung: Ergebnisse werden im Dashboard " KI-Ergebnisse " auf der Registerkarte "Sicherheit und Qualität " angezeigt. Wenn Codequalität einen Codevorschlag bereitstellt, wird er als vorgeschlagene Änderung dargestellt, die mit ein paar Klicks angewendet werden kann.

Copilot Autofix für Ergebnisse der Codequalität für Pullanforderungen:

  1. Eingabeverarbeitung: Codequalitätsergebnisse aus der CodeQL-Analyse für eine Pullanforderung werden zusammen mit dem umgebenden Codekontext an das LLM gesendet.
  2. Sprachmodellanalyse: Das LLM analysiert den Befund und generiert eine mögliche Lösung.
  3. Antwortgenerierung: Wenn die LLM einen Fix generieren kann, erzeugt sie eine vorgeschlagene Codeänderung.
  4. Ausgabeformatierung: Der github-code-quality Bot veröffentlicht einen Kommentar in der Pull-Anforderung mit der vorgeschlagenen Änderung. Benutzer können auch die Autofix-Generierung für Ergebnisse im Standard-Branch anfordern.

7. Einschränkungen

Das Verständnis der Einschränkungen der GitHub-KI-Features für die Codesicherheit ist entscheidend, um festzustellen, ob sie innerhalb sicherer und wirksamer Grenzen verwendet werden. Während wir Kunden ermutigen, GitHub Code Security AI-Features in ihren innovativen Lösungen oder Anwendungen zu nutzen, ist es wichtig zu beachten, dass GitHub Code Security AI-Features nicht für jedes mögliche Szenario entwickelt wurden. Wir empfehlen Benutzern, auf GitHub-Bedingungen sowie die folgenden Überlegungen bei der Auswahl eines Anwendungsfalls zu verweisen:

  • Non-determinism: Copilot Autofix verwendet ein generatives Modell, das nicht deterministisch ist. Selbst bei der gleichen Warnung und dem gleichen Code kann es nicht möglich sein, einen lebensfähigen Vorschlag zu erstellen, oder der Vorschlag kann sich je nach Versuch unterscheiden.
  • Problemkomplexität und Kontext: Einige Sicherheitswarnungen , z. B. solche, die ablaufverfolgungsdatenfluss über eine komplexe, multidateibasierte Codebasis oder solche erfordern, die subtile Logikfehler darstellen, könnten für das Modell schwierig zu lösen sein.
  • Dateigröße: Wenn sich der betroffene Code in einer sehr großen Datei oder einem sehr großen Repository befindet, kann der für die LLM bereitgestellte Kontext abgeschnitten werden. Wenn der Kontext eingeschränkt ist, versucht das Feature keinen Fix.
  • Language und Framework-Abdeckung: Während Copilot Autofix eine wachsende Liste von Sprachen und CodeQL-Warnungen unterstützt, deckt es nicht jeden möglichen Warnungstyp oder jede mögliche Sprache ab.
  • LLM-Betriebskapazität: Die Generierung von Fixen unterliegt der betriebsfähigen LLM-Kapazität. Wenn kein Vorschlag verfügbar ist oder wenn ein vorgeschlagener Fix interne Tests fehlschlägt, wird kein Vorschlag angezeigt.
  • englischsprachige Daten: Das System verwendet in erster Linie englische Daten, einschließlich der Eingabeaufforderungen, den Code in den Schulungsdatensätzen des LLM und die Testfälle, die für die interne Auswertung verwendet werden. Vorschläge haben möglicherweise eine niedrigere Erfolgsquote für Quellcode und Kommentare in anderen Sprachen.
  • Syntaxfehler: Das System schlägt möglicherweise Korrekturen vor, die keine syntaktisch korrekten Codeänderungen darstellen.
  • Standortfehler: Das System schlägt möglicherweise Korrekturen an falschen Speicherorten vor. Wenn Sie einen solchen Fix akzeptieren, ohne den Speicherort zu bearbeiten, kann ein Syntaxfehler auftreten.
  • Semantische Fehler: Das System kann Korrekturen vorschlagen, die syntaktisch gültig sind, aber die Semantik des Programms ändern. Das System hat kein Verständnis für die Absicht des Programmierers.
  • Sicherheitsrisiken und irreführende Korrekturen: Das System kann Korrekturen vorschlagen, die die zugrunde liegende Sicherheitsanfälligkeit nicht beheben oder neue Sicherheitsrisiken einführen.
  • Teilkorrekturen: Das System schlägt möglicherweise Korrekturen vor, die nur teilweise die Sicherheitslücke beheben oder nur teilweise beabsichtigte Codefunktionen beibehalten.
  • Abhängigkeitsänderungen: Vorgeschlagene Korrekturen können das Hinzufügen oder Aktualisieren von Softwareabhängigkeiten umfassen. Das System weiß nicht, welche Abhängigkeitsversionen unterstützt oder sicher sind, und kann erstellte Abhängigkeiten vorschlagen, die unter statistisch wahrscheinlichen Namen veröffentlicht wurden. Überprüfen Sie vor dem Zusammenführen immer Abhängigkeitsänderungen.

Einschränkungen speziell für die KI-Secret-Erkennung

  • Unvollständige Berichterstattung: Die KI-gestützte Erkennung von Geheimnissen kann Vorkommen von Anmeldeinformationen übersehen, die in ein Repository eingecheckt wurden. Die KI-Erkennung für Geheimnisse wird sich im Laufe der Zeit verbessern. Sie sind für Sicherheit Ihres Codes verantwortlich.
  • Testcode: Die KI-gestützte Geheimniserkennung erkennt möglicherweise keine Geheimnisse im Testcode. Geheime Überprüfung überspringt Erkennungen, wenn bestimmte Bedingungen erfüllt sind, z. B.:
    • Der Dateipfad enthält "test", "mock" oder "spec"
    • Die Dateierweiterung lautet .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift oder .ts.

Spezifische Einschränkungen für den benutzerdefinierten Muster regex-Generator

  • Unvollständige Musterabdeckung: Generierte reguläre Ausdrücke stimmen möglicherweise nicht mit allen beabsichtigten Token überein. Die Qualität der Ergebnisse hängt von der Spezifität und Klarheit der Eingabebeschreibung ab.
  • Ungültige oder unangemessene Ergebnisse: Der Generator kann reguläre Ausdrücke erzeugen, die für den vorgesehenen Anwendungsfall ungültig oder ungeeignet sind.
  • Nur strukturierte Muster: Der Generator für reguläre Ausdrücke eignet sich nur zum Erstellen von Mustern, um strukturierte, vorhersagbare Formate zu erkennen , nicht zum Abgleichen von Freiformtext.
  • Englischorientierte Leistung: Das Modell wurde überwiegend auf englischsprachigen Inhalten trainiert. Die Leistung kann niedriger sein, wenn Eingabeaufforderungen für natürliche Sprachen in anderen Sprachen als Englisch bereitgestellt werden.
  • Ähnliche Ergebnisse: Einige der zurückgegebenen regulären Ausdrücke können einander ziemlich ähnlich sein, wodurch die effektive Anzahl unterschiedlicher Kandidatenmuster reduziert wird.

Spezifische Einschränkungen für GitHub Codequalität

  • Gemeinsame Einschränkungen bei der Copilot-Codeüberprüfung: Die LLM-basierte Analyse von Code Quality verwendet dasselbe zugrunde liegende Sprachmodell und dieselbe Analyse-Engine wie die Copilot-Codeüberprüfung. Sie teilt ähnliche Einschränkungen, einschließlich unvollständiger Erkennung, falsch positive Ergebnisse, Codevorschlagsgenauigkeit und potenzielle Verzerrungen. Weitere Informationen findest du unter Anwendungskarte: GitHub Copilot Agents.
  • Best-effort autofix: Copilot Autofix für Findings zur Codequalität arbeitet auf Best-Effort-Basis, und es wird nicht garantiert, dass für jedes Finding ein Fix erzeugt wird.
  • Review erforderlich: Sie müssen immer Vorschläge aus Copilot Autofix überprüfen und Änderungen nach Bedarf bearbeiten, bevor Sie sie annehmen.

8. Bewertungen

Leistungs- und Sicherheitsbewertungen bewerten, ob KI-Anwendungen zuverlässig und sicher funktionieren, indem Faktoren wie Grundhaftigkeit, Relevanz und Kohärenz untersucht und gleichzeitig die Risiken der Generierung schädlicher Inhalte identifiziert werden. Die folgenden Bewertungen wurden durchgeführt, wobei Sicherheitskomponenten bereits vorhanden waren, die auch in 9. Sicherheitskomponenten und Minderungsmaßnahmen beschrieben werden.

Leistungs- und Qualitätsbewertungen

GitHub Sicherheits-KI-Features werden auf ihren unterstützten Oberflächen anhand einer Kombination aus Branchenstandard-Benchmarks (z. B. SWE-Bench) und intern entwickelten Evaluierungssuiten ausgewertet. Benchmark-Aufgaben stammen aus öffentlichen Open Source-Repositorys und synthetischen Szenarien; keine echten Benutzerabfragen oder Kundencode werden ohne Berechtigung verwendet. Jede Auswertung enthält mehrere unabhängige Läufe, um den Nichtdeterminismus in Modellausgaben zu berücksichtigen. Zu den wichtigsten Metriken gehören die Auflösungsrate (Prozentsatz der erfolgreich abgeschlossenen Aufgaben), Tokeneffizienz, Latenz und Zuverlässigkeit von Toolaufrufen. Modelle werden neu ausgewertet, wenn Aktualisierungen vorgenommen und kontinuierlich in der Produktion über Fehlerraten, Antwortlatenz und aggregierte Nutzungsmuster überwacht werden.

Methoden zur Leistungs- und Qualitätsbewertung

Neue Modelle durchlaufen einen gestuften Evaluierungsprozess, bevor sie für Code Security, Code Quality und Secret Protection bereitgestellt werden. Integratorteams führen Benchmark-Suites speziell für ihre Oberfläche aus, testen das Modell auf repräsentativen Codierungsaufgaben wie Fehlerbehebungen, Codegenerierung und Umgestaltung mit mehreren Dateien. Die Ergebnisse werden anhand etablierter Basispläne und bestehender Produktionsmodelle überprüft. Modelle müssen grundlegende Metriken wie Auflösungsrate, Tokeneffizienz und Latenz erfüllen oder überschreiten, bevor sie zur nächsten Stufe wechseln.

Risiko- und Sicherheitsbewertungen

Die Bewertung potenzieller Risiken im Zusammenhang mit KI-generierten Inhalten ist für den Schutz vor Inhaltsrisiken mit unterschiedlichem Schweregrad unerlässlich. Dies umfasst die Bewertung der Veranlagung einer KI-Anwendung, schädliche Inhalte zu generieren oder Sicherheitsrisiken für Jailbreak-Angriffe zu testen. Für GitHub führen wir Leistungsbewertungen durch, einschließlich derjenigen, die für Codierungszwecke von Microsoft Foundry angepasst sind:

  • Hass und Unfairness
  • Sexuelle
  • Gewalt
  • Selbstverletzung
  • Geschütztes Material
  • Jailbreak (Entsperrung von Geräten)
  • Sicherheitsanfälligkeit in Code

Auswertungsdaten für Qualität und Sicherheit

Unsere Auswertungsdaten wurden speziell entwickelt, um die Leistung von KI-Anwendungen in wichtigen Bereichen der Sicherheit und Qualität zu bewerten und reale Szenarien und Risiken zu simulieren. Zunächst identifizieren wir relevante Bewertungsaspekte von Beunruhigungen basierend auf multidisziplinären Forschungs- und Experteneingaben. Diese Bedenken werden in gezielte Bewertungsziele übersetzt und leiten die Formulierung von Bewertungsmetriken. Für Sicherheit erstellen wir adversariale Prompts, um unerwünschte oder Grenzfallantworten hervorzurufen, die anschließend von KI-gestützten Annotatoren bewertet werden, die darauf trainiert sind, die Übereinstimmung mit GitHubs Standards zu beurteilen. Aus Qualitätsgründen erstellen wir rubrikenbasierte Aufforderungen, die für Szenarien relevant sind, einschließlich der Auswertung von Rag-Anwendungen (Retrieval-Augmented Generation) und Agents. Datasets werden aus verschiedenen Quellen zusammengestellt, einschließlich synthetischer und öffentlicher Datasets, um reale Benutzerszenarien zu simulieren. Mit den kuratierten Datasets durchlaufen beide Auswertungen iterative Verfeinerung und menschliche Ausrichtung zur Verbesserung der metrischen Wirksamkeit und Zuverlässigkeit. Diese Methodik bildet die Grundlage für wiederholbare, strenge Bewertungen, die widerspiegeln, wie Kunden Auswertungen verwenden, um eine bessere KI zu schaffen.

Benutzerdefinierte Auswertungen

GitHub verwendet ein automatisiertes Testsystem, um die Qualität der Copilot-Autofix-Vorschläge kontinuierlich zu überwachen. Die Testumgebung umfasst eine Reihe von über 2.300 Warnungen aus einer Vielzahl öffentlicher Repositorys, in denen der hervorgehobene Code Testabdeckung hat. Vorschläge für diese Meldungen werden getestet, um festzustellen, wie stark ein Entwickler sie überarbeiten müsste, bevor sie in die Codebasis übernommen werden. Für viele der Testwarnungen konnten die vom LLM generierten Vorschläge unverändert übernommen werden, um die jeweilige Warnung zu beheben und dabei weiterhin alle vorhandenen CI-Tests erfolgreich zu bestehen.

GitHub testet die Wirksamkeit von Vorschlägen, indem vor der Ausführung von Code-Scans und den Unit-Tests des Repositorys alle vorgeschlagenen Änderungen unbearbeitet zusammengeführt werden, und zwar für den daraus resultierenden Code:

  1. Wurde die Codeüberprüfungswarnung durch den Vorschlag behoben?
  2. Hat der Fix neue Codescanbenachrichtigungen eingeführt?
  3. Hat der Fix Syntaxfehler eingeführt, die beim Scannen von Code erkannt werden können?
  4. Hat der Fix die Ausgabe einen der Repository-Tests geändert?

Darüber hinaus überprüft GitHub viele erfolgreiche Vorschläge stichprobenartig und verifiziert, dass sie die Warnung beheben, ohne neue Probleme einzuführen. Wenn eine oder mehrere dieser Überprüfungen fehlschlagen, zeigte die manuelle Triage, dass die vorgeschlagene Korrektur in vielen Fällen fast richtig war, aber einige kleinere Änderungen benötigt, die ein Benutzer identifizieren und manuell ausführen konnte.

Das System wird außerdem einem Stresstest unterzogen, um auf potenzielle Schäden zu prüfen (Red Teaming), und ein Filtersystem für das LLM hilft zu verhindern, dass Nutzern potenziell schädliche Vorschläge angezeigt werden.

Die KI-gestützte Geheimniserkennung wurde einem Responsible AI Red Teaming unterzogen, und GitHub überwacht weiterhin fortlaufend die Wirksamkeit und Sicherheit der Funktion.

Benutzerdefinierte Muster regex-Generatorergebnisse werden über den Trockenlaufmechanismus überprüft, mit dem Benutzer generierte Muster in ihrem Repository oder ihrer Organisation testen können, bevor sie als benutzerdefinierte Muster bereitgestellt werden. Mit diesem integrierten Überprüfungsschritt wird sichergestellt, dass generierte reguläre Ausdrücke erwartungsgemäß ausgeführt werden, bevor sie in der Produktion verwendet werden.

Die LLM-gestützte Analyse von GitHub Code Quality verwendet denselben Bewertungsrahmen wie die Copilot-Codeüberprüfung. Copilot Autofix-Vorschläge für Ergebnisse der Codequalität folgen der gleichen Testumgebung wie Copilot Autofix für die Codeüberprüfung.

9. Sicherheitskomponenten und Entschärfungen

  • Human-in-the-loop review: Copilot Autofix stellt alle Vorschläge als vorgeschlagene Codeänderungen vor, die eine explizite Entwicklerüberprüfung und -akzeptanz erfordern, bevor sie angewendet werden. Entwickler müssen jeden Vorschlag auswerten und überprüfen, ob das beabsichtigte Verhalten der Codebasis beibehalten wird.
  • Inhaltsfilterung: Ein Filtersystem auf der LLM erkennt und verhindert, dass potenziell schädliche Vorschläge für Benutzer angezeigt werden. Das System wird durch Red-Teaming einem Stresstest unterzogen, um potenzielle Schwachstellen zu identifizieren.
  • Interne Qualitätstests: Vorschläge, die interne Tests nicht bestehen, werden benutzern nicht angezeigt. Die Generierung von Korrekturen wird nur angezeigt, wenn das System hinsichtlich der Qualität des Vorschlags genügend sicher ist.
  • Opt-In/Opt-Out-Steuerelemente: Copilot Autofix ist standardmäßig zulässig und für jedes Repository mit CodeQL aktiviert, Administratoren können jedoch Copilot Autofix auf Unternehmens-, Organisations- und Repositoryebene deaktivieren. Weitere Informationen findest du unter Deaktivieren von Copilot Autofix für Code-Scanning-Sicherheitswarnungen.
  • Kein Training mit Kundendaten: Von Copilot Autofix verarbeitete Daten werden nicht zum Trainieren von LLMs verwendet. Die Verwendung dieses Features unterliegt den bestehenden Geschäftsbedingungen, die GitHub Advanced Security zugeordnet sind.
  • False positive Feedbackschleife: Wenn Benutzer eine generische geheime Erkennungswarnung schließen und den Grund als "Falsch positiv" kennzeichnen, verwendet GitHub das falsch positive Volumen, um das Modell zu verbessern. GitHub haben keinen Zugriff auf die geheimen Literale selbst.
  • Trockenlaufüberprüfung für generierte Muster: Generierte reguläre Ausdrücke aus dem benutzerdefinierten Muster regex-Generator müssen vor der Bereitstellung einen Trockenlauf-Überprüfungsschritt durchlaufen. Benutzer importieren ein Ergebnis explizit in das benutzerdefinierte Musterformular und testen es in ihrem Repository oder ihrer Organisation, um sicherzustellen, dass Muster erwartungsgemäß ausgeführt werden, bevor sie in der Produktion verwendet werden.
  • Explizite Benutzeraktion erforderlich: Der Regex-Generator stellt keine Muster automatisch bereit. Benutzer müssen auf " Ergebnis verwenden " klicken, um einen generierten Ausdruck in das benutzerdefinierte Musterformular zu kopieren und das Muster dann manuell zu speichern und zu aktivieren.
  • Feedback-Mechanismus für die Codequalität: Benutzer können Feedback zu Codequalitätsvorschlägen mithilfe der Schaltflächen "Daumen nach oben" und "Daumen nach unten" auf den Kommentaren des Bots github-code-quality geben und GitHub die Vorschlagsqualität verbessern.
  • Vorschaugestützte Verfügbarkeit: GitHub Code Quality ist als Vorschau verfügbar, sodass Organisationen die Funktion vor einer breiteren Einführung bewerten können.

10. Bewährte Methoden für die Bereitstellung und Einführung der GitHub-KI-Features für die Codesicherheit

Verantwortungsvolle KI ist ein gemeinsames Engagement zwischen GitHub und seinen Kunden. Während GitHub KI-Anwendungen mit Sicherheit, Fairness und Transparenz im Kern erstellt, spielen Kunden eine wichtige Rolle bei der Bereitstellung und Verwendung dieser Technologien in ihren eigenen Kontexten. Um diese Partnerschaft zu unterstützen, bieten wir die folgenden bewährten Methoden für Bereitstellungen und Endbenutzer an, um Kunden bei der effektiven Implementierung verantwortungsvoller KI zu unterstützen.

  • Seien Sie vorsichtig und bewerten Sie die Ergebnisse, wenn Sie GitHub Security KI-Funktionen für folgenschwere Entscheidungen oder in sensiblen Bereichen verwenden: Folgeentscheidungen sind solche, die einen rechtlichen oder erheblichen Einfluss auf den Zugang einer Person auf Bildung, Beschäftigung, Finanzplattformen, staatliche Leistungen, Gesundheitsversorgung, Wohnung, Versicherung, Rechtliche Plattformen haben oder die zu physischem, psychologischem oder finanziellem Schaden führen könnten. Sensible Domänen wie Finanzplattformen, Gesundheitswesen und Wohnungen erfordern besondere Sorgfalt aufgrund des Potenziellen für unverhältnismäßige Auswirkungen auf verschiedene Personengruppen. Wenn Sie KI für Entscheidungen in diesen Bereichen verwenden, stellen Sie sicher, dass betroffene Beteiligte verstehen, wie Entscheidungen getroffen werden, Beschwerdeentscheidungen treffen und alle relevanten Eingabedaten aktualisieren können.
  • Bewertung rechtlicher und behördlicher Überlegungen: Kunden müssen potenzielle rechtliche und behördliche Verpflichtungen bewerten, wenn Sie KI-Plattformen und -Lösungen verwenden, die möglicherweise nicht für die Verwendung in jeder Branche oder in jedem Szenario geeignet sind. Darüber hinaus sind KI-Plattformen oder -Lösungen nicht für sie ausgelegt und dürfen nicht auf eine Weise verwendet werden, die in anwendbaren Nutzungsbedingungen und relevanten Verhaltensregeln verboten ist.
  • Überprüfen Sie immer Vorschläge, bevor Sie annehmen: Bewerten Sie die vorgeschlagene Codeänderung, um sicherzustellen, dass sie die Sicherheitsanfälligkeit korrekt behebt, ohne das beabsichtigte Verhalten Ihres Codes zu ändern. Wenn Sie eine gute Testabdeckung haben, können Sie überprüfen, ob ein Fix das Verhalten der Codebasis nicht ändert.
  • Überprüfen Sie, ob CI-Tests erfolgreich sind: Überprüfen Sie nach dem Commit eines vorgeschlagenen Fixs oder geänderten Fixs immer, ob fortlaufende Integrationstests für die Codebasis weiterhin bestehen und dass die Warnung vor dem Zusammenführen der Pullanforderung als aufgelöst angezeigt wird.
  • Überprüfen Sie Abhängigkeitsänderungen sorgfältig: Wenn eine vorgeschlagene Lösung Änderungen an Abhängigkeiten enthält, überprüfen Sie, ob alle hinzugefügten oder aktualisierten Abhängigkeiten sicher, unterstützt und das beabsichtigte Verhalten der Codebasis beibehalten werden. Verwenden Sie Abhängigkeitsverwaltungslösungen, z. B. die Abhängigkeitsüberprüfungs-API und -Aktion, um Änderungen auszuwerten. Weitere Informationen findest du unter Abhängigkeitsüberprüfung.
  • Schließen Sie Fehlalarme angemessen: Da die KI-Geheimniserkennung möglicherweise mehr Fehlalarme als die Partnermustererkennung erzeugt, überprüfen Sie jeden Alarm auf seine Genauigkeit. Wenn Sie überprüfen, ob eine Benachrichtigung falsch positiv ist, schließen Sie die Warnung, und markieren Sie den Grund in der GitHub UI als "Falsch positiv". Dieses Feedback hilft dabei, das Modell zu verbessern.
  • Validieren Sie generierte Regex-Muster mit einer trockenen Ausführung: Wenn Sie den benutzerdefinierten Muster regex-Generator verwenden, führen Sie immer einen trockenen Lauf über repräsentative Repositorys aus, bevor Sie ein generiertes Muster organisationsweit bereitstellen.
  • Seien Sie mit Beschreibungen spezifisch: Um die Qualität der generierten regulären Ausdrücke zu verbessern, sollten Sie mit Ihren Beschreibungen in natürlicher Sprache so spezifisch wie möglich sein und verschiedene Beispielzeichenfolgen enthalten, die die Muster darstellen, die Sie erkennen möchten.
  • Überprüfen Sie alle generierten Muster: Überprüfen Sie sorgfältig alle generierten regulären Ausdrücke, einschließlich der KI-generierten Nur-Sprache-Beschreibungen, und erwägen Sie, Die Ergebnisse so zu ändern, dass sie Ihren Anforderungen besser gerecht werden. Sie sind letztendlich für benutzerdefinierte Muster verantwortlich, die Sie verwenden möchten.
  • Überprüfen Sie Codequalitätsergebnisse, bevor Sie Korrekturen anwenden: Überprüfen Sie immer die Genauigkeit und Anwendbarkeit von Codequalitätsergebnissen und Autofix-Vorschlägen auf Ihre Codebasis, bevor Sie sie akzeptieren.
  • Geben Sie Feedback zu Vorschlägen zur Codequalität: Verwenden Sie die Schaltflächen „Daumen hoch“ und „Daumen runter“ bei den Kommentaren des github-code-quality-Bots, um zur Verbesserung des Tools beizutragen und etwaige Bedenken oder Einschränkungen anzugehen.
  • Üben Sie bei Bedarf eine menschliche Aufsicht aus: Die menschliche Aufsicht ist ein wichtiger Schutz bei der Interaktion mit KI-Anwendungen. Während wir unsere KI-Anwendungen kontinuierlich verbessern, kann KI immer noch Fehler machen. Die generierten Ausgaben können ungenau, unvollständig, voreingenommen, falsch ausgerichtet oder irrelevant für Ihre beabsichtigten Ziele sein. Dies kann verschiedene Gründe haben, z. B. Mehrdeutigkeit in den Eingaben oder Einschränkungen der zugrunde liegenden Modelle. Daher sollten Benutzer die von den KI-Funktionen von GitHub Code Security generierten Antworten überprüfen und verifizieren, dass sie ihren Erwartungen und Anforderungen entsprechen.
  • Achten Sie auf das Risiko einer Überlastung: Überlastung bei KI geschieht, wenn Benutzer falsche oder unvollständige KI-Ausgaben akzeptieren, hauptsächlich weil Fehler in KI-Ausgaben möglicherweise schwer zu erkennen sind. Für den Endbenutzer kann eine Überzuverlässigkeit unter anderem zu verminderter Produktivität, Vertrauensverlust, Anwendungsabbruch, finanziellem Verlust, psychischen Schäden, körperlichen Schäden führen. (z. B. ein Arzt akzeptiert eine falsche KI-Ausgabe).
  • Seien Sie vorsichtig beim Entwerfen agentischer KI in sensiblen Domänen: Benutzer sollten beim Entwerfen und/oder Bereitstellen agentischer KI-Anwendungen in sensiblen Domänen Vorsicht walten lassen, bei denen Agentaktionen unumkehrbar oder stark folgefähig sind. Zusätzliche Vorsichtsmaßnahmen sollten auch bei der Erstellung autonomer agentischer KI getroffen werden, wie weiter im GitHub-Bedingungen beschrieben.
  • Enable CI-Tests für Pullanforderungen: Stellen Sie sicher, dass kontinuierliche Integrationstests vorhanden sind, bevor sie Copilot Autofix aktivieren, sodass funktionsbezogene Anforderungen überprüft werden, nachdem Entwickler Korrekturen angewendet haben.
  • Verwenden Sie Abhängigkeitsverwaltungslösungen: Aktivieren Sie die Abhängigkeitsüberprüfung von Pullanforderungen, um potenziell riskante Abhängigkeitsänderungen abzufangen, die von Autofix-Vorschlägen eingeführt wurden.
  • Metriken der Sicherheitsübersicht überprüfen: Verwenden Sie das Dashboard der Sicherheitsübersicht Ihrer Organisation, um die Gesamtzahl der Copilot-Autofix-Vorschläge anzuzeigen, die für offene und geschlossene Pull Requests in einem bestimmten Zeitraum generiert wurden. Weitere Informationen findest du unter Einblicke in die Sicherheit anzeigen.
  • Falsch positives Volumen für die geheime Erkennung auswerten: Bewerten Sie das falsch positive Volumen, und richten Sie Triageprozesse für die Warnungsliste ein.
  • Überwachen Sie das Volumen und die Qualität von Codequalitätsvorschlägen: Bewerten Sie das Volumen und die Qualität von Codequalitätsvorschlägen, und passen Sie die Aktivierung entsprechend Ihrer Organisation an.

11. Erfahren Sie mehr über GitHub Sicherheits-KI-Features

Für weitere Hinweise zur verantwortungsvollen Nutzung der GitHub-Sicherheits-KI-Funktionen empfehlen wir Ihnen, die folgende Dokumentation zu lesen:

Erfahren Sie mehr über verantwortungsvolle KI