Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 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
171vor 3 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

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

2. Build

./scripts/build.sh

Erfordert CMake (siehe Abhängigkeiten). Die Ausgaben landen unter build/ (Binaries standardmäßig in build/bin).

3. Download, Vorverarbeitung und synthetische Daten

./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 nimmt eine JSON-Konfiguration über ./scripts/run_experiment.sh <config.json> entgegen. Beispiele:

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

./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, consecutive-Methode)

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

4.3 m_opt maximieren (PGM-index-Beispiel)

./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)

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

4.5 Alle Experimente ausführen (Batch)

Führt die vollständige Liste der Experiment-Konfigurationen in scripts/run_all_experiment.sh aus (bearbeite diese Datei, um die Auswahl zu ändern).

./scripts/run_all_experiment.sh

5. Plots und Tabellen

Vom Repository-Stammverzeichnis aus:

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

Abbildungen und Logs werden unter fig/ geschrieben. Installiere 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 üblicherweise Make aufruft).
  • Python 3 mit den Paketen aus requirements.txt (Plot- / Tabellenskripte).
  • jq — wird von ./scripts/run_experiment.sh benötigt, um das Experiment-JSON zu parsen.

Projektstruktur

PfadRolle
src/C++-Quellen (Angriffe, PGM-Benchmarks, Tools, obere Schranken).
configs/experiments/JSON-Konfigurationen für Experimente (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 / Tabellen-Logs.
plot/Python-Skripte zum Plotten und Tabellendrucken.

Docker

Baue das Image einmalig:

./docker_build.sh
  • docker_run.sh — Interaktiver Container: bindet das Repository unter /workspace ein, weist 8 CPUs zu (0–7) und startet eine bash-Shell, sodass du Befehle manuell bauen und ausführen kannst.
  • docker_run_all.sh — Detached-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, aber mit einer CPU und OMP_NUM_THREADS=1 für Single-Threaded-Läufe.

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

Tool herunterladen