العودة إلى التحديثات
New releaseJul 24, 2026

dep-scan v6.3.0

ماسح ضوئي للثغرات الأمنية في التبعيات من الجيل التالي مع تحليل الوصول، توليد SBOM، تدقيق التراخيص، ومسح صور الحاويات لتكامل CI/CD.

مشاركة

مقدمة

OWASP dep-scan هي أداة تدقيق أمني ومخاطر من الجيل التالي تعتمد على الثغرات الأمنية المعروفة والتنبيهات وقيود الترخيص الخاصة باعتماديات المشروع. يتم دعم كل من المستودعات المحلية وصور الحاويات كمدخلات، والأداة مثالية للتكامل مع منصات ASPM/VM وفي بيئات CI.

SBOM release

المحتويات

الميزات

  • فحص معظم شيفرة التطبيقات (المستودعات المحلية، وصور حاويات Linux، وبيانات Kubernetes، ونظام التشغيل) لتحديد ثغرات CVE المعروفة مع تحديد الأولويات
  • إجراء تحليل متقدم لقابلية الوصول لعدة لغات (راجع مصفوفة قابلية الوصول أدناه)
  • يتم فحص ثغرات الحزم محليًا وبسرعة كبيرة. لا يتم استخدام أي خادم
  • إنشاء قائمة مكونات البرمجيات (SBOM) مع معلومات تقرير الإفصاح عن الثغرات (VDR)
  • إنشاء مستند Common Security Advisory Framework (CSAF) 2.0/2.1 VEX (راجع CSAF Readme)
  • إجراء تدقيق عميق لمخاطر الحزم ضد هجمات الخلط بين الاعتماديات ومخاطر الصيانة (راجع وثائق تدقيق المخاطر)

تدفقات بيانات دقيقة قابلة للوصول

تدفقات بيانات مفصلة لتحديد المسارات القابلة للوصول وغير القابلة للوصول في تطبيقك بناءً على السياق الكامل.

Reachable Flows

مصفوفة قابلية الوصول

تحسب dep-scan قابلية الوصول لسبعة أنظمة بيئية لغوية عبر أربعة أدوات تقطيع (slicers). تُعلَّم الحزمة المعرضة للثغرات والتي تكون شيفرتها فعليًا على مسار تنفيذ بأنها قابلة للوصول، بينما الحزمة التي تكون معلنة فقط في BOM ولكن لا يتم استدعاؤها أبدًا فلا تُعلَّم كذلك. تُغذّي كل أداة تقطيع نفس محرك قابلية الوصول المشترك المرتبط بـ purl، لذا يكون السلوك موحدًا عبر اللغات. قابلية الوصول مفعّلة افتراضيًا (--reachability-analyzer FrameworkReachability)؛ وتضيف SemanticReachability بالإضافة إلى ذلك إسناد الخدمات ونقاط النهاية التي تم الوصول إليها وقابلية الوصول بعد البناء (الثنائي/الحاوية).

اللغة / النظام البيئيمحرك إمكانية الوصولالمحلل الافتراضي
Java / JVM (Groovy, Kotlin, Scala)atomFrameworkReachability
JavaScript / TypeScriptatomFrameworkReachability
PythonatomFrameworkReachability
PHPatomFrameworkReachability
RustrusiFrameworkReachability
GogolemFrameworkReachability
.NET (C#, VB, F#, R)dosaiFrameworkReachability

للتعرف على المفاهيم الكامنة وراء إمكانية الوصول وتحديد الأولويات، اقرأ فصلي نموذج إمكانية الوصول وتحديد الأولويات. للحصول على أمثلة تطبيقية لكل لغة، راجع أدلة اللغات. للاطلاع على جانب الامتثال (VDR وCSAF VEX)، راجع دليل VDR ودليل CSAF VEX.

إمكانية الوصول مفعّلة افتراضيًا ضمن --profile research، وهو ما يستخدمه dep-scan عند تفعيل إمكانية الوصول. الأوامر أدناه كافية للبدء؛ وتغطي الأدلة الخاصة بكل لغة تحليل الملفات الثنائية، وأمان الواجهة الخلفية والشبكة، ومتطلبات الاستعادة، وأمثلة تطبيقية على النماذج الموجودة في المستودع.

Rust (rusi). يشغّل cdxgen أداة rusi ويحفظ تقريرها، الذي يحوّله dep-scan إلى خط المعالجة المشترك، بحيث تكون الحزمة (crate) التي تُستدعى فعليًا (على سبيل المثال time::now() لـ RUSTSEC-2020-0071) قابلة للوصول، بينما الحزمة الموجودة فقط دون استدعاء ليست كذلك. راجع دليل إمكانية الوصول في Rust.

depscan -i ./my-rust-app -o ./reports --profile research

Go (golem). يستدعي dep-scan أداة golem مباشرةً لمشاريع Go (يتطلب وجود go في PATH)، ويضع علامة Reachable على الوحدة عندما تكون دوالها على مسار متتبَّع. استخدم --go-analyzer-network offline للمستودعات غير الموثوقة مع ذاكرة تخزين مؤقت دافئة للوحدات. راجع دليل إمكانية الوصول في Go.

depscan -i ./my-go-app -o ./reports -t go

.NET (dosai). يشغّل cdxgen أداة dosai، التي تُصدر حكمًا صريحًا حول قابلية الوصول لكل حزمة (PackageReachability مع ReachabilityKind وConfidence) تعتبره dep-scan مرجعًا موثوقًا، لذا فإن حزمة NuGet التي تُستدعى فعليًا (على سبيل المثال JsonConvert.DeserializeObject على مدخل خاضع للتحكم) تكون قابلة للوصول (Reachable). افحص شجرة مستعادة بحثًا عن purls ذات إصدارات. راجع دليل قابلية الوصول في .NET.

depscan -i ./my-dotnet-app -o ./reports -t dotnet

JVM وJavaScript/TypeScript وPython وPHP (atom). تشترك هذه المنظومات الأربع في أداة التقطيع atom، التي تبني تمثيلاً وسيطاً مستقلاً عن اللغة وتنفّذ التقطيع الساكن. راجع دليل إمكانية الوصول لـ JVM وJS وPython وPHP.

depscan --profile research -t java -i ./my-java-app -o ./reports --explain

للانتقال إلى ما هو أبعد من إمكانية الوصول المعتمدة على إطار العمل إلى مستويات نقطة النهاية والخدمة وما بعد البناء، مرّر --reachability-analyzer SemanticReachability مع --bom-dir لـ BOMs دورة الحياة. راجع دليل إمكانية الوصول الدلالي.

رؤى واضحة حول CVEs

افهم CVEs بوضوح دون الحاجة إلى قراءة الوصف بالكامل.

شجرة التبعيات مع الرؤى

الفئات