
LLM 에이전트에 대한 프롬프트 인젝션과 장기적 위협을 행동 실행 전에 탐지하고 차단하기 위해 안전 중심의 섀도 메모리를 유지하는 방어 프레임워크입니다.
이 저장소는 논문 섀도 메모리를 통한 장기적 위협으로부터 LLM 에이전트 보호의 공식 코드 릴리스입니다. ShadowMem은 시스템 보안의 섀도 스택(shadow stack) 추상화에서 영감을 받아, 에이전트의 전체 실행 궤적에 걸쳐 안전에 중요한 컨텍스트를 추출하고 유지하는 전용의 안전 중심 에이전트 메모리를 유지하며, 이 섀도 메모리를 사용하여 실행되기 전에 대기 중인 작업을 사전에 평가하는 방어 프레임워크입니다.

| 폴더 | 역할 |
|---|---|
rllm/ | RL 사후 학습 백본. 섀도 메모리 판정자를 학습하는 데 사용되는 학습 루프(verl / GRPO / PPO 백엔드)를 제공합니다. |
memagent/ | 섀도 메모리 판정자 구현 — 핵심 로직, 프롬프트, 데이터셋 어댑터, 학습/평가 스크립트. 파이프라인에서 Python 모듈로 임포트됩니다. |
agentdojo/ | LLM 에이전트에 대한 프롬프트 인젝션 공격 및 방어를 평가하기 위한 벤치마크 하네스. 본 논문에서 장기적 위협을 다루도록 확장되었습니다. |
세 구성 요소는 단일 Python 환경을 공유합니다. rllm을 먼저 설치한 후(RL/서빙 스택을 함께 가져옵니다), 동일한 환경에 agentdojo를 설치하세요. memagent는 순수 Python 모듈로 별도의 설치 단계가 필요하지 않습니다 — PYTHONPATH를 통해 또는 memagent/ 디렉터리에서 스크립트를 실행하여 인식됩니다.
요구 사항: Python ≥ 3.10, 학습용 CUDA GPU, 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 코드베이스 대비 변경 사항 요약은 rllm/diff.md를 참조하세요.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}
}