GitHub a lancé un système d'apprentissage automatique pour trouver des vulnérabilités dans le code

Logo GitHub

GitHub dévoilé il y a quelques jours l'ajout de un système d'apprentissage automatique expérimentel au service de numérisation de code identifier les types courants de vulnérabilités Dans le code. Avec cela, la technologie d'analyse de code basée sur CodeQL de GitHub a été remaniée et utilise désormais l'apprentissage automatique (ML) pour trouver les vulnérabilités de sécurité potentielles dans le code.

Et c'est que GitHub acquis la technologie pour CodeQL dans le cadre de l'acquisition de Semmie. CodeQL est utilisé par les équipes de recherche en sécurité pour effectuer une analyse sémantique du code, et GitHub l'a rendu open source.

Avec ces modèles, CodeQL peut identifier davantage de flux de données utilisateur non fiables et donc davantage de vulnérabilités de sécurité potentielles.

On observe que l'utilisation d'un système d'apprentissage automatique a permis d'élargir considérablement l'éventail des problèmes identifiés, dans l'analyse desquels le système ne se limite plus à vérifier des modèles typiques et n'est pas lié à des cadres connus.

Parmi les problèmes identifiés par le nouveau système, les erreurs conduisant au cross-site scripting (XSS), la distorsion des chemins de fichiers (par exemple, via l'indication "/.."), la substitution des requêtes SQL et NoSQL sont évoquées. .

L'analyse de code peut désormais trouver davantage de vulnérabilités de sécurité potentielles en tirant parti d'un nouveau modèle d'apprentissage en profondeur. Cette fonctionnalité expérimentale est disponible en version bêta publique pour les référentiels JavaScript et TypeScript sur GitHub.com.

Le nouvel outil de GitHub fue publié en version bêta publique gratuite Pour tous les utilisateurs, la fonctionnalité utilise l'apprentissage automatique et l'apprentissage en profondeur pour analyser les bases de code et identifier les vulnérabilités de sécurité courantes avant l'expédition d'un produit.

La fonctionnalité expérimentale est actuellement disponible pour tous les utilisateurs de la plateforme, y compris les utilisateurs de GitHub Enterprise en tant que fonctionnalité de sécurité avancée GitHub, et peut être utilisée pour des projets écrits en JavaScript ou TypeScript.

Avec l'évolution rapide de l'écosystème open source, il existe une longue traîne de plus en plus longue de bibliothèques qui sont utilisées moins fréquemment. Nous utilisons des exemples de requêtes CodeQL créées manuellement pour former des modèles d'apprentissage en profondeur afin de reconnaître les bibliothèques open source ainsi que les bibliothèques à source fermée développées en interne.

L'outil est conçu pour rechercher les quatre vulnérabilités les plus courantes qui affectent les projets rédigés dans ces deux langues : cross-site scripting (XSS), injection de route, injection NoSQL et injection SQL.

Le service d'analyse de code vous permet de détecter les vulnérabilités à un stade précoce du développement en analysant chaque opération git push à la recherche de problèmes potentiels.

Le résultat est attaché directement à la pull request. Auparavant, la vérification était effectuée à l'aide du moteur CodeQL, qui analyse les modèles avec des exemples typiques de code vulnérable (CodeQL permet de générer un modèle de code vulnérable pour détecter la présence d'une vulnérabilité similaire dans le code d'autres projets).

Grâce à de 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, NoSQL Injection et SQL Injection. Ensemble, ces quatre types de vulnérabilités représentent bon nombre des vulnérabilités récentes (CVE) de l'écosystème JavaScript/TypeScript, et l'amélioration de la capacité de l'analyse du 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é.

Le nouveau moteur d'apprentissage automatique peut identifier des vulnérabilités jusque-là inconnues car il n'est pas lié à l'itération des modèles de code qui décrivent des vulnérabilités spécifiques. Le prix d'une telle opportunité est une augmentation du nombre de faux positifs par rapport aux contrôles basés sur CodeQL.

Enfin pour ceux qui souhaitent en savoir plus, vous pouvez vérifier les détails dans le lien suivant.

Il est également important de mentionner qu'au stade des tests, la nouvelle fonctionnalité n'est actuellement disponible que pour les dépôts avec du code JavaScript et TypeScript.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.