4DepCheck هي أداة لتحليل واكتشاف التبعيات/المكتبات الضعيفة من لغات البرمجة المختلفة بفضل:
قبل استخدام 4DepCheck ، يجب أن تكون قد قمت بتثبيت المتطلبات التالية:
يجب أن تكون قد قمت بتثبيت Docker لاستخدام 4DepCheck . إذا كنت بحاجة إلى تعليمات لتثبيت Docker ، راجع صفحة Docker لتثبيت.
لتجنب الاضطرار إلى استخدام sudo عند استخدام أمر docker ، قم بإنشاء مجموعة UNIX تسمى docker وإضافة المستخدمين إليه. عندما يبدأ docker Daemon ، فإنه يجعل ملكية مقبس UNIX قابلة للكتابة/القابلة للكتابة من قبل مجموعة docker .
لاستخدام 4DepCheck ، يمكنك تعيين متغيرات البيئة التالية كما تحتاج:
export PROJECT_NAME='project_to_analyze'
export ABSOLUTE_PATH_TO_YOUR_PROJECT='/home/user/project_to_analyze'
إذا قمت بتعيين متغيرات البيئة السابقة ، فأنت بحاجة فقط إلى تشغيل أمر Docker التالي:
$ 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
إذا لم تقم بتعيين متغيرات البيئة ، فأنت بحاجة فقط إلى استبدال المتغيرات في أمر Docker السابق كما تحتاج.
سيتم عرض الإخراج المتوقع للاستعلام السابق في STDOUT وسيتم تخزينه في /tmp/4depcheck/$PROJECT_NAME.json . يظهر مثال على هذا الإخراج أدناه:
[{
"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"
}]
بالنسبة للأخطاء والأسئلة والمناقشات ، يرجى استخدام مشكلات github أو ping me على Twitter (@3Grander).