Skip to main content

Leçons de sécurité avec un Snyk Ambassador

Écrit par
Headshot of Andres Haro

Andres Haro

10 octobre 2022

0 minutes de lecture

Par Andres Haro, ambassadeur Snyk

La sécurité préoccupe le secteur technologique depuis des années. Pourtant, de nombreuses entreprises ne respectent pas leurs propres protocoles ou guides lorsqu’il s’agit de sécuriser leur code.

On peut facilement croire que les incidents de sécurité sont rares (ou qu’ils risquent peu de se produire dans sa propre organisation). Pourtant, le récent incident chez Uber n’est qu’un exemple parmi tant d’autres. Un jeune de 18 ans a eu recours à l’ingénierie sociale pour convaincre un employé d’Uber de se connecter à un faux site Uber. Il a ainsi pu récupérer les identifiants saisis en temps réel et se connecter au véritable site Uber.

La fuite de données chez Uber : enseignements à retenir

À l’époque, Uber avait activé l’authentification multifacteur (MFA) : une application invitait l’employé à appuyer sur un bouton de son smartphone au moment de la connexion. Pour contourner cette protection, le pirate a saisi plusieurs fois les identifiants sur le véritable site. L’employé, confus ou fatigué, a fini par appuyer sur le bouton. À ce moment-là, le pirate avait déjà réussi à se connecter.

Imaginez maintenant qu’Uber n’ait rien pu faire. Malgré la MFA, un utilisateur malveillant a fait preuve d’assez d’ingéniosité pour obtenir des informations personnelles de l’entreprise et causer des dégâts. Imaginez ce qui aurait pu se passer si l’entreprise n’avait pas pris de mesures pour sécuriser son code.

Comment protéger votre code ?

Si vous faites partie de la communauté tech, vous consultez probablement Stack Overflow assez souvent pour trouver du code open source et des réponses à vos questions. C’est un excellent outil de collaboration et de résolution de problèmes, mais copier directement dans votre application du code provenant d’un site tiers peut vous exposer à de nombreuses vulnérabilités potentielles.

Pour éviter ces risques potentiels, je vous recommande d’utiliser l’outil Code Checker de Snyk pour analyser le code de votre choix avant de le copier dans une branche de votre environnement de production.

Page Web du vérificateur Snyk Code affichant du code JavaScript à analyser pour détecter des problèmes de sécurité, avec des boutons d’inscription via GitHub et Google et un bouton « Vérifier le code ».

Vous vous demandez peut-être ce que Snyk peut vous apporter. En plus de vous aider à analyser le code issu de n’importe quelle plateforme, Snyk vous indique les problèmes potentiels dans vos dépôts actuels et vous conseille sur la façon de les corriger.

Comme vous pouvez le voir sur l’image ci-dessous, Snyk est connecté à mon compte GitHub.

Tableau de bord de sécurité Snyk affichant les tâches en attente, les projets vulnérables et le nombre actuel de problèmes de sécurité.

En connectant Snyk à votre compte GitHub, vous pourrez vérifier quelles dépendances ne sont pas à jour, ce qui corrompt votre code et quels éléments doivent être mis à jour.

L’image suivante présente un rapport Snyk qui répertorie les vulnérabilités détectées lors de l’analyse et les classe selon leur gravité : faible, moyenne, élevée ou critique. Vous disposez alors de toutes les informations nécessaires pour décider d’ignorer ou de corriger chaque vulnérabilité.

Tableau de bord Snyk affichant les vulnérabilités de package.json, dont une vulnérabilité de pollution du prototype de lodash de gravité élevée, et un bouton pour corriger les vulnérabilités.

En tant que spécialiste DevSecOps, je donne toujours la priorité aux vulnérabilités critiques et j’encourage les équipes à consulter le tableau de bord pour déterminer si elles peuvent les corriger immédiatement. Pourquoi ? Parce que vos ingénieurs logiciels devront être informés des vulnérabilités détectées et vérifier s’ils ont le temps de les corriger dans leur sprint en cours. À l’inverse, certaines équipes choisissent de corriger les vulnérabilités élevées ou critiques le jour même de leur découverte. Tout dépend des ressources et du personnel dont dispose votre organisation. Snyk est particulièrement utile, car il prend en charge ces deux approches : vous pouvez corriger une vulnérabilité plus tard ou créer immédiatement une pull request (PR).

Si vous cliquez sur « Corriger cette vulnérabilité », voici ce qui s’affiche :

Rapport de correction des failles répertoriant les packages vulnérables, les mises à niveau disponibles, les corrections partielles et les problèmes sans solution

L’écran Créer une PR de correction répertorie toutes les vulnérabilités détectées lors de l’analyse et peut susciter des questions précises. Pour en savoir plus sur un problème de la liste des PR, cliquez sur l’une des vulnérabilités. Dans cet exemple, nous allons cliquer sur « Déni de service par expression régulière (ReDoS) » dans la section Problèmes avec une correction.

Page de la base de données des vulnérabilités Snyk détaillant une vulnérabilité de déni de service par expression régulière (ReDoS) de gravité élevée dans le package npm ansi-html.

Vous obtenez alors une analyse détaillée du problème. S’il s’agit d’un faux positif ou d’une détection erronée, vous pouvez le signaler en cliquant sur « Vous avez repéré une erreur ? ». Vous accéderez à un autre écran où vous pourrez fournir des précisions.

Si vous ne connaissez pas une vulnérabilité, vous pouvez en apprendre davantage sur Snyk Learn. Pour reprendre notre exemple, consultez la page des leçons sur ReDoS.

Une fois mieux informés et plus confiants, nous pouvons créer la PR. Voici à quoi elle devrait ressembler dans GitHub :

Pull request GitHub de Snyk intitulée « Correction de 8 vulnérabilités », répertoriant les dépendances npm vulnérables ainsi que leur niveau de gravité, les problèmes associés et la maturité des exploits.

Vous pourrez ensuite fusionner la nouvelle PR et la nouvelle branche contenant toutes les corrections.

Demande de tirage GitHub indiquant que toutes les vérifications ont réussi, qu’il n’y a aucun conflit de fusion et que la demande peut être fusionnée

Si vous choisissez de fusionner, voici ce qui s’affiche :

Interface GitHub en mode sombre affichant une pull request fusionnée et clôturée avec succès, un éditeur de commentaires et le bouton Supprimer la branche.

Pour savoir ce qui a changé dans votre dépôt, consultez les fichiers modifiés dans GitHub :

Diff de code sur fond sombre montrant les mises à jour des versions de dépendances dans package.json, avec un diff volumineux de package-lock.json réduit au-dessus

Comme vous pouvez le constater, certaines mises à jour étaient nécessaires pour rester à jour. Vous pouvez maintenant retourner au tableau de bord Snyk et vérifier si tout a été corrigé. Si vous devez envoyer un rapport à la direction, je vous conseille d’ajouter les personnes concernées à votre compte Snyk et de partager ce type de rapport avec elles.

Tableau de bord du rapport de sécurité présentant le nombre de problèmes par niveau de gravité, les problèmes de licence, les tendances dans le temps, les périodes d’exposition et les indicateurs d’activité

Développez votre expertise en sécurité avec Snyk

Pour en savoir plus sur la sécurité des développeurs, consultez Snyk Learn : vous y trouverez de nombreuses leçons interactives sur les vulnérabilités dans divers langages et écosystèmes. Vous préférez les vidéos ? Rendez-vous sur la chaîne YouTube officielle de Snyk. Si vous avez besoin de conseils en sécurité, n’hésitez pas à contacter les Snyk Ambassadors : ce sont des personnes formidables qui possèdent une vaste expertise en cybersécurité, et le groupe ne cesse de s’agrandir !

Lire la suite

illustration hero ai
Blog

PHP corrige deux vulnérabilités RCE critiques exploitables sans authentification (CVE-2026-109618, CVE-2026-109619) : mettez à jour dès maintenant

Deux vulnérabilités critiques dans le cycle de traitement des requêtes de PHP peuvent permettre l’exécution de code à distance sans authentification. Passez à une version corrigée ou installez un correctif rétroporté par votre fournisseur pour les versions antérieures.

blog feature ai lilac
Blog

Transformez votre backlog de vulnérabilités en pull requests grâce à la remédiation agentique

Evo Remediation Agent est désormais disponible en aperçu ouvert et apporte la résolution automatisée des dépendances à Evo Agentic AppSec. Les équipes AppSec peuvent désormais lancer des campagnes de remédiation continues

AI Background min crop
Blog

L’IA fait surgir tous les risques que vous avez acceptés : sept enseignements du panel de sécurité de l’IA sans filtre

L’IA rend les attaques moins coûteuses et plus rapides, exposant des risques déjà présents dans les organisations. Quatre responsables de la sécurité expliquent pourquoi une défense à la vitesse des machines et une remédiation accélérée sont désormais indispensables.