Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
5217há 4 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.

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 aws_config.py com base nas suas próprias instâncias AWS.

  2. 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.

  3. 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

    # 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

    export AWS_REGION='XX'
    export AWS_ACCESS_KEY='XX'
    export AWS_SECRET_KEY='XX'
    
  2. Execute os Experimentos

    # 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 forum ou agentcompany para a plataforma owncloud.

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:

Baixar ferramenta