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

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

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

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

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

Категории

Все категории
Loading categories
RAS-Eval — Тестовый стенд, оценивающий безопасность вызова инструментов LLM-агентами в задачах с длинным горизонтом, генерирующий атаки prompt-injection и отравления инструментов и проверяющий LTL-спецификации во время выполнения. | Kitploit
Инструменты/GitHubGitHub/lanzer-tree/ras-eval
Динамический анализ (песочница)Анализ уязвимостейСкриптинг и автоматизацияТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИСостязательная АтакаЛаборатории и Практика
GitHublanzer-tree/ras-eval

RAS-Eval

Тестовый стенд, оценивающий безопасность вызова инструментов LLM-агентами в задачах с длинным горизонтом, генерирующий атаки prompt-injection и отравления инструментов и проверяющий LTL-спецификации во время выполнения.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Оценка безопасности вызовов инструментов реальными агентами на основе спецификаций в задачах с длинным контекстом

Предварительные требования

  • uv — управление средой Python и зависимостями.
  • Среда выполнения песочницы, установите одну из:
    • Docker
    • Apptainer

Сборка образа

соберите один из образов: docker или apptainer

Сборка образа Docker

cd docker

linux/amd64:

bash build.sh                

linux/mac/arm64:

PLATFORM=linux/arm64 IMAGE_TAG=ras-eval-arm:latest bash build.sh

Сборка образа Apptainer

cd docker

linux/amd64:

EXPORT_TAR=1 bash build.sh

linux/mac/arm64:

EXPORT_TAR=1 PLATFORM=linux/arm64 IMAGE_TAG=ras-eval-arm:latest bash build.sh

Настройка окружения

Создайте .env в корне репозитория:

# LLM inference endpoint (OpenAI Chat-Completion)
OPENAI_API_KEY="sk-xxx"
OPENAI_BASE_URL="https://..."

# toolkit APIs (required by evaluation tasks)
AMAP_KEY="xxx"            # Amap - https://lbs.amap.com/
TAVILY_API_KEY="xxx"      # Tavily - https://www.tavily.com/
TUSHARE_TOKEN="xxx"       # Tushare - https://tushare.pro/

Установите зависимости Python:

uv sync

Запуск оценки

entries/runtime_verification.py запускает тестируемого агента и проверяет LTL-спецификации с помощью nuXmv после каждого вызова инструмента.

Docker

uv run entries/runtime_verification.py \
    --input_path data/input/ras_eval_toma.jsonl \
    --output_path data/output/deepseek-v4-pro/toma_opencode.jsonl \
    --framework opencode \
    --model provider/deepseek-v4-pro \
    --api_key sk-xxx \
    --base_url https://... \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --parallel 2 \
    --qps 1.0 \
    --request_qps 1.0 \
    --request_max_retries 5 \
    --timeout 900 \
    --limit 5 \
    --skip_exist_traceid

Apptainer

uv run entries/runtime_verification.py \
    --input_path data/input/ras_eval_toma.jsonl \
    --output_path data/output/deepseek-v4-pro/toma_opencode.jsonl \
    --framework opencode \
    --model provider/deepseek-v4-pro \
    --sandbox apptainer \
    --os linux \
    --apptainer_path /usr/local/bin/apptainer \  # path to your installed apptainer
    --image docker/ras-eval-amd--latest.sif \ # path to your saved image
    --parallel 2 \
    --qps 1.0 \
    --request_qps 1.0 \
    --request_max_retries 5 \
    --timeout 900 \
    --limit 5 \
    --skip_exist_traceid

Примечания к параметрам:

  • --framework: opencode | autogen | langchain | mcp | openai-agent | qwen-agent | hermes | openclaw | deepseek-harness | pi.
  • --api_key / --base_url необязательны и по умолчанию берутся из OPENAI_API_KEY / OPENAI_BASE_URL в .env.
  • --limit N ограничивает количество образцов; --traceid ID запускает один образец вместо этого.
  • --apptainer_path используется только бэкендом Apptainer.
  • В --model provider/deepseek-v4-pro provider — это заполнитель, он может быть любой строкой (например, вашим фактическим именем провайдера или произвольным префиксом).

Набор данных

Некоторые имена отличаются от тех, что в статье; имена будут исправлены в будущем:

Indirect Prompt Injection: data/input/ras_eval_toma.jsonl (toma) Tool Poisoning Attack: data/input/ras_eval_tpa.jsonl (tpa) Skill Code Injection: data/input/ras_eval_cia_skill.jsonl (cia) Tool Code Injection: data/input/ras_eval_cia_tool.jsonl (cia_tool)

Построение данных для запуска

1. Генерация обычных задач

touch data/output/seed.jsonl       # empty seed for a fresh run

uv run entries/flywheel_infer.py \
    --task generate \
    --mode base \
    --framework opencode \
    --model provider/deepseek-v4-pro \
    --api_key sk-xxx \
    --base_url https://... \
    --input_path data/output/seed.jsonl \
    --output_dir data/output/flywheel-generate \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --depth 9 \
    --limit 50 \
    --max_per_toolkit 5 \
    --disable_native_tools \
    --parallel 8 \
    --qps 1.0 \
    --timeout 900

Вывод: data/output/flywheel-generate/dataset/generated.jsonl.

2. Аннотирование спецификации

uv run entries/flywheel_infer.py \
    --task annotate \
    --mode base \
    --framework opencode \
    --benchmark ras-eval-next \
    --model provider/deepseek-v4-pro \
    --api_key sk-xxx \
    --base_url https://... \
    --input_path data/output/flywheel-generate/dataset/generated.jsonl \
    --output_dir data/output/flywheel-annotate \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --max_iterations 10 \
    --limit 50 \
    --disable_native_tools \
    --parallel 8 \
    --qps 1.0 \
    --timeout 3000 \
    --skip_exist_traceid

--mode base аннотирует спецификации завершения + безопасности; --mode attack аннотирует спецификации безопасности и требует --benchmark agentdojo или skill_inject. Вывод: data/output/flywheel-annotate/dataset/annotated.jsonl.

3. Генерация задач атаки

uv run entries/flywheel_infer.py \
    --task generate \
    --mode attack \
    --framework opencode \
    --attack_type toma \
    --attack_model provider/deepseek-v4-pro \
    --target_model provider/deepseek-v4-pro \
    --api_key sk-xxx --base_url https://... \
    --target_llm_api_key sk-xxx \
    --target_llm_base_url https://... \
    --input_path data/output/flywheel-annotate/dataset/annotated.jsonl \
    --output_dir data/output/flywheel-attack \
    --sandbox docker \
    --os mac \
    --image ras-eval-arm:latest \
    --number_target_tool 1 \
    --max_iterations 6 \
    --max_restart 3 \
    --limit 50 \
    --parallel 2 \
    --qps 1.0 \
    --timeout 1200 \
    --skip_exist_traceid

--attack_type: toma | tpa | cia | cia-tool. --model — это резервный оптимизатор атаки, когда --attack_model не указан. Спецификации безопасности составляются самим конвейером атак. Выходные данные: data/output/flywheel-attack/dataset/attack_generated.jsonl — это итоговый набор данных, готовый к передаче в entries/runtime_verification.py в качестве --input_path (см. раздел «Запуск оценки»).

Скачать инструмент