Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pgm-attack — Code de recherche pour les attaques par empoisonnement sur le PGM-index, démontrant comment concevoir des données adverses afin de dégrader les performances de l'index appris. | Kitploit
Outils/GitHubGitHub/atsukisato/pgm-attack
Apprentissage AutomatiqueArticles et RechercheSécurité de l'IAAttaque Adversariale
GitHubatsukisato/pgm-attack

pgm-attack

Code de recherche pour les attaques par empoisonnement sur le PGM-index, démontrant comment concevoir des données adverses afin de dégrader les performances de l'index appris.

Voir le dépôt
11il y a 11 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PGM-attack

Vue d'ensemble

Code officiel de notre article, Poisoning Attacks on the PGM-index.

Démarrage rapide

1. Clonage et sous-modules

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

2. Compilation

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

Nécessite CMake (voir Dépendances). Les sorties sont écrites sous build/ (les binaires dans build/bin par défaut).

3. Téléchargement, prétraitement et données synthétiques

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  # synthétique

4. Expériences

Chaque exécution prend un fichier de configuration JSON via ./scripts/run_experiment.sh <config.json>. Exemples :

4.1 Maximiser l'erreur maximale (par ex. n=16, méthode consécutive)

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

4.2 Minimiser les clés légitimes couvertes (par ex. epsilon=2, méthode consécutive)

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

4.3 Maximiser m_opt (exemple PGM-index)

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

4.4 Borne supérieure sur m_opt (exemple dépendant de l'instance)

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

4.5 Exécuter toutes les expériences (par lots)

Exécute la liste complète des configurations d'expériences dans scripts/run_all_experiment.sh (modifiez ce fichier pour changer l'ensemble).

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

5. Graphiques et tableaux

Depuis la racine du dépôt :

root@kitploit:~
./scripts/plot.sh
./scripts/print_table.sh

Les figures et journaux sont écrits sous fig/. Installez d'abord les dépendances Python : pip install -r requirements.txt.

Dépendances

  • Chaîne d'outils C++ : g++, make, et CMake (le script de compilation configure avec CMake et compile avec cmake --build, qui invoque généralement Make).
  • Python 3 avec les paquets de requirements.txt (scripts de graphiques / tableaux).
  • jq — requis par ./scripts/run_experiment.sh pour analyser les JSON d'expériences.

Structure du projet

Docker

Construisez l'image une fois :

root@kitploit:~
./docker_build.sh
  • docker_run.sh — Conteneur interactif : monte le dépôt sur /workspace, alloue 8 CPU (0–7), vous place dans bash pour pouvoir compiler et exécuter des commandes manuellement.
  • docker_run_all.sh — Exécution détachée : exécute ./scripts/run_all_experiment.sh dans le conteneur (8 CPU) et écrit la sortie standard dans results/run_all.log.
  • docker_run_all_single_cpu.sh — Identique à docker_run_all.sh mais avec un seul CPU et OMP_NUM_THREADS=1 pour les exécutions mono-thread.

Les trois utilisent l'image pgm_poisoning:latest et les mêmes paramètres de capacités / volumes que dans les scripts.

Télécharger l’outil
CheminRôle
src/Sources C++ (attaques, benchmarks PGM, outils, bornes supérieures).
configs/experiments/Configurations JSON d'expériences (chemins sous poison_attack/, upper_bound/, etc.).
scripts/Compilation, données, run_experiment.sh, run_all_experiment.sh, plot.sh, print_table.sh.
third_party/Sous-modules Git (PGM-index, FITing-Tree, RadixSpline).
data/, results/, fig/Données, sorties d'exécution, et figures / journaux de tableaux générés.
plot/Scripts Python de graphiques et d'impression de tableaux.