
Framework difensivo che mantiene una shadow memory orientata alla sicurezza per rilevare e bloccare prompt-injection e minacce a lungo termine contro gli agenti LLM prima che le azioni vengano eseguite.
Questo repository contiene il rilascio ufficiale del codice per il paper Safeguarding LLM Agents against Long-Horizon Threats via Shadow Memory. ShadowMem è un framework difensivo che mantiene una memoria agentica dedicata e orientata alla sicurezza — ispirata all'astrazione dello shadow stack nella sicurezza dei sistemi — per distillare e conservare il contesto critico per la sicurezza lungo l'intera traiettoria di esecuzione di un agente, e utilizza questa shadow memory per valutare proattivamente le azioni in sospeso prima che vengano eseguite.

| Cartella | Ruolo |
|---|
rllm/ | Backbone di post-training RL. Fornisce il ciclo di training (backend verl / GRPO / PPO) utilizzato per addestrare il giudice della shadow-memory. |
memagent/ | Implementazione del giudice della shadow-memory — logica principale, prompt, adattatori di dataset e script di training/valutazione. Importato come modulo Python dalle pipeline. |
agentdojo/ | Harness di benchmark per valutare attacchi di prompt-injection e difese sugli agenti LLM. Esteso in questo paper per coprire minacce a lungo orizzonte. |
I tre componenti condividono un unico ambiente Python. Installa prima rllm (che include lo stack RL/serving), poi agentdojo nello stesso ambiente. memagent è un modulo Python puro e non richiede alcuno step di installazione — viene rilevato tramite PYTHONPATH o eseguendo gli script dalla directory memagent/.
Requisiti: Python ≥ 3.10, GPU CUDA per il training, 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.
Per una configurazione dettagliata per singolo progetto (Docker, versioni specifiche di CUDA/torch, extra opzionali), consulta la documentazione all'interno di ciascuna cartella (rllm/README.md, memagent/README.md, agentdojo/README.md).
memagent/ — training e testing del giudice della shadow-memory. Vedi memagent/README.md.agentdojo/ — ulteriore valutazione live-agent con il giudice addestrato nel loop. Vedi agentdojo/ATTACK_DEFENSE.md per i comandi di attacco/difesa utilizzati nel paper.rllm/ — estensioni minori al trainer per le metriche del giudice e il reporting ASR/BU. Vedi rllm/diff.md per un riepilogo delle modifiche rispetto alla codebase upstream rllm.Rilasciati su Hugging Face:
Se utilizzi ShadowMem nella tua ricerca, cita:
@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}
}