4Depcheck est un outil pour analyser et détecter les dépendances / bibliothèques vulnérables de différents langages de programmation grâce à:
Avant l'utilisation de 4Depcheck , vous devez avoir installé les exigences suivantes:
Vous devez avoir installé Docker pour utiliser 4DepCheck . Si vous avez besoin d'instructions pour l'installation de Docker, consultez la page Docker comment installer.
Afin d'éviter d'avoir à utiliser sudo lorsque vous utilisez la commande docker , créez un groupe UNIX appelé docker et ajoutez-y des utilisateurs. Lorsque le démon docker commence, il fait la propriété de la socket Unix Read / Writable par le groupe docker .
Pour l'utilisation de 4Depcheck , vous pouvez définir les prochaines variables d'environnement dont vous avez besoin:
export PROJECT_NAME='project_to_analyze'
export ABSOLUTE_PATH_TO_YOUR_PROJECT='/home/user/project_to_analyze'
Si vous avez défini les variables d'environnement précédentes, vous n'avez besoin que d'exécuter la commande docker suivante:
$ docker run -v /tmp/4depcheck:/tmp/4depcheck
-v $ABSOLUTE_PATH_TO_YOUR_PROJECT:$ABSOLUTE_PATH_TO_YOUR_PROJECT
3grander/4depcheck:0.1.0 $PROJECT_NAME $ABSOLUTE_PATH_TO_YOUR_PROJECT
Si vous n'avez pas défini les variables d'environnement, vous n'avez besoin que de remplacer les variables dans la commande docker précédente dont vous avez besoin.
La sortie attendue de la requête précédente sera affichée dans le stdout et sera stockée dans /tmp/4depcheck/$PROJECT_NAME.json . Un exemple de cette sortie est illustré ci-dessous:
[{
"cve_severity": "medium",
"cve_product": "cxf",
"cve_product_version": "3.1.6",
"cve_id": "CVE-2017-3156",
"cve_type": "java",
"cve_product_file_path": "/opt/modules/system/org/apache/cxf/main/cxf-core-3.1.6.jar"
}, {
"cve_severity": "high",
"cve_product": "netty",
"cve_product_version": "4.0.33",
"cve_id": "CVE-2016-4970",
"cve_type": "java",
"cve_product_file_path": "/opt/modules/system/io/netty/main/netty-all-4.0.33.Final.jar"
}, {
"cve_severity": "high",
"cve_product": "xalan-java",
"cve_product_version": "2.7.1",
"cve_id": "CVE-2014-0107",
"cve_type": "java",
"cve_product_file_path": "/usr/plugins/xslt-debugger/lib/rt/xalan.jar"
}, {
"cve_severity": "high",
"cve_product": "xalan-java",
"cve_product_version": "2.7.1",
"cve_id": "CVE-2014-0107",
"cve_type": "java",
"cve_product_file_path": "/usr/plugins/xslt-debugger/lib/rt/serializer.jar"
}, {
"cve_severity": "medium",
"cve_product": "axis",
"cve_product_version": "1.4",
"cve_id": "CVE-2014-3596",
"cve_type": "java",
"cve_product_file_path": "/usr/plugins/tasks/lib/axis-1.4.jar"
}, {
"cve_severity": "medium",
"cve_product": "jquery",
"cve_product_version": "1.4.2",
"cve_id": "CVE-2011-4969",
"cve_type": "js",
"cve_product_file_path": "/usr/js/jquery-1.4.2/jquery.js"
}]
Pour les bogues, les questions et les discussions, veuillez utiliser les problèmes de github ou me faire un ping sur Twitter (@ 3Grander).