ATTENTION : Ce référentiel est désormais archivé. Utilisez plutôt composer audit
:
COMPOSER_AUDIT_ABANDONED=ignore composer audit
Le Local PHP Security Checker est un outil de ligne de commande qui vérifie si votre application PHP dépend de packages PHP présentant des vulnérabilités de sécurité connues. Il utilise la base de données des avis de sécurité en coulisses.
Téléchargez un binaire depuis la page Releases sur Github, renommez-le en local-php-security-checker
et rendez-le exécutable.
À partir d'un répertoire contenant un projet PHP utilisant Composer, recherchez les vulnérabilités connues en exécutant le binaire sans arguments ni indicateurs :
$ local-php-security-checker
Vous pouvez également passer un --path
pour vérifier un répertoire spécifique :
$ local-php-security-checker --path=/path/to/php/project
$ local-php-security-checker --path=/path/to/php/project/composer.lock
Par défaut, la sortie est optimisée pour les terminaux, modifiez-la via l'indicateur --format
(formats pris en charge : ansi
, markdown
, json
, junit
et yaml
) :
$ local-php-security-checker --format=json
Tous les packages sont vérifiés par défaut pour les failles de sécurité. Vous pouvez ignorer les vérifications des packages répertoriés dans require-dev
en passant l'indicateur no-dev
:
$ local-php-security-checker --no-dev
Lors de l'exécution de la commande, il recherche une base de données de vulnérabilités mise à jour et la télécharge depuis Github si elle a changé depuis la dernière exécution. Si vous souhaitez éviter l'aller-retour HTTP, utilisez --local
. Pour forcer une mise à jour de la base de données sans rechercher un projet, utilisez --update-cache
.
Si vous souhaitez vérifier en permanence les problèmes de sécurité sur vos applications en production, vous pouvez utiliser cet outil en combinaison avec croncape pour recevoir un e-mail chaque fois qu'un nouveau problème de sécurité est détecté :
[email protected]
50 23 * * * croncape php-security-checker --path=/path/to/php/project
Cet outil renvoie les codes suivants
Code | Actes |
---|---|
0 | --help Exécution réussie |
1 | Au moins une vulnérabilité est trouvée |
2 | Option --format non valide |
127 | Impossible de charger la base de données Impossible de trouver le fichier de verrouillage Sortie GitHub non disponible |