GitHub hat die experimentelle maschinelle Lernsystem für die Code-Scan-Dienste zur Identifizierung verbreiteter Schwachstellen im Code hinzugefügt. In der Testphase ist diese neue Funktionalität derzeit nur für Repositories mit Code in JavaScript und TypeScript verfügbar. Es wird darauf hingewiesen, dass der Einsatz des maschinellen Lernens die Palette der erkannten Probleme erheblich erweitert hat, sodass das System nicht mehr nur auf die Überprüfung typischer Vorlagen beschränkt ist und nicht an bekannte Frameworks gebunden ist. Zu den von dem neuen System erkannten Problemen gehören Fehler, die zu Cross-Site-Scripting (XSS) führen, Verzerrungen von Dateipfaden (z. B. durch die Angabe von „/..“), und die Einspeisung von SQL- und NoSQL-Abfragen.
Der Code-Scanning-Service ermöglicht es, Schwachstellen frühzeitig in der Entwicklungsphase zu identifizieren, indem jede „git push“-Operation auf potenzielle Probleme gescannt wird. Das Ergebnis wird direkt an die Pull-Anfrage angehängt. Zuvor wurde die Überprüfung mit dem CodeQL-Engine durchgeführt, der Muster typischer Beispiele von verwundbarem Code analysiert (CodeQL ermöglicht es, ein Muster für verwundbaren Code zu erstellen, um ähnliche Schwachstellen in dem Code anderer Projekte zu identifizieren). Die neue Engine, die maschinelles Lernen verwendet, kann zuvor unbekannte Schwachstellen erkennen, da sie nicht an die Durchdringung von Code-Vorlagen gebunden ist, die bestimmte Schwachstellen beschreiben. Der Preis für diese Möglichkeit ist eine Zunahme der Fehlalarme im Vergleich zu den CodeQL-basierten Prüfungen.
Quelle: opennet.ru
