
Защитный фреймворк, поддерживающий ориентированную на безопасность теневую память для обнаружения и блокирования атак типа prompt-injection и долгосрочных угроз против LLM-агентов до выполнения действий.
Этот репозиторий содержит официальный код к статье Safeguarding LLM Agents against Long-Horizon Threats via Shadow Memory. ShadowMem — это защитный фреймворк, который поддерживает выделенную агентную память, ориентированную на безопасность — вдохновлённую абстракцией shadow stack из системной безопасности — для извлечения и сохранения критически важного для безопасности контекста на всей траектории выполнения агента, и использует эту теневую память для проактивной оценки предстоящих действий до их выполнения.

| Папка | Роль |
|---|
rllm/ | Основа для RL-дообучения. Предоставляет цикл обучения (бэкенды verl / GRPO / PPO), используемый для обучения судьи теневой памяти. |
memagent/ | Реализация судьи теневой памяти — основная логика, промпты, адаптеры датасетов и скрипты обучения/оценки. Импортируется пайплайнами как Python-модуль. |
agentdojo/ | Стенд для оценки атак prompt-injection и защит от них на LLM-агентах. Расширен в этой статье для покрытия долгосрочных угроз. |
Все три компонента используют единое окружение Python. Сначала установите rllm (он подтягивает стек RL/обслуживания), затем agentdojo в том же окружении. memagent — это чистый Python-модуль, не требующий установки — он подхватывается через PYTHONPATH или при запуске скриптов из директории memagent/.
Требования: Python ≥ 3.10, CUDA-видеокарты для обучения, uv или 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.
Для подробной настройки каждого проекта (Docker, конкретные версии CUDA/torch, опциональные дополнения) обратитесь к документации внутри каждой папки (rllm/README.md, memagent/README.md, agentdojo/README.md).
memagent/ — обучение и тестирование судьи теневой памяти. См. memagent/README.md.agentdojo/ — дальнейшая оценка живого агента с обученным судьёй в цикле. См. agentdojo/ATTACK_DEFENSE.md для команд атаки/защиты, использованных в статье.rllm/ — незначительные расширения тренера для метрик судьи и отчётности ASR/BU. См. rllm/diff.md для сводки изменений относительно исходной кодовой базы rllm.Опубликованы на Hugging Face:
Если вы используете ShadowMem в своих исследованиях, пожалуйста, цитируйте:
@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}
}