Corrigez les vulnérabilités en toute confiance grâce à Merge Advice, propulsé par le ML de Snyk
2 juin 2020
0 minutes de lectureNous sommes ravis d’annoncer la version bêta de Merge Advice, la dernière amélioration des capacités de correction de Snyk, qui vous aide à corriger les vulnérabilités de manière fiable. Grâce au machine learning, Merge Advice aide les développeurs à corriger en toute confiance les vulnérabilités de sécurité dans leurs dépendances open source.
Renforcer la confiance des développeurs
Le risque d’introduire des changements incompatibles dans une branche peut donner l’impression que cliquer sur le bouton de fusion revient à jouer à la roulette russe. Une action aussi simple que la mise à niveau d’un package peut parfois interrompre le code qui dépend de celui-ci.
Il est essentiel de fusionner les demandes de fusion en toute confiance. C’est pourquoi nous continuons d’investir dans la précision des demandes de correction et de mise à niveau de Snyk, en limitant au maximum les changements nécessaires pour éliminer la vulnérabilité. Pour les corrections de sécurité, par exemple, nous recommandons toujours la version non vulnérable la plus basse compatible avec votre projet. Merge Advice va encore plus loin en tirant parti du machine learning pour permettre de corriger en toute confiance un plus grand nombre de vulnérabilités.
Chaque demande de fusion compatible créée par Snyk ou via Snyk comporte un badge indiquant si la correction risque d’entraîner des changements incompatibles. Les développeurs disposent désormais des informations nécessaires pour prendre des décisions de fusion fondées sur les données.
Comment cela fonctionne-t-il ?
De nombreuses données sont analysées pour déterminer le conseil de fusion associé à chaque demande de fusion :
L’activité des demandes de fusion est suivie dans les dépôts GitHub publics ainsi que dans ceux surveillés par Snyk.
Trois indicateurs sont mesurés : les résultats des tests CI, les taux de fusion et les retours arrière des demandes de fusion.
Le machine learning prédit ensuite les chances de réussite de la fusion d’une demande de fusion.
Ce processus aboutit à un badge Merge Advice affiché en haut des demandes de fusion compatibles :

Des prédictions précises grâce au machine learning
L’algorithme qui alimente Merge Advice est conçu pour prédire avec un haut degré de confiance la réussite des fusions de demandes de fusion. Il s’appuie sur un modèle statistique qui tient compte à la fois du nombre de points de données et de leur distribution observée lors de la mise à niveau d’une dépendance spécifique de la version X vers la version Y. Aucun conseil ne sera affiché pour une mise à niveau si les données sont insuffisantes pour établir une prédiction fiable.
Le modèle utilisé par Merge Advice de Snyk adopte une approche unique en suivant plusieurs indicateurs :
le rapport entre les tests CI réussis et échoués lors de la mise à niveau d’un package de la version X vers la version Y,
le taux de fusion de ces mises à niveau,
et le nombre de fois où une mise à niveau a été annulée.
Ces indicateurs sont également suivis à partir de plusieurs sources de données. Nous surveillons l’activité des dépôts GitHub publics à l’aide de GHArchive, un projet qui enregistre et archive l’activité publique de GitHub afin de la rendre accessible pour des analyses ultérieures. Bien entendu, nous nous appuyons également sur les plus de 750 000 dépôts (à l’heure actuelle) sécurisés par les utilisateurs de Snyk.
La combinaison de ces sources de données constitue un ensemble riche sur lequel fonder nos déductions et apporte une profondeur statistique au modèle utilisé par Merge Advice.
Fusionner ou ne pas fusionner, telle est la question !
Concrètement, à quoi cela ressemble-t-il dans votre workflow GitHub au quotidien ? Examinons cela de plus près.
Comme toujours, les utilisateurs de Snyk peuvent ouvrir manuellement une demande de fusion pour corriger une vulnérabilité spécifique, ou un ensemble de vulnérabilités, depuis l’interface Snyk. Snyk peut également déclencher automatiquement une demande de fusion dans deux cas : lorsqu’une nouvelle vulnérabilité est détectée dans des dépendances existantes ou lorsqu’une dépendance obsolète est détectée.
Quel que soit le déclencheur, ces demandes de fusion comportent désormais le nouveau badge Merge Advice. Le conseil affiché sur ce badge varie en fonction du modèle d’analyse prédictive décrit ci-dessus.

À vous de corriger !
Merge Advice a pour objectif de permettre aux développeurs de prendre des décisions fondées sur les données lors de la fusion de demandes de fusion visant à sécuriser leurs dépendances open source. Pour garantir les meilleurs résultats, nous améliorons constamment l’algorithme qui alimente cette fonctionnalité. Des variables telles que la saisonnalité peuvent, par exemple, influer sur les résultats et seront également prises en compte dans les calculs.
Pour le moment, les badges Merge Advice ne sont visibles que pour une petite partie des demandes de fusion GitHub concernant des packages Yarn et npm, lorsqu’un seul package est mis à niveau. Au fil de la bêta, nous étendrons la prise en charge pour la rendre plus large et plus approfondie. Restez à l’affût des nouveautés.
Merge Advice est disponible pour tous les utilisateurs, quelle que soit leur offre, y compris l’offre Free.
Bonne fusion !
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
