Skip to main content

KI-gestützte Sicherheitserkennungen in Pullanforderungen

KI-gestützte Sicherheitserkennungen verwenden eine KI-basierte Scan-Engine, um Sicherheitslücken in Pull Requests für Sprachen und Frameworks zu erkennen, die nicht von CodeQL abgedeckt werden.

Hinweis

KI-gestützte Sicherheitserkennungen befinden sich derzeit in Öffentliche Vorschau und können sich ändern.

KI-gestützte Sicherheitsbefunde sind zusätzliche Sicherheitsergebnisse, die von einer KI-basierten Scan-Engine erzeugt werden, die bei Pull Requests ausgeführt wird und CodeQL ergänzt. Im Gegensatz zu CodeQL Warnungen sind KI-gestützte Ergebnisse nur für Pull-Anforderungen verfügbar und werden nicht als Backlog-Warnungen in der Sicherheitsansicht des Repositorys angezeigt.

Während CodeQL hochpräzise statische Analysen für eine bestimmte Auswahl unterstützter Sprachen und Abfragen bietet, verwenden viele Repositories Sprachen und Frameworks, die von CodeQL nicht abgedeckt werden. KI-gestützte Erkennungen erweitern code scanning die Abdeckung in diese Bereiche und helfen Ihnen dabei, Sicherheitsrisiken zu finden, ohne neue Tools oder Konfigurationen hinzuzufügen.

Während der Öffentliche Vorschau sind für KI-gestützte Sicherheitserkennungen eine GitHub Advanced Security-Lizenz und eine GitHub Copilot-Lizenz erforderlich.

Die Nutzung verbraucht AI credits. Siehe Nutzungsbasierte Abrechnung für Organisationen und Unternehmen.

Funktionsweise von KI-gestützten Sicherheitserkennungen

KI-gestützte Sicherheitserkennungen werden automatisch auf Pullanforderungen in Repositorys ausgeführt, bei denen CodeQL die Standardeinrichtung aktiviert ist und KI-basierte Erkennungen aktiviert wurden. Der KI-basierte Scan wird beim Erstellen eines Pull Requests und nach jedem neuen Commit gestartet, genauso wie CodeQL.

KI-gestützte Ergebnisse dienen nur als Empfehlung und blockieren keine Pull-Request-Merges. Sie liefern Signale darüber, wo die Codesicherheit verbessert werden kann, ohne Ihren Workflow zu unterbrechen.

Das AI-Scanmodul funktioniert direkt mit dem Code in der Pullanforderung und erfordert kein Buildsystem. Es verwendet Tools wie die Codesuche, um zusätzliche Kontextinformationen aus dem Repository zu sammeln, wenn entschieden wird, ob ein Problemfall markiert werden soll. Es verwendet eigene spezielle Eingabeaufforderungen und verwendet keine benutzerdefinierten Anweisungsdateien wie /.github/copilot-instructions.md oder /CLAUDE.md.

Der AI-Scan wird unabhängig vom CodeQLStatus ausgeführt. Wenn CodeQL das Standardsetup fehlschlägt oder sich in einem Wartezustand befindet, werden KI-gestützte Erkennungen weiterhin ausgeführt.

Die Ergebnisse werden an die Pullanforderung gesendet, sobald sie gefunden werden. Wenn der CodeQL Scan länger dauert, können KI-gestützte Ergebnisse angezeigt werden, bevor CodeQL Ergebnisse angezeigt werden, oder umgekehrt.

Wie Ergebnisse in Pull Requests angezeigt werden

KI-gestützte Ergebnisse werden neben CodeQL Warnungen auf den Registerkarten Konversation und Geänderte Dateien eines Pull Requests angezeigt. Jede KI-gestützte Suche wird mit einem "AI"-Indikator gekennzeichnet, damit Sie sie von CodeQL Warnungen unterscheiden können.

Jeder Befund enthält eine Beschreibung des Sicherheitsproblems und eine Erläuterung des Risikos. Die meisten Befunde enthalten auch eine empfohlene Abhilfemaßnahme, aber nicht jeder Befund enthält eine. Wenn eine vorgeschlagene Behebung verfügbar ist, wird Copilot Autofix eingeblendet und stellt eine empfohlene Codeänderung zur Behebung des Problems bereit, genauso wie bei CodeQL Warnmeldungen. Die Ergebnisse umfassen auch eine Feedbackfunktion mit Daumen hoch/runter, mit der sich die Erkennungsqualität im Laufe der Zeit verbessern lässt.

Einschränkungen

  • KI-gestützte Sicherheitserkennungen analysieren nur Pull-Anforderungen. Vollständige Repository-Scans werden nicht unterstützt.
  • KI-gestützte Ergebnisse können noch nicht in Regelets verwendet werden, um Zusammenführungsanforderungen zu erzwingen
  • Erkennungskategorien und unterstützte Sprachen können sich ändern, wenn sich das Feature weiterentwickelt.
  • Wie bei jedem KI-basierten Tool können die Ergebnisse falsch positive Ergebnisse enthalten. Verwenden Sie den Feedbackmechanismus, um ungenaue Ergebnisse zu melden.

Unterstützte Sprachen

KI-gestützte Sicherheitserkennungen dienen dazu, Sprachen und Frameworks abzudecken, die derzeit nicht unterstützt werden CodeQL. Dazu gehören unter anderem Sprachen wie PHP, Shell/Bash, Terraform-Konfigurationen (HCL) und Dockerfiles sowie Lücken bei der Framework-Unterstützung wie JSP für Java und Blazor für C#.

Eine vollständige Liste der sprachen, die von CodeQLautoTITLE unterstützt werden, finden Sie unter Codeüberprüfung mit CodeQL.

Erkennungskategorien

KI-gestützte Sicherheitserkennungen decken derzeit die folgenden Kategorien ab. Diese Kategorien beschreiben, wie Ergebnisse klassifiziert werden. Der KI-Scanner kann sich im Laufe der Zeit weiterentwickeln, da Modelle verbessert werden.

  • String-Injection — Unsichere, per String-Verkettung erzeugte SQL-, HTML-, Shell-, JSON- oder YAML-Konstrukte mit fehlendem oder fehlerhaftem Escaping bzw. unzureichender Sanitisierung.
  • Schwache Kryptografie — schwache Algorithmen, kleine Schlüssel, unsichere Zufallszahlen, fehlende Verschlüsselung oder schwache Passwort-Hashverfahren.
  • Fehlerhafte Zugriffssteuerung – Pfad-Traversale, CSRF-Lücken oder benutzergesteuerte offene Umleitungen.
  • Offenlegung sensibler Daten — Geheimnisse, Token, Kennwörter oder Stacktraces, die ohne angemessenen Schutz gespeichert, protokolliert oder gesendet werden.
  • Sicherheitsfehler – riskante Standardwerte oder Einstellungen, z. B. Das Deaktivieren von Sicherheitssteuerelementen oder das Aktivieren von Debugfeatures.
  • Authentifizierungsfehler – Fehlende TLS- oder Überprüfungsvorgänge, unsichere Authentifizierungsflüsse oder fehlende Einschränkung der Rate.
  • Datenintegritätsfehler – unsichere Deserialisierung, HTTP für vertrauliche Aktionen, Prototypverschmutzung oder Ausführen nicht vertrauenswürdiger Inhalte.
  • Serverseitige Anforderungsfälschung (SSRF) – Server ruft vom Angreifer kontrollierte URLs, Hosts oder Protokolle ab.
  • Lieferkettenrisiken — Nicht fixierte Aktionen, Pakete oder Images von Drittanbietern oder Downloads ohne Integritätsprüfungen.

Aktivieren von KI-basierten Sicherheitserkennungen

KI-gestützte Sicherheitserkennungen sind standardmäßig nicht auf Unternehmensebene zulässig und auf Organisations- und Repositoryebene deaktiviert. Unternehmensadministratoren müssen das Feature explizit zulassen, bevor Organisationen es aktivieren können. Organisationsadministratoren müssen sich explizit für das Feature anmelden. Repositoryadministratoren können das Feature deaktivieren. Darüber hinaus müssen Sie das CodeQL Standardsetup aktiviert haben.

Sie müssen kein Modell auswählen, um KI-basierte Sicherheitserkennungen zu aktivieren.