Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pgm-attack — Forschungscode für Poisoning-Angriffe auf den PGM-Index, der demonstriert, wie adversarial Daten erstellt werden, um die Leistung gelernter Indizes zu verschlechtern. | Kitploit
Tools/GitHubGitHub/atsukisato/pgm-attack
Maschinelles LernenPapers & ForschungKI-SicherheitAdversarial-Angriff
GitHubatsukisato/pgm-attack

pgm-attack

Forschungscode für Poisoning-Angriffe auf den PGM-Index, der demonstriert, wie adversarial Daten erstellt werden, um die Leistung gelernter Indizes zu verschlechtern.

Repository anzeigen
11vor 11 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PGM-attack

Überblick

Offizieller Code für unser Paper Poisoning Attacks on the PGM-index.

Schnellstart

1. Klonen und Submodule

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

2. Build

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

Erfordert CMake (siehe Abhängigkeiten). Die Ausgaben werden unter build/ abgelegt (Binärdateien standardmäßig in build/bin).

3. Herunterladen, Vorverarbeiten und synthetische Daten

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  # synthetisch

4. Experimente

Jeder Lauf benötigt eine JSON-Konfiguration über ./scripts/run_experiment.sh <config.json>. Beispiele:

4.1 Maximalen Fehler maximieren (z. B. n=16, aufeinanderfolgende Methode)

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

4.2 Abgedeckte legitime Schlüssel minimieren (z. B. epsilon=2, aufeinanderfolgende Methode)

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

4.3 m_opt maximieren (PGM-index-Beispiel)

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

4.4 Obere Schranke für m_opt (instanzabhängiges Beispiel)

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

4.5 Alle Experimente ausführen (Stapelverarbeitung)

Führt die vollständige Liste der Experimentkonfigurationen in scripts/run_all_experiment.sh aus (bearbeiten Sie diese Datei, um die Auswahl zu ändern).

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

5. Diagramme und Tabellen

Vom Repository-Stammverzeichnis aus:

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

Abbildungen und Protokolle werden unter fig/ geschrieben. Installieren Sie zuerst die Python-Abhängigkeiten: pip install -r requirements.txt.

Abhängigkeiten

  • C++-Toolchain: g++, make und CMake (das Build-Skript konfiguriert mit CMake und baut mit cmake --build, was typischerweise Make aufruft).
  • Python 3 mit den Paketen in requirements.txt (Skripte für Diagramme/Tabellen).
  • jq — erforderlich von ./scripts/run_experiment.sh zum Parsen der Experiment-JSON.

Projektstruktur

Docker

Das Image einmal erstellen:

root@kitploit:~
./docker_build.sh
  • docker_run.sh — Interaktiver Container: Mountet das Repository unter /workspace, weist 8 CPUs zu (0–7) und öffnet eine bash-Shell, sodass Sie Befehle manuell ausführen können.
  • docker_run_all.sh — Abgekoppelter Lauf: Führt ./scripts/run_all_experiment.sh im Container aus (8 CPUs) und schreibt stdout nach results/run_all.log.
  • docker_run_all_single_cpu.sh — Wie docker_run_all.sh, jedoch mit einer CPU und OMP_NUM_THREADS=1 für einthreadige Läufe.

Alle drei verwenden das Image pgm_poisoning:latest sowie dieselben Capability-/Volume-Einstellungen wie in den Skripten.

Tool herunterladen
PfadRolle
src/C++-Quellen (Angriffe, PGM-Benchmarks, Werkzeuge, obere Schranken).
configs/experiments/Experiment-JSON-Konfigurationen (Pfade unter poison_attack/, upper_bound/ usw.).
scripts/Build, Daten, run_experiment.sh, run_all_experiment.sh, plot.sh, print_table.sh.
third_party/Git-Submodule (PGM-index, FITing-Tree, RadixSpline).
data/, results/, fig/Daten, Laufausgaben und generierte Abbildungen/Tabellenprotokolle.
plot/Python-Skripte für Diagramme und Tabellenausgabe.