Skip to main content

La sécurité PHP dans Snyk Code est désormais disponible

Écrit par
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog social php composer

26 janvier 2022

0 minutes de lecture

Nous avons récemment annoncé la version bêta de la prise en charge de PHP dans Snyk Code, qui permet d’identifier les vulnérabilités potentielles de sécurité PHP directement dans le code. Après une bêta publique réussie, la prise en charge de la sécurité PHP dans Snyk Code est désormais disponible.

PHP est un langage de programmation populaire, utilisé par les développeurs du monde entier. Dans cet article, nous allons découvrir quelques fonctionnalités de Snyk Code et voir comment l’utiliser avec PHP. Nous vous proposerons également quelques exemples pour vous aider à démarrer, que vous débutiez ou soyez un développeur expérimenté.

Nouveautés de la disponibilité générale

La prise en charge de la sécurité du langage PHP dans Snyk Code vient compléter notre fonctionnalité existante d’analyse de PHP, qui analyse les manifestes Composer pour détecter les vulnérabilités des bibliothèques open source et de leurs dépendances.

De plus, l’extension Snyk pour Visual Studio Code prend désormais aussi en charge l’analyse du code et des fichiers Composer pour PHP. C’est particulièrement utile : elle signale les portions de code potentiellement vulnérables pendant que vous les écrivez et vous indique si une bibliothèque open source ou une dépendance présente des vulnérabilités.

Code PHP dans Visual Studio Code affichant un avertissement de Snyk concernant une entrée HTTP non assainie transmise à mysqli_query.

La version de Snyk Code prenant en charge PHP et disponible dès maintenant vous permet d’examiner les problèmes en détail et, si nécessaire, de remonter leur origine dans la base de code. C’est pratique pour analyser les fonctions traçables pouvant provenir d’autres endroits du code.

Analyse de l’injection SQL dans Snyk Code, montrant une entrée HTTP non assainie transmise à un appel mysqli_query dans tasks.php.

Testez l’analyse Snyk Code avec notre application de démonstration PHP

Chez Snyk, nous aimons créer des applications de démonstration volontairement vulnérables, que nous appelons des applications goof. Elles sont idéales pour mettre la main à la pâte et découvrir des vulnérabilités concrètes. Avec le lancement de la prise en charge de PHP dans Snyk Code, nous avons ajouté une application PHP goof.

Nous allons présenter quelques exemples à l’aide de l’application PHP goof. Pour l’essayer, vous aurez besoin d’un compte Snyk. Si vous n’en avez pas encore, vous pouvez en créer un gratuitement en quelques secondes.

Pour commencer, connectez-vous au tableau de bord Snyk, puis ajoutez un projet. Pour cette analyse, vous pouvez choisir l’option surveiller un dépôt public afin d’analyser le dépôt de l’application PHP goof, ou créer une bifurcation du code et la connecter au dépôt de votre choix.

Tableau de bord de sécurité affichant le dépôt snyk-labs/php-goof, avec l’analyse du code et le nombre de vulnérabilités par niveau de gravité dans composer.lock.

Conseil de pro : l’analyse des dépôts publics est également utile pour analyser les projets open source que vous utilisez au quotidien.

L’analyse ne prend que quelques instants. Vous pouvez déjà voir plusieurs problèmes détectés dans le code et dans les manifestes de packages. Snyk Code identifie des dizaines de types de problèmes et littéralement des millions de combinaisons de sources et de destinations dans les flux de données. Examinons deux exemples très courants à l’aide de l’application PHP goof.

Injection SQL

Après avoir lancé une analyse, vous remarquerez tout d’abord à quel point Snyk Code facilite l’examen de votre code. Dans la capture d’écran ci-dessous, vous pouvez voir qu’il détecte une requête de base de données à laquelle sont transmises des données non assainies.

Analyse de l’injection SQL dans Snyk Code montrant une entrée HTTP non assainie transmise à un appel PHP mysqli_query.

En plus de détecter les vulnérabilités rapidement et de manière compréhensible, Snyk Code propose également une analyse des correctifs et des conseils de remédiation. Si vous développez en PHP sans avoir de solides connaissances en sécurité, vous ne savez peut-être pas qu’il existe plusieurs façons de traiter les données saisies en toute sécurité, par exemple à l’aide d’une bibliothèque ou de la fonction filter_var. Snyk vous apporte l’expertise en sécurité en temps réel dont vous avez besoin pour protéger votre code, tout en vous aidant à progresser.

Pour en savoir plus sur la sécurité PHP, consultez notre article 5 façons d’éviter l’injection de code PHP.

Utilisation d’identifiants codés en dur

Dans l’application goof, nous avons volontairement codé en dur des identifiants MySQL afin qu’ils soient détectés lors de l’analyse Snyk Code. Comme vous pouvez le voir dans la capture d’écran ci-dessous, Snyk Code les a repérés et signalés comme un problème. (Pour gérer les identifiants de manière plus sûre, il est préférable de les stocker dans des variables d’environnement, sur la plateforme ou dans un fichier d’environnement.)

Écran Snyk Code signalant un mot de passe de base de données PHP codé en dur, transmis à mysqli_connect dans db.php

Vulnérabilités open source

L’analyse a également détecté un problème lié à une version d’une bibliothèque open source mentionnée dans le manifeste Composer. Nous l’avons volontairement incluse dans l’application pour montrer comment une vulnérabilité de script intersite peut être introduite.

Fiche de vulnérabilité de sécurité pour league/commonmark indiquant une faille de script intersites de gravité moyenne, avec un score CVSS de 6,5 et un correctif dans la version 0.18.3.

Commencez à sécuriser vos projets PHP

Nous sommes ravis que la prise en charge de PHP dans Snyk Code soit désormais disponible, et nous espérons que vous aussi. Essayez-la avec un compte Snyk gratuit et faites-nous part de vos commentaires.

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.

Publié dans:

Lire la suite

blog feature snyk container custom base recommendations
Blog

AppSec agentique : le développement logiciel est devenu agentique. Pas la sécurité.

Le développement piloté par l’IA dépasse les workflows de sécurité traditionnels. L’AppSec agentique de Snyk s’appuie sur des agents de sécurité pour détecter, corriger et vérifier les vulnérabilités en continu, tandis que les équipes définissent les exigences.

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

illustration hero ai
Blog

L’ouragan de l’IA est là

L’IA accélère à la fois la création de logiciels et les cyberattaques. Les dirigeants doivent sécuriser les agents et le code dès leur conception, appliquer des contrôles à l’exécution et valider les défenses de manière indépendante.