GitHub hat die Hinzufügung eines experimentellen maschinellen Lernsystems zum Service Code Scanning bekannt gegeben, das verbreitete Arten von Schwachstellen im Code aufdeckt. In der Testphase ist die neue Funktionalität derzeit nur für Repositories mit Code in JavaScript und TypeScript verfügbar. Es wird angemerkt, dass der Einsatz des maschinellen Lernsystems den Umfang der erkannten Probleme erheblich erweitert hat. Dabei beschränkt sich das System nicht auf die Überprüfung typischer Muster und ist nicht an bekannte Frameworks gebunden. Zu den neuen erkannten Problemen gehören unter anderem Fehler, die zu Cross-Site-Scripting (XSS) führen, sowie die Manipulation von Dateipfaden (zum Beispiel durch die Angabe von „/..“), und die Injektion von SQL- und NoSQL-Abfragen.
Der Code-Scan-Service ermöglicht es, Schwachstellen frühzeitig in der Entwicklungsphase zu identifizieren, indem jede "git push"-Operation auf potenzielle Probleme überprüft wird. Die Ergebnisse werden direkt an den Pull-Request angehängt. Zuvor wurde die Überprüfung mit dem CodeQL-Engine durchgeführt, die Muster anhand typischer Beispiele für verwundbaren Code analysiert (CodeQL ermöglicht die Erstellung eines Musters für verwundbaren Code, um ähnliche Schwachstellen in anderen Projekten zu identifizieren). Die neue Engine, die maschinelles Lernen nutzt, kann bisher unbekannte Schwachstellen erkennen, da sie nicht auf das Durchsuchen von Code-Mustern angewiesen ist, die spezifische Schwachstellen beschreiben. Der Preis für diese Möglichkeit ist eine erhöhte Anzahl von Fehlalarmen im Vergleich zu den Überprüfungen mit CodeQL.
Quelle: opennet.ru
