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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
async-http-client-check — مساحة عمل ذكاء اصطناعي مستضافة ذاتيًا مع وكلاء ومهارات وأدوات (Gmail، Calendar) تعمل بالكامل على مفاتيح API الخاصة بمزودك (BYOK). أحضر مفاتيحك الخاصة — Groq، OpenRouter، NVIDIA، Hugging Face، Google AI. | Kitploit
أدوات/GitHubGitHub/xiaoqimikko/async-http-client-check
أدوات دفاعيةالتحليل الثابتماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةDevSecOpsالأدوات والمكوناتأمن سلسلة التوريد
GitHubxiaoqimikko/async-http-client-check

الأكثر شعبية

عرض الكل →

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

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

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

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

async-http-client-check

مساحة عمل ذكاء اصطناعي مستضافة ذاتيًا مع وكلاء ومهارات وأدوات (Gmail، Calendar) تعمل بالكامل على مفاتيح API الخاصة بمزودك (BYOK). أحضر مفاتيحك الخاصة — Groq، OpenRouter، NVIDIA، Hugging Face، Google AI.

عرض المستودع
منذ 11س 11دلم تتم المراجعة بعد

async-http-client-check

مدقّق يعمل دون اتصال بالإنترنت للتنبيهات الأمنية الـ 21 على مستوى المستودع الخاصة بـ org.asynchttpclient:async-http-client (AsyncHttpClient، "AHC"). يخبرك أيّها يتعرّض لها jar لديك فعليًا، ويشير إلى تلك التي لا يستطيع Dependabot و OSV رؤيتها، ويعطيك إجابة واحدة لكل سطر: 3.0.13 (3.x) / 2.16.1 (2.x).

ملف jar واحد، بلا أي تبعيات وقت التشغيل، يعمل دون اتصال بالكامل، Java 17+.


لماذا يوجد هذا

1. نُشرت 17 تنبيهًا في 2026-08-09 — وقاعدة البيانات العالمية تحتوي على 4 منها فقط

في 2026-08-09 نشر القائمون على AsyncHttpClient 17 تنبيهًا أمنيًا على مستودع المشروع نفسه (AsyncHttpClient/async-http-client → Security → Advisories).

لا يقرأ Dependabot و OSV تلك الصفحة. بل يقرآن قاعدة بيانات التنبيهات العالمية على GitHub. حتى 2026-09-19 تحتوي تلك القاعدة على 4 فقط من الـ 17 (CVE-2026-85716، CVE-2026-85717، CVE-2026-85720، CVE-2026-85721، وكلها أُضيفت في 2026-09-17). أما الـ 13 الأخرى فتُعيد 404 من GET /advisories/<GHSA>؛ بل إن اثنين من هؤلاء الـ 13 لديهما معرّفات CVE (CVE-2026-85718، CVE-2026-85719).

وبإضافة التنبيهات الأربعة الأقدم (CVE-2024-53990، CVE-2026-40490، CVE-2026-45300، CVE-2026-55688)، يسرد المستودع 21 تنبيهًا؛ بينما تحتوي قاعدة البيانات العالمية على 8.

2. الإصدار الذي يخبرك Dependabot بتثبيته متأثر هو نفسه بـ 5 منها

احسب "الإصدار الذي يزيل كل شيء" من قاعدة البيانات العالمية وستكون إجابة 3.x هي 3.0.12. ويوافق OSV على ذلك: POST /v1/query للإصدار 3.0.12 يُعيد صفر ثغرات.

لكن تنبيهات المستودع تقول إن 3.0.12 لا يزال داخل نطاق خمسة منها:

كن دقيقًا بشأن الخطيرين: فهما يسرّبان بيانات الاعتماد، لكن فقط إذا كنت قد ضبطت بيانات اعتماد (Realm، أو Digest/NTLM، أو وسيط) — كما يحتاج GHSA-jmqq إضافةً إلى ذلك إلى إعادة إرسال إلى مضيف مختلف. أما عميل يقوم بطلبات GET عادية غير مصادَق عليها فهو غير معرّض لهما. هذه الأداة لا تعرف كيف تستخدم العميل؛ إنها تُبلّغ بما يقوله نطاق الإصدار وتترك القرار لك.

يقول القائمون على المشروع ذلك بأنفسهم في نص CVE-2026-85721:

لاحظ أن 3.0.12 متأثر هو نفسه بمشكلة منفصلة، GHSA-rqf5-2wxv-rjf4 … قم بالترقية إلى 3.0.13 للحصول على كلا الإصلاحين.

إذن على 3.x: يقول Dependabot إن 3.0.12، وبعد الترقية يُظهر اللون الأخضر. الإجابة الحقيقية هي 3.0.13. أما على 2.x فالإجابة هي 2.16.1 في كلتا الحالتين — لكن 13 من التنبيهات الكامنة خلفها لا تزال غير مرئية لماسحك الضوئي.

3. قنبلة فك الضغط لا تحتاج إلى أي إعداد

CVE-2026-85721 (عالية) هو التنبيه الذي ينطبق على الإعدادات الافتراضية: فك ضغط الاستجابة التلقائي مُفعّل افتراضيًا، ومسار HTTP/1.1 يفك ضغط الجسم بلا حد على الحجم الإجمالي. يمكن لخادم خبيث أو مخترَق — أو أي شخص قادر على تعديل الاستجابة أثناء النقل — أن يرسل جسم gzip/deflate صغيرًا يستنزف الذاكرة العشوائية. المتأثرون: <= 3.0.11 و <= 2.16.0. هذا التنبيه موجود في قاعدة البيانات العالمية، لذا يُنبّه Dependabot عليه.

الحدود ليست مكتوبة باتساق

تخلط النطاقات بين >= و <= و < و = 3.0.12 صريح و 3.0.0 مجرّد. الإصدار نفسه 3.0.11 هو آمن بالنسبة لـ CVE-2026-55688 (< 3.0.11) ومتأثر بالنسبة لـ GHSA-v9f2-7rw2-gr2x (<= 3.0.11). يحتفظ جدول القواعد بكل معامل كما هو مكتوب تمامًا؛ ويفشل تأكيد في tools/gen_rules.py واختبار وحدة إذا توقف الحد عن التصرف بهذه الطريقة. أي جزء من نطاق لا يتعرف عليه المحلل اللغوي يُعد خطأً — وليس أبدًا "غير متأثر".

حيث يحمل كل من المستودع وقاعدة البيانات العالمية تنبيهًا لكنهما يختلفان، يأخذ جدول القواعد الاتحاد. اليوم هذه حالة واحدة: CVE-2024-53990 — فالمستودع يسرد فقط إصدار 3.x 3.0.0، بينما تسرد قاعدة البيانات العالمية أيضًا 2.x >= 2.1.0, < 2.12.4. والثقة بطرف واحد فقط ستؤدي إلى تقليل الإبلاغ.

ولا يفحص pom.xml — عن قصد

عادةً ما يكون AHC تبعية غير مباشرة، تجرّها إليك حزمة SDK أو مكتبة عميل. وقد لا يظهر artifactId أبدًا في pom.xml لديك. تقرأ هذه الأداة META-INF/maven/org.asynchttpclient/async-http-client/pom.properties داخل ملفات jar التي تُشحن فعليًا — بما في ذلك ملفات jar المتداخلة في fat-jar الخاص بـ Spring Boot (BOOT-INF/lib) أو WAR (WEB-INF/lib). الإحداثي القديم 1.x وهو com.ning:async-http-client له نفس artifactId؛ وهو مُدرَج لكنه غير محكوم.

الاستخدام

root@kitploit:~
java -jar async-http-client-check.jar target/                 # scan build output
java -jar async-http-client-check.jar myapp.jar               # fat-jar / war, nested jars included
java -jar async-http-client-check.jar --version-of 3.0.12     # judge a version directly

تطبع كل إصابة المعرّف (CVE إن وُجد، وإلا GHSA)، والخطورة، والعنوان، والإصدار المُصلَح، و Dependabot/全局库:未收录 ("غير مُدرَج في قاعدة البيانات العالمية") حيث ينطبق ذلك. المخرجات باللغة الصينية.

رموز الخروج

"لم أستطع قراءته" و"أنت آمن" يجب أن تكونا جملتين مختلفتين. ملف jar فارغ بشكل مشروع (سجل EOCD مجرّد بحجم 22 بايت) ليس فشل قراءة. إذا كان ملف متأثرًا و آخر غير قابل للقراءة، فإن رمز الخروج يبقى 1.

ما لا يخبرك به

  • فقط هذه التنبيهات الـ 21، وفقط async-http-client. ثغرات Netty في ملفات jar الخاصة بـ Netty التي يعتمد عليها AHC غير مغطاة.
  • لا يُفحص قابلية الوصول. معظم تنبيهات 2026-08-09 تحتاج إلى مصادقة، أو وسيط، أو WebSocket، أو ملفات تعريف الارتباط، أو تنزيلات قابلة للاستئناف لتكون ذات أهمية. تُطبع الخطورة كما نُشرت.
  • فجوة المعلومات مؤقتة. قد يضيف GitHub الـ 13 المفقودة إلى قاعدة البيانات العالمية في أي وقت. يتحقق tools/recheck_before_publish.py مما إذا كانت لا تزال موجودة.

كيف يُبنى جدول القواعد

src/main/java/dev/mikko/ahccheck/RuleTable.java مُولَّد، ولا يُحرَّر يدويًا أبدًا:

root@kitploit:~
python tools/gen_rules.py --dry   # run the assertions only
python tools/gen_rules.py         # regenerate the table

يقرأ التنبيهات على مستوى المستودع (vulnerable_version_range، patched_versions)، ويبحث عن كل واحد منها في قاعدة البيانات العالمية، ويسجّل "مرئي لـ Dependabot: نعم/لا" كحقل لكل قاعدة. يجب أن تنجح سبعة تأكيدات وإلا لا يُكتب شيء: عدد التنبيهات والمجموعة الدقيقة للـ 13 المفقودة من قاعدة البيانات العالمية لا تزال مطابقة لخط الأساس؛ والتقاطعات لا تزال 3.0.13 / 2.16.1 (و 3.0.12 عند الحساب من قاعدة البيانات العالمية وحدها)؛ وتلك الإصدارات تُعيد 200 من Maven Central بينما يُعيد إصدار حرس 404؛ و3.0.12 لا يزال يصطدم بتنبيه عالٍ واحد على الأقل وليس أي منها في قاعدة البيانات العالمية؛ وجميع أنماط المعاملات موجودة وحالة الحد لا تزال تنقلب؛ والاختلاف بين المستودع وقاعدة البيانات العالمية لا يزال بالضبط الاختلاف المعروف.

توجد فحوصات شاملة من البداية إلى النهاية على ملفات jar حقيقية في tools/e2e_real_jars.py (ملفات jar فعلية من Maven Central، بما في ذلك fat-jar و WAR). ويعيد tools/recheck_before_publish.py التحقق من الفجوة — قاعدة البيانات العالمية، وOSV، وMaven Central، كل منها بضابط إيجابي وحرس — ويخرج بقيمة غير صفرية إذا تحرّك أي شيء.

الترخيص

Apache License 2.0 — انظر LICENSE.

تنزيل الأداة
التنبيهالخطورةماذايحتاج إلى
GHSA-rqf5-2wxv-rjf4عاليةتحدّي Digest بدون nonce صالح يُجاب عليه بـ Authorization: Basic، أي كلمة المرور بترميز base64Realm من نوع Digest (مصادقة الخادم أو الوسيط)
GHSA-jmqq-x5g9-9p2wعاليةعند إعادة إرسال طلب إلى مضيف مختلف، يُرسَل طلب المضيف الأول / بيانات اعتماده إلى المضيف الثانيإعادة الإرسال إلى مضيف آخر (ResponseFilter للتبديل الاحتياطي أو مسار إعادة المحاولة عند IOException) و بيانات اعتماد أو وسيط
GHSA-vvp4-63h8-v5pmمتوسطةيُعاد استخدام اتصالات NTLM / Negotiate عبر هويات مختلفةNTLM أو Negotiate مع بيانات اعتماد لكل طلب
GHSA-f9m8-cv68-674wمتوسطةلا يُفحص Domain الخاص بملف تعريف الارتباط مقابل قائمة النطاقات العامة (Domain=co.uk)CookieStore مشترك عبر أصول مختلفة
GHSA-qhv6-3pmh-95q4منخفضةqop="auth-int" يُعطّل المصادقة المتبادلة في Digest (في 3.0.12 فقط)مصادقة Digest
الرمزالمعنى
0غير متأثر بأي من الـ 21، وقد قُرئ كل ملف فعليًا
1متأثر
2تعذّر الحكم — وسائط خاطئة، أو لم يُعثر على jar الخاص بـ AHC، أو إصدار غير معروف، أو إصدار ما قبل الإصدار يقع خارج النطاقات المنشورة
4تعذّرت قراءة بعض الملفات — ليس ملف zip، أو مبتور، أو فشل إدخال/إخراج