كيف تتحقق مما إذا كان لإصدار ما ثغرات معروفة؟

تتلقى كل بيئة تشغيل وخادم ومكتبة تعتمد عليها إصلاحات أمنية بمرور الوقت، وقد يكون الإصدار الذي تستخدمه مدرجًا ضمن الإصدارات المتأثرة في تحذير أمني منشور. وتنتشر التحذيرات في قواعد بيانات كثيرة، منها قواعد GitHub وفرق الأمن في Python وGo وRustSec وBitnami وغيرها. يجمع مشروع الثغرات مفتوحة المصدر OSV.dev، الذي تديره Google، هذه التحذيرات بتنسيق موحّد، ويحدد التحذيرات التي تؤثر في إصدار بعينه.

وصف الأداة

اختر المنظومة، وأدخل الاسم والإصدار الدقيق، ثم اضغط على «التحقق من الإصدار». إذا كنت تبحث عن بيئة تشغيل أو حزمة شائعة، مثل Node.js أو PHP أو PostgreSQL أو lodash أو Django، فاخترها من «الاختيارات السريعة» بدلًا من ذلك؛ إذ سيملأ لك حقلي المنظومة والاسم. ستظهر لك جميع الثغرات المعروفة التي تؤثر في ذلك الإصدار، مرتبة من الأشد خطورة إلى الأقل، مع:

  • معرّف الثغرة، مرتبطًا بصفحتها على osv.dev، ومعرّف CVE إن وُجد
  • درجة الخطورة التي يحددها التحذير: حرجة أو عالية أو متوسطة أو منخفضة
  • الإصدار الذي عولجت فيه الثغرة: أدنى إصدار يتضمن الإصلاح وأعلى من إصدارك، وفقًا للتحذير
  • ملخص موجز

عندما تصف عدة قواعد بيانات المشكلة نفسها، مثل تحذير من GitHub ونسخته في قاعدة بيانات Python، تُعرض كثغرة واحدة.

يُجرى الفحص على خادمنا، الذي يستعلم من API العامة لـ OSV.dev. ولا يُرسل سوى المنظومة والاسم والإصدار.

يمكن لمساعدي الذكاء الاصطناعي المتصلين بخادم MCP الخاص بـ Rapid Tool Set إجراء الفحص نفسه باستخدام vulnerable_version_checker.

المنظومات المدعومة

المنظومة ما الذي تغطيه أمثلة على الأسماء
بيئات التشغيل والخوادم، Bitnami بيئات التشغيل وخوادم الويب وقواعد البيانات والتطبيقات node (Node.js)، php، python، nginx، mariadb
npm حزم JavaScript lodash، express
PyPI حزم Python django، requests
Packagist حزم PHP المثبتة باستخدام Composer laravel/framework، symfony/http-kernel
Maven حزم Java، بصيغة group:artifact org.apache.logging.log4j:log4j-core
NuGet حزم .NET Newtonsoft.Json
Go وحدات Go، حسب مسار الوحدة github.com/gin-gonic/gin
crates.io حزم Rust tokio
RubyGems حزم Ruby actionpack، nokogiri
Pub حزم Dart وFlutter http
Hex حزم Erlang وElixir phoenix، plug
CRAN حزم R commonmark

بالنسبة إلى بيئات التشغيل والخوادم، تُستخدم أسماء Bitnami: node لـ Node.js (ويعمل nodejs أيضًا)، وpostgresql، وapache لخادم Apache HTTP.

القيود

  • يجب كتابة الإصدار تمامًا كما تحدده المنظومة، مثل 18.0.0 أو 4.17.15. إذا كُتب الاسم خطأً أو لم يكن الإصدار موجودًا، فلن تظهر أي نتائج، كما هو الحال مع إصدار لا توجد له ثغرات معروفة.
  • لا تُعرف إلا التحذيرات المنشورة. وقد تظل في إصدار لا تظهر له تحذيرات عيوب لم يُبلّغ عنها بعد.
  • لا تتضمن بعض التحذيرات تقييمًا لدرجة الخطورة؛ وتُعرض عندئذٍ على أنها «غير مُقيّمة».
  • يُستمد الإصدار الذي عولجت فيه الثغرة من نطاقات الإصدارات الواردة في التحذير. وقد يتضمن إصدار أحدث ثغرات خاصة به، لذا تحقّق أيضًا من الإصدار الذي ستُحدّث إليه.