
Defesa de auditoria de ações pré-execução que detecta e mascara injeção indireta de prompt em agentes LLM que usam ferramentas, utilizando recuperação por embedding e pontuação contrastiva de log-probabilidade.
ActGuard é uma defesa de auditoria de ações pré-execução contra injeção indireta de prompt em agentes LLM que utilizam ferramentas. Este repositório contém a implementação final do ActGuard e o runtime baseado no AgentDojo necessário para avaliá-lo.
A versão contém apenas a configuração final e completa do ActGuard. Os
componentes internos ainda usam o identificador reflective_audit para
compatibilidade com o benchmark AgentDojo e os formatos de trace.
meta-llama/Meta-Llama-3.1-8B-Instruct, ou um
checkpoint local equivalenteRecomenda-se usar uv:
uv sync --frozen --extra actguard
Como alternativa, instale em um ambiente Python ativado:
python -m pip install -e '.[actguard]'
A partir da raiz do repositório:
export OPENROUTER_API_KEY=...
uv run --frozen --extra actguard ./scripts/run_actguard.sh
Se o projeto foi instalado com pip, execute:
export OPENROUTER_API_KEY=...
./scripts/run_actguard.sh
O script avalia a suíte workspace com o ataque
important_instructions. Ele usa o OpenRouter para o agente principal e o
verificador, e modelos locais compatíveis com Hugging Face para recuperação por
embedding e atribuição contrastiva de log-probabilidade. A autenticação do
Hugging Face pode ser necessária antes que o checkpoint Llama padrão com acesso
restrito possa ser baixado.
Para usar checkpoints baixados, substitua os valores de
--reflective-audit-embedding-model e
--reflective-audit-logprob-model em scripts/run_actguard.sh por seus
caminhos locais. Use uv run --frozen actguard-benchmark --help para ver todas
as opções do benchmark.
| Parâmetro | Configuração |
|---|---|
| Modelo de backend | openai/gpt-4o-mini-2024-07-18 via OpenRouter |
| Temperatura do modelo de backend | 0 |
| Comprimento do chunk | 80--180 caracteres |
| Modelo de embedding | sentence-transformers/all-MiniLM-L6-v2 |
| Chunks recuperados | k = 3 |
| Modelo de log-probabilidade contrastiva | meta-llama/Meta-Llama-3.1-8B-Instruct |
| Limite de log-probabilidade | 0 |
| Limite de agrupamento de chunks similares | 0.9 |
| Contexto do resultado da ferramenta | Histórico auditável completo |
| Modelo verificador | openai/gpt-5-mini via OpenRouter |
| Temperatura do verificador | 0 |
| Tamanho previsto do conjunto de próximas ferramentas | 1--3 |
| Expansão de chunks vizinhos | 1 chunk de cada lado |
| Máximo de tentativas de reparo por ação | 2 |
| Texto de mascaramento local | [Removed suspicious instruction from external tool result.] |
Os resultados são gravados abaixo de:
runs/openai_gpt-4o-mini-2024-07-18-reflective_audit/actguard/
O diretório runs/ é ignorado pelo Git.
Execute os testes de regressão do ActGuard:
uv run --frozen pytest -q tests/test_agent_pipeline/test_reflective_audit.py
src/agentdojo/agent_pipeline/reflective_audit.py: implementação do ActGuardsrc/agentdojo/agent_pipeline/agent_pipeline.py: integração do pipelinesrc/agentdojo/scripts/benchmark.py: CLI do benchmarksrc/agentdojo/default_suites/: suítes de avaliação e definições de tarefastests/test_agent_pipeline/test_reflective_audit.py: testes de regressãosrc/agentdojo/reflective_audit_trace.py: geração e inspeção de traceLogs de execução, ambientes locais, credenciais, rascunhos de artigos, saídas temporárias de análise e defesas de comparação são intencionalmente excluídos desta versão.
Este projeto é distribuído sob a Licença MIT. Ele inclui um runtime de
benchmark derivado do AgentDojo; consulte LICENSE para o aviso de copyright
upstream mantido.