La plate-forme d'hébergement de code GitHub a lancé récemment de nouvelles fonctionnalités d'analyse de code basées sur l'apprentissage automatique qui découvriront automatiquement les vulnérabilités de sécurité les plus courantes avant qu'elles ne se retrouvent en production.
Ces nouvelles fonctionnalités expérimentales d'analyse statique sont désormais disponibles pour les référentiels JavaScript et TypeScript GitHub en version bêta publique.
Quelle cible ?
Tiferet Gazi et Alona Hlobina ont déclaré :
- "Grâce aux nouvelles capacités d'analyse, l'analyse de code peut générer encore plus d'alertes pour quatre modèles de vulnérabilité courants : cross-site scripting (XSS), path injection, injection NoSQL, et injection SQL".
- "Ensemble, ces quatre types de vulnérabilités représentent de nombreuses vulnérabilités récentes (CVE) dans l'écosystème JavaScript/TypeScript, et l'amélioration de la capacité de l'analyse de code à détecter ces vulnérabilités au début du processus de développement est essentielle pour aider les développeurs à écrire un code plus sécurisé."
Comment en profiter ?
Les vulnérabilités de sécurité découvertes par les nouvelles fonctionnalités expérimentales d'analyse de code apparaîtront sous forme d'alertes dans l'onglet "Sécurité" des référentiels inscrits.
Ces nouvelles alertes sont marquées à l'aide d'un label "Experimental" et seront également disponibles via l'onglet "Pull requests".
Le moteur d'analyse de code CodeQL, qui alimente l'analyse de code de GitHub, a été ajouté aux capacités de la plate-forme après que GitHub a acquis la plate-forme d'analyse de code Semmle en septembre 2019.
GitHub a publié la première version bêta d'analyse de code sur GitHub Satellite en mai 2020 et a annoncé sa disponibilité générale quatre mois plus tard, en septembre 2020.
Au cours des tests bêta, la fonction d'analyse de code a été utilisée pour analyser plus de 12 000 référentiels 1,4 million de fois et a détecté plus de 20 000 problèmes de sécurité, notamment des failles d'exécution de code à distance (RCE), d'injection SQL et cross-site scripting (XSS) .
L'analyse du code GitHub est gratuite pour les référentiels publics et est disponible en tant que fonctionnalité de sécurité avancée GitHub pour les référentiels privés GitHub Enterprise.
Pour configurer l'analyse de code pour votre code JavaScript/TypeScript, vous pouvez suivre ces instructions. Les nouvelles fonctionnalités sont disponibles pour les suites d'analyse de sécurité étendue et de sécurité et qualité de l'analyse de code.
Une fonctionnalité encore expérimentale
Gazit et Hlobina ont ajouté :
- "Il est important de noter que pendant que nous continuons à améliorer et à tester nos modèles d'apprentissage automatique, cette nouvelle analyse expérimentale peut avoir un taux de faux positifs plus élevé par rapport aux résultats de notre analyse CodeQL standard".
- "Comme avec la plupart des modèles d'apprentissage automatique, les résultats s'amélioreront avec le temps."