Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ROPE — Defense framework, обеспечивающий соблюдение политики маршрутизации источника (routed origin policy) для предотвращения непрямой инъекции промптов в LLM-агентов, использующих инструменты, с детерминированными проверками источника и тестовыми стендами для оценки успешности атак и сохранения полезности. | Kitploit
Инструменты/GitHubGitHub/xhowenma/rope
Оборонительные ИнструментыАнализ уязвимостейСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИ
GitHubxhowenma/rope

ROPE

Репозиторий
4424 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Описание

Defense framework, обеспечивающий соблюдение политики маршрутизации источника (routed origin policy) для предотвращения непрямой инъекции промптов в LLM-агентов, использующих инструменты, с детерминированными проверками источника и тестовыми стендами для оценки успешности атак и сохранения полезности.

Поделиться

ROPE: Принудительное соблюдение политики маршрутизации происхождения

Исходный код нашей статьи:

ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection авторы: Xinhang Ma, Chaowei Xiao, William Yeoh, Ning Zhang, Yevgeniy Vorobeychik

Аннотация

Непрямая инъекция подсказок (IPI) внедряет инструкции в контент, который читает LLM-агент, использующий инструменты, направляя агента на вредоносные вызовы инструментов. Самые сильные защиты находятся на системном уровне и используют такие методы, как проверка инструментов с учётом условий задачи для предотвращения выполнения вредоносных инструментов, а также контроль информационных потоков для избежания выполнения инструментов с недоверенными параметрами. Однако по мере роста возможностей агентов пользователи делегируют автоматизации всё больше задач. Следовательно, последовательности выполнения инструментов и значения параметров всё чаще определяются во время выполнения и не могут быть надёжно проверены с использованием информации, содержащейся только в пользовательском запросе, без значительной потери полезности. Мы представляем ROPE (Routed Origin Policy Enforcement), который основан на структурном понятии доверия: значение может достичь изменяющего состояние инструмента только в том случае, если оно неопровержимо прослеживается до пользователя, источника, явно названного пользователем, или собственных авторитетных записей пользователя. Принудительное соблюдение тогда представляет собой детерминированную проверку происхождения по аудируемому набору чувствительных параметров инструментов, и единственная зависимость от языковой модели касается исключительно доверенного пользовательского запроса, недоступного атакующему. Наш подход обеспечивает две доказуемые гарантии: 1) на каждом шаге траектории ни одно значение, единственным происхождением которого является контент, доступный для записи атакующему, не достигает защищённого по происхождению параметра, и 2) никакой переформулирование инъекции не меняет решение о допуске. Благодаря обширной экспериментальной оценке мы показываем, что на четырёх моделях агентов в открытых наборах задач агентов ROPE удерживает показатель успешности атак на уровне 1.6–2.6%, сохраняя при этом 82–100% незащищённой чистой полезности, значительно превосходя современные системные защиты по полезности и достигая сопоставимой или лучшей безопасности в сложных динамических рабочих процессах. Кроме того, мы показываем, что оптимизация инъекции против ROPE в значительной степени неэффективна, в то время как долгосрочные атаки, которые преодолевают предыдущие системные защиты, в нашем случае достигают нулевого показателя успешности.

Структура репозитория

Настройка

Python 3.12 с openai, pydantic, jsonschema, pyyaml (и google-genai для нативного пути Gemini). Из корня репозитория:

root@kitploit:~
export PYTHONPATH=$PWD/autodojo/src:$PWD/src

Воспроизведение опубликованных показателей из прилагаемых журналов (без необходимости доступа к API)

root@kitploit:~
cd runs
python aggregate.py         # CU / UA / ASR для каждого набора + общие показатели (оба бенчмарка)
python adaptive_rope.py     # статическая vs адаптивная, CU/UA/ASR (атака AutoDojo, оба бенчмарка)
python longhorizon_rope.py  # долгосрочная (AgentLAB Task-Injection)
python ablation.py          # абляция политики: всегда полностью специфицированная / всегда открытая для действий
python router.py            # более дешёвые маршрутизаторы, с зажимом принудительного соблюдения и без
python failures.py          # перепись сбоев: каждый остаточный успех атаки + сбои чистых задач
python buckets.py           # таблицы по категориям (корзина недостаточной спецификации)
python router_deviation.py  # подсчёты ослабления/ужесточения для каждого маршрутизатора относительно аудируемого минимума

Каждый скрипт пересчитывает свою таблицу из журналов и выводит её; ни один не содержит ожидаемых значений. buckets.py и router_deviation.py требуют установки PYTHONPATH как указано выше (они читают определения наборов и кэшированные области); остальные читают только прилагаемые JSON-журналы.

runs/<model>/<suite>/user_task_*/, runs/ablation/<policy>/<suite>/user_task_*/ и runs/router/<router>[-clamp]/<suite>/user_task_*/ содержат по одному JSON на каждую оценённую ячейку: none/ (чистая), important_instructions/ (статическая атака), autodojo/ (адаптивная атака) и agentlab_longhorizon/ (долгосрочная поэтапная атака).

Исправления оценки. Три оракула бенчмарка некорректны для защит, блокирующих выполнение. runs/corrections.py выполняет три пересчёта на основе эффектов — slack IT5, dailylife IT7, github IT1 — и агрегаторы применяют их; в docstring каждого модуля документирован артефакт и исправление. CU и UA никогда не изменяются.

Запуск защиты

root@kitploit:~
# конфигурация основного результата (кэшированный маршрутизатор opus, строгое сопоставление, без зажима):
python -m rope.run_eval --suite github --attack important_instructions
python -m rope.run_eval --suite github --attack none            # чистая полезность
python -m rope.run_eval --suite github --defense passthrough    # базовый уровень без защиты

# более дешёвые маршрутизаторы из исследования маршрутизаторов, при необходимости с зажимом до аудируемого минимума:
python -m rope.run_eval --suite github --router gemini-3-flash --clamp

# живой маршрутизатор (пересчёт области во время выполнения с любой моделью, совместимой с OpenAI):
python -m rope.run_eval --suite github --router live --router-model openai/gpt-4o-mini --clamp

# адаптивная атака: воспроизведение кэшированных оптимизированных инъекций AutoDojo
AUTODOJO_CACHE=$PWD/autodojo/variant_generation/variants/github/openai/gpt-4o-mini/routed/injections.json \
  python -m rope.run_eval --suite github --attack autodojo

# долгосрочная атака: воспроизведение кэшированных следов AgentLAB (см. agentlab/README.md)
python agentlab/run_eval.py --suite banking --user-task user_task_0 --injection-task injection_task_0

Переменные окружения: OPENROUTER_API_KEY (модель агента и живой маршрутизатор; все опубликованные запуски вызывают модели агентов через OpenRouter), ROPE_AGENT_MODEL (по умолчанию openai/gpt-4o-mini), ROPE_PIPELINE_TAG для пометки журналов запусков (должен содержать имя модели AgentDojo, чтобы шаблоны атак разрешались).

Кэшированные маршрутизаторы делают защиту полностью детерминированной и не требующей API на стороне маршрутизации: opus покрывает все шесть наборов; gemini-3-flash и gpt-oss-20b покрывают наборы AgentDyn (область исследования маршрутизаторов). Чтобы оценить собственный маршрутизатор, кэшируйте его один раз и используйте как встроенный:

root@kitploit:~
python -m rope.cache_router --router my-router --router-model <llm-id> --suite github
python -m rope.run_eval     --router my-router --suite github --attack important_instructions

Благодарности

Этот репозиторий включает или основан на: AgentDojo и AgentDyn (наборы бенчмарков), AutoDojo (адаптивная атака) и AgentLAB (долгосрочный бенчмарк и следы атак Task-Injection). Подробности см. в соответствующих статьях.

Ссылки

Если вы находите эту работу полезной, мы будем признательны за цитирование:

root@kitploit:~
@article{rope,
  title={ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection},
  author={Ma, Xinhang and Xiao, Chaowei and Yeoh, William and Zhang, Ning and Vorobeychik, Yevgeniy},
  journal={arXiv preprint arXiv:2608.27496},
  year={2026}
}
Скачать инструмент
ПутьСодержимое
src/rope/Защита: маршрутизатор, область задач, компилятор политик, трекер происхождения, защита времени выполнения.
src/rope/scopes/_floor/<suite>.jsonАудируемая таблица чувствительных инструментов/параметров для каждого набора (общая для всех маршрутизаторов).
src/rope/scopes/<router>/<suite>.jsonКэшированные области задач для трёх оценённых маршрутизаторов (opus, gemini-3-flash, gpt-oss-20b) — автономное воспроизведение выходных данных маршрутизаторов из статьи.
src/common/Кэш завершений LLM, используемый маршрутизатором (только вызовы доверенных входных данных).
autodojo/Основной испытательный стенд и адаптивная атака: напрямую поддерживает все шесть оценённых наборов: banking, slack, travel (три из четырёх AgentDojo) и github, shopping, dailylife (из AgentDyn).
agentlab/Долгосрочный бенчмарк: атака Task-Injection от AgentLAB и её опубликованные следы атак, а также драйвер воспроизведения. См. agentlab/README.md.
runs/Журналы запусков ROPE (JSON) для всех четырёх моделей агентов, а также runs/ablation/ (два плеча фиксированной политики) и runs/router/ (более дешёвые маршрутизаторы, с зажимом и без), а также скрипты, которые пересчитывают из них опубликованные показатели ROPE.