Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
StepJack — Framework di benchmarking per la valutazione di agenti AI che utilizzano il computer contro la prompt injection indiretta multi-step, con decomposizione automatica di obiettivi avversari e ambienti di test in sandbox AWS. | Kitploit
Strumenti/GitHubGitHub/borealisai/stepjack
Analisi Dinamica (Sandboxing)Virtualizzazione per la SicurezzaRed TeamingSicurezza dell'IAAttacco Avversario
GitHubborealisai/stepjack

StepJack

Framework di benchmarking per la valutazione di agenti AI che utilizzano il computer contro la prompt injection indiretta multi-step, con decomposizione automatica di obiettivi avversari e ambienti di test in sandbox AWS.

Vedi Repository
213 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

StepJack: Benchmarking della sicurezza degli agenti computer-use contro l'iniezione indiretta di prompt in più passaggi

Setup

1. Configurazione dell'ambiente Python

Per prima cosa, installa tutte le dipendenze e assicurati di utilizzare Python 3.10.

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

pip install -r requirements.txt

2. Configurazione dell'ambiente sandbox

Utilizziamo l'ambiente AWS fornito da RedTeamCUA.

AWS

  1. Configura NETWORK_INTERFACE_MAP:

    Configura NETWORK_INTERFACE_MAP in aws_config.py in base alle tue istanze AWS.

  2. Configura il tuo security group:

    È importante configurare un security group che consenta l'accesso legittimo alle istanze hostate bloccando al contempo i tentativi di accesso non autorizzati. Questo è cruciale perché l'AMI, per impostazione predefinita, utilizza solo l'autenticazione di base basata su password, che è relativamente facile da compromettere.

    La tua macchina locale accederà ai servizi hostati su AWS tramite connessioni HTTP/TCP. Pertanto, dovresti consentire esplicitamente l'accesso alle seguenti porte: 8092, 6379, 9999, 5000, 9222, 8091, 2999 e 3000, che sono utilizzate da WebArena o TheAgentCompany.

    Inoltre, utilizziamo SSH per modificare direttamente il database sottostante al fine di simulare scenari di iniezione. Di conseguenza, l'accesso SSH dall'indirizzo IP locale deve essere consentito anche nelle impostazioni del security group.

  3. Configura le credenziali AWS usando aws configure, che ti chiederà:

    • AWS Access Key ID
    • AWS Secret Access Key
    • Default region name (Opzionale, puoi premere invio)

Esperimento

scripts/run_gpt54_2step.sh mostra un esempio di esecuzione di GPT-5.4 CUA su StepJack.

  1. Imposta le variabili d'ambiente

    Chiavi API CUA

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

    Credenziali AWS

    root@kitploit:~
    export AWS_REGION='XX'
    export AWS_ACCESS_KEY='XX'
    export AWS_SECRET_KEY='XX'
    
  2. Esegui gli esperimenti

    root@kitploit:~
    # Per 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}
    
    # Per 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}
    
    # Per 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}
    
    # Per 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}
    

Pipeline di decomposizione automatica e aggiunta di nuovi obiettivi avversari

Il codice della pipeline di decomposizione automatica si trova in auto_decomp/.

  1. cd auto_decomp. Aggiungi nuovi obiettivi avversari da decomporre in adv_goals.py.
  2. Esegui python iterative_refinement.py -k {k} per ogni k \in \{2, 3\}. Output: ir/goal_*_k{k}_N20_K3_all.json, contenente i risultati della Fase 1.
  3. Esegui python selected_examples/select_examples.py. Output: selected_examples/selected_examples.json che seleziona i primi 10 esempi dalla Fase 1.
  4. Per la Fase 2, scrivi esempi di test in json per la verifica CUA. Quindi, registra il numero di passaggi necessari per selezionare il risultato finale della decomposizione.

Riconoscimenti

StepJack si basa su RedTeamCUA (Liao et al., 2025; arXiv:2505.21936), che a sua volta deriva da OSWorld (XLANG NLP Lab, 2024). Entrambe le fonti a monte sono concesse in licenza sotto Apache-2.0.

Alcune directory di dati di StepJack non hanno intestazioni per-file perché contengono fixture binarie o non sorgente. La loro provenienza è registrata qui per l'attribuzione:

  • adv/TheAgentCompany_OwnCloud/file_to_upload/ — copiato da RedTeamCUA (adv/TheAgentCompany_OwnCloud/file_to_upload/) originariamente concessa in licenza sotto Apache-2.0.
  • adv/upload_file/ — contiene due fixture di chiavi SSH (system/authorized_keys, system/id_rsa) utilizzate come payload di upload dalle configurazioni delle task del dataset. Curato da StepJack (i valori sono stringhe segnaposto, non chiavi reali). Rilasciato sotto la licenza presente nel file LICENSE nella directory principale di questo albero sorgente.
  • adv/upload_file_dir/ — originale di StepJack. Non presente in RedTeamCUA. Rilasciato sotto la licenza presente nel file LICENSE nella directory principale di questo albero sorgente.
  • dataset/ — adattato da evaluation_examples/ di RedTeamCUA con modifiche sostanziali. Gli evaluation examples di RedTeamCUA sono pubblicati sotto secondo il loro . Le modifiche e le aggiunte di StepJack alle configurazioni delle task sono rilasciate sotto la licenza presente nel file nella directory principale di questo albero sorgente.
Scarica lo strumento

Argomenti:

  • {subset}: Può essere single_step (k=1), w_urgent (Urgent = Y), wo_urgent (Urgent = N).
  • {platform_instruction}: Può essere forum, forum_follow, owncloud, owncloud_follow. Corrispondono a 2 piattaforme e 2 tipi di istruzioni utente.
  • {k}, {15*k}: Il numero di passaggi, $k \in {1,2,3}$. Combinazioni valide (subset, k): single_step solo con k=1; w_urgent e wo_urgent solo con k \in \{2,3\}.
  • {reddit | agentcompany}: AMI AWS da avviare. Deve essere reddit per la piattaforma forum o agentcompany per la piattaforma owncloud.
CC-BY-4.0
croissant_metadata.json
LICENSE
  • desktop_env/ — copiato/adattato da desktop_env/ di RedTeamCUA, a sua volta derivato da OSWorld; entrambe le fonti a monte sono concesse in licenza sotto Apache-2.0. Le intestazioni per singolo file (.py / .sh / .yml / .service / .txt) registrano la discendenza specifica di ogni file (copia o modificato da StepJack). I file di documentazione di accompagnamento (ad es. README.md, DOCKER_GUIDELINE.md, INSTALL_*.md) sono copiati da RedTeamCUA.