
Marco defensivo que mantiene una memoria sombra centrada en la seguridad para detectar y bloquear amenazas de inyección de prompts y de horizonte prolongado contra agentes LLM antes de que se ejecuten las acciones.
Este repositorio contiene la publicación oficial del código para el artículo Safeguarding LLM Agents against Long-Horizon Threats via Shadow Memory. ShadowMem es un marco defensivo que mantiene una memoria agéntica dedicada y centrada en la seguridad — inspirada en la abstracción de shadow stack en la seguridad de sistemas — para destilar y retener contexto crítico para la seguridad a lo largo de toda la trayectoria de ejecución de un agente, y utiliza esta memoria sombra para evaluar de forma proactiva las acciones pendientes antes de que se ejecuten.

| Carpeta | Rol |
|---|
rllm/ | Columna vertebral de post-entrenamiento RL. Proporciona el bucle de entrenamiento (backends verl / GRPO / PPO) utilizado para entrenar el juez de memoria sombra. |
memagent/ | Implementación del juez de memoria sombra — lógica central, prompts, adaptadores de conjuntos de datos y scripts de entrenamiento/evaluación. Se importa como módulo de Python por los pipelines. |
agentdojo/ | Arnés de referencia para evaluar ataques de inyección de prompts y defensas en agentes LLM. Ampliado en este artículo para cubrir amenazas de horizonte largo. |
Los tres componentes comparten un único entorno de Python. Instale rllm primero (arrastra la pila de RL/serving), luego agentdojo en el mismo entorno. memagent es un módulo de Python puro y no necesita paso de instalación — se detecta mediante PYTHONPATH o ejecutando scripts desde el directorio memagent/.
Requisitos: Python ≥ 3.10, GPUs CUDA para entrenamiento, uv o pip.
# 1. Create and activate a fresh environment (Python 3.10+)
uv venv --python 3.10
source .venv/bin/activate
# 2. Install rllm in editable mode with the verl training backend.
# See rllm/README.md for backend/GPU notes and optional tinker backend.
cd rllm
uv pip install -e ".[verl]"
cd ..
# 3. Install agentdojo in editable mode.
# See agentdojo/README.md for optional extras (transformers detector, docs, etc.).
cd agentdojo
uv pip install -e .
cd ..
# 4. memagent needs no install — import paths resolve from the repo root.
Para una configuración detallada por proyecto (Docker, versiones específicas de CUDA/torch, extras opcionales), consulte la documentación dentro de cada carpeta (rllm/README.md, memagent/README.md, agentdojo/README.md).
memagent/ — entrenamiento y prueba del juez de memoria sombra. Consulte memagent/README.md.agentdojo/ — evaluación adicional de agentes en vivo con el juez entrenado en el bucle. Consulte agentdojo/ATTACK_DEFENSE.md para los comandos de ataque/defensa utilizados en el artículo.rllm/ — extensiones menores al entrenador para métricas del juez y reporte de ASR/BU. Consulte rllm/diff.md para un resumen de los cambios respecto al código base upstream de rllm.Publicados en Hugging Face:
Si utiliza ShadowMem en su investigación, por favor cite:
@inproceedings{wang2026shadowmem,
author = {Yuhui Wang and Tanqiu Jiang and Jiacheng Liang and Charles Fleming and Ting Wang},
title = {Safeguarding {LLM} Agents against Long-Horizon Threats via Shadow Memory},
booktitle = {Proceedings of the 2026 ACM SIGSAC Conference on Computer and Communications Security},
series = {CCS '26},
year = {2026},
publisher = {Association for Computing Machinery},
doi = {10.1145/3830454.3846601},
url = {https://doi.org/10.1145/3830454.3846601}
}