
ماسح أمني للذكاء الاصطناعي الوكيلي يستدلّ كالمهاجم على الشيفرة المصدرية، ويؤكد الثغرات القابلة للاستغلال عبر إثباتات مفهوم قابلة للتنفيذ، ويقود الإصلاحات القائمة على الاختبار أولاً من خلال مهارات hunt و fix و verify.
[!NOTE] نسخة متفرعة مُصانة من VulnHunter الخاصة بـ Capital One (Apache-2.0) — بُنيت لتعمل على أي منصة وكلاء (agent harness)، وليس على Claude Code فقط. تركيز هذه النسخة المتفرعة: قابلية نقل منصة الوكلاء، والتحقق من الاستغلال داخل بيئة معزولة (حاويات)، وإثباتات مفهوم (PoCs) ذات أثر مُقاس. راجع لماذا التغييرات · ما الذي تغيّره هذه النسخة المتفرعة · الأرقام.
من مطابقة الأنماط إلى إثبات قابلية الاستغلال.
VulnHunter أداة أمنية مفتوحة المصدر تعمل بالذكاء الاصطناعي الوكيلي، وتطبّق تحليلًا استباقيًا بمنطق المهاجم مباشرةً على الشيفرة المصدرية.
على عكس ماسحات SAST التقليدية السلبية التي تُبلّغ عن أنماط مشبوهة وتتسبب غالبًا في نتائج إيجابية كاذبة، يستدل VulnHunter كما يفعل الخصم. فهو يحدّد العيوب القابلة للاستغلال فعليًا، ويرسم مسارات الهجوم المحتملة، ويقترح إصلاحات موجّهة مدعومة بالأدلة.
سلاسل التوريد البرمجية الحديثة مترابطة بعمق. فثغرة واحدة في مكوّن مفتوح المصدر واسع الاستخدام يمكن أن تنتشر عبر آلاف المؤسسات في آنٍ واحد.
طُوّر VulnHunter داخليًا في Capital One وأُتيح مفتوح المصدر للمجتمع. تواصل هذه النسخة المتفرعة ذلك العمل — بالمنهجية نفسها، معاد هندستها لتعمل على أي منصة وكلاء، مع التحقق من الاستغلال داخل بيئة معزولة (حاويات) وإثباتات مفهوم ذات أثر مُقاس على خارطة الطريق. راجع ما الذي تغيّره هذه النسخة المتفرعة.
تنبيه الاستخدام المزدوج يُجري VulnHunter عملًا أمنيًا مزدوج الاستخدام (اكتشاف الثغرات واستغلالها). توقّع وجود ضوابط حماية: فمعظم النماذج المتاحة تجاريًا تطبّق ضمانات سيبرانية للاستخدام المزدوج، وقد يؤدي السلوك الاستغلالي العدواني إلى تجاوز حدود المعدل أو تفعيل علامات الاستخدام. جرى تطوير VulnHunter واختباره على نماذج مفتوحة الأوزان يوفّرها المجتمع — منزوعة المخاطر، ومُجرَّدة من القيود، وغير خاضعة للرقابة — وهي النماذج المرجّح أن تكون ذات أهمية للاستخدام المؤسسي في المستقبل. دقّق فقط في الشيفرة التي تملكها أو المصرّح لك بتدقيقها.
[!IMPORTANT] المتطلبات الأساسية ومتطلبات النموذج بُنيت منهجية VulnHunter لتعمل على نماذج مفتوحة الأوزان يوفّرها المجتمع — تلك المنزوعة المخاطر، والمُجرَّدة من القيود، وغير الخاضعة للرقابة، والتي يمكن للمؤسسات نشرها فعليًا. يلزم نموذج استدلالي قادر؛ فأقوى نموذج توفّره منصتك يعطي أفضل النتائج، لكن المنهجية لا تعتمد على نموذج رائد من مورّد بعينه. أنت توفّر وصولك الخاص إلى النموذج.
| القدرة | المنبع (Capital One) | هذه النسخة المتفرعة | الحالة |
|---|---|---|---|
| قابلية نقل الـ harness | تستدعي المهارات Claude Code تحديدًا؛ يستهدف المثبّت ~/.claude/skills؛ بوابات النموذج تُثبّت Opus بشكل صارم؛ يثبّت الـ harness الإصدار claude-opus-4-8 | المهارات هي ملفات أوامر (prompt) قابلة للنقل بين الـ harness (أي harness لديه دليل مهارات + وكلاء فرعيين)؛ عقد بيئة VULNHUNT_SKILLS_DIR / VULNHUNT_AGENTS_DIR / VULNHUNT_BIN_DIR / VULNHUNT_HOST_CMD / VULNHUNT_MODEL؛ أُعيدت صياغة بوابات النموذج إلى "أقوى نموذج استدلال في الـ harness الخاص بك" | مُسلَّم |
| مثبّت بلا تخمين | يفترض install.sh المسار ~/.claude/skills | أدلة صريحة، تحترم دلالات GROK_HOME، تكتب مشغّل vh إلى VULNHUNT_BIN_DIR/~/.local/bin، تثبّت مهارة vulnhunter-run وتعريف الوكيل؛ حُدِّثت مكافئات .cmd على Windows | مُسلَّم |
مهارة المشغّل vulnhunter-run | — (غائبة) | مشغّل غير مراقَب: استنساخ → صيد → find-results → كتابة/التحقق من بيان الفحص (scan manifest)، مع قواعد توقف صريحة ودون ارتجال | مُسلَّم |
| تقوية القياس/الحَكَم | نموذج ثابت + إعادة محاولة أساسية | النموذج عبر البيئة، إعداد إعادة المحاولة/التراجع، تتبّع نقاط الفقدان في خط أنابيب analyze_misses، تتبّع سجل لكل نتيجة | مُسلَّم |
| لغة تقرير محايدة تجاه الـ harness | نثر خاص بـ Claude في جميع المهارات | لغة أدوات محايدة تجاه الـ harness (Agent → subagent، Claude CLI → harness session) | مُسلَّم |
| التحقق من الاستغلال بمنهجية الحاوية أولًا | قد تكون اختبارات الاستغلال آثارًا ثابتة؛ اختيار وقت التشغيل عشوائي | توفير وقت التشغيل بمنهجية Docker أولًا؛ يُسجَّل وقت التشغيل لكل نتيجة؛ يجب أن تُنفَّذ الخطورة المتوسطة فما فوق | قيد التنفيذ |
| إثباتات مفهوم (PoCs) ذات أثر مقيس | إثباتات المفهوم وثائق؛ يُدَّعى الأثر | إثبات مفهوم قابل للتنفيذ + رقم الأثر في النتيجة (صفوف مكشوفة، طلبات مضاعَفة، ساعات مفتاحية معلّقة) | قيد التنفيذ |
منهجية VulnHunter محايدة تجاه المضيف بطبيعتها: فهي إجراء أوامر (prompt procedure)، لا ارتباط بأداة. نشأ المشروع المنبع داخل Claude Code — وهو خيار متسق، وأول موطن صحيح. لكن مشهد الـ agent-harness اتّسع، والمنهجية الأمنية التي تُثبَّت في واحد منها فقط تكفّ عن كونها قدرة تدقيق وتبدأ كونها ميزة بائع. تُجري هذه النسخة المتفرعة أربعة تغييرات، لكل منها سبب.
كل مهارة هنا هي ملف أمر (prompt) قابل للنقل مع عقد بيئة صريح (VULNHUNT_SKILLS_DIR، VULNHUNT_AGENTS_DIR، VULNHUNT_MODEL، VULNHUNT_HOST_CMD)، وبوابات النموذج تطلب الآن أقوى نموذج استدلال في الـ harness الخاص بك بدلًا من منتج محدد. الأفضل يعني: تُثبَّت المنهجية نفسها في أي harness يشغّله فريقك بالفعل — وتصبح قابلة للمقارنة عبر الـ harnesses في تشغيلات القياس، وهي الطريقة التي تُطوَّر بها هذه النسخة المتفرعة.
كان مثبّت المنبع ينسخ المهارات إلى ~/.claude/skills دون شرط. على جهاز يشغّل اثنين من الـ harnesses — أو harness له موطن مُعاد تحديده — يثبّت ذلك التخمين في المكان الخطأ، بصمت. مثبّت النسخة المتفرعة يسأل، أو يأخذ متغيرات بيئة، ويفشل بصوت عالٍ مع التعليمات الدقيقة عندما تكون الإجابة غائبة. الأفضل يعني: آمن على الأجهزة متعددة الـ harnesses، صحيح تحت المواطن المُعاد تحديدها، صاخب بدلًا من صامت عند سوء الإعداد.
التصميم الأصلي كان يطالب بالفعل باختبارات التكذيب والاستغلال. ما تركه مفتوحًا هو مقدار الجهد المطلوب لتنفيذها فعليًا: تتبّع ساكن، أو اختبار وهمي (mocked)، أو خادم حقيقي داخل حاوية. في معيار واحد من ست جولات مقابل commit واحد، أنتج هذا التقدير التقديري ما بين 3 و42 نتيجة — وأحكامًا متعارضة على نفس الـ sink، أحدها مُثبت مقابل mock، والآخر مُغلق باختبار مقابل خادم حقيقي. يضيف هذا الـ fork إجراءً لتوفير بيئة التشغيل (Docker أولًا، يُسجَّل لكل نتيجة) وانضباطًا في الـ PoC حيث يُقاس التأثير — صفوف مسرَّبة، تضخيم ×، ساعات مفاتيح مهدورة — لا يُروى سردًا. معنى "أفضل": لم تعد صحة النتيجة تعتمد على أي نموذج امتلك الغريزة لإقامة حاوية. (قيد التنفيذ — خطة البناء على خريطة الطريق العامة؛ اسأل في issues أو تابع Discussions الخاصة بالمستودع.)
جديد في هذا الـ fork: vulnhunter-run، مشغّل غير مراقَب يقوم بالاستنساخ، والبحث، وتحديد موقع النتائج، وكتابة بيان الفحص والتحقق منه بقواعد توقف صريحة. تكتسب أدوات المعيار تهيئة النموذج عبر متغيرات البيئة، ومقابض إعادة المحاولة/التراجع، وتحليل نقاط الفقد للنتائج الفائتة. معنى "أفضل": الفرق بين أداة تعرضها في عرض توضيحي وأداة تجدولها.
نقيس VulnHunter مقابل نفسه: ست عمليات فحص كاملة لخدمة Go إنتاجية حقيقية واحدة — نفس الـ commit، وخمس حزم harness/model. الأرقام أدناه من تلك الجولات، وهي سبب وجود هذا الـ fork.
| 14× | تفاوت في النتائج المؤكدة عبر جولات نفس الـ commit. كانت العملية التي تقيس نفسها أول ثغرة — وسدّ هذه الفجوة هو خطة بناء هذا الـ fork. |
| 42/42 | نتيجة مؤكدة تحمل اختبارات استغلال قابلة للتنفيذ — كلها PASS، ولكل منها PoC خاص بها. لا تُسلَّم أي نتيجة بناءً على حدس. |
| 55% | من النتائج المرشحة أُزيلت أو خُفِّضت بواسطة مرحلة التحقق الخصومي قبل وصولها إليك. الآخرون يفحصون. VulnHunter يتقاضى. |
| 315 | مدخلًا يتحكم فيه المهاجم تم جردها في فحص واحد — كلها متتبَّعة، وكل تصنيف مكتوب. الاكتمال انضباط، لا طموح. |
| 20/20 | حمولة خصومية نُفِّذت مقابل خادم حي في جولة واحدة — مقيسة النتيجة، لا مُدَّعاة. |