GitHub a annoncé l'ajout d'un système expérimental d'apprentissage automatique au service Code scanning pour identifier les types courants de vulnérabilités dans le code. En phase de test, cette nouvelle fonctionnalité est pour l'instant uniquement disponible pour les dépôts contenant du code en JavaScript et TypeScript. Il est signalé que l'utilisation du système d'apprentissage automatique a considérablement élargi le spectre des problèmes détectés, car le système ne se limite plus à la vérification de modèles typiques et n'est pas lié à des frameworks connus. Parmi les problèmes identifiés par le nouveau système, on mentionne les erreurs pouvant conduire au cross-site scripting (XSS), la manipulation des chemins de fichiers (par exemple via l'indication «/..»), et l'injection de requêtes SQL et NoSQL.
Le service Code scanning permet de détecter les vulnérabilités à un stade précoce du développement en scannant chaque opération «git push» à la recherche de problèmes potentiels. Les résultats sont directement attachés à la pull request. Auparavant, la vérification était effectuée à l'aide du moteur CodeQL, qui analyse les modèles à partir d'exemples typiques de code vulnérable (CodeQL permet de créer un modèle de code vulnérable pour identifier la présence de telles vulnérabilités dans le code d'autres projets). Le nouveau moteur, basé sur l'apprentissage automatique, peut identifier des vulnérabilités auparavant inconnues car il n'est pas associé à l'exploration de modèles de code décrivant des vulnérabilités spécifiques. Le prix de cette possibilité est une augmentation du nombre de faux positifs par rapport aux vérifications basées sur CodeQL.
Source : opennet.ru
