Skip to main content
Skip to content

KI-Scan für Pull-Anforderungen

AI Scan verwendet ein KI-basiertes Scanmodul, um Sicherheitsrisiken in Pull-Anforderungen für Sprachen und Frameworks zu finden, die nicht abgedeckt werden CodeQL.

AI Scan für Pull Requests erzeugt zusätzliche Sicherheitsbefunde mit einem KI-basierten Scanmodul, das auf Pull Requests ausgeführt wird und CodeQL ergänzt. Im Gegensatz zu CodeQL Warnungen sind AI Scan-Ergebnisse nur für Pull-Anforderungen verfügbar und werden nicht als Backlog-Warnungen in der Sicherheitsansicht des Repositorys angezeigt.

AI Scan code scanning erweitert die Abdeckung, ohne dass ein separates Scantool oder eine Build-Konfiguration erforderlich ist.

Availability

Die Verfügbarkeit hängt davon ab, wem das Repository gehört und wie sichtbar es ist.

RepositorybesitzerSichtbarkeitVerfügbarkeit und Anforderungen
OrganisationPublicVerfügbar ohne eine active-committer license
OrganisationPrivat oder internVerfügbar mit GitHub Code Security oder GitHub Advanced Security
Persönliches KontoPublicAvailable
Persönliches KontoPrivatNicht verfügbar

AI Scan für Pull Requests ist für Repositorys im persönlichen Namespace von verwaltetes Benutzerkonto nicht verfügbar, auch wenn code scanning für das Repository aktiviert ist.

Sie benötigen GitHub Copilot keine Lizenz für die Verwendung von AI Scan.

Billing

Die AI Scan-Nutzung ist von der Active-Committer-Lizenzierung getrennt und wird unter der SKU für Code Security AI Credits gemeldet. Die Verwendung beginnt nur, wenn ein qualifizierender Pull Request gescannt wird.

Für repositorys im Besitz der Organisation wird die Nutzung dem Konto in Rechnung gestellt, das für die Abrechnung der Organisation verantwortlich ist.

Für öffentliche Repositorys, die sich im Besitz eines persönlichen Kontos befinden, wird die Nutzung diesem persönlichen Konto in Rechnung gestellt, es sei denn, der Repositorybesitzer verfügt über eine GitHub Copilot Lizenz, die von einer Organisation oder einem Unternehmen bereitgestellt wird. In diesem Fall wird der Organisation oder dem Unternehmen, die die Lizenz bereitstellt, die Nutzung in Rechnung gestellt.

Wenn das Abrechnungskonto über eine AI credits Berechtigung enthaltene GitHub Copilot erhält, verwendet AI Scan zuerst diese Gutschriften. Nachdem die enthaltenen Kontingente ausgeschöpft wurden oder wenn das Konto keine enthaltenen Kontingente hat, wird die Nutzung nach Verbrauch abgerechnet und von den geltenden Budgets geregelt. Wenn ein hartes Budget keine Code Security AI Credits mehr verfügbar lässt, kann AI Scan keine Befunde erzeugen. Das Scannen wird fortgesetzt, wenn ein Administrator das limitierende Budget erhöht oder ein neuer Abrechnungszyklus beginnt.

Ausführliche Informationen zum Abrechnungsmodell finden Sie unter GitHub Advanced Security Lizenzabrechnung.

So funktioniert AI Scan

AI Scan wird automatisch ausgeführt, wenn alle folgenden Bedingungen erfüllt sind:

  • Code scanning ist für das Repository aktiviert.
  • Die Einstellung „AI Scan für Pull Requests“ des Repositorys ist aktiviert.
  • Ein Pull Request, der nicht von einer Verzweigung stammt oder von Dependabot erstellt wurde, enthält Änderungen in einer unterstützten Sprache oder einem unterstützten Framework, die CodeQL nicht abgedeckt werden.

Scans werden ausgeführt, wenn ein Pull Request erstellt wird, und nach jedem neuen Commit, wie dies auch für CodeQL gilt.

AI Scan erfordert CodeQL keine Standardeinrichtung und hängt nicht vom Analysestatus CodeQL ab. Wenn CodeQL die Analyse fehlschlägt oder sich in einem Wartezustand befindet, wird der AI-Scan weiterhin ausgeführt.

Die Ergebnisse werden an die Pullanforderung gesendet, sobald sie gefunden werden. Wenn der CodeQL Scan länger dauert, sehen Sie möglicherweise AI Scan-Ergebnisse, bevor CodeQL Ergebnisse angezeigt werden, oder umgekehrt.

Die Ergebnisse sind unverbindlich. Sie bestehen die Code scanning-Prüfung nicht und können Pull-Request-Zusammenführungen nicht durch Regelsatzanforderungen blockieren. Sie liefern Signale darüber, wo die Codesicherheit verbessert werden kann, ohne Ihren Workflow zu unterbrechen.

Das Scanmodul analysiert Pull-Request-Code, ohne dass ein Buildsystem erforderlich ist, und kann die Codesuche verwenden, um mehr Kontext aus dem Repository zu sammeln, bevor ein Problem gekennzeichnet wird. Es verwendet spezielle Prompts, keine benutzerdefinierten Anweisungsdateien wie /.github/copilot-instructions.md oder /CLAUDE.md.

Wie AI-Scan-Ergebnisse bei Pull-Anforderungen angezeigt werden

AI-Scan-Ergebnisse werden zusammen mit CodeQL Warnhinweisen auf den Registerkarten Konversation und Geänderte Dateien in einer Pull-Anforderung angezeigt. Jeder Befund ist mit einem „AI“-Indikator gekennzeichnet, sodass Sie ihn von CodeQL Warnungen unterscheiden können.

Jeder Befund beschreibt das Sicherheitsproblem und erläutert das Risiko. Die meisten Ergebnisse enthalten auch eine vorgeschlagene Korrektur. Wenn verfügbar, Copilot Autofix empfiehlt eine Codeänderung, wie für CodeQL Warnungen.

Sie können die Daumen nach oben oder unten verwenden, um Feedback zu geben und die Erkennungsqualität zu verbessern.

Einschränkungen

  • AI Scan analysiert nur Pull-Anforderungen. Vollständige Repository-Scans werden nicht unterstützt.
  • AI Scan-Ergebnisse können noch nicht in Regelets verwendet werden, um Zusammenführungsanforderungen zu erzwingen.
  • AI Scan wird nicht für Pull Requests aus Forks oder für Pull Requests ausgeführt, die von Dependabot erstellt wurden.
  • Erkennungskategorien und unterstützte Sprachen können sich ändern, wenn sich das Feature weiterentwickelt.
  • Wie bei jedem KI-basierten Tool können KI-Scan-Ergebnisse falsch positive Ergebnisse enthalten. Verwenden Sie den Feedbackmechanismus, um ungenaue Ergebnisse zu melden.

Unterstützte Sprachen

AI Scan unterstützt ausgewählte Sprachen und Frameworks, die von CodeQL derzeit nicht abgedeckt werden. Beispiele sind PHP, Shell/Bash, Terraform-Konfiguration (HCL), Dockerfiles, JSP für Java und Blazor für C#.

Informationen dazu, ob CodeQL eine Sprache unterstützt, finden Sie unter Codeüberprüfung mit CodeQL.

Erkennungskategorien

AI Scan klassifiziert derzeit Ergebnisse in die folgenden Kategorien. Die Abdeckung kann sich ändern, wenn sich das Feature weiterentwickelt.

  • Einschleusung von Zeichenketten – Unsichere, aus Zeichenketten zusammengesetzte SQL-, HTML-, Shell-, JSON- oder YAML-Codes mit fehlender oder fehlerhafter Maskierung oder Bereinigung.
  • 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 angeheftete Aktionen, Pakete oder Images von Drittanbietern oder Downloads ohne Integritätsprüfungen.

Aktivieren des KI-Scans

Bevor Sie AI Scan für Pull Requests für eine Organisation aktivieren, bestätigen Sie die Berechtigung des Repositorys, überprüfen Sie das im Abrechnungskonto enthaltene AI credits und konfigurieren Sie Budgets für die getaktete Nutzung.

Wenn Sie die Organisationseinstellung aktivieren, wird die KI-Überprüfung sofort für alle berechtigten Repositorys aktiviert, für die code scanning aktiviert ist. Repositoryadministratoren können sich dann dagegen entscheiden, aber qualifizierende Pull Requests können Code Security AI Credits nutzen, bevor sie dies tun.

Sie müssen kein Modell auswählen, um AI Scan zu aktivieren.

  • Enterprise: Unternehmensbesitzer können Organisationen erlauben oder daran hindern, AI Scan zu aktivieren. Die Richtlinie ist standardmäßig auf "Nicht zulässig" festgelegt. Durch das Zulassen von AI Scan wird sie nicht automatisch aktiviert. Siehe Implementierung von Richtlinien zur Codesicherheit und -analyse für Ihr Unternehmen.
  • Organisation: Organisationsbesitzer und Sicherheitsmanager können AI Scan für Pull Requests für berechtigte Repositories aktivieren. Repositorys erben die Organisationseinstellung. Siehe Konfigurieren globaler Sicherheitseinstellungen für Ihre Organisation.
  • Organisationseigenes Repository: Personen mit Administratorzugriff auf das Repository können die Teilnahme deaktivieren, wenn die Organisation die KI-Überprüfung aktiviert hat. Sie können nicht zustimmen, wenn die Organisationseinstellung deaktiviert ist.
  • Öffentliches Repository im Besitz eines persönlichen Kontos: Personen mit Administratorzugriff auf das Repository aktivieren oder deaktivieren AI Scan direkt mithilfe des Schalters AI Scan für Pull Requests unter „Code scanning“.

Organisationsbesitzer und Sicherheitsmanager können den effektiven Aktivierungsstatus von AI Scan für Pull Requests in der Ansicht „Abdeckung“ der Sicherheitsübersicht überprüfen. Siehe Bewertung der Einführung von Sicherheitsfunktionen.

Personen mit Zugriff auf den Sicherheitsüberblick können auch KI-Scan-Ergebnisse in einer Organisation oder einem Unternehmen überwachen:

  • Die Registerkarte „Prevention“ im Übersichtsdashboard zeigt Trends bei AI-Scan-Findings, wie viele Findings gelöst wurden und wie oft Entwickler einen Copilot Autofix Vorschlag akzeptiert haben.
  • Auf der Registerkarte "KI-Scan" im Bericht "Codescan bei Pullanforderungen" werden Ergebnisse im Laufe der Zeit, die Verfügbarkeit von Copilot Autofix Vorschlägen und die Ergebnisse von Befunden mit und ohne Vorschläge angezeigt.

Weitere Informationen findest du unter Codeüberprüfung für Pull Requests.

Sie können die REST-API verwenden, um die Organisations- oder Repositoryeinstellung ai-scan zu verwalten. Siehe REST-API-Endpunkte für die Codeüberprüfung.