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
ROPE — Marco de defensa que aplica una política de origen enrutada para prevenir la inyección indirecta de instrucciones en agentes LLM que utilizan herramientas, con comprobaciones de origen deterministas y entornos de evaluación comparativa para medir el éxito de los ataques y la retención de utilidad. | Kitploit
Herramientas/GitHubGitHub/xhowenma/rope
Herramientas DefensivasAnálisis de VulnerabilidadesPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IA
GitHubxhowenma/rope

ROPE

Ver Repositorio
7hace 3 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 →

Acerca de

Marco de defensa que aplica una política de origen enrutada para prevenir la inyección indirecta de instrucciones en agentes LLM que utilizan herramientas, con comprobaciones de origen deterministas y entornos de evaluación comparativa para medir el éxito de los ataques y la retención de utilidad.

Compartir

ROPE: Aplicación de Política de Origen Enrutado

Código fuente de nuestro artículo:

ROPE: Aplicación de Política de Origen Enrutado contra la Inyección Indirecta de Prompts por Xinhang Ma, Chaowei Xiao, William Yeoh, Ning Zhang, Yevgeniy Vorobeychik

Resumen

La inyección indirecta de prompts (IPI) inserta instrucciones en el contenido que un agente LLM que usa herramientas lee, dirigiendo al agente hacia llamadas a herramientas dañinas. Las defensas más sólidas son a nivel de sistema, aprovechando técnicas como el filtrado de herramientas condicionado a la tarea para prevenir la ejecución de herramientas maliciosas, y el control de flujo de información para evitar la ejecución de herramientas con parámetros no confiables. Sin embargo, a medida que los agentes se vuelven más capaces, los usuarios delegan más en la automatización. En consecuencia, las secuencias de ejecución de herramientas y los valores de los parámetros se determinan cada vez más en tiempo de ejecución y no pueden filtrarse de manera confiable utilizando información contenida únicamente en la consulta del usuario sin una pérdida significativa de utilidad. Presentamos ROPE (Aplicación de Política de Origen Enrutado), que se ancla en una noción estructural de confianza: un valor puede llegar a una herramienta que cambia el estado solo si se remonta de manera infalsificable al usuario, a una fuente que el usuario nombró explícitamente, o a los registros autoritativos del propio usuario. La aplicación es entonces una verificación de origen determinista sobre un conjunto auditado de parámetros sensibles de herramientas, y la única dependencia de un modelo de lenguaje involucra únicamente la solicitud confiable del usuario, fuera del alcance del atacante. Nuestro enfoque admite dos garantías demostrables: 1) en cada paso de una trayectoria, ningún valor cuyo único origen sea contenido escribible por el atacante llega a un parámetro protegido por origen, y 2) ninguna reformulación de una inyección cambia una decisión de admisión. A través de una extensa evaluación experimental, mostramos que en cuatro modelos de agentes en suites de agentes de código abierto, ROPE mantiene la tasa de éxito del ataque en 1.6–2.6% mientras retiene el 82–100% de la utilidad limpia sin defensa, superando significativamente a las defensas de nivel de sistema de última generación en utilidad mientras logra seguridad comparable o mejor en flujos de trabajo dinámicos complejos. Además, mostramos que optimizar la inyección contra ROPE es en gran medida ineficaz, mientras que los ataques de horizonte largo que derrotan a las defensas de nivel de sistema anteriores logran una tasa de éxito de cero en nuestro caso.

Estructura del repositorio

RutaContenido
src/rope/La defensa: enrutador, alcance por tarea, compilador de políticas, rastreador de origen, guardia de tiempo de ejecución.
src/rope/scopes/_floor/<suite>.jsonLa tabla auditada de herramientas/parámetros sensibles por suite (compartida por todos los enrutadores).
src/rope/scopes/<router>/<suite>.jsonAlcances por tarea en caché para los tres enrutadores evaluados (opus, gemini-3-flash, gpt-oss-20b) — reproducción fuera de línea de las salidas del enrutador del artículo.
src/common/Caché de completaciones LLM utilizada por el enrutador (solo llamadas de entrada confiable).
autodojo/El banco de pruebas principal y el ataque adaptativo: soporta directamente las seis suites evaluadas: banking, slack, travel (tres de las cuatro de AgentDojo) y github, shopping, dailylife (de AgentDyn).
agentlab/El banco de pruebas de horizonte largo: el ataque Task-Injection de AgentLAB y sus trazas de ataque publicadas, además del controlador de reproducción. Ver agentlab/README.md.
runs/Registros de ejecución de ROPE (JSON) para los cuatro modelos de agentes, además de runs/ablation/ (los dos brazos de política fija) y runs/router/ (los enrutadores más baratos, con y sin restricción), y los scripts que recalculan los números de ROPE reportados a partir de ellos.

Configuración

Python 3.12 con openai, pydantic, jsonschema, pyyaml (y google-genai para la ruta nativa de Gemini). Desde la raíz del repositorio:

root@kitploit:~
export PYTHONPATH=$PWD/autodojo/src:$PWD/src

Reproducir los números reportados a partir de los registros incluidos (sin necesidad de acceso a API)

root@kitploit:~
cd runs
python aggregate.py         # CU / UA / ASR por suite + totales (ambos bancos de pruebas)
python adaptive_rope.py     # estático vs adaptativo, CU/UA/ASR (ataque AutoDojo, ambos bancos de pruebas)
python longhorizon_rope.py  # horizonte largo (AgentLAB Task-Injection)
python ablation.py          # ablación de política: siempre completamente especificado / siempre acción abierta
python router.py            # enrutadores más baratos, con y sin la restricción de aplicación
python failures.py          # censo de fallos: cada éxito de ataque residual + fallos de tareas limpias
python buckets.py           # tablas por categoría (cubo de subespecificación)
python router_deviation.py  # conteos de aflojamiento/endurecimiento por enrutador frente al piso auditado

Cada script recalcula su tabla a partir de los registros y la imprime; ninguno contiene valores esperados. buckets.py y router_deviation.py necesitan PYTHONPATH configurado como arriba (leen las definiciones de las suites y los alcances en caché); el resto lee solo los registros JSON incluidos.

runs/<model>/<suite>/user_task_*/, runs/ablation/<policy>/<suite>/user_task_*/ y runs/router/<router>[-clamp]/<suite>/user_task_*/ contienen cada uno un JSON por celda evaluada: none/ (limpio), important_instructions/ (ataque estático), autodojo/ (ataque adaptativo) y agentlab_longhorizon/ (ataque por etapas de horizonte largo).

Correcciones de puntuación. Tres oráculos del banco de pruebas no son sólidos para defensas que bloquean la ejecución. runs/corrections.py despacha las tres repuntuaciones basadas en efectos — slack IT5, dailylife IT7, github IT1 — y los agregadores las aplican; el docstring de cada módulo documenta el artefacto y la corrección. CU y UA nunca se tocan.

Ejecutar la defensa

root@kitploit:~
# configuración del resultado principal (enrutador opus en caché, coincidencia estricta, sin restricción):
python -m rope.run_eval --suite github --attack important_instructions
python -m rope.run_eval --suite github --attack none            # utilidad limpia
python -m rope.run_eval --suite github --defense passthrough    # línea base sin defensa

# enrutadores más baratos del estudio de enrutadores, opcionalmente restringidos al piso auditado:
python -m rope.run_eval --suite github --router gemini-3-flash --clamp

# enrutador en vivo (recalcular el alcance en tiempo de ejecución con cualquier modelo compatible con OpenAI):
python -m rope.run_eval --suite github --router live --router-model openai/gpt-4o-mini --clamp

# ataque adaptativo: reproducir las inyecciones optimizadas por AutoDojo en caché
AUTODOJO_CACHE=$PWD/autodojo/variant_generation/variants/github/openai/gpt-4o-mini/routed/injections.json \
  python -m rope.run_eval --suite github --attack autodojo

# ataque de horizonte largo: reproducir las trazas en caché de AgentLAB (ver agentlab/README.md)
python agentlab/run_eval.py --suite banking --user-task user_task_0 --injection-task injection_task_0

Variables de entorno: OPENROUTER_API_KEY (modelo de agente y enrutador en vivo; todas las ejecuciones reportadas llaman a los modelos de agente a través de OpenRouter), ROPE_AGENT_MODEL (por defecto openai/gpt-4o-mini), ROPE_PIPELINE_TAG para etiquetar los registros de ejecución (debe contener un nombre de modelo de AgentDojo para que las plantillas de ataque se resuelvan).

Los enrutadores en caché hacen que la defensa sea completamente determinista y sin API en el lado del enrutamiento: opus cubre las seis suites; gemini-3-flash y gpt-oss-20b cubren las suites de AgentDyn (el alcance del estudio de enrutadores). Para evaluar su propio enrutador, guárdelo en caché una vez y reutilícelo como uno integrado:

root@kitploit:~
python -m rope.cache_router --router my-router --router-model <llm-id> --suite github
python -m rope.run_eval     --router my-router --suite github --attack important_instructions

Agradecimientos

Este repositorio incorpora o se basa en: AgentDojo y AgentDyn (suites de bancos de pruebas), AutoDojo (ataque adaptativo) y AgentLAB (banco de pruebas de horizonte largo y trazas de ataque Task-Injection). Consulte los artículos respectivos para más detalles.

Referencias

Si encuentra útil este trabajo, agradeceríamos que pudiera citarlo amablemente:

root@kitploit:~
@article{rope,
  title={ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection},
  author={Ma, Xinhang and Xiao, Chaowei and Yeoh, William and Zhang, Ning and Vorobeychik, Yevgeniy},
  journal={arXiv preprint arXiv:2608.27496},
  year={2026}
}
Descargar herramienta