Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
bc-check — ماسح ضوئي دون اتصال يخبرك أيٌّ من ثغرات Bouncy Castle لعام 2026 تنطبق عليك فعليًا - عبر BC وBC-LTS وBC-FJA (FIPS)، والتي لا تتشارك مخطط إصدارات موحّدًا. CVE-2026-58062 / CVE-2026-8763 / CVE-2026-59650 / CVE-2026-59638 | Kitploit
أدوات/GitHubGitHub/xiaoqimikko/bc-check
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالتشفيرDevSecOpsأمن سلسلة التوريد
GitHubxiaoqimikko/bc-check

bc-check

ماسح ضوئي دون اتصال يخبرك أيٌّ من ثغرات Bouncy Castle لعام 2026 تنطبق عليك فعليًا - عبر BC وBC-LTS وBC-FJA (FIPS)، والتي لا تتشارك مخطط إصدارات موحّدًا. CVE-2026-58062 / CVE-2026-8763 / CVE-2026-59650 / CVE-2026-59638

عرض المستودع
منذ 10 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

bc-check

افحص دون اتصال أيّ من ثغرات CVE لعام 2026 الخاصة بـ Bouncy Castle تؤثر على تطبيق Java لديك. بدون أي تبعيات، ملف jar واحد، دون اتصال بالشبكة، ودون رفع أي بيانات.

java -jar bc-check.jar ./app.jar
java -jar bc-check.jar --gav bcprov-lts8on:2.73.5 --detail

لماذا نحتاج إلى أداة (بدلاً من إلقاء نظرة على رقم الإصدار)

جميع أوصاف CVE الرسمية مكتوبة بجملة واحدة موحّدة:

Bouncy Castle for Java before 1.85

لكن بين المستخدمين الفعليين، هناك خطّان من المنتجات لا تبدو أرقام إصداراتهما بهذا الشكل على الإطلاق:

خط المنتجشكل الـ artifactشكل رقم الإصدارهل «before 1.85» مفيد له
BC (النسخة العادية)bcprov-jdk18on1.81✅ مفيد
BC-LTS (نسخة الدعم طويل الأمد)bcprov-lts8on2.73.5❌ لا يمكن الحكم إطلاقاً
BC-FJA (نسخة معتمدة FIPS)bc-fips / bctls-fips …1.0.2.5 / 2.0.1 / 2.1.2❌ لا يمكن الحكم إطلاقاً

الإصدارات المُصلحة للخطوط الثلاثة هي 1.85 و2.73.12 ومجموعة أرقام إصدار خاصة بكل واحد من 7 artifacts من FIPS. إنها ليست على المحور الرقمي نفسه، ومقارنتها ببعضها لا معنى لها.

أربعة أمثلة توضّح لماذا يعطي التعميم استنتاجات خاطئة

  1. CVE-2026-8149 لا يؤثر إطلاقاً على خط BC، بل يؤثر فقط على BC-LTS 2.73.0–2.73.10. من يراقب رقم الإصدار «1.85» لن يكتشفه أبداً.
  2. CVE-2026-59650 لا يؤثر إطلاقاً على نسخة FIPS. الإبلاغ عنه وفق «before 1.85» إنذار كاذب.
  3. CVE-2026-59638 على جانب FIPS يجب فحص الـ artifact bctls-fips وليس bc-fips —— فقد انتقل من نواة التشفير إلى وحدة TLS. من يراقب bc-fips فقط لن يجده.
  4. CVE-2026-58062 و58060 أدرجت الجهات الرسمية فقط 2.0.2 و2.1.3 من bc-fips، دون 1.0.x —— أي أن خط 1.0.x غير متأثر. بينما أدرج CVE-2026-8763 الإصدار 1.0.2.7، فيكون 1.0.x متأثراً. نفس الـ artifact ونفس الإصدار، لكن CVE مختلفة تعطي إجابات مختلفة.

وهناك أيضاً 10 CVE لها إصدار بداية التأثر (from 1.61 وfrom 1.66 وfrom 1.73 مختلفة)، وليست «كل الإصدارات متأثرة»؛ كما أن 4 CVE قديمة إصداراتها المُصلحة هي إصدارات فرعية مثل 1.80.2 / 1.81.1 / 1.84، ونطاقات التأثر منفصلة (1.74–1.80.1، 1.81، 1.82–1.83).

لنفترض أنك قرأت جميع الإعلانات وتعرف كل الإجابات، فأنت ما زلت لا تستطيع الفحص —— لأن الإجابة ليست رقم إصدار واحد، بل جدول ثلاثي الأبعاد «خط المنتج × artifact × CVE».

وهناك أمر آخر: Dependabot الخاص بك على الأرجح لن ينبّهك إلى هذه المجموعة من CVE

تصحيح (2026-10-12): كان هذا القسم يذكر سابقاً أن «4 CVE من فئة CVSS critical كلها unreviewed ولا يراها Dependabot». وقد تمت مراجعة CVE-2026-8763 من قبل GitHub وإدراجه مع معلومات الحزم في 2026-09-18، فأصبح Dependabot وOSV يريانه الآن. أما الـ 3 الأخرى فما زالت غير مرئية. فيما يلي النسخة المعدّلة وفق القياس الفعلي بتاريخ 2026-10-12.

من بين 4 CVE من فئة CVSS critical، لا تزال 3 حالتها في GitHub Advisory هي unreviewed، وقائمة الحزم المتأثرة فارغة (عدد الحزم 0). فبدون اسم حزمة لا يمكن مطابقة شجرة التبعيات —— فهي لا تدخل OSV، ولا ينبّه Dependabot، ولا تستطيع أدوات SCA اكتشافها عند فحص قوائم التبعيات.

عند الاستعلام عن org.bouncycastle:bcprov-jdk18on:1.81 في OSV (2026-10-12)، تظهر 4 نتائج: CVE-2025-14813 وCVE-2026-0636 وCVE-2026-13506 وCVE-2026-8763 —— ولا تظهر أي واحدة من الـ 3 critical الأخرى.

⚠️ للتوضيح: ليس المقصود أن «Dependabot لا يرى أي ثغرة في BC» —— فـ CVE-2026-0636 من المجموعة نفسها هو reviewed وله معلومات حزم وينبّه بشكل طبيعي. غير المرئية هي هذه الـ 3 critical المعلَّمة بـ unreviewed في الجدول أدناه.

CVEGHSAالحالة (2026-10-12)عدد الحزم
CVE-2026-58062GHSA-j295-77c3-9frfunreviewed0
CVE-2026-8763GHSA-9pwp-9qqc-pr26reviewed (منذ 2026-09-18)6
CVE-2026-59650GHSA-ghgq-7g74-28wpunreviewed0
CVE-2026-59638GHSA-8rxj-3p7p-rq39unreviewed0

الإصدارات المُصلحة التي سجّلتها قاعدة البيانات العامة لـ CVE-2026-8763 هي bcprov-jdk18on / bcprov-jdk15to18 1.85، وbcprov-lts8on 2.73.12، وbc-fips 1.0.2.7 / 2.0.2 / 2.1.3، وهي متوافقة مع جدول الحكم في هذه الأداة.

الاستخدام

java -jar bc-check.jar <路径> [更多路径...] [选项]
java -jar bc-check.jar --gav <坐标>

يمكن أن يكون المسار ملف jar / war (بما في ذلك Spring Boot fat-JAR، ويُفكَّك تلقائيًا طبقةً بطبقة)، أو مجلدًا (بشكل تكراري).

الخيارالوصف
--gav <الإحداثيات>دون فحص الملفات، يحدد إحداثيةً مباشرةً، مثل bcprov-lts8on:2.73.5
-d, --detailيسرد كل CVE مطابق مع النص الرسمي الأصلي
--jsonيُخرج JSON، لتسهيل ربطه بخط الإنتاج (دائمًا UTF-8)
--utf8 / --gbkيفرض الترميز عند ظهور أحرف صينية مشوّهة في الطرفية
--no-colorيُعطّل الإخراج الملوّن

رموز الخروج: 0 = لا تطابق؛ 1 = تطابق CVE؛ 2 = خطأ في الاستخدام. يمكن استخدامه مباشرةً كبوابة CI.

يبدو الإخراج هكذا

[CRITICAL] bcprov-lts8on 2.73.5 BC-LTS 线
  位置  :app.jar!/BOOT-INF/lib/bcprov-lts8on-2.73.5.jar
  来源  :jar 内 MANIFEST
  结论  :命中 29 条 CVE,其中 CVSS critical 4 条
  降噪  :其中 13 条按官方 FIPS 侧点名的 artifact 反推,大概率出在 bcpkix / bcpg / bctls 模块。
            ⚠️ 这是推断不是官方结论,仅供排优先级。
  处置  :升级到 2.73.12(BC-LTS 线)

كيف يجد Bouncy Castle

في الغالبية العظمى من الحالات، لا تكون أنت من أضفت BC بنفسك، بل جرّته إليك التبعيات الانتقالية —— فـ TLS والتحقق من الشهادات وJWT وتوقيع PDF وPGP كلها تجلبه. لذلك لا تنظر هذه الأداة إلى pom، بل إلى النواتج الفعلية فقط:

  1. Bundle-SymbolicName + Bundle-Version في META-INF/MANIFEST.MF (المسار الرئيسي)
  2. اسم ملف jar
  3. META-INF/maven/org.bouncycastle/*/pom.properties (غير موجود في jar الرسمي، بل في المعاد تجميعه فقط)
  4. إذا عُثر على class ضمن org/bouncycastle/ فقط دون التعرف على الإحداثيات → يُبلَّغ بـ UNKNOWN مع تنبيه للتحقق يدويًا

الحالة الرابعة هي حالة shade داخل jar المضيف، حيث لا يراها mvn dependency:tree ولا SCA، لكن هذه الأداة ستخبرك على الأقل «هناك BC هنا، لكنني لا أتعرف على الإصدار»، بدلًا من إغفالها بصمت.

عند إعادة تسمية jar (وهو أمر شائع عند إعادة نشر المستودعات الداخلية)، لا يُتعرف على اسم الملف، لكن MANIFEST يظل قابلًا للتعرف.

من أين تأتي أسس التحديد

كلها تأتي من الصفحات الفرعية لكل CVE من 37 ثغرة CVE لعام 2026 على wiki الرسمي github.com/bcgit/bc-java (النص الأصلي لـ Issue affecting / Fixed versions)، وليست نقلًا من مصدر ثانوي ولا مقالات تجميعية.

  • البيانات الأولية: tools/data/bc_cves.json
  • يُولَّد جدول التحديد تلقائيًا من tools/gen_rules.py إلى CveTable.java، دون نسخ يدوي
  • يُرفق التقرير النص الرسمي بندًا بندًا، ليمكنك التحقق بنفسك

إعادة التوليد: python tools/gen_rules.py

🔴 نطاق التحديد (اقرأ هذا المقطع قبل رؤية OK)

تغطي هذه الأداة 37 ثغرة CVE لعام 2026 على wiki الرسمي فقط. ثغرات Bouncy Castle السابقة لعام 2026 خارج النطاق —— معظمها دخل OSV بالفعل، ويمكن لـ Dependabot / SCA العثور عليها، ولا تعيد هذه الأداة اختراع العجلة.

مثال محدد: org.bouncycastle:bcprov-jdk18on:1.81 يمكن العثور عليه في OSV عبر CVE-2025-14813 وCVE-2026-0636 —— الأولى غير مغطاة بهذه الأداة (لعام 2025)، والثانية مغطاة. لذا فإن تقرير هذه الأداة بـ OK يعني «غير متأثر بهذه الدفعة لعام 2026»، وليس «Bouncy Castle لديك سليم تمامًا». يجب النظر إلى الاثنين معًا، لا الاختيار بينهما.

مشكلات منهجية معروفة (لا نخفيها)

تنزيل الأداة