Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
StepJack — Framework de benchmarking pour évaluer les agents IA qui utilisent un ordinateur face aux injections indirectes de prompt en plusieurs étapes, avec décomposition automatique des objectifs adversariaux et environnements de test sandboxés AWS. | Kitploit
Outils/GitHubGitHub/borealisai/stepjack
Analyse Dynamique (Sandboxing)Virtualisation de SécuritéRed TeamingSécurité de l'IAAttaque Adversariale
GitHubborealisai/stepjack

StepJack

Framework de benchmarking pour évaluer les agents IA qui utilisent un ordinateur face aux injections indirectes de prompt en plusieurs étapes, avec décomposition automatique des objectifs adversariaux et environnements de test sandboxés AWS.

Voir le dépôt
21il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

StepJack : évaluation comparative de la sécurité des agents d'utilisation d'ordinateur face aux injections indirectes de prompts en plusieurs étapes

Configuration

1. Configuration de l'environnement Python

Tout d'abord, installez toutes les dépendances et assurez-vous d'exécuter Python 3.10.

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

pip install -r requirements.txt

2. Configuration de l'environnement sandbox

Nous utilisons l'environnement AWS fourni par RedTeamCUA.

AWS

  1. Configurez NETWORK_INTERFACE_MAP :

    Configurez le NETWORK_INTERFACE_MAP dans aws_config.py en fonction de vos propres instances AWS.

  2. Configurez votre groupe de sécurité :

    Il est important de configurer un groupe de sécurité qui autorise l'accès légitime à vos instances hébergées tout en bloquant les tentatives d'accès non autorisées. Cela est crucial, car l'AMI, par défaut, utilise uniquement une authentification de base par mot de passe, relativement facile à compromettre.

    Votre machine locale accédera aux services hébergés sur AWS via des connexions HTTP/TCP. Par conséquent, vous devez explicitement autoriser l'accès aux ports suivants : 8092, 6379, 9999, 5000, 9222, 8091, 2999 et 3000, qui sont utilisés par WebArena ou TheAgentCompany.

    De plus, nous utilisons SSH pour modifier directement la base de données sous-jacente afin de simuler des scénarios d'injection. Ainsi, l'accès SSH depuis votre adresse IP locale doit également être autorisé dans les paramètres du groupe de sécurité.

  3. Configurez vos identifiants AWS à l'aide de aws configure, qui vous demandera :

    • AWS Access Key ID
    • AWS Secret Access Key
    • Default region name (Optinnel, vous pouvez appuyer sur Entrée)

Expérience

scripts/run_gpt54_2step.sh montre un exemple d'exécution de GPT-5.4 CUA sur StepJack.

  1. Définir les variables d'environnement

    Clés 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'
    

    Identifiants AWS

    root@kitploit:~
    export AWS_REGION='XX'
    export AWS_ACCESS_KEY='XX'
    export AWS_SECRET_KEY='XX'
    
  2. Exécuter les expériences

    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}
    

Pipeline de décomposition automatique et ajout de nouveaux objectifs adversariaux

Le code du pipeline de décomposition automatique se trouve dans auto_decomp/.

  1. cd auto_decomp. Ajoutez de nouveaux objectifs adversariaux à décomposer dans adv_goals.py.
  2. Exécutez python iterative_refinement.py -k {k} pour chaque k \in \{2, 3\}. Sortie : ir/goal_*_k{k}_N20_K3_all.json, contenant les résultats de l'étape 1.
  3. Exécutez python selected_examples/select_examples.py. Sortie : selected_examples/selected_examples.json, qui sélectionne les 10 meilleurs exemples de l'étape 1.
  4. Pour l'étape 2, écrivez des exemples de test json pour la vérification CUA. Ensuite, enregistrez le nombre d'étapes nécessaire pour sélectionner le résultat final de la décomposition.

Remerciements

StepJack s'appuie sur RedTeamCUA (Liao et al., 2025 ; arXiv:2505.21936), lui-même dérivé d'OSWorld (XLANG NLP Lab, 2024). Les deux sources en amont sont sous licence Apache-2.0.

Certains répertoires de données StepJack ne comportent pas d'en-tête par fichier, car ils contiennent des fichiers binaires ou des fixtures ne relevant pas du code source. Leur provenance est indiquée ici à des fins d'attribution :

  • adv/TheAgentCompany_OwnCloud/file_to_upload/ — copié depuis RedTeamCUA (adv/TheAgentCompany_OwnCloud/file_to_upload/), à l'origine sous licence Apache-2.0.
  • adv/upload_file/ — contient deux fixtures de clés SSH (system/authorized_keys, system/id_rsa) servant de charges utiles de téléversement dans les configurations de tâches du jeu de données. Curation StepJack (les valeurs sont des chaînes factices, pas de vraies clés). Publié sous la licence figurant dans le fichier LICENSE à la racine de cette arborescence source.
  • adv/upload_file_dir/ — Original StepJack. Absent de RedTeamCUA. Publié sous la licence figurant dans le fichier LICENSE à la racine de cette arborescence source.
  • dataset/ — adapté depuis les evaluation_examples/ de RedTeamCUA avec des modifications substantielles. Les exemples d'évaluation de RedTeamCUA sont publiés sous conformément à leur . Les modifications et ajouts de StepJack aux configurations de tâches sont publiés sous la licence figurant dans le fichier à la racine de cette arborescence source.
Télécharger l’outil

Arguments :

  • {subset} : peut être single_step (k=1), w_urgent (Urgent = Y), wo_urgent (Urgent = N).
  • {platform_instruction} : peut être forum, forum_follow, owncloud, owncloud_follow. Ils correspondent à 2 plateformes et 2 types d'instructions utilisateur.
  • {k}, {15*k} : le nombre d'étapes, $k \in {1,2,3}$. Combinaisons (subset, k) valides : single_step uniquement avec k=1 ; w_urgent et wo_urgent uniquement avec k \in \{2,3\}.
  • {reddit | agentcompany} : AMI AWS à lancer. Doit être reddit pour la plateforme forum ou agentcompany pour la plateforme owncloud.
CC-BY-4.0
croissant_metadata.json
LICENSE
  • desktop_env/ — copié/adapté depuis le desktop_env/ de RedTeamCUA, lui-même dérivé d'OSWorld ; les deux sources en amont sont sous licence Apache-2.0. Les en-têtes par fichier source (.py / .sh / .yml / .service / .txt) indiquent la provenance spécifique de chaque fichier (copie ou modifié par StepJack). Les fichiers de documentation associés (par ex. README.md, DOCKER_GUIDELINE.md, INSTALL_*.md) sont copiés depuis RedTeamCUA.