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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pgm-attack — كود بحثي حول هجمات التسميم على PGM-index، يوضح كيفية صياغة بيانات خصومة لتدهور أداء الفهارس المُتعلَّمة. | Kitploit
أدوات/GitHubGitHub/atsukisato/pgm-attack
تعلم الآلةالأوراق والأبحاثأمن الذكاء الاصطناعيالهجوم العدائي
GitHubatsukisato/pgm-attack

pgm-attack

كود بحثي حول هجمات التسميم على PGM-index، يوضح كيفية صياغة بيانات خصومة لتدهور أداء الفهارس المُتعلَّمة.

عرض المستودع
171منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

PGM-attack

نظرة عامة

الشيفرة الرسمية لورقتنا البحثية، Poisoning Attacks on the PGM-index.

البدء السريع

1. استنساخ المستودع والوحدات الفرعية

git clone https://github.com/atsukisato/pgm-attack.git
cd pgm-attack
git submodule update --init --recursive

2. البناء

./scripts/build.sh

يتطلب CMake (انظر قسم الاعتماديات). تُكتب المخرجات تحت build/ (الملفات التنفيذية في build/bin افتراضيًا).

3. التنزيل والمعالجة المسبقة والبيانات الاصطناعية

./scripts/download_alex_dataset.sh       # ALEX
./scripts/download_mgbench.sh            # mgbench
./scripts/download_sosd_datasets.sh      # SOSD
./scripts/preprocess_alex_dataset.sh     # ALEX
./scripts/preprocess_mgbench.sh          # mgbench
./scripts/generate_synthetic_dataset.sh  # synthetic

4. التجارب

يأخذ كل تشغيل ملف إعداد JSON واحدًا عبر ./scripts/run_experiment.sh <config.json>. أمثلة:

4.1 تعظيم الخطأ الأقصى (مثلًا n=16، الطريقة المتتالية)

./scripts/run_experiment.sh "configs/experiments/poison_attack/maximize_maxerror_consec/baseline_n16.json"

4.2 تقليل المفاتيح المشروعة المغطاة (مثلًا epsilon=2، الطريقة المتتالية)

./scripts/run_experiment.sh "configs/experiments/poison_attack/minimize_segment_length/baseline_epsilon2.json"

4.3 تعظيم m_opt (مثال PGM-index)

./scripts/run_experiment.sh "configs/experiments/poison_attack/inject_poisons_to_minimize_segment_length_swing_lambda_with_theta/baseline.json"

4.4 الحد الأعلى لـ m_opt (مثال يعتمد على الحالة)

./scripts/run_experiment.sh "configs/experiments/upper_bound/fix_w_per_block/baseline.json"

4.5 تشغيل جميع التجارب (دفعة واحدة)

يشغّل القائمة الكاملة لإعدادات التجارب في scripts/run_all_experiment.sh (عدّل ذلك الملف لتغيير المجموعة).

./scripts/run_all_experiment.sh

5. الرسوم البيانية والجداول

من جذر المستودع:

./scripts/plot.sh
./scripts/print_table.sh

تُكتب الأشكال والسجلات تحت fig/. ثبّت اعتماديات Python أولًا: pip install -r requirements.txt.

الاعتماديات

  • سلسلة أدوات C++: g++ وmake وCMake (يهيّئ سكربت البناء باستخدام CMake ويبني عبر cmake --build، الذي يستدعي Make عادةً).
  • Python 3 مع الحزم الموجودة في requirements.txt (سكربتات الرسم البياني / الجداول).
  • jq — مطلوب بواسطة ./scripts/run_experiment.sh لتحليل JSON الخاص بالتجارب.

بنية المشروع

المسارالدور
src/مصادر C++ (الهجمات، معايير PGM، الأدوات، الحدود العليا).
configs/experiments/إعدادات JSON للتجارب (مسارات تحت poison_attack/ وupper_bound/ وغيرها).
scripts/البناء، البيانات، run_experiment.sh، run_all_experiment.sh، plot.sh، print_table.sh.
third_party/وحدات Git الفرعية (PGM-index، FITing-Tree، RadixSpline).
data/، results/، fig/البيانات، ومخرجات التشغيل، والأشكال المولّدة / سجلات الجداول.
plot/سكربتات Python للرسم البياني وطباعة الجداول.

Docker

ابنِ الصورة مرة واحدة:

./docker_build.sh
  • docker_run.sh — حاوية تفاعلية: تُركّب المستودع عند /workspace، وتخصص 8 وحدات معالجة مركزية (0–7)، وتنقلك إلى bash لتتمكن من بناء وتشغيل الأوامر يدويًا.
  • docker_run_all.sh — تشغيل منفصل: ينفّذ ./scripts/run_all_experiment.sh داخل الحاوية (8 وحدات معالجة مركزية) ويكتب المخرجات القياسية إلى results/run_all.log.
  • docker_run_all_single_cpu.sh — مثل docker_run_all.sh لكن بوحدة معالجة مركزية واحدة وOMP_NUM_THREADS=1 للتشغيلات أحادية الخيط.

تستخدم الثلاثة جميعًا الصورة pgm_poisoning:latest ونفس إعدادات القدرات / وحدات التخزين كما في السكربتات.

تنزيل الأداة