
Difesa di auditing delle azioni pre-esecuzione che rileva e maschera l'iniezione indiretta di prompt negli agenti LLM che utilizzano strumenti, mediante embedding retrieval e scoring contrastivo di log-probabilità.
ActGuard è una difesa di auditing delle azioni pre-esecuzione contro l'iniezione indiretta di prompt negli agenti LLM che utilizzano strumenti. Questo repository contiene l'implementazione finale di ActGuard e il runtime basato su AgentDojo necessario per valutarla.
La release contiene solo la configurazione finale e completa di ActGuard. I
componenti interni utilizzano ancora l'identificatore reflective_audit per
compatibilità con il benchmark AgentDojo e i formati di trace.
meta-llama/Meta-Llama-3.1-8B-Instruct, o a un
checkpoint locale equivalenteÈ consigliato l'uso di uv:
uv sync --frozen --extra actguard
In alternativa, installare in un ambiente Python attivato:
python -m pip install -e '.[actguard]'
Dalla radice del repository:
export OPENROUTER_API_KEY=...
uv run --frozen --extra actguard ./scripts/run_actguard.sh
Se il progetto è stato installato con pip, eseguire:
export OPENROUTER_API_KEY=...
./scripts/run_actguard.sh
Lo script valuta la suite workspace con l'attacco
important_instructions. Utilizza OpenRouter per l'agente principale e il
verificatore, e modelli locali compatibili con Hugging Face per il retrieval
degli embedding e l'attribuzione contrastiva di log-probability.
L'autenticazione Hugging Face potrebbe essere necessaria prima che il checkpoint
Llama gated predefinito possa essere scaricato.
Per utilizzare checkpoint scaricati, sostituire i valori di
--reflective-audit-embedding-model e
--reflective-audit-logprob-model in scripts/run_actguard.sh con i loro
percorsi locali. Usare uv run --frozen actguard-benchmark --help per vedere
tutte le opzioni del benchmark.
| Parametro | Impostazione |
|---|---|
| Modello backend | openai/gpt-4o-mini-2024-07-18 tramite OpenRouter |
| Temperatura del modello backend | 0 |
| Lunghezza del chunk | 80--180 caratteri |
| Modello di embedding | sentence-transformers/all-MiniLM-L6-v2 |
| Chunk recuperati | k = 3 |
| Modello di log-probability contrastiva | meta-llama/Meta-Llama-3.1-8B-Instruct |
| Soglia di log-probability | 0 |
| Soglia di raggruppamento dei chunk simili | 0.9 |
| Contesto dei risultati degli strumenti | Cronologia verificabile completa |
| Modello verificatore | openai/gpt-5-mini tramite OpenRouter |
| Temperatura del verificatore | 0 |
| Dimensione prevista del set di strumenti successivi | 1--3 |
| Espansione dei chunk vicini | 1 chunk su ciascun lato |
| Tentativi massimi di riparazione per azione | 2 |
| Testo di mascheramento locale | [Removed suspicious instruction from external tool result.] |
I risultati vengono scritti in:
runs/openai_gpt-4o-mini-2024-07-18-reflective_audit/actguard/
La directory runs/ è ignorata da Git.
Eseguire i test di regressione di ActGuard:
uv run --frozen pytest -q tests/test_agent_pipeline/test_reflective_audit.py
src/agentdojo/agent_pipeline/reflective_audit.py: implementazione di ActGuardsrc/agentdojo/agent_pipeline/agent_pipeline.py: integrazione della pipelinesrc/agentdojo/scripts/benchmark.py: CLI del benchmarksrc/agentdojo/default_suites/: suite di valutazione e definizioni dei tasktests/test_agent_pipeline/test_reflective_audit.py: test di regressionesrc/agentdojo/reflective_audit_trace.py: generazione e ispezione delle traceI log di esecuzione, gli ambienti locali, le credenziali, le bozze del paper, gli output di analisi temporanei e le difese di confronto sono intenzionalmente esclusi da questa release.
Questo progetto è distribuito sotto la Licenza MIT. Include un runtime di
benchmark derivato da AgentDojo; vedere LICENSE per l'avviso di copyright
upstream conservato.