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

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

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

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

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

Категории

Все категории
Loading categories
StepJack — Среда бенчмаркинга для оценки AI-агентов, работающих с компьютером, на устойчивость к многошаговым косвенным инъекциям промптов, с автоматической декомпозицией состязательных целей и изолированными тестовыми средами на базе AWS. | Kitploit
Инструменты/GitHubGitHub/borealisai/stepjack
Динамический анализ (песочница)Виртуализация для безопасностиRed TeamingБезопасность ИИСостязательная Атака
GitHubborealisai/stepjack

StepJack

Среда бенчмаркинга для оценки AI-агентов, работающих с компьютером, на устойчивость к многошаговым косвенным инъекциям промптов, с автоматической декомпозицией состязательных целей и изолированными тестовыми средами на базе AWS.

Репозиторий
213 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

StepJack: бенчмарк безопасности компьютерных агентов против многошаговых косвенных промпт-инъекций

Установка

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

Сначала установите все зависимости и убедитесь, что у вас установлен Python 3.10.

root@kitploit:~
conda create -n stepjack python=3.10
conda activate stepjack

pip install -r requirements.txt

2. Настройка среды песочницы

Мы используем среду AWS, предоставленную RedTeamCUA.

AWS

  1. Настройте NETWORK_INTERFACE_MAP:

    Настройте NETWORK_INTERFACE_MAP в aws_config.py в соответствии с вашими собственными экземплярами AWS.

  2. Настройте вашу группу безопасности:

    Важно настроить группу безопасности, которая разрешает легитимный доступ к вашим размещённым экземплярам, блокируя при этом попытки несанкционированного доступа. Это крайне важно, поскольку AMI по умолчанию использует только базовую аутентификацию по паролю, которую относительно легко скомпрометировать.

    Ваша локальная машина будет обращаться к сервисам, размещённым на AWS, через HTTP/TCP-соединения. Поэтому вам следует явно разрешить доступ к следующим портам: 8092, 6379, 9999, 5000, 9222, 8091, 2999 и 3000, которые используются WebArena или TheAgentCompany.

    Кроме того, мы используем SSH для непосредственного изменения базовой базы данных, чтобы имитировать сценарии инъекций. В связи с этим в настройках группы безопасности также должен быть разрешён SSH-доступ с вашего локального IP-адреса.

  3. Настройте свои учётные данные AWS с помощью aws configure, которая запросит у вас:

    • AWS Access Key ID
    • AWS Secret Access Key
    • Имя региона по умолчанию (необязательно, можно нажать Enter)

Эксперимент

scripts/run_gpt54_2step.sh — пример запуска GPT-5.4 CUA на StepJack.

  1. Задайте переменные окружения

    Ключи API CUA

    root@kitploit:~
    # For GPT 
    unset OPENAI_BASE_URL
    export OPENAI_API_KEY="sk-proj-XXXX"
    
    # For Kimi
    export KIMI_API_KEY='sk-XXXX'
    
    # For Qwen
    export OPENAI_BASE_URL="https://dashscope-us.aliyuncs.com/compatible-mode/v1"
    export OPENAI_API_KEY="sk-XXXX"
    
    # For Claude
    export ANTHROPIC_API_KEY='sk-XXXX'
    

    Учётные данные AWS

    root@kitploit:~
    export AWS_REGION='XX'
    export AWS_ACCESS_KEY='XX'
    export AWS_SECRET_KEY='XX'
    
  2. Запустите эксперименты

    root@kitploit:~
    # For GPT
    python run_gpt54_multienv.py \
       --observation_type screenshot \
       --agent_type GPT54Agent \
       --headless \
       --model gpt-5.4-mini-2026-03-17 \
       --result_dir ./results_gpt54 \
       --test_all_meta_path "./dataset/{subset}/{platform_instruction}/test_{k}_step.json" \
       --test_config_base_dir "./dataset/{subset}/{platform_instruction}"  \
       --max_steps {15*k} \
       --sleep_after_execution 4 \
       --provider_name aws \
       --num_envs 12 \
       --aws_ami {reddit | agentcompany}
    
    # For Kimi
    python run_kimi_multienv.py \
       --observation_type screenshot \
       --agent_type KimiAgent \
       --headless \
       --model Kimi-K2.5 \
       --result_dir ./results_kimi \
       --test_all_meta_path "./dataset/{subset}/{platform_instruction}/test_{k}_step.json" \
       --test_config_base_dir "./dataset/{subset}/{platform_instruction}"  \
       --max_steps {15*k} \
       --sleep_after_execution 4 \
       --provider_name aws \
       --num_envs 12 \
       --aws_ami {reddit | agentcompany}
    
    # For Qwen
    python run_qwen35vl_multienv.py \
       --observation_type screenshot \
       --agent_type Qwen35VLAgent \
       --headless \
       --model qwen3.5-plus-2026-02-15 \
       --coord relative \
       --enable_thinking \
       --result_dir ./results_qwen \
       --test_all_meta_path "./dataset/{subset}/{platform_instruction}/test_{k}_step.json" \
       --test_config_base_dir "./dataset/{subset}/{platform_instruction}"  \
       --max_steps {15*k} \
       --sleep_after_execution 4 \
       --provider_name aws \
       --num_envs 12 \
       --aws_ami {reddit | agentcompany}
    
    # For Claude
    python run_claude_multienv.py \
       --observation_type screenshot \
       --action_space pyautogui \
       --agent_type AnthropicAgent \
       --api_provider anthropic \
       --headless \
       --model {claude-sonnet-4-6 | claude-haiku-4-5} \
       --result_dir ./results_claude \
       --test_all_meta_path "./dataset/{subset}/{platform_instruction}/test_{k}_step.json" \
       --test_config_base_dir "./dataset/{subset}/{platform_instruction}"  \
       --max_steps {15*k} \
       --sleep_after_execution 4 \
       --provider_name aws \
       --num_envs 12 \
       --aws_ami {reddit | agentcompany}
    

Конвейер автоматической декомпозиции и добавление новых состязательных целей

Код конвейера автоматической декомпозиции находится в auto_decomp/.

  1. cd auto_decomp. Добавьте новые состязательные цели для декомпозиции в adv_goals.py.
  2. Запустите python iterative_refinement.py -k {k} для каждого k \in \{2, 3\}. Результат: ir/goal_*_k{k}_N20_K3_all.json, содержащий результаты этапа 1.
  3. Запустите python selected_examples/select_examples.py. Результат: selected_examples/selected_examples.json, в котором отбираются 10 лучших примеров с этапа 1.
  4. Для этапа 2 создайте json-примеры тестов для проверки CUA. Затем запишите количество шагов, затраченное на выбор окончательного результата декомпозиции.

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

StepJack создан на основе RedTeamCUA (Liao et al., 2025; arXiv:2505.21936), который, в свою очередь, является производным от OSWorld (XLANG NLP Lab, 2024). Оба вышестоящих исходных проекта распространяются под лицензией Apache-2.0.

Некоторые каталоги данных StepJack не снабжены заголовками лицензии в каждом файле, поскольку содержат двоичные или неисходные файлы-фикстуры. Для указания авторства их происхождение задокументировано здесь:

  • adv/TheAgentCompany_OwnCloud/file_to_upload/ — скопирован из RedTeamCUA (adv/TheAgentCompany_OwnCloud/file_to_upload/), исходно распространяется под лицензией Apache-2.0.
  • adv/upload_file/ — содержит две фикстуры SSH-ключей (system/authorized_keys, system/id_rsa), используемые в конфигурациях задач набора данных в качестве полезной нагрузки для загрузки. Создан StepJack (значения — строки-заглушки, а не настоящие ключи). Распространяется под лицензией, указанной в файле LICENSE в корневом каталоге этого дерева исходников.
  • adv/upload_file_dir/ — оригинальная разработка StepJack. Отсутствует в RedTeamCUA. Распространяется под лицензией, указанной в файле LICENSE в корневом каталоге этого дерева исходников.
  • dataset/ — адаптирован из evaluation_examples/ RedTeamCUA со значительными изменениями. Примеры оценки RedTeamCUA опубликованы под лицензией согласно их . Модификации и дополнения StepJack к конфигурациям задач выпущены под лицензией, указанной в файле в корневом каталоге этого дерева исходников.
Скачать инструмент

Аргументы:

  • {subset}: может быть single_step (k=1), w_urgent (Urgent = Y), wo_urgent (Urgent = N).
  • {platform_instruction}: может быть forum, forum_follow, owncloud, owncloud_follow. Они соответствуют 2 платформам и 2 типам пользовательских инструкций.
  • {k}, {15*k}: количество шагов, $k \in {1,2,3}$. Допустимые комбинации (subset, k): single_step только с k=1; w_urgent и wo_urgent только с k \in \{2,3\}.
  • {reddit | agentcompany}: образ AMI AWS для запуска. Для платформы forum следует использовать reddit, а для платформы owncloud — agentcompany.
CC-BY-4.0
croissant_metadata.json
LICENSE
  • desktop_env/ — скопирован/адаптирован из desktop_env/ RedTeamCUA, который сам является производным от OSWorld; оба вышестоящих исходных проекта распространяются под лицензией Apache-2.0. Заголовки в каждом исходном файле (.py / .sh / .yml / .service / .txt) фиксируют конкретное происхождение каждого файла (копия или модификация StepJack). Сопроводительные файлы документации (например, README.md, DOCKER_GUIDELINE.md, INSTALL_*.md) скопированы из RedTeamCUA.