
PoC: تحديد التصحيحات الأمنية الصامتة قبل CVE
VCamper ("Version Camper") هي أداة واجهة أوامر (CLI) لإثبات المفهوم تراجع عن نطاق من التزامات Git بحثًا عن إصلاحات أمنية صامتة محتملة.
غالبًا ما تصل الإصلاحات الأمنية إلى سجل Git العام قبل أن يلحق بها مسار النشرات الاستشارية. يمكن أن يحمل الالتزام الذي يبدو صيانةً روتينيةً أدلةً كافية للمراجع لاستنتاج مسار الثغرة وعواقبها المحتملة.
يحوّل VCamper سير عمل مراجعة الفروقات بين الإصدارات إلى جمع أدلة قابل للتكرار. يجمع كل مرشحٍ التصحيح الخاص به ولقطات الملفات المتغيرة. يسجّل خطةً للنقاط الساخنة قبل أن يطلب من وكيلٍ فرزَ والتحققَ من الالتزامات الأكثر أهميةً على الأرجح.
تابع التحديثات: x.com/rndhouse
أصلح curl ثغرة CVE-2025-0725 في الالتزام 76f83f0db23846e254d940ec7fe141010077eb88. العنوان content_encoding: drop support for zlib before 1.2.0.4 يبدو كصيانة توافقية. وصل الإصلاح إلى مستودع curl على GitHub في 2025-01-24 عبر PR #16079. نشر curl النشرة الاستشارية في 2025-02-05. أي أن هناك حوالي 12 يومًا بين الكود العلني والنشرة العلنية. المصادر: نشرة curl الاستشارية وPR #16079 الخاص بـ curl.
يحلل هذا الأمر ذلك الالتزام الإصلاحي بمفرده:
cargo run -- analyze \
--repo /path/to/curl \
--from 76f83f0db23846e254d940ec7fe141010077eb88 \
--to 76f83f0db23846e254d940ec7fe141010077eb88 \
--provider codex \
--model gpt-5.4 \
--screen-effort medium \
--verify-effort high \
--out /tmp/vcamper-curl-cve-2025-0725
علّم VCamper الالتزامَ كالتزامٍ ذي صلة أمنية بثقة 0.95. تتبّع الاكتشاف مسارَ التراجع عن دعم gzip القديم لـ zlib وصولًا إلى مسار استنزاف ذاكرة من جهة العميل عن بُعد: يمكن للخادم أن يُبقي curl يخزّن مؤقتًا بايتات ترويسة gzip يتحكم بها المهاجم حتى تُستنزف الذاكرة. حدّد المُتحقّق الحالة ذات الصلة باسم GZIP_UNDERFLOW؛ إذ يمكن لحقول ترويسة gzip الاختيارية أن تظلّ تفتقر إلى حرف NUL الختامي بينما يستمر curl في إعادة تخصيص الذاكرة وإلحاق البايتات بـ z->next_in.
استخدم التشغيل التزام الإصلاح العلني وحده؛ وبقي نص CVE خارج التحليل. طابق الاكتشاف مسار التراجع الضعيف عن دعم zlib القديم وأبلغ عن العاقبة المدعومة كحرمانٍ عن بُعد من الخدمة عبر استنزاف الموارد. تستخدم نشرة curl الاستشارية التصنيف الأوسع CWE-680.
أصلح wolfSSL ثغرة CVE-2026-5194 في الالتزام abce5be989ccd0665e2b9445abb856886975dfd1 من PR #10131. كان عنوان الالتزام 20260403-WC_FIPS_186. هذه حالة أصعب من curl لأن التصحيح يخلط أعمال الامتثال لمعيار FIPS 186 مع تغييرات الاختبار والتحقق. يمسّ كود ASN.1 و ECC في wolfcrypt/src/. كما يصل إلى مسارات TLS و PKCS#7.
يُظهر ذلك الالتزام لماذا يستخدم VCamper تمريرات Codex على مراحل. انجرف موجهٌ واسع نحو قصة ثغرة محلية واحدة. أبقى خط الأنابيب المرحلي نظرياتٍ منفصلة حيّةً وأسفر عن ثلاثة اكتشافات مُتحقَّق منها من الالتزام نفسه:
signatureAlgorithm في ASN.1 وعائلة المفاتيح في ConfirmSignatureيحمل المرشح النهائي المركّب الإشارة الرئيسية. أكّد التشغيل المرحلي الأخير اكتشافًا بثقة 0.90 مفاده أن التحقق من الكائنات الموقّعة سمح لمعرّفات OID للتوقيع التي يتحكم بها المهاجم بتوجيه تحقق ECDSA نحو ملخصات غير متطابقة أو أدنى من السياسة. كما تؤكد نشرة CVE المنشورة على تمكين EdDSA / ML-DSA المختلط. وصل VCamper إلى عائلة التصحيح نفسها. حافظ على نظريات متعددة وتحقق منها بشكل مستقل. كما استعاد حدود التحقق المشتركة.
يعرض هذا الأمر سلوك النموذج الأولي الحالي على ذلك الالتزام:
cargo run -- analyze \
--repo /path/to/wolfssl \
--from abce5be989ccd0665e2b9445abb856886975dfd1 \
--to abce5be989ccd0665e2b9445abb856886975dfd1 \
--provider codex \
--model gpt-5.4 \
--screen-effort xhigh \
--verify-effort xhigh \
--inventory-focuses 0,1,3,4,9 \
--out /tmp/vcamper-wolfssl-cve-2026-5194
يستخدم هذا الأمر قائمة مختصرة منسّقة للنقاط الساخنة لأن الالتزام صاخبٌ بشكل غير معتاد. استعاد التشغيل عائلة التصحيح ذات الصلة ونظريةً مركّبةً مفيدةً للتحقق من الكائنات الموقّعة من التزامٍ يبدو كتغيير امتثالي روتيني. بالنسبة للالتزامات التشفيرية الصعبة، يمكن للنموذج الأولي استعادة حدود الثقة المشتركة. كما يمكنه إبقاء قصص أمنية متعددة مُتحقَّق منها حيّة. تتطلب مطابقة سردية CVE الأدق تفكيرًا أقوى في الميزات المختلطة في المراحل اللاحقة.
cargo run -- analyze \
--repo /path/to/repo \
--from <older-release-commit> \
--to <newer-release-commit> \
--provider codex \
--model gpt-5.4 \
--screen-effort medium \
--verify-effort high \
--out /tmp/vcamper-run
gitcodexclaude