
Pre-Execution-Action-Auditing-Verteidigung, die indirekte Prompt-Injection in werkzeugnutzenden LLM-Agenten mithilfe von Embedding-Retrieval und kontrastiver Log-Wahrscheinlichkeitsbewertung erkennt und maskiert.
ActGuard ist eine verteidigende Maßnahme zur Aktionsprüfung vor der Ausführung gegen indirekte Prompt-Injection in LLM-Agenten, die Werkzeuge verwenden. Dieses Repository enthält die finale ActGuard-Implementierung und die AgentDojo-basierte Laufzeitumgebung, die für deren Evaluierung benötigt wird.
Das Release enthält nur die finale, vollständige ActGuard-Konfiguration. Interne Komponenten verwenden weiterhin die Kennung reflective_audit für die Kompatibilität mit dem AgentDojo-Benchmark und den Trace-Formaten.
meta-llama/Meta-Llama-3.1-8B-Instruct oder einen gleichwertigen lokalen CheckpointDie Verwendung von uv wird empfohlen:
uv sync --frozen --extra actguard
Alternativ in eine aktivierte Python-Umgebung installieren:
python -m pip install -e '.[actguard]'
Vom Repository-Stammverzeichnis aus:
export OPENROUTER_API_KEY=...
uv run --frozen --extra actguard ./scripts/run_actguard.sh
Wenn das Projekt mit pip installiert wurde, ausführen:
export OPENROUTER_API_KEY=...
./scripts/run_actguard.sh
Das Skript evaluiert die Suite workspace mit dem Angriff important_instructions. Es verwendet OpenRouter für den Hauptagenten und den Verifier sowie Hugging Face-kompatible lokale Modelle für die Embedding-Retrieval und die kontrastive Log-Wahrscheinlichkeitszuordnung. Eine Hugging Face-Authentifizierung kann erforderlich sein, bevor der standardmäßige gated Llama-Checkpoint heruntergeladen werden kann.
Um heruntergeladene Checkpoints zu verwenden, ersetzen Sie die Werte von --reflective-audit-embedding-model und --reflective-audit-logprob-model in scripts/run_actguard.sh durch ihre lokalen Pfade. Verwenden Sie uv run --frozen actguard-benchmark --help, um alle Benchmark-Optionen anzuzeigen.
Die Ergebnisse werden unter folgendem Pfad geschrieben:
runs/openai_gpt-4o-mini-2024-07-18-reflective_audit/actguard/
Das Verzeichnis runs/ wird von Git ignoriert.
Führen Sie die ActGuard-Regressionstests aus:
uv run --frozen pytest -q tests/test_agent_pipeline/test_reflective_audit.py
src/agentdojo/agent_pipeline/reflective_audit.py: ActGuard-Implementierungsrc/agentdojo/agent_pipeline/agent_pipeline.py: Pipeline-Integrationsrc/agentdojo/scripts/benchmark.py: Benchmark-CLIsrc/agentdojo/default_suites/: Evaluierungssuiten und Aufgabendefinitionentests/test_agent_pipeline/test_reflective_audit.py: Regressionstestssrc/agentdojo/reflective_audit_trace.py: Trace-Generierung und -InspektionAusführungsprotokolle, lokale Umgebungen, Anmeldedaten, Papierentwürfe, temporäre Analyseausgaben und Vergleichsverteidigungen sind absichtlich von diesem Release ausgeschlossen.
Dieses Projekt wird unter der MIT-Lizenz vertrieben. Es enthält eine von AgentDojo abgeleitete Benchmark-Laufzeitumgebung; siehe LICENSE für den beibehaltenen ursprünglichen Urheberrechtshinweis.
| Parameter | Einstellung |
|---|
| Backend-Modell | openai/gpt-4o-mini-2024-07-18 über OpenRouter |
| Backend-Modell-Temperatur | 0 |
| Chunk-Länge | 80--180 Zeichen |
| Embedding-Modell | sentence-transformers/all-MiniLM-L6-v2 |
| Abgerufene Chunks | k = 3 |
| Kontrastives Log-Wahrscheinlichkeitsmodell | meta-llama/Meta-Llama-3.1-8B-Instruct |
| Log-Wahrscheinlichkeitsschwelle | 0 |
| Gruppierungsschwelle für ähnliche Chunks | 0.9 |
| Kontext der Werkzeugergebnisse | Vollständige prüfbare Historie |
| Verifier-Modell | openai/gpt-5-mini über OpenRouter |
| Verifier-Temperatur | 0 |
| Größe der vorhergesagten nächsten Werkzeugmenge | 1--3 |
| Erweiterung benachbarter Chunks | 1 Chunk auf jeder Seite |
| Maximale Reparaturversuche pro Aktion | 2 |
| Lokaler Maskierungstext | [Removed suspicious instruction from external tool result.] |