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

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

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

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

دليل الأدوات

الفئات

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

pgm-attack

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

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

الأكثر شعبية

عرض الكل →

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

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

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

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

هجوم PGM

نظرة عامة

الكود الرسمي لبحثنا، هجمات التسميم على فهرس PGM.

بدء سريع

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

root@kitploit:~
git clone [REPOSITORY LINK]
cd pgm-index-poisoning
git submodule update --init --recursive

2. البناء

root@kitploit:~
./scripts/build.sh

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

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

root@kitploit:~
./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، طريقة متتالية)

root@kitploit:~
./scripts/run_experiment.sh "configs/experiments/poison_attack/maximize_maxerror_consec/baseline_n16.json"

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

root@kitploit:~
./scripts/run_experiment.sh "configs/experiments/poison_attack/minimize_segment_length/baseline_epsilon2.json"

4.3 تعظيم m_opt (مثال فهرس PGM)

root@kitploit:~
./scripts/run_experiment.sh "configs/experiments/poison_attack/inject_poisons_to_minimize_segment_length_swing_lambda_with_theta/baseline.json"

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

root@kitploit:~
./scripts/run_experiment.sh "configs/experiments/upper_bound/fix_w_per_block/baseline.json"

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

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

root@kitploit:~
./scripts/run_all_experiment.sh

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

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

root@kitploit:~
./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 التجريبي.

هيكل المشروع

Docker

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

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

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

تنزيل الأداة
المسارالدور
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.