Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
StepJack — Framework de benchmark para avaliar agentes de IA de uso de computador contra injeção indireta de prompt em múltiplas etapas, com decomposição automática de objetivos adversariais e ambientes de teste em sandbox da AWS. | Kitploit
Ferramentas/GitHubGitHub/borealisai/stepjack
Análise Dinâmica (Sandboxing)Virtualização para SegurançaRed TeamingSegurança de IAAtaque Adversário
GitHubborealisai/stepjack

StepJack

Framework de benchmark para avaliar agentes de IA de uso de computador contra injeção indireta de prompt em múltiplas etapas, com decomposição automática de objetivos adversariais e ambientes de teste em sandbox da AWS.

Ver Repositório
21há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

StepJack: Avaliando a Segurança de Agentes de Uso de Computador Contra Injeção Indireta de Prompts em Múltiplas Etapas

Configuração

1. Configuração do Ambiente Python

Primeiro, instale todas as dependências e garanta que você está usando Python 3.10.

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

pip install -r requirements.txt

2. Configuração do Ambiente de Sandbox

Usamos o ambiente AWS fornecido pelo RedTeamCUA.

AWS

  1. Configure o NETWORK_INTERFACE_MAP:

    Configure o NETWORK_INTERFACE_MAP em com base nas suas próprias instâncias AWS.

aws_config.py
  • Configure seu grupo de segurança:

    É importante configurar um grupo de segurança que permita acesso legítimo às suas instâncias hospedadas enquanto bloqueia tentativas de acesso não autorizado. Isso é crucial porque a AMI, por padrão, usa apenas autenticação básica baseada em senha, que é relativamente fácil de comprometer.

    Sua máquina local acessará os serviços hospedados na AWS por meio de conexões HTTP/TCP. Portanto, você deve permitir explicitamente o acesso às seguintes portas: 8092, 6379, 9999, 5000, 9222, 8091, 2999 e 3000, que são usadas pelo WebArena ou pelo TheAgentCompany.

    Além disso, usamos SSH para modificar diretamente o banco de dados subjacente, a fim de simular cenários de injeção. Sendo assim, o acesso SSH a partir do seu endereço IP local também deve ser permitido nas configurações do grupo de segurança.

  • Configure suas credenciais AWS usando aws configure, que solicitará:

    • ID da Chave de Acesso AWS
    • Chave de Acesso Secreta AWS
    • Nome da região padrão (Opcional, você pode pressionar Enter)
  • Experimento

    scripts/run_gpt54_2step.sh mostra um exemplo de execução do GPT-5.4 CUA no StepJack.

    1. Defina as Variáveis de Ambiente

      Chaves de 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'
      

      Credenciais AWS

      root@kitploit:~
      export AWS_REGION='XX'
      export AWS_ACCESS_KEY='XX'
      export AWS_SECRET_KEY='XX'
      
    2. Execute os Experimentos

      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}
      

      Argumentos:

      • {subset}: Pode ser single_step (k=1), w_urgent (Urgente = Y), wo_urgent (Urgente = N).
      • {platform_instruction}: Pode ser forum, forum_follow, owncloud, owncloud_follow. Eles correspondem a 2 plataformas e 2 tipos de instruções do usuário.
      • {k}, {15*k}: O número de etapas, $k \in {1,2,3}$. Combinações (subset, k) válidas: single_step apenas com k=1; w_urgent e wo_urgent apenas com k \in \{2,3\}.
      • {reddit | agentcompany}: AMI AWS a ser iniciada. Deve ser reddit para a plataforma ou para a plataforma .

    Pipeline de Decomposição Automática e Adição de Novos Objetivos Adversariais

    O código do Pipeline de Decomposição Automática está em auto_decomp/.

    1. cd auto_decomp. Adicione novos objetivos adversariais a serem decompostos em adv_goals.py.
    2. Execute python iterative_refinement.py -k {k} para cada k \in \{2, 3\}. Saída: ir/goal_*_k{k}_N20_K3_all.json, contendo os resultados da Etapa 1.
    3. Execute python selected_examples/select_examples.py. Saída: selected_examples/selected_examples.json que seleciona os 10 melhores exemplos da Etapa 1.
    4. Para a Etapa 2, escreva exemplos de teste em json para verificação do CUA. Em seguida, registre o número de etapas necessário para selecionar o resultado final da decomposição.

    Agradecimentos

    StepJack é construído sobre o RedTeamCUA (Liao et al., 2025; arXiv:2505.21936), que por sua vez é derivado do OSWorld (XLANG NLP Lab, 2024). Ambas as fontes upstream são licenciadas sob Apache-2.0.

    Alguns diretórios de dados do StepJack não possuem cabeçalho por arquivo porque contêm binários ou fixtures que não são código-fonte. Sua linhagem é registrada aqui para atribuição:

    • adv/TheAgentCompany_OwnCloud/file_to_upload/ — copiado do RedTeamCUA (adv/TheAgentCompany_OwnCloud/file_to_upload/) originalmente licenciado sob Apache-2.0.
    • adv/upload_file/ — contém dois fixtures de chaves SSH (system/authorized_keys, system/id_rsa) usados como payloads de upload pelas configurações de tarefa do dataset. Curado pelo StepJack (os valores são strings de espaço reservado, não chaves reais). Liberado sob a licença encontrada no arquivo LICENSE no diretório raiz desta árvore de código-fonte.
    • adv/upload_file_dir/ — Original do StepJack. Não presente no RedTeamCUA. Liberado sob a licença encontrada no arquivo LICENSE no diretório raiz desta árvore de código-fonte.
    • dataset/ — adaptado dos evaluation_examples/ do RedTeamCUA com modificações substanciais. Os exemplos de avaliação do RedTeamCUA são publicados sob CC-BY-4.0 de acordo com seu croissant_metadata.json. As modificações e adições do StepJack às configurações de tarefa são liberadas sob a licença encontrada no arquivo LICENSE no diretório raiz desta árvore de código-fonte.
    • desktop_env/ — copiado/adaptado do desktop_env/ do RedTeamCUA, por sua vez derivado do OSWorld; ambas as fontes upstream são licenciadas sob Apache-2.0. Os cabeçalhos por arquivo de código-fonte (.py / .sh / .yml / .service / .txt) registram a linhagem específica de cada arquivo (cópia ou modificado pelo StepJack). Os arquivos de documentação complementar (ex.: README.md, DOCKER_GUIDELINE.md, INSTALL_*.md) são copiados do RedTeamCUA.
    Baixar ferramenta
    forum
    agentcompany
    owncloud