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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ODPure — دفاع تنقية المرحلة المدخلة بالصندوق الأسود الذي يحيد هجمات الباب الخلفي على كاشفات الأجسام عبر التلف والتشويش وإعادة البناء بالانتشار والتصويت بالتوافق DBSCAN. | Kitploit
أدوات/GitHubGitHub/alex66366/odpure
أدوات دفاعيةالتحليل الديناميكي (عزل)تحليل الثغرات الأمنيةتعلم الآلةالأوراق والأبحاثأمن الذكاء الاصطناعيالهجوم العدائي
GitHubalex66366/odpure

ODPure

دفاع تنقية المرحلة المدخلة بالصندوق الأسود الذي يحيد هجمات الباب الخلفي على كاشفات الأجسام عبر التلف والتشويش وإعادة البناء بالانتشار والتصويت بالتوافق DBSCAN.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ODPure: تنقية الباب الخلفي للكشف عن الأجسام عبر توافق الإفساد الجماعي

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

License: MIT

📖 نظرة عامة

ODPure هو أول إطار عمل لتنقية من نوع الصندوق الأسود في مرحلة الإدخال، مصمم خصيصًا للدفاع عن كواشف الأجسام ضد هجمات الباب الخلفي. وهو يفعّل نموذجًا جديدًا للإفساد-إعادة البناء-الاختيار (CRS) يقوم بما يلي:

  1. إفساد صور الإدخال باضطرابات متنوعة لتعطيل أنماط المحفزات
  2. إعادة بناء الميزات الهيكلية الدقيقة باستخدام مسبقات الانتشار التوليدية
  3. اختيار الكشوفات عالية الثقة عبر التصويت المكاني بالتوافق

يقوم ODPure بتحييد هجمات الباب الخلفي المتنوعة بفعالية (خفض معدل نجاح الهجوم إلى أدنى مستوى يصل إلى 0.0%) مع الحفاظ على فائدة الكشف النظيف، محققًا مقايضات دفاع-فائدة متفوقة على الدفاعات الحالية.

🔑 الميزات الرئيسية

  • دفاع الصندوق الأسود: لا حاجة للوصول إلى البنية الداخلية للنموذج أو التدرجات أو المعماريات
  • مستقل عن النموذج: يعمل مع أي كاشف أجسام (YOLO، Faster R-CNN، إلخ)
  • دفاع متعدد الهجمات: يتعامل مع أنواع الهجمات OMA وODA وOGA
  • بدون تدريب مسبق: لا حاجة لمعرفة مسبقة بأنماط المحفزات
  • إدراك مستمر: يحافظ على استمرارية التدفق التشغيلي دون التخلص من البيانات

📋 المتطلبات

متطلبات النظام

  • Python 3.8+
  • CUDA 11.7+ (لتسريع GPU)
  • يُوصى بذاكرة GPU بسعة 16GB+

تبعيات Python

root@kitploit:~
# Core dependencies
torch>=1.13.0
torchvision>=0.14.0
numpy>=1.21.0
Pillow>=9.0.0
opencv-python>=4.5.0

# Diffusion models
diffusers>=0.14.0
transformers>=4.25.0
accelerate>=0.20.0

# Evaluation
scikit-learn>=1.2.0  # For DBSCAN clustering
scipy>=1.9.0

# Data processing
pyyaml>=6.0
tqdm>=4.64.0

إعداد بيئة Conda (موصى به)

root@kitploit:~
# Create conda environment
conda create -n odpure python=3.9 -y
conda activate odpure

# Install PyTorch with CUDA
conda install pytorch torchvision pytorch-cuda=11.7 -c pytorch -c nvidia

# Install other dependencies
pip install -r requirements.txt

📦 تنزيل الأوزان المدربة مسبقًا

قبل تشغيل وحدة إعادة البناء، تحتاج إلى تنزيل أوزان النموذج المدربة مسبقًا:

الأوزان المطلوبة

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

  1. أنشئ دليل الأوزان:
root@kitploit:~
mkdir -p Method/Reconstruction/weights
  1. نزّل الأوزان وضعها وفقًا للتعليمات الموجودة في مستودعات النماذج المعنية.

  2. حدّث ملفات الإعداد في Method/Reconstruction/configs/ لتشير إلى الأوزان التي نزّلتها.

🏗️ هيكل المشروع

root@kitploit:~
ODPure/
├── attack_script/              # Backdoor attack implementations
│   ├── COCO_chessboard_29x29_OMA.py     # Object Misclassification (Chessboard)
│   ├── COCO_chessboard_29x29_ODA.py     # Object Disappearance Attack (Chessboard)
│   ├── COCO_chessboard_9x9_OGA.py      # Object Generation Attack (Chessboard)
│   ├── COCO_poke_15x15_OMA.py          # OMA (Poké Ball)
│   ├── COCO_poke_15x15_ODA.py          # ODA (Poké Ball)
│   ├── COCO_poke_15x15_OGA.py          # OGA (Poké Ball)
│   ├── COCO_white_15x15_OMA.py         # OMA (Solid White)
│   ├── COCO_white_15x15_ODA.py         # ODA (Solid White)
│   └── COCO_white_15x15_OGA.py         # OGA (Solid White)
│
├── Method/                     # Core defense methodology
│   ├── corruptions/           # Image corruption module
│   │   ├── imagecorruption.py # Corruption functions
│   │   └── multiprocess_imagecorruption.py  # Parallel processing
│   │
│   ├── Reconstruction/         # Diffusion-based restoration
│   │   ├── inference.py       # Main inference script
│   │   ├── diffbir/           # DiffBIR model implementation
│   │   ├── llava/             # LLaVA captioner
│   │   ├── ram/               # Recognition-Aware Model
│   │   ├── configs/           # Model configurations
│   │   └── weights/           # Model weights (download separately)
│   │
│   └── dbscan_vote_new.py     # DBSCAN clustering & voting
│
├── evaluation/                 # Evaluation metrics
│   ├── OMA_ASR_new.py         # OMA Attack Success Rate
│   ├── OMA_mAP.py             # OMA Mean Average Precision
│   ├── ODA_ASR_new.py         # ODA Attack Success Rate
│   ├── ODA_mAP.py             # ODA Mean Average Precision
│   ├── OGA_ASR_new.py         # OGA Attack Success Rate
│   ├── OGA_mAP.py             # OGA Mean Average Precision
│   ├── val_OMA.py             # YOLO validation for OMA
│   ├── val_ODA.py             # YOLO validation for ODA
│   └── val_OGA.py             # YOLO validation for OGA
│
├── data_format_conversion/    # Data format utilities
│   ├── voc2yolo.py            # VOC to YOLO format conversion
│   ├── cocotoyolo.py          # COCO to YOLO format conversion
│   └── select_coco_val_attack_information.py
│
├── ablation_study/            # Ablation experiments
│   ├── multiprocess_imagecorruption.py
│   ├── random_select_corruption.py
│   └── select_specific_corruption.py
│
├── run_pipeline.sh            # One-shot CRS pipeline runner
└── README.md                 # This file

🚀 البدء السريع

الخيار أ: خط أنابيب شامل من البداية إلى النهاية (موصى به)

نقطة الدخول الموصى بها هي run_pipeline.sh، الذي يربط مراحل CRS الثلاث بشكل متتالٍ:

root@kitploit:~
# Defaults: GPU=0, INPUT=inputs/demo/bid, OUTPUT=results/v2.1_demo_bid, ATTACK=ODA
bash run_pipeline.sh

# Custom arguments: GPU_ID INPUT_DIR OUTPUT_DIR ATTACK
bash run_pipeline.sh 0 inputs/coco_oda results/oda ODA
bash run_pipeline.sh 1 inputs/coco_oma results/oma OMA
bash run_pipeline.sh 2 inputs/coco_oga results/oga OGA

يقوم السكربت بما يلي:

  1. المرحلة 1 (الإفساد) – يولّد 45 نسخة مفسدة
  2. المرحلة 2 (إعادة البناء) – DiffBIR v2.1 مع LLaVA captioner
  3. المرحلة 3 (الاختيار) – التصويت المكاني بالتوافق DBSCAN

تُكتب الكشوفات النهائية المنقّاة إلى <OUTPUT_DIR>/final/.

الخيار ب: تشغيل كل مرحلة يدويًا

استخدم هذا إذا كنت تريد فحص / استبدال الخطوات الوسيطة.

المرحلة 1: الإفساد

root@kitploit:~
python Method/corruptions/multiprocess_imagecorruption.py \
    --input_dir /path/to/input/images \
    --output_dir /path/to/corrupted/images \
    --num_corruptions 45 \
    --num_workers 8

المرحلة 2: إعادة البناء

root@kitploit:~
python Method/Reconstruction/inference.py \
    --task denoise \
    --upscale 2 \
    --version v2.1 \
    --captioner llava \
    --cfg_scale 6 \
    --noise_aug 1 \
    --input /path/to/corrupted/images \
    --output /path/to/restored/images \
    --batch_size 32 \
    --device cuda

المرحلة 3: الاختيار (تصويت DBSCAN)

root@kitploit:~
python Method/dbscan_vote_new.py \
    --folder_purs /path/to/restored/detections \
    --temp /path/to/temp \
    --output_path /path/to/final/detections \
    --eps 0.5 \
    --min_samples 10

📊 التقييم

الخطوة 1: تفعيل البيئة

root@kitploit:~
conda activate odpure

الخطوة 2: تشغيل الكاشف على ثلاثة تقسيمات

root@kitploit:~
# Run on poisoned inputs (before defense)
python evaluation/val_ODA.py \
    --weights runs/train/exp/weights/last.pt \
    --data data/ODA_poison.yaml \
    --img 640 --iou-thres 0.65 --conf-thres 0.5 \
    --save-txt --save-conf \
    --project results/poisoned_val_txt

# Run on clean inputs
python evaluation/val_ODA.py \
    --weights runs/train/exp/weights/last.pt \
    --data data/ODA_clean.yaml \
    --img 640 --iou-thres 0.65 --conf-thres 0.5 \
    --save-txt --save-conf \
    --project results/clean_val_txt

# Run on purified inputs (after defense via ODPure)
python evaluation/val_ODA.py \
    --weights runs/train/exp/weights/last.pt \
    --data data/ODA_purified.yaml \
    --img 640 --iou-thres 0.65 --conf-thres 0.5 \
    --save-txt --save-conf \
    --project results/pur_val_txt

الخطوة 3: حساب ASR / mAP

OMA (هجوم التصنيف الخاطئ للأجسام)

root@kitploit:~
python evaluation/OMA_ASR_new.py

قم بتهيئة المسارات داخل السكربت:

root@kitploit:~
gt_folder      = "/path/to/ground_truth"
benign_folder  = "/path/to/clean_val_txt"
attack_folder  = "/path/to/pur_val_txt"
target_class   = "0"      # person class

ODA (هجوم اختفاء الأجسام)

root@kitploit:~
python evaluation/ODA_ASR_new.py

OGA (هجوم توليد الأجسام)

root@kitploit:~
python evaluation/OGA_ASR_new.py

حساب mAP

root@kitploit:~
python evaluation/ODA_mAP.py
python evaluation/OGA_mAP.py
python evaluation/OMA_mAP.py

🛡️ إعدادات الدفاع

إعدادات ODPure الافتراضية

أنواع الإفساد

يستخدم ODPure 15 دالة إفساد متنوعة عبر 4 فئات:

  • الضوضاء: Gaussian، Shot، Impulse
  • التمويه: Gaussian، Glass، Motion، Zoom، Defocus
  • الطقس: Snow، Frost، Fog، Brightness
  • الرقمي: JPEG compression، Pixelate، Elastic transform

🔧 الاستخدام المتقدم

إفسادات مخصصة

root@kitploit:~
from Method.corruptions.imagecorruption import *

# Apply specific corruption
corrupted_img = gaussian_noise(image, severity=2)
corrupted_img = glass_blur(image, severity=1)
corrupted_img = jpeg_compression(image, severity=3)

المعالجة متعددة GPU

root@kitploit:~
# Process on specific GPU
CUDA_VISIBLE_DEVICES=0 python Method/Reconstruction/inference.py \
    --task denoise --input inputs/demo --output results/demo

# Batch processing with multiple GPUs
CUDA_VISIBLE_DEVICES=0,1,2,3 python Method/Reconstruction/inference.py \
    --task denoise --batch_size 64 --input inputs/batch --output results/batch

التكامل مع YOLOv5

root@kitploit:~
# Train backdoored model
CUDA_VISIBLE_DEVICES="0,1" python train.py \
    --data data/custom.yaml \
    --epochs 200 \
    --weights checkpoints/yolov5s.pt \
    --img 640 \
    --batch-size 128

# Evaluate with defense
python evaluation/val_ODA.py \
    --weights runs/train/exp/weights/last.pt \
    --data data/val.yaml \
    --img 640 \
    --iou-thres 0.65 \
    --conf-thres 0.5 \
    --save-txt --save-conf

📈 النتائج التجريبية

أداء الدفاع على VOC وCOCO (محفز رقعة الشطرنج)

المتانة ضد الهجمات التكيفية

🔬 نموذج التهديد

قدرة المهاجم

  • يزرع الباب الخلفي عبر تسميم البيانات أثناء التدريب
  • يتلاعب بالكواشف لإظهار سلوكيات خبيثة (OMA، ODA، OGA)
  • يحافظ على تنبؤات طبيعية على المدخلات النظيفة

قيود المدافع

  • مستقل عن الهجوم: لا معرفة مسبقة بأنماط المحفزات
  • صندوق أسود صارم: فقط استعلام المدخلات ومراقبة المخرجات
  • لا بيانات تدريب: التنقية على مدخلات وقت الاستدلال فقط

أهداف الدفاع

  • الأمان: تخفيف تنشيط الباب الخلفي (ASR منخفض)
  • الدقة: الحفاظ على mAP عالٍ على المدخلات النظيفة والمنقّاة

أنواع الهجمات

Attack TypeDescriptionBehavior

📚 الاستشهاد

إذا وجدت هذا العمل مفيدًا في بحثك، يرجى الاستشهاد به:

root@kitploit:~
@article{odpure2026,
  title={ODPure: Backdoor Purification for Object Detection via Ensemble Corruption Consensus},
  author={},
  journal={},
  year={2026}
}

📝 الترخيص

هذا المشروع مرخّص بموجب ترخيص MIT - راجع ملف LICENSE للحصول على التفاصيل.

🤝 شكر وتقدير

  • DiffBIR - Diffusion-based Image Restoration
  • LLaVA - Large Language and Vision Assistant
  • YOLOv5 - Object Detection Framework
  • CLIP - Contrastive Language-Image Pretraining

📧 التواصل

للأسئلة أو التعاون، يرجى فتح issue على GitHub.


ODPure - حماية أنظمة الكشف عن الأجسام من هجمات الباب الخلفي مع الحفاظ على الإدراك المستمر.

تنزيل الأداة
ModelDescriptionDownload
DiffBIR v2.1Main restoration modelHuggingFace
Stable DiffusionLatent diffusion priorsHuggingFace
LLaVAVision-language captionerHuggingFace
RAMRecognition-Aware ModelGitHub Release
ParameterValueDescription
num_corruptions15 types × 3 severities = 45 variantsCorruption diversity
corruption_severity1, 2, 3Corruption intensity levels
DBSCAN eps0.5Clustering radius
DBSCAN min_samples10Consensus threshold
cfg_scale6.0Classifier-free guidance
noise_aug1Noise augmentation level
AttackDataset (Model)Clean mAPBefore Defense (mAP/ASR)After Defense (mAP/ASR)
OMAVOC (YOLO)76.4%8.2% / 87.7%80.5% / 2.0%
OMAVOC (F-RCNN)79.3%44.9% / 94.6%78.1% / 17.4%
OMACOCO (YOLO)52.8%0.4% / 94.6%52.0% / 1.5%
OMACOCO (F-RCNN)49.7%6.3% / 91.9%47.0% / 16.3%
ODAVOC (YOLO)72.0%71.6% / 96.5%76.7% / 20.8%
ODAVOC (F-RCNN)77.6%76.4% / 69.3%75.4% / 18.9%
ODACOCO (YOLO)54.0%52.4% / 99.9%54.1% / 25.4%
ODACOCO (F-RCNN)50.9%50.3% / 81.7%51.4% / 28.0%
OGAVOC (YOLO)80.4%78.0% / 65.1%82.2% / 0.0%
OGAVOC (F-RCNN)83.2%81.2% / 98.4%80.9% / 0.0%
OGACOCO (YOLO)53.0%52.8% / 99.8%54.4% / 0.0%
OGACOCO (F-RCNN)48.9%49.1% / 95.4%49.5% / 0.0%
TriggerAttackClean mAPBefore ASRAfter ASR
Poké BallOMA77.3%95.5%19.8%
Poké BallODA75.3%98.5%35.1%
Poké BallOGA79.8%96.8%15.4%
Solid WhiteOMA75.5%82.0%52.9%
Solid WhiteODA71.8%71.1%44.0%
Solid WhiteOGA80.2%73.7%37.0%
OMA
Object Misclassification Attack
Forces target objects to be misclassified
ODAObject Disappearance AttackCauses target objects to vanish from detection
OGAObject Generation AttackInduces hallucinated ghost objects