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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
garak — ماسح ضوئي معياري لثغرات LLM يفحص الهلوسة، تسرب البيانات، حقن التعليمات، كسر الحماية، والسمية باستخدام فحوصات ثابتة وديناميكية وتكيفية عبر موفري نماذج متعددين. | Kitploit
أدوات/GitHubGitHub/nvidia/garak
ماسحات الثغرات الأمنيةاختبار الاختراقتعلم الآلةالأوراق والأبحاثالتعلم والتعليمالفريق الأحمرأمن الذكاء الاصطناعيالهجوم العدائيالأفضل في الهجوم العدائي #7الأفضل في أمن الذكاء الاصطناعي #2
8.8k1.2k427منذ 4 أيامتمت المراجعة من قبل Kitploit
الأفضل في تعلم الآلة #5
GitHubnvidia/garak

garak

ماسح ضوئي معياري لثغرات LLM يفحص الهلوسة، تسرب البيانات، حقن التعليمات، كسر الحماية، والسمية باستخدام فحوصات ثابتة وديناميكية وتكيفية عبر موفري نماذج متعددين.

عرض المستودعالموقع الإلكتروني

الأكثر شعبية

عرض الكل →

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

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

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

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

garak، ماسح ثغرات نماذج اللغة الكبيرة (LLM)

مجموعة أدوات الاختبار الأحمر وتقييم الذكاء الاصطناعي التوليدي

يتحقق garak مما إذا كان يمكن جعل تطبيق مدعوم بنموذج لغوي كبير (LLM) يفشل بطريقة لا نريدها. يستكشف garak الهلوسة وتسريب البيانات وحقن الأوامر (prompt injection) والمعلومات المضللة وتوليد المحتوى السام وكسر القيود (jailbreaks) والعديد من نقاط الضعف الأخرى. إذا كنت تعرف nmap أو msf / Metasploit Framework، فإن garak يفعل أشياء مشابهة إلى حد ما لهما، ولكن لنماذج اللغة الكبيرة.

يركز garak على طرق جعل نموذج اللغة الكبيرة أو نظام الحوار يفشل. وهو يجمع بين مجسّات (probes) ثابتة وديناميكية وتكيفية لاستكشاف ذلك.

garak أداة مجانية. نحن نحب تطويرها ونهتم دائمًا بإضافة وظائف لدعم التطبيقات.

License Tests/Linux Tests/Windows Tests/OSX Documentation Status arXiv discord-img Code style: black PyPI - Python Version PyPI Downloads Downloads

ابدأ الآن

> اطّلع على دليل المستخدم الخاص بنا! docs.garak.ai

> انضم إلى Discord الخاص بنا!

> روابط المشروع والصفحة الرئيسية: garak.ai

> تويتر: @garak_llm

> شرائح DEF CON slides!


دعم نماذج اللغة الكبيرة

يدعم حاليًا:

  • نماذج hugging face hub التوليدية
  • نماذج النصوص في replicate
  • نماذج المحادثة والاستكمال في openai api
  • النماذج الأساسية في aws bedrock
  • litellm
  • تقريبًا أي شيء يمكن الوصول إليه عبر REST
  • نماذج gguf مثل llama.cpp الإصدار >= 1046
  • .. والعديد من نماذج اللغة الكبيرة الأخرى!

التثبيت:

garak أداة سطر أوامر. وهي مطوّرة على Linux وOSX.

التثبيت القياسي باستخدام pip

ما عليك سوى الحصول عليها من PyPI وستكون جاهزًا للانطلاق:

python -m pip install -U garak

تثبيت نسخة التطوير باستخدام pip

يتم تحديث نسخة garak القياسية على pip بشكل دوري. للحصول على نسخة أحدث من GitHub، جرّب:

python -m pip install -U git+https://github.com/NVIDIA/garak.git@main

استنساخ من المصدر

يمتلك garak تبعياته الخاصة. يمكنك تثبيت garak في بيئة Conda خاصة به:

conda create --name garak "python>=3.11,<=3.14"
conda activate garak
gh repo clone NVIDIA/garak
cd garak
python -m pip install -e .

حسنًا، إذا سار ذلك على ما يرام، فمن المحتمل أنك جاهز للانطلاق!

ملاحظة: إذا كنت قد استنسخت (cloned) قبل الانتقال إلى منظمة NVIDIA على GitHub، لكنك تقرأ هذا على عنوان URI ‏github.com/NVIDIA، فيرجى تحديث الـ remotes الخاصة بك على النحو التالي:

git remote set-url origin https://github.com/NVIDIA/garak.git

بدء الاستخدام

الصيغة العامة هي:

garak <options>

يحتاج garak إلى معرفة النموذج المراد فحصه، وبشكل افتراضي، سيحاول تطبيق جميع المجسّات التي يعرفها على ذلك النموذج، باستخدام كواشف الثغرات الموصى بها من قِبل كل مجسّ. يمكنك عرض قائمة المجسّات باستخدام:

garak --list_probes

لتحديد مُولِّد، استخدم الخيارين --target_type واختياريًا --target_name. يحدد نوع النموذج عائلة النموذج/واجهته؛ بينما يحدد اسم النموذج النموذج الدقيق المراد استخدامه. يصف قسم "مقدمة عن المولّدات" أدناه بعض المولّدات المدعومة. من عائلات المولّدات المباشرة نماذج Hugging Face؛ لتحميل أحدها، اضبط --target_type على huggingface و--target_name على اسم النموذج على Hub (مثل "RWKV/rwkv-4-169m-pile"). قد تحتاج بعض المولّدات إلى تعيين مفتاح API كمتغير بيئة، وستُعلمك إذا كانت بحاجة إلى ذلك.

يشغّل garak جميع المجسّات بشكل افتراضي، لكن يمكنك أن تكون محددًا في ذلك أيضًا. على سبيل المثال، سيستخدم --spec probes.promptinject أساليب إطار عمل PromptInject فقط. يمكنك أيضًا تحديد إضافة معينة بدلًا من عائلة إضافات بإضافة اسم الإضافة بعد .؛ على سبيل المثال، سيستخدم --spec probes.lmrc.SlurUsage تطبيقًا للتحقق من النماذج التي تولّد إهانات بناءً على إطار عمل Language Model Risk Cards.

للحصول على المساعدة والإلهام، تجدنا على Twitter أو discord!

أمثلة

فحص نموذج تجاري بحثًا عن حقن أوامر قائم على الترميز (OSX/*nix) (استبدل القيمة المثالية بمفتاح OpenAI API حقيقي)

export OPENAI_API_KEY="sk-123XXXXXXXXXXXX"
python3 -m garak --target_type openai --target_name gpt-5-nano --spec probes.encoding

تحقق مما إذا كانت نسخة GPT2 من Hugging Face عرضة لـ DAN 11.0

python3 -m garak --target_type huggingface --target_name gpt2 --spec probes.dan.Dan_11_0

قراءة النتائج

لكل فحص (probe) يتم تحميله، سيطبع garak شريط تقدم أثناء التوليد. بمجرد اكتمال التوليد، يُعرض صف يقيّم نتائج ذلك الفحص على كل كاشف (detector). إذا أسفر أي من محاولات المطالبة (prompt) عن سلوك غير مرغوب فيه، فسيتم وضع علامة FAIL على الاستجابة، مع ذكر معدل الفشل.

فيما يلي النتائج مع وحدة encoding على أحد إصدارات GPT-3: alt text

والنتائج نفسها مع ChatGPT: alt text

يمكننا أن نرى أن النموذج الأحدث أكثر عرضة بكثير لهجمات الحقن القائمة على الترميز، حيث وُجد أن text-babbage-001 عرضة فقط لحقن ترميز quoted-printable وMIME. تشير الأرقام في نهاية كل صف، مثل 840/840، إلى العدد الإجمالي لتوليدات النص ثم إلى عدد هذه التوليدات التي بدت تتصرف بشكل مقبول. قد يكون الرقم مرتفعًا جدًا لأن أكثر من توليد واحد يتم إجراؤه لكل مطالبة - افتراضيًا، 10.

تُسجَّل الأخطاء في garak.log؛ وتُسجَّل عملية التشغيل بالتفصيل في ملف .jsonl يُحدَّد عند بداية التحليل ونهايته. هناك سكربت تحليل أساسي في analyse/analyse_log.py سيُخرج الفحوصات والمطالبات التي أدت إلى أكبر عدد من الإصابات.

أرسل طلبات السحب (PRs) وافتح المشكلات (issues). حظًا موفقًا في الصيد!

مقدمة إلى المولّدات (generators)

Hugging Face

استخدام واجهة Pipeline API:

  • --target_type huggingface (لنماذج transformers التي تعمل محليًا)
  • --target_name - استخدم اسم النموذج من Hub. لن تعمل إلا النماذج التوليدية. إذا فشل ولم يكن ينبغي أن يفشل، فيرجى فتح مشكلة ولصق الأمر الذي جربته مع الاستثناء!

استخدام واجهة Inference API:

  • --target_type huggingface.InferenceAPI (للوصول إلى النماذج عبر API)
  • --target_name - اسم النموذج من Hub، مثل "mosaicml/mpt-7b-instruct"

استخدام نقاط النهاية الخاصة:

  • --target_type huggingface.InferenceEndpoint (لنقاط النهاية الخاصة)

  • --target_name - عنوان URL لنقطة النهاية، مثل https://xxx.us-east-1.aws.endpoints.huggingface.cloud

  • (اختياري) عيّن متغير البيئة HF_INFERENCE_TOKEN إلى رمز Hugging Face API بدور "read"؛ راجع https://huggingface.co/settings/tokens عند تسجيل الدخول

OpenAI

تنزيل الأداة