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
Herramientas/GitHubGitHub/jianshuod/ipi-exposure-signal
Aprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IA
GitHubjianshuod/ipi-exposure-signal

IPI-exposure-signal

Pipeline de investigación para detectar señales latentes de exposición a inyección indirecta de prompts en LLM agénticos mediante sondaje de estados ocultos, que incluye recopilación de trazas, etiquetado, extracción de características y entrenamiento de sondas.

Ver Repositorio

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
4hace 20 díasAún no revisado

IPI Exposure Signal

arXiv

Este es el repositorio de código de nuestro artículo: Your Agentic LLMs Secretly Encode Latent Signals of Indirect Prompt-Injection Exposure.

Versión en arXiv y enlace al artículo: https://arxiv.org/abs/2608.02657

Este repositorio implementa el pipeline de sondeo para señales latentes de exposición a IPI: recopilación de trazas de AgentDojo, etiquetado de riesgo IPI, extracción de características de estados ocultos y entrenamiento/evaluación de sondas de exposición a IPI.

Citación

root@kitploit:~
@misc{dong2026agenticllmssecretlyencode,
  title={Your Agentic LLMs Secretly Encode Latent Signals of Indirect Prompt-Injection Exposure},
  author={Jianshuo Dong and Yiming Liu and Maosen Zhang and Nan Deng and Xu Peng and Xiaoping Zhang and Tianwei Zhang and Jie Zhang and Han Qiu},
  year={2026},
  eprint={2608.02657},
  archivePrefix={arXiv},
  primaryClass={cs.CR},
  url={https://arxiv.org/abs/2608.02657},
}

Inicio rápido

Comience con las comprobaciones compatibles con CPU primero:

1. Clonar y configurar

root@kitploit:~
git clone https://github.com/jianshuod/IPI-exposure-signal.git
cd IPI-exposure-signal

# Install uv if needed.
curl -LsSf https://astral.sh/uv/install.sh | sh

# This repository targets Python 3.12.
uv python install 3.12
uv sync --extra dev

2. Ejecutar las pruebas

root@kitploit:~
uv run pytest

La suite de pruebas está diseñada para ejecutarse sin recursos de GPU. Comprueba la serialización de mensajes, el registro de ataques de largo horizonte de AgentDojo, la lógica de etiquetado, la construcción de conjuntos de datos de sondas, las métricas de entrenamiento, el conteo de tokens y el empaquetado del parche de vLLM.

3. Configurar un endpoint de modelo

Para la recopilación, apunte el recopilador a un servidor de modelos compatible con OpenAI:

root@kitploit:~
export IPI_AWARE_UPSTREAM_BASE_URL=http://127.0.0.1:8000/v1
export IPI_AWARE_UPSTREAM_API_KEY=EMPTY

Para la extracción de estados ocultos y el entrenamiento de sondas, instale las dependencias de modelos y la compilación de PyTorch que coincida con su entorno CUDA:

root@kitploit:~
uv sync --extra dev --extra models

Resumen del pipeline

El flujo de trabajo principal se expone mediante ipi-signal-probe:

Ejemplo:

root@kitploit:~
uv run ipi-signal-probe collect \
  --suite workspace \
  --attack direct \
  --injected \
  --max-cases 4 \
  --results-dir results/probe_traces/v2

uv run ipi-signal-probe label \
  --root results/probe_traces/v2/<run-name> \
  --labeling-protocol risk_faced

uv run ipi-signal-probe featurize \
  --root results/probe_traces/v2/<run-name> \
  --model Qwen/Qwen3-8B \
  --backend transformers_hook \
  --model-family qwen3 \
  --selected-position -1

uv run ipi-signal-probe partition \
  --root results/probe_traces/v2/<run-name> \
  --dataset broad

# Training consumes a JSON config. The Qwen example below generates the
# train/eval configs used for its full run.

Los protocolos de etiquetado admitidos son risk_faced, risk_visible y risk_actual.

Ejemplo reproducible de Qwen3.5-0.8B

El directorio examples/qwen3_5_0_8b/ contiene una reproducción ejecutable con un modelo pequeño y una prueba de usabilidad de código abierto para Qwen/Qwen3.5-0.8B.

Inicie ocho servidores vLLM con una GPU cada uno:

root@kitploit:~
examples/qwen3_5_0_8b/serve_qwen3_5_0_8b_8x.sh start

Ejecute una prueba de humo:

root@kitploit:~
QWEN3_5_0_8B_MODE=smoke \
examples/qwen3_5_0_8b/run_probe_pipeline.sh start

Ejecute el ejemplo completo:

root@kitploit:~
QWEN3_5_0_8B_MODE=full \
examples/qwen3_5_0_8b/run_probe_pipeline.sh start

El ejemplo completo utiliza 8 servidores vLLM independientes con TP=1, 8 procesos de recopilación, 256 workers por proceso/servidor, 8 shards de featurización y shards de entrenamiento de sondas con una GPU. Consulte examples/qwen3_5_0_8b/README.md para conocer todas las variables de entorno, modos de reanudación, ajustes de caché y comandos de estado/detención.

Captura directa con vLLM

El backend de caracterización predeterminado es transformers_hook. El backend de captura directa de estados ocultos de vLLM requiere el overlay de vLLM 0.19.0 incluido:

root@kitploit:~
uv sync --frozen --extra dev --extra vllm
uv run python scripts/apply_vllm_ipi_aware_patch.py --check

Siga docs/vllm_patches_v0.19.0.md antes de usar:

root@kitploit:~
uv run ipi-signal-probe featurize \
  --root results/probe_traces/v2/<run-name> \
  --model Qwen/Qwen3-8B \
  --backend vllm_direct \
  --model-family qwen3 \
  --selected-position -1

Ataques de largo horizonte de AgentDojo

Este repositorio incluye un checkout de AgentDojo parcheado en vendor/agentdojo. El AgentDojo original (upstream) no expone de forma nativa los ataques de largo horizonte requeridos por el artículo, por lo que los comandos de recopilación deben ejecutarse desde este checkout de código fuente, o con vendor/agentdojo/src colocado por delante de cualquier AgentDojo instalado en PYTHONPATH.

Estructura de directorios

root@kitploit:~
IPI-exposure-signal/
├── ipi_aware/
│   ├── data_collection/      # AgentDojo traces and decision points
│   ├── message_content.py    # Chat-message normalization used by collection/features
│   └── probes/               # labels, features, partitions, training, eval
├── examples/
│   └── qwen3_5_0_8b/         # 8-GPU Qwen/Qwen3.5-0.8B reproduction scripts
├── patches/                  # vLLM 0.19.0 hidden-state capture overlay
├── vendor/agentdojo/         # patched AgentDojo source for long-horizon attacks
├── docs/                     # vLLM patch notes
├── scripts/                  # utility scripts
└── tests/                    # CPU-friendly regression tests

Configuración del entorno

Licencia

Este proyecto está licenciado bajo Apache-2.0. Consulte LICENSE.

Descargar herramienta
ComandoPropósito
collectEjecutar tareas de AgentDojo y guardar trazas más puntos de decisión
labelAsignar etiquetas de riesgo IPI a los puntos de decisión recopilados
featurizeExtraer estados ocultos del modelo para los ejemplos de sonda
partitionCrear particiones de entrenamiento/validación/evaluación
trainEntrenar sondas ligeras sobre las características de los estados ocultos
evalEvaluar las sondas entrenadas en las particiones configuradas
eval-groupsEjecutar evaluación agrupada para protocolos de etiquetado y configuraciones reservadas (held-out)
VariablePropósito
IPI_AWARE_UPSTREAM_BASE_URLEndpoint de modelo compatible con OpenAI usado para la recopilación
IPI_AWARE_UPSTREAM_API_KEYClave de API para el endpoint ascendente, o EMPTY para vLLM local
PYTHONPATHColoque vendor/agentdojo/src al principio cuando use el código fuente de AgentDojo parcheado fuera de este repositorio
QWEN3_5_0_8B_MODELSobrescribir la ruta predeterminada del checkpoint de Qwen/Qwen3.5-0.8B en los scripts de ejemplo
QWEN3_5_0_8B_CACHE_DIRRedirigir los cachés de modelo y locales a un sistema de archivos de datos
QWEN3_5_0_8B_FEAT_BACKENDEstablecer en vllm_direct después de aplicar el overlay de vLLM