Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pgm-attack — Código de investigación para ataques de envenenamiento sobre el PGM-index, que demuestra cómo elaborar datos adversariales para degradar el rendimiento de los índices aprendidos. | Kitploit
Herramientas/GitHubGitHub/atsukisato/pgm-attack
Aprendizaje AutomáticoPapers e InvestigaciónSeguridad de IAAtaque Adversario
GitHubatsukisato/pgm-attack

pgm-attack

Código de investigación para ataques de envenenamiento sobre el PGM-index, que demuestra cómo elaborar datos adversariales para degradar el rendimiento de los índices aprendidos.

Ver Repositorio
11hace 11 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PGM-attack

Resumen

Código oficial de nuestro artículo, Poisoning Attacks on the PGM-index.

Inicio rápido

1. Clonar y submódulos

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

2. Compilar

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

Requiere CMake (ver Dependencias). Los resultados se generan en build/ (los binarios en build/bin por defecto).

3. Descargar, preprocesar y datos sintéticos

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. Experimentos

Cada ejecución toma una configuración JSON mediante ./scripts/run_experiment.sh <config.json>. Ejemplos:

4.1 Maximizar el error máximo (p. ej., n=16, método consecutivo)

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

4.2 Minimizar claves legítimas cubiertas (p. ej., epsilon=2, método consecutivo)

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

4.3 Maximizar m_opt (ejemplo de 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 Cota superior de m_opt (ejemplo dependiente de la instancia)

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

4.5 Ejecutar todos los experimentos (por lotes)

Ejecuta la lista completa de configuraciones de experimentos en scripts/run_all_experiment.sh (edite ese archivo para cambiar el conjunto).

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

5. Gráficos y tablas

Desde la raíz del repositorio:

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

Las figuras y los registros se escriben en fig/. Instale primero las dependencias de Python: pip install -r requirements.txt.

Dependencias

  • Cadena de herramientas C++: g++, make y CMake (el script de compilación configura con CMake y compila con cmake --build, que normalmente invoca Make).
  • Python 3 con los paquetes en requirements.txt (scripts de gráficos / tablas).
  • jq — requerido por ./scripts/run_experiment.sh para analizar el JSON de los experimentos.

Estructura del proyecto

Docker

Compile la imagen una vez:

root@kitploit:~
./docker_build.sh
  • docker_run.sh — Contenedor interactivo: monta el repositorio en /workspace, asigna 8 CPUs (0–7), y le lleva a bash para que pueda compilar y ejecutar comandos manualmente.
  • docker_run_all.sh — Ejecución en segundo plano: ejecuta ./scripts/run_all_experiment.sh dentro del contenedor (8 CPUs) y escribe la salida estándar en results/run_all.log.
  • docker_run_all_single_cpu.sh — Igual que docker_run_all.sh pero con una CPU y OMP_NUM_THREADS=1 para ejecuciones de un solo hilo.

Los tres usan la imagen pgm_poisoning:latest y la misma configuración de capacidades / volúmenes que en los scripts.

Descargar herramienta
RutaFunción
src/Fuentes C++ (ataques, benchmarks de PGM, herramientas, cotas superiores).
configs/experiments/Configuraciones JSON de experimentos (rutas bajo poison_attack/, upper_bound/, etc.).
scripts/Compilación, datos, run_experiment.sh, run_all_experiment.sh, plot.sh, print_table.sh.
third_party/Submódulos de Git (PGM-index, FITing-Tree, RadixSpline).
data/, results/, fig/Datos, salidas de ejecución y figuras / registros de tablas generados.
plot/Scripts de trazado y generación de tablas en Python.