このリポジトリには、論文 Safeguarding LLM Agents against Long-Horizon Threats via Shadow Memory の公式コードリリースが含まれています。ShadowMem は、システムセキュリティにおける シャドウスタック 抽象化に着想を得て、安全性に特化した専用のエージェントメモリを維持する防御フレームワークです。これはエージェントの実行軌跡全体にわたって安全上重要なコンテキストを抽出・保持し、このシャドウメモリを用いて実行前に保留中のアクションをプロアクティブに評価します。

| フォルダ | 役割 |
|---|---|
rllm/ | RLポストトレーニング基盤。シャドウメモリジャッジのトレーニングに使用されるトレーニングループ(verl / GRPO / PPOバックエンド)を提供します。 |
memagent/ | シャドウメモリジャッジの実装 — コアロジック、プロンプト、データセットアダプタ、トレーニング/評価スクリプト。パイプラインからPythonモジュールとしてインポートされます。 |
agentdojo/ | LLMエージェントに対するプロンプトインジェクション攻撃と防御を評価するためのベンチマークハーネス。本論文では長期的脅威をカバーするように拡張されています。 |
3つのコンポーネントは単一の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}
}