Hinweis: Dein Websiteadministrator muss code scanning für deine GitHub Enterprise Server-Instanz aktivieren, damit du dieses Feature verwenden kannst. Weitere Informationen findest du unter Konfigurieren des Codescannings für deine Appliance.
Informationen zu code scanning mit CodeQL
CodeQL ist die von GitHub entwickelte Codeanalyse-Engine zum Automatisieren von Sicherheitsprüfungen. Du kannst deinen Code mithilfe von CodeQL analysieren und die Ergebnisse als code scanning-Warnungen anzeigen.
Es gibt zwei Hauptmethoden, um die Analyse von CodeQL für code scanning zu verwenden:
-
Füge deinem Repository den Workflow von CodeQL hinzu. Dabei wird die Aktion github/codeql-action zum Ausführen der CodeQL CLI verwendet. Weitere Informationen findest du unter Konfigurieren der Codeüberprüfung für ein Repository.
-
Führe die CodeQL-CLI direkt in einem externen CI-System aus, und lade die Ergebnisse auf GitHub hoch. Weitere Informationen findest du unter Informationen zur CodeQL-Codeüberprüfung in deinem CI-System.
Informationen zu CodeQL
CodeQL behandelt code wie Daten, sodass du mögliche Sicherheitsrisiken in deinem Code zuverlässiger findest als mit herkömmlichen statischen Analysetools.
- Du generierst eine CodeQL-Datenbank zum Darstellen deiner Codebasis.
- Danach führst du CodeQL-Abfragen von dieser Datenbank aus, um Probleme in der Codebasis zu ermitteln.
- Die Abfrageergebnisse werden als code scanning-Warnungen in GitHub Enterprise Server angezeigt, wenn du CodeQL mit code scanning verwendest.
CodeQL unterstützt sowohl kompilierte als auch interpretierte Sprachen und kann Sicherheitsrisiken und Fehler in Code finden, der in den unterstützten Sprachen geschrieben wurde.
- C/C++
- C#
- Go
- Java
- JavaScript/TypeScript
- Python
- Ruby
Hinweise:
- Die CodeQL-Analyse für Ruby ist derzeit als Betaversion verfügbar. Während der Betaphase ist die Analyse von Ruby weniger umfassend als die CodeQL-Analyse für andere Sprachen.
- Verwende
javascript
zum Analysieren von Code, der in JavaScript, TypeScript oder beiden Sprachen geschrieben wurde.
Weitere Informationen findest du in der Dokumentation zur CodeQL-Website: Unterstützte Sprachen und Frameworks.
Informationen zu CodeQL-Abfragen
Expertinnen, Sicherheitsforscherinnen und Mitwirkende der Community von GitHub schreiben und verwalten die Standardabfragen in CodeQL, die für code scanning verwendet werden. Die Abfragen werden regelmäßig aktualisiert, um die Analyse zu verbessern und falsch positive Ergebnisse zu verringern. Bei den Abfragen handelt es sich um Open-Source-Abfragen, sodass du sie im github/codeql
-Repository anzeigen und zu ihnen beitragen kannst. Weitere Informationen findest du unter CodeQL auf der CodeQL-Website. Du kannst auch eigene Abfragen schreiben. Weitere Informationen findest du unter Informationen zu CodeQL-Abfragen in der Dokumentation zu CodeQL.
Wenn du den Code mit dem erweiterten Setup oder einem externen CI-System scannst, kannst du zusätzliche Abfragen im Rahmen der Analyse ausführen.
Die Abfragen, die du ausführen möchtest, müssen zu einem QL-Paket in einem Repository gehören. Abfragen dürfen nur von den Standardbibliotheken (d. h. den Bibliotheken, auf die eine import LANGUAGE
-Anweisung in deiner Abfrage verweist) oder Bibliotheken im gleichenQL-Paket wie die Abfrage abhängig sein.