Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DependencyCheck — OWASP dependency-check هي أداة لتحليل تركيبة البرمجيات تكتشف الثغرات الأمنية المُعلنة للعموم في تبعيات التطبيقات. | Kitploit
أدوات/GitHubGitHub/dependency-check/dependencycheck
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةDevSecOpsأمن سلسلة التوريد
GitHubdependency-check/dependencycheck

DependencyCheck

OWASP dependency-check هي أداة لتحليل تركيبة البرمجيات تكتشف الثغرات الأمنية المُعلنة للعموم في تبعيات التطبيقات.

عرض المستودع
7.7k1.4kمنذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Maven Central Build and Deploy Snapshot CII Best Practices Apache 2.0 License

Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal

Dependency-Check

Dependency-Check هي أداة تحليل تكوين البرمجيات (SCA) تحاول اكتشاف الثغرات الأمنية المُعلن عنها علنًا والموجودة في تبعيات المشروع. تقوم بذلك عن طريق تحديد ما إذا كان هناك معرّف تعداد المنصات المشترك (CPE) لتبعية معيّنة. وإذا تم العثور عليه، فستقوم بإنشاء تقرير يربط بإدخالات CVE المرتبطة.

يمكن العثور على التوثيق وروابط الإصدارات الثنائية الجاهزة للإنتاج على صفحات github. بالإضافة إلى ذلك، يمكن العثور على مزيد من المعلومات حول البنية وطرق توسيع dependency-check على [الويكي].

تنويه

يستخدم هذا المنتج واجهة برمجة تطبيقات NVD ولكنه غير معتمد أو مُصادق عليه من قِبل NVD.

ترقية إلزامية إلى 12.1.0+

نظرًا لتغييرات التوافق في واجهة برمجة تطبيقات NVD، فإن الترقية إلزامية. راجع #7463 لمزيد من المعلومات.

تغييرات جوهرية في 11.0.0

  • أصبحت Java 11 مطلوبة الآن لتشغيل dependency-check 11.0.0 أو إصدار أحدث

  • ترقية قاعدة بيانات H2

    يحتوي 11.0.0 على تغييرات جوهرية عند استخدام قاعدة بيانات H2 المحلية. سيحدث تنزيل كامل لبيانات NVD. لاحظ أنه إذا كنت تستخدم دليل بيانات مشتركًا، فإن ملف قاعدة بيانات h2 غير متوافق مع الإصدارات الأقدم من dependency-check. إذا واجهت مشكلات، فقد تحتاج إلى تنفيذ عملية تطهير:

    • gradle: ./gradlew dependencyCheckPurge
    • maven: mvn org.owasp:dependency-check-maven:11.0.0:purge
    • cli: dependency-check.sh --purge

تنويهات أخرى

مفتاح واجهة برمجة تطبيقات NVD موصى به بشدة

انتقلت dependency-check من استخدام خلاصة بيانات NVD إلى واجهة برمجة تطبيقات NVD منذ 9.0.0+ (يناير 2024). يُشجَّع مستخدمو dependency-check بشدة على الحصول على مفتاح واجهة برمجة تطبيقات NVD؛ راجع https://nvd.nist.gov/developers/request-an-api-key بدون مفتاح واجهة برمجة تطبيقات NVD، ستكون تحديثات dependency-check بطيئة للغاية. يرجى الاطلاع على التوثيق الخاص بتكاملات cli أو maven أو gradle أو ant لمعرفة كيفية تعيين مفتاح واجهة برمجة تطبيقات NVD.

مفتاح واجهة برمجة تطبيقات NVD والتكامل المستمر (CI) وحدود معدل الاستخدام

تفرض واجهة برمجة تطبيقات NVD حدودًا لمعدل الاستخدام. إذا كنت تستخدم مفتاح API واحدًا وتحدث عمليات بناء متعددة، فقد تصل إلى حد المعدل وتتلقى أخطاء 403. في بيئة التكامل المستمر (CI)، يجب استخدام استراتيجية تخزين مؤقت.

مصادقة Sonatype OSS Index الإلزامية والانتقال إلى Sonatype Guide

في سبتمبر 2025، بدأ Sonatype OSS Index في فرض استخدام رموز API للمصادقة. وفي أبريل 2026، بدأ الانتقال اللاحق إلى Sonatype Guide، ما أطلق تحولًا إلى استخدام رموز Sonatype Guide API المخطط لها لتحل محل مفاتيح/رموز OSS Index API القديمة قبل نهاية عام 2026.

بدون بيانات اعتماد، سيقوم Dependency Check بتعطيل محلل OSS Index تلقائيًا. يرجى الاطلاع على التوثيق الخاص بتكاملات CLI أو Maven أو Gradle أو Ant لمعرفة كيفية تعيين بيانات اعتماد المحلل لاستخدام رمز Sonatype Guide أو مفتاح OSS Index API القديم.

إذا كنت ترغب في استخدام Sonatype OSS Index (عبر Guide)، فيجب عليك تكوين Dependency-Check والنظر في الآثار المترتبة على الانتقال إلى Sonatype Guide؛ الذي تغيّر نموذجه التجاري/الاستخدامي. راجع توثيق المحلل لمزيد من المعلومات.

بيئة بناء Gradle

مع 9.0.0+ قد يواجه المستخدمون مشكلات مع استثناءات NoSuchMethodError بسبب حل التبعيات. إذا واجهت هذه المشكلة، فستحتاج إلى تثبيت بعض التبعيات غير المباشرة لـ dependency-check على إصدارات محددة. على سبيل المثال:

/buildSrc/build.gradle

root@kitploit:~
dependencies {
    constraints {
        // org.owasp.dependencycheck needs at least this version of jackson. Other plugins pull in older versions..
        add("implementation", "com.fasterxml.jackson:jackson-bom:2.21.2")

        // org.owasp.dependencycheck needs these versions. Other plugins pull in older versions..
        add("implementation", "org.apache.commons:commons-lang3:3.20.0")
        add("implementation", "org.apache.commons:commons-text:1.15.0")
    }
}

المتطلبات

إصدار Java

الحد الأدنى لإصدار Java: Java 11

الوصول إلى الإنترنت

تتطلب OWASP dependency-check الوصول إلى عدة موارد مستضافة خارجيًا. لمزيد من المعلومات، راجع الوصول إلى الإنترنت المطلوب.

أدوات البناء

من أجل تحليل بعض مجموعات التقنيات، قد تتطلب dependency-check تثبيت أدوات تطوير أخرى. قد تكون بعض التحليلات المذكورة أدناه تجريبية وتتطلب تمكين المحللات التجريبية.

  1. لتحليل تجميعات .NET، يجب تثبيت وقت تشغيل dotnet 8 أو حزمة SDK.
    • يمكن تحليل التجميعات التي تستهدف أوقات تشغيل أخرى - لكن الإصدار 8 مطلوب لتشغيل التحليل.
  2. إذا كنت تحلل مشاريع GoLang، فيجب تثبيت go.
  3. يتطلب تحليل مشاريع Elixir تثبيت mix_audit.
  4. يتطلب تحليل مشاريع npm وpnpm وyarn تثبيت npm أو pnpm أو yarn.
    • يستخدم التحليل الذي يتم إجراؤه ميزة audit الخاصة بكل منها.
  5. تحليل Ruby هو غلاف حول أداة bundle-audit، والتي يجب تثبيتها.

الإصدارات الحالية

إضافة Jenkins

للحصول على إرشادات حول استخدام إضافة Jenkins، يرجى الاطلاع على صفحة إضافة OWASP Dependency-Check.

سطر الأوامر

يمكن العثور على تعليمات أكثر تفصيلاً على صفحات dependency-check على github. يمكن تنزيل أحدث إصدار من CLI من github في قسم الإصدارات.

تنزيل أحدث إصدار:

root@kitploit:~
$ VERSION=$(curl -s https://dependency-check.github.io/DependencyCheck/current.txt)
$ curl -Ls "https://github.com/dependency-check/DependencyCheck/releases/download/v$VERSION/dependency-check-$VERSION-release.zip" --output dependency-check.zip

على أنظمة *nix

root@kitploit:~
$ ./bin/dependency-check.sh -h
$ ./bin/dependency-check.sh --out . --scan [path to jar files to be scanned]

على نظام Windows

root@kitploit:~
> .\bin\dependency-check.bat -h
> .\bin\dependency-check.bat --out . --scan [path to jar files to be scanned]

على نظام Mac باستخدام Homebrew ملاحظة - مستخدمو homebrew الذين يرقّون من 5.x إلى 6.0.0 سيحتاجون إلى تشغيل dependency-check.sh --purge.

root@kitploit:~
$ brew update && brew install dependency-check
$ dependency-check -h
$ dependency-check --out . --scan [path to jar files to be scanned]

إضافة Maven

يمكن العثور على تعليمات أكثر تفصيلاً على صفحات dependency-check-maven على github. بشكل افتراضي، تكون الإضافة مرتبطة بمرحلة verify (أي mvn verify). بدلاً من ذلك، يمكن استدعاء الإضافة مباشرة عبر mvn org.owasp:dependency-check-maven:check.

يمكن تكوين إضافة dependency-check باستخدام ما يلي:

root@kitploit:~
<project>
    <build>
        <plugins>
            ...
            <plugin>
              <groupId>org.owasp</groupId>
              <artifactId>dependency-check-maven</artifactId>
              <executions>
                  <execution>
                      <goals>
                          <goal>check</goal>
                      </goals>
                  </execution>
              </executions>
            </plugin>
            ...
        </plugins>
        ...
    </build>
    ...
</project>

إضافة Gradle

للحصول على إرشادات حول استخدام إضافة Gradle، يرجى الاطلاع على صفحة dependency-check-gradle على github.

مهمة Ant

للحصول على إرشادات حول استخدام مهمة Ant، يرجى الاطلاع على صفحة dependency-check-ant على github.

المتطلبات الأساسية للتطوير

لكي ينجح التثبيت، يجب أن تكون المكونات التالية مثبتة لديك:

  • Java: java -version 25.0
  • Maven: mvn -version 3.6.3 والإصدارات الأحدث

تتطلب حالات الاختبار:

  • dotnet core الإصدار 8.0
  • Go: go version 1.12 والإصدارات الأحدث
  • Ruby bundler-audit
  • Yarn
  • pnpm

استخدامات التطوير

توضح التعليمات التالية كيفية تجميع واستخدام اللقطة الحالية (snapshot). وفي حين أن كل النية هي الحفاظ على لقطة مستقرة، يُوصى باستخدام الإصدارات الرسمية المذكورة أعلاه.

يحتوي المستودع على بعض الملفات الكبيرة بسبب موارد الاختبار. حاول الفريق تنظيف سجل git قدر الإمكان. ومع ذلك، يُنصح بإجراء استنساخ ضحل (shallow clone) لتوفير الوقت:

root@kitploit:~
git clone --depth 1 https://github.com/dependency-check/DependencyCheck.git

على أنظمة *nix

root@kitploit:~
$ mvn -s settings.xml install
$ ./cli/target/release/bin/dependency-check.sh -h
$ ./cli/target/release/bin/dependency-check.sh --out . --scan ./src/test/resources

على نظام Windows

root@kitploit:~
> mvn -s settings.xml install
> .\cli\target\release\bin\dependency-check.bat -h
> .\cli\target\release\bin\dependency-check.bat --out . --scan ./src/test/resources

ثم قم بتحميل ملف 'dependency-check-report.html' الناتج في متصفحك المفضل.

البناء دون تشغيل الاختبارات

لتسريع أوقات دورات التنفيذ، يمكنك أيضًا التجميع دون تشغيل الاختبارات في كل مرة:
mvn -s settings.xml install -DskipTests=true

يرجى تذكر تشغيل الاختبارات مرة واحدة على الأقل قبل فتح طلب السحب (PR). :)

IntelliJ Idea

لتتمكن من تصحيح أخطاء اختباراتك في IntelliJ Idea، يمكنك إدخال إعداد maven ينفذ اختبارك ويتيح التصحيح مع نقاط التوقف وغير ذلك.
بشكل أساسي، تقوم بما هو موصوف في https://www.jetbrains.com/help/idea/work-with-tests-in-maven.html#run_single_test وتضبط forkCount على 0، وإلا فلن يعمل التصحيح.

خطوة بخطوة:

  • Run -> Edit Configurations
  • + (Add new configuration) -> Maven
  • أعطِ الإعداد اسمًا، على سبيل المثال Run tests
  • اختر دليل العمل، على سبيل المثال core
  • في command line، أدخل -DforkCount=0 -f pom.xml -s ../settings.xml test
  • اضغط OK
  • Run -> Debug، ثم اختر إعداد التشغيل المنشأ حديثًا

سينفذ IntelliJ الآن تشغيل الاختبار للمشروع الفرعي core مع تمكين التصحيح. يجب أن تعمل نقاط التوقف المحددة في أي مكان في الكود.

اختبار دالة واحدة أو فئة واحدة فقط

إذا كنت ترغب في تسريع أوقات دورات التنفيذ، يمكنك أيضًا اختبار دالة واحدة أو فئة اختبار واحدة فقط.
يعمل هذا عن طريق إضافة -Dtest=MyTestClass أو -Dtest=MyTestClass#myTestFunction إلى إعداد التشغيل. سيكون سطر الأوامر الكامل في إعداد التشغيل بعد ذلك:

-Dtest=MyTestClass#myTestFunction -DforkCount=0 -f pom.xml -s ../settings.xml test

Docker

في المثال التالي، يُفترض أن المصدر المراد فحصه موجود في دليل العمل الحالي وأن التقارير ستُكتب إلى $(pwd)/odc-reports. يتم استخدام أدلة بيانات وذاكرة تخزين مؤقت دائمة، مما يسمح لك بتدمير الحاوية بعد التشغيل.

لنظام Linux:

root@kitploit:~
#!/bin/sh

DC_VERSION="latest"
DC_DIRECTORY=$HOME/OWASP-Dependency-Check
DC_PROJECT="dependency-check scan: $(pwd)"
DATA_DIRECTORY="$DC_DIRECTORY/data"
CACHE_DIRECTORY="$DC_DIRECTORY/data/cache"

if [ ! -d "$DATA_DIRECTORY" ]; then
    echo "Initially creating persistent directory: $DATA_DIRECTORY"
    mkdir -p "$DATA_DIRECTORY"
fi
if [ ! -d "$CACHE_DIRECTORY" ]; then
    echo "Initially creating persistent directory: $CACHE_DIRECTORY"
    mkdir -p "$CACHE_DIRECTORY"
fi

# Make sure we are using the latest version
docker pull owasp/dependency-check:$DC_VERSION

docker run --rm \
    -e user=$USER \
    -u $(id -u ${USER}):$(id -g ${USER}) \
    --volume $(pwd):/src:z \
    --volume "$DATA_DIRECTORY":/usr/share/dependency-check/data:z \
    --volume $(pwd)/odc-reports:/report:z \
    owasp/dependency-check:$DC_VERSION \
    --scan /src \
    --format "ALL" \
    --project "$DC_PROJECT" \
    --out /report
    # Use suppression like this: (where /src == $pwd)
    # --suppression "/src/security/dependency-check-suppression.xml"

لنظام Windows:

root@kitploit:~
@echo off

set DC_VERSION="latest"
set DC_DIRECTORY=%USERPROFILE%\OWASP-Dependency-Check
SET DC_PROJECT="dependency-check scan: %CD%"
set DATA_DIRECTORY="%DC_DIRECTORY%\data"
set CACHE_DIRECTORY="%DC_DIRECTORY%\data\cache"

IF NOT EXIST %DATA_DIRECTORY% (
    echo Initially creating persistent directory: %DATA_DIRECTORY%
    mkdir %DATA_DIRECTORY%
)
IF NOT EXIST %CACHE_DIRECTORY% (
    echo Initially creating persistent directory: %CACHE_DIRECTORY%
    mkdir %CACHE_DIRECTORY%
)

rem Make sure we are using the latest version
docker pull owasp/dependency-check:%DC_VERSION%

docker run --rm ^
    --volume %CD%:/src ^
    --volume %DATA_DIRECTORY%:/usr/share/dependency-check/data ^
    --volume %CD%/odc-reports:/report ^
    owasp/dependency-check:%DC_VERSION% ^
    --scan /src ^
    --format "ALL" ^
    --project "%DC_PROJECT%" ^
    --out /report
    rem Use suppression like this: (where /src == %CD%)
    rem --suppression "/src/security/dependency-check-suppression.xml"

البناء من المصدر

لبناء dependency-check (باستخدام Java 11) قم بتشغيل الأمر:

root@kitploit:~
mvn -s settings.xml install

تشغيل dependency-check على dependency-check

يشير Dependency-check إلى عدة تبعيات ضعيفة لا تُستخدم أبدًا إلا كموارد اختبار. جميع هذه التبعيات الاختبارية الاختيارية مضمنة في ملف التعريف test-dependencies. لتشغيل dependency-check ضد نفسها، قم ببساطة باستبعاد ملف التعريف test-dependencies:

root@kitploit:~
mvn org.owasp:dependency-check-maven:aggregate -P-test-dependencies -DskipProvidedScope=true

بناء التوثيق

يتم إنشاء التوثيق على صفحات github من هذا المستودع:

root@kitploit:~
mvn -s settings.xml site site:stage

بمجرد الانتهاء، وجّه متصفحك إلى ./target/staging/index.html.

بناء صورة Docker

لبناء صورة docker الخاصة بـ dependency-check، قم بتشغيل الأمر:

root@kitploit:~
mvn -s settings.xml install
./docker-build.sh

الرخصة

يُمنح الإذن بالتعديل وإعادة التوزيع بموجب شروط رخصة Apache 2.0. راجع ملف LICENSE.txt للاطلاع على الرخصة الكاملة.

يستخدم Dependency-Check عدة مكتبات أخرى مفتوحة المصدر. يرجى الاطلاع على ملف NOTICE.txt لمزيد من المعلومات.

يستخدم هذا المنتج واجهة برمجة تطبيقات NVD ولكنه غير معتمد أو مُصادق عليه من قِبل NVD.

Copyright (c) 2012-2025 Jeremy Long. All Rights Reserved.

تنزيل الأداة