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

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

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

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

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

Категории

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

StepJack

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

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

Популярное

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

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

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

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

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

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.

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

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

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

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

  • Настройте свои учётные данные 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}
      

      Аргументы:

      • {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 следует использовать , а для платформы — .

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

    Код конвейера автоматической декомпозиции находится в 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 опубликованы под лицензией CC-BY-4.0 согласно их croissant_metadata.json. Модификации и дополнения StepJack к конфигурациям задач выпущены под лицензией, указанной в файле LICENSE в корневом каталоге этого дерева исходников.
    • desktop_env/ — скопирован/адаптирован из desktop_env/ RedTeamCUA, который сам является производным от OSWorld; оба вышестоящих исходных проекта распространяются под лицензией Apache-2.0. Заголовки в каждом исходном файле (.py / .sh / .yml / .service / .txt) фиксируют конкретное происхождение каждого файла (копия или модификация StepJack). Сопроводительные файлы документации (например, README.md, DOCKER_GUIDELINE.md, INSTALL_*.md) скопированы из RedTeamCUA.
    Скачать инструмент
    reddit
    owncloud
    agentcompany