
Защита с предварительным аудитом действий, которая обнаруживает и маскирует косвенную инъекцию промптов в LLM-агентах, использующих инструменты, с помощью эмбеддингового поиска и контрастивного скоринга логарифмических вероятностей.
ActGuard — это защита, выполняющая аудит действий перед их выполнением и предназначенная для противодействия косвенным инъекциям промптов в LLM-агентах, использующих инструменты. Этот репозиторий содержит финальную реализацию ActGuard и основанную на AgentDojo среду выполнения, необходимую для её оценки.
Релиз содержит только финальную полную конфигурацию ActGuard. Внутренние
компоненты по-прежнему используют идентификатор reflective_audit для
совместимости с бенчмарком AgentDojo и форматами трассировки.
meta-llama/Meta-Llama-3.1-8B-Instruct или
эквивалентному локальному чекпоинтуРекомендуется использовать uv:
uv sync --frozen --extra actguard
Либо установите в активированное окружение Python:
python -m pip install -e '.[actguard]'
Из корня репозитория:
export OPENROUTER_API_KEY=...
uv run --frozen --extra actguard ./scripts/run_actguard.sh
Если проект был установлен через pip, выполните:
export OPENROUTER_API_KEY=...
./scripts/run_actguard.sh
Скрипт оценивает набор workspace с атакой
important_instructions. Он использует OpenRouter для основного агента и
верификатора, а также совместимые с Hugging Face локальные модели для
эмбеддингового поиска и контрастивной атрибуции по логарифмическим
вероятностям. Перед загрузкой стандартного закрытого чекпоинта Llama может
потребоваться аутентификация Hugging Face.
Чтобы использовать загруженные чекпоинты, замените значения
--reflective-audit-embedding-model и
--reflective-audit-logprob-model в scripts/run_actguard.sh на их локальные
пути. Используйте uv run --frozen actguard-benchmark --help, чтобы увидеть все
параметры бенчмарка.
Результаты записываются в:
runs/openai_gpt-4o-mini-2024-07-18-reflective_audit/actguard/
Каталог runs/ игнорируется Git.
Запустите регрессионные тесты ActGuard:
uv run --frozen pytest -q tests/test_agent_pipeline/test_reflective_audit.py
src/agentdojo/agent_pipeline/reflective_audit.py: реализация ActGuardsrc/agentdojo/agent_pipeline/agent_pipeline.py: интеграция в конвейерsrc/agentdojo/scripts/benchmark.py: CLI бенчмаркаsrc/agentdojo/default_suites/: наборы для оценки и определения задачtests/test_agent_pipeline/test_reflective_audit.py: регрессионные тестыsrc/agentdojo/reflective_audit_trace.py: генерация и просмотр трассировкиЖурналы запусков, локальные окружения, учётные данные, черновики статей, временные результаты анализа и сравнительные защиты намеренно исключены из этого релиза.
Этот проект распространяется под лицензией MIT. Он включает среду выполнения
бенчмарка, производную от AgentDojo; см. LICENSE для сохранённого уведомления
об авторских правах вышестоящего проекта.
| Параметр | Значение |
|---|
| Модель бэкенда | openai/gpt-4o-mini-2024-07-18 через OpenRouter |
| Температура модели бэкенда | 0 |
| Длина фрагмента | 80--180 символов |
| Модель эмбеддингов | sentence-transformers/all-MiniLM-L6-v2 |
| Извлекаемые фрагменты | k = 3 |
| Модель контрастивных логарифмических вероятностей | meta-llama/Meta-Llama-3.1-8B-Instruct |
| Порог логарифмической вероятности | 0 |
| Порог группировки похожих фрагментов | 0.9 |
| Контекст результатов инструментов | Полная проверяемая история |
| Модель верификатора | openai/gpt-5-mini через OpenRouter |
| Температура верификатора | 0 |
| Размер набора предсказанных следующих инструментов | 1--3 |
| Расширение соседними фрагментами | 1 фрагмент с каждой стороны |
| Максимум попыток исправления на действие | 2 |
| Текст локального маскирования | [Removed suspicious instruction from external tool result.] |