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