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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cleverhans — مكتبة أمثلة خصومية لبناء الهجمات، وبناء الدفاعات، وتقييم أداء كليهما. | Kitploit
أدوات/GitHubGitHub/cleverhans-lab/cleverhans
أدوات دفاعيةتحليل الثغرات الأمنيةتعلم الآلةأمن الذكاء الاصطناعيالهجوم العدائي
GitHubcleverhans-lab/cleverhans

cleverhans

مكتبة أمثلة خصومية لبناء الهجمات، وبناء الدفاعات، وتقييم أداء كليهما.

عرض المستودع
6.4k1.4kمنذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CleverHans (أحدث إصدار: v4.0.0)

cleverhans logo

يحتوي هذا المستودع على الكود المصدري لـ CleverHans، وهي مكتبة بايثون لوضع معايير لقياس قابلية أنظمة التعلم الآلي للاختراق عبر الأمثلة الخصومية. يمكنك معرفة المزيد حول هذه الثغرات على المدونة المصاحبة.

مكتبة CleverHans قيد التطوير المستمر، وترحب دائمًا بالمساهمات التي تتضمن أحدث الهجمات والدفاعات. على وجه الخصوص، نرحب دائمًا بالمساعدة في حل المشكلات المفتوحة حاليًا.

منذ الإصدار v4.0.0، تدعم CleverHans ثلاثة أطر عمل: JAX وPyTorch وTF2. ونعطي حاليًا الأولوية لتنفيذ الهجمات في PyTorch، لكننا نرحب كثيرًا بالمساهمات لجميع الأطر الثلاثة. في الإصدارات v3.1.0 وما قبلها، كانت CleverHans تدعم TF1؛ يمكن العثور على كود v3.1.0 في مجلد cleverhans_v3.1.0/ أو عن طريق التحقق من إصدار سابق على GitHub.

تركّز المكتبة على توفير تنفيذ مرجعي للهجمات ضد نماذج التعلم الآلي للمساعدة في قياس أداء النماذج مقابل الأمثلة الخصومية.

هيكل الدليل كما يلي: يحتوي cleverhans/ على تطبيقات الهجمات، وtutorials/ على نصوص برمجية توضح ميزات CleverHans، وdefenses/ على تطبيقات الدفاعات. لكل إطار عمل دليله الفرعي الخاص داخل هذه المجلدات، على سبيل المثال: cleverhans/jax.

إعداد CleverHans

التبعيات

تستخدم هذه المكتبة Jax أو PyTorch أو TensorFlow 2 لتسريع العمليات الحسابية للرسوم البيانية التي تنفذها العديد من نماذج التعلم الآلي. لذلك، يعد تثبيت إحدى هذه المكتبات شرطًا أساسيًا.

التثبيت

بمجرد التعامل مع التبعيات، يمكنك تثبيت CleverHans باستخدام pip أو عن طريق استنساخ مستودع GitHub هذا.

التثبيت عبر pip

إذا كنت تثبّت CleverHans باستخدام pip، فشغّل الأمر التالي:

root@kitploit:~
pip install cleverhans

سيؤدي هذا إلى تثبيت آخر إصدار تم رفعه إلى Pypi. إذا كنت تفضل بدلاً من ذلك تثبيت النسخة المتطورة، فاستخدم:

root@kitploit:~
pip install git+https://github.com/cleverhans-lab/cleverhans.git#egg=cleverhans

التثبيت للتطوير

إذا كنت تريد إجراء تثبيت قابل للتعديل (editable) لـ CleverHans بحيث يمكنك تطوير المكتبة وإعادة المساهمات، فقم أولاً بعمل fork للمستودع على GitHub ثم استنسخ fork الخاص بك إلى دليل من اختيارك:

root@kitploit:~
git clone https://github.com/<your-org>/cleverhans

يمكنك بعد ذلك تثبيت الحزمة المحلية في وضع "editable" لإضافتها إلى PYTHONPATH:

root@kitploit:~
cd cleverhans
pip install -e .

الإعدادات المدعومة حاليًا

على الرغم من أن CleverHans من المرجح أن يعمل على العديد من تكوينات الأجهزة الأخرى، فإننا نختبرها حاليًا مع Python 3.6 وJax 0.2 وPyTorch 1.7 وTensorflow 2.4 على Ubuntu 18.04 LTS (Bionic Beaver).

الحصول على الدعم

إذا كان لديك طلب دعم، فيرجى طرح سؤال على StackOverflow بدلاً من فتح مشكلة في متتبع GitHub. يجب استخدام متتبع مشكلات GitHub فقط للإبلاغ عن الأخطاء أو تقديم طلبات ميزات.

المساهمة

المساهمات مرحب بها! لتسريع عملية مراجعة الكود، نطلب:

  • تنسيق الجهود والميزات الجديدة على لوحة المناقشة.
  • عند تقديم مساهمات برمجية إلى CleverHans، يجب اتباع Black أسلوب الترميز في طلبات السحب الخاصة بك.
  • نحن لا نقبل طلبات السحب التي تضيف وحدات فرعية (git submodules) بسبب المشكلات التي تنشأ عند صيانة الوحدات الفرعية.

يمكن بدء إصلاحات الأخطاء من خلال طلبات السحب على GitHub.

الدروس التعليمية: مجلد tutorials

لمساعدتك على البدء مع الوظائف التي توفرها هذه المكتبة، يأتي مجلد tutorials/ مع الدروس التعليمية التالية:

  • MNIST مع FGSM وPGD (jax، tf2: يغطي هذا الدرس كيفية تدريب نموذج MNIST وصياغة أمثلة خصومية باستخدام طريقة الإشارة السريعة للتدرج و هبوط التدرج الإسقاطي.
  • CIFAR10 مع FGSM وPGD (pytorch، tf2): يغطي هذا الدرس كيفية تدريب نموذج CIFAR10 و صياغة أمثلة خصومية باستخدام طريقة الإشارة السريعة للتدرج و هبوط التدرج الإسقاطي.

ملاحظة: يتم صيانة الدروس التعليمية بعناية، بمعنى أننا نستخدم التكامل المستمر للتأكد من استمرار عملها. لا تعتبر جزءًا من API ويمكن أن تتغير في أي وقت دون سابق إنذار. يجب ألا تكتب كودًا من جهات خارجية يستورد الدروس التعليمية وتتوقع بعدم تعطل الواجهة. فقط المكتبة الرئيسية تخضع لقاعدة التحذير الخاصة بإهمال الواجهة لمدة ستة أشهر.

ملاحظة: يرجى بدء موضوع على لوحة المناقشة قبل كتابة درس تعليمي جديد. نظرًا لأن كل درس تعليمي جديد يتضمن قدرًا كبيرًا من الكود المكرر مقارنة بالدروس الحالية، ولأن كل سطر من الكود يتطلب اختبارًا وصيانة مستمرة إلى أجل غير مسمى، فإننا نفضل عمومًا عدم إضافة دروس تعليمية جديدة. يجب أن يعرض كل درس تعليمي طريقة مختلفة تمامًا لاستخدام المكتبة. مجرد استدعاء هجوم أو نموذج أو مجموعة بيانات مختلفة ليس كافيًا لتبرير صيانة درس تعليمي موازٍ.

أمثلة : مجلد examples

يحتوي مجلد examples/ على نصوص برمجية إضافية لعرض استخدامات مختلفة لمكتبة CleverHans أو لمساعدتك على البدء في المنافسة في مسابقات الأمثلة الخصومية المختلفة. نحن لا نقدم نفس القدر من الصيانة أو الدعم المستمر لهذا المجلد مقارنة ببقية المكتبة، وإذا تعطل الكود الموجود هنا فقد نقوم بحذفه دون سابق إنذار.

نظرًا لأننا أوقفنا مؤخرًا دعم TF1، فإن مجلد examples/ فارغ حاليًا، لكننا نرحب بتقديم استخداماتك عبر طلب سحب :)

يمكن العثور على الأمثلة القديمة لـ CleverHans v3.1.0 والإصدارات السابقة في cleverhans_v3.1.0/examples/.

الإبلاغ عن المعايير

عند الإبلاغ عن المعايير، يرجى:

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

على سبيل المثال، يمكنك الإبلاغ: "قمنا بقياس متانة طريقتنا ضد الهجوم الخصومي باستخدام الإصدار 4.0.0 من CleverHans. على مجموعة اختبار معدّلة بواسطة FastGradientMethod بمعيار أقصى (max-norm) eps يساوي 0.3، حصلنا على دقة مجموعة اختبار بلغت 71.3%."

الاستشهاد بهذا العمل

إذا كنت تستخدم CleverHans للبحث الأكاديمي، فنحن نشجعك بشدة (وإن لم يكن إلزاميًا) على الاستشهاد بهذه الورقة:

root@kitploit:~
@article{papernot2018cleverhans,
  title={Technical Report on the CleverHans v2.1.0 Adversarial Examples Library},
  author={Nicolas Papernot and Fartash Faghri and Nicholas Carlini and
  Ian Goodfellow and Reuben Feinman and Alexey Kurakin and Cihang Xie and
  Yash Sharma and Tom Brown and Aurko Roy and Alexander Matyasko and
  Vahid Behzadan and Karen Hambardzumyan and Zhishuai Zhang and
  Yi-Lin Juang and Zhi Li and Ryan Sheatsley and Abhibhav Garg and
  Jonathan Uesato and Willi Gierke and Yinpeng Dong and David Berthelot and
  Paul Hendricks and Jonas Rauber and Rujun Long},
  journal={arXiv preprint arXiv:1610.00768},
  year={2018}
}

عن الاسم

اسم CleverHans هو إشارة إلى عرض تقديمي من قبل بوب ستورم بعنوان “Clever Hans, Clever Algorithms: Are Your Machine Learnings Learning What You Think?" والمنشور المقابل، "A Simple Method to Determine if a Music Information Retrieval System is a 'Horse'." كان كليفر هانز حصانًا بدا أنه تعلّم الإجابة على أسئلة حسابية، لكنه في الواقع لم يتعلم سوى قراءة الإشارات الاجتماعية التي مكّنته من إعطاء الإجابة الصحيحة. في البيئات المضبوطة حيث لم يتمكن من رؤية وجوه الناس أو تلقي أي ملاحظات أخرى، كان عاجزًا عن الإجابة على نفس الأسئلة. قصة كليفر هانز هي استعارة لأنظمة التعلم الآلي التي قد تحقق دقة عالية جدًا على مجموعة اختبار مأخوذة من نفس توزيع بيانات التدريب، لكنها لا تفهم المهمة الأساسية فعليًا وتؤدي بشكل سيئ على المدخلات الأخرى.

المؤلفون

تتم صيانة هذه المكتبة بشكل جماعي من قبل مختبر CleverHans في جامعة تورنتو. نقطة الاتصال الحالية هي جوناس جوان. كانت تُصان سابقًا من قبل إيان جودفيلو ونيكولاس بابيرنوت.

ساهم المؤلفون التاليون بـ 100 سطر أو أكثر (مرتبون وفقًا لصفحة المساهمين على GitHub):

  • Ian Goodfellow (Google Brain)
  • Nicolas Papernot (Google Brain)
  • Nicholas Carlini (Google Brain)
  • Fartash Faghri (University of Toronto)
  • Tzu-Wei Sung (National Taiwan University)
  • Alexey Kurakin (Google Brain)
  • Reuben Feinman (New York University)
  • Shiyu Duan (University of Florida)
  • Phani Krishna (Video Analytics Lab)
  • David Berthelot (Google Brain)
  • Tom Brown (Google Brain)
  • Cihang Xie (Johns Hopkins)
  • Yash Sharma (The Cooper Union)
  • Aashish Kumar (HARMAN X)
  • Aurko Roy (Google Brain)
  • Alexander Matyasko (Nanyang Technological University)
  • Anshuman Suri (University of Virginia)
  • Yen-Chen Lin (MIT)
  • Vahid Behzadan (Kansas State)
  • Jonathan Uesato (DeepMind)
  • Florian Tramèr (Stanford University)
  • Haojie Yuan (University of Science & Technology of China)
  • Zhishuai Zhang (Johns Hopkins)
  • Karen Hambardzumyan (YerevaNN)
  • Jianbo Chen (UC Berkeley)
  • Catherine Olsson (Google Brain)
  • Aidan Gomez (University of Oxford)
  • Zhi Li (University of Toronto)
  • Yi-Lin Juang (NTUEE)
  • Pratyush Sahay (formerly HARMAN X)
  • Abhibhav Garg (IIT Delhi)
  • Aditi Raghunathan (Stanford University)
  • Yang Song (Stanford University)
  • Riccardo Volpi (Italian Institute of Technology)
  • Angus Galloway (University of Guelph)
  • Yinpeng Dong (Tsinghua University)
  • Willi Gierke (Hasso Plattner Institute)
  • Bruno López
  • Jonas Rauber (IMPRS)
  • Paul Hendricks (NVIDIA)
  • Ryan Sheatsley (Pennsylvania State University)
  • Rujun Long (0101.AI)
  • Bogdan Kulynych (EPFL)
  • Erfan Noury (UMBC)
  • Robert Wagner (Case Western Reserve University)
  • Erh-Chung Chen (National Tsing Hua University)
  • Joel Frank (Ruhr-University Bochum)

حقوق النشر

حقوق النشر 2021 - Google Inc.، OpenAI، جامعة ولاية بنسلفانيا، جامعة تورنتو.

تنزيل الأداة