Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
StepJack — Benchmarking-Framework zur Bewertung von Computer-Use-KI-Agenten gegen mehrstufige indirekte Prompt-Injection, mit automatischer adversarialer Zielzerlegung und AWS-Sandbox-Testumgebungen. | Kitploit
Tools/GitHubGitHub/borealisai/stepjack
Dynamische Analyse (Sandboxing)SicherheitsvirtualisierungRed TeamingKI-SicherheitAdversarial-Angriff
GitHubborealisai/stepjack

StepJack

Benchmarking-Framework zur Bewertung von Computer-Use-KI-Agenten gegen mehrstufige indirekte Prompt-Injection, mit automatischer adversarialer Zielzerlegung und AWS-Sandbox-Testumgebungen.

Repository anzeigen
21vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

StepJack: Benchmarking der Sicherheit von Computer-Use-Agenten gegen mehrstufige indirekte Prompt-Injection

Einrichtung

1. Einrichtung der Python-Umgebung

Installieren Sie zuerst alle Abhängigkeiten und stellen Sie sicher, dass Sie Python 3.10 verwenden.

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

pip install -r requirements.txt

2. Einrichtung der Sandbox-Umgebung

Wir verwenden die von RedTeamCUA bereitgestellte AWS-Umgebung.

AWS

  1. Konfigurieren Sie NETWORK_INTERFACE_MAP:

    Konfigurieren Sie NETWORK_INTERFACE_MAP in aws_config.py basierend auf Ihren eigenen AWS-Instanzen.

  2. Konfigurieren Sie Ihre Sicherheitsgruppe:

    Es ist wichtig, eine Sicherheitsgruppe zu konfigurieren, die legitimen Zugriff auf Ihre gehosteten Instanzen erlaubt und gleichzeitig unbefugte Zugriffsversuche blockiert. Dies ist entscheidend, da das AMI standardmäßig nur eine einfache passwortbasierte Authentifizierung verwendet, die relativ leicht zu kompromittieren ist.

    Ihr lokaler Computer greift über HTTP/TCP-Verbindungen auf die auf AWS gehosteten Dienste zu. Daher sollten Sie explizit den Zugriff auf die folgenden Ports erlauben: 8092, 6379, 9999, 5000, 9222, 8091, 2999 und 3000, die entweder von WebArena oder TheAgentCompany verwendet werden.

    Darüber hinaus verwenden wir SSH, um die zugrunde liegende Datenbank direkt zu modifizieren und so Injektionsszenarien zu simulieren. Daher muss in den Einstellungen der Sicherheitsgruppe auch SSH-Zugriff von Ihrer lokalen IP-Adresse erlaubt sein.

  3. Konfigurieren Sie Ihre AWS-Anmeldeinformationen mit aws configure. Sie werden zur Eingabe folgender Daten aufgefordert:

    • AWS Access Key ID
    • AWS Secret Access Key
    • Standard-Regionsname (Optional, Sie können die Eingabetaste drücken)

Experiment

scripts/run_gpt54_2step.sh zeigt ein Beispiel für die Ausführung von GPT-5.4 CUA auf StepJack.

  1. Umgebungsvariablen festlegen

    CUA-API-Schlüssel

    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-Anmeldeinformationen

    root@kitploit:~
    export AWS_REGION='XX'
    export AWS_ACCESS_KEY='XX'
    export AWS_SECRET_KEY='XX'
    
  2. Die Experimente ausführen

    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}
    

Automatische Dekompositions-Pipeline und Hinzufügen neuer adversarischer Ziele

Der Code der Automatic Decomposition Pipeline befindet sich in auto_decomp/.

  1. Wechseln Sie mit cd auto_decomp in das Verzeichnis. Fügen Sie neue zu dekomponierende adversarische Ziele zu adv_goals.py hinzu.
  2. Führen Sie python iterative_refinement.py -k {k} für jedes k \in \{2, 3\} aus. Ausgabe: ir/goal_*_k{k}_N20_K3_all.json, das die Ergebnisse von Stufe 1 enthält.
  3. Führen Sie python selected_examples/select_examples.py aus. Ausgabe: selected_examples/selected_examples.json, das die Top-10-Beispiele aus Stufe 1 auswählt.
  4. Schreiben Sie für Stufe 2 JSON-Testbeispiele für die CUA-Verifizierung. Notieren Sie dann die Anzahl der Schritte, die zur Auswahl des endgültigen Dekompositionsergebnisses benötigt wurde.

Danksagung

StepJack basiert auf RedTeamCUA (Liao et al., 2025; arXiv:2505.21936), das wiederum von OSWorld (XLANG NLP Lab, 2024) abgeleitet ist. Beide Upstream-Quellen sind unter Apache-2.0 lizenziert.

Einige StepJack-Datenverzeichnisse besitzen keine Datei-Kopfzeilen, da sie binäre oder Nicht-Quellcode-Fixtures enthalten. Ihre Herkunft wird hier zur Quellenangabe festgehalten:

  • adv/TheAgentCompany_OwnCloud/file_to_upload/ — kopiert von RedTeamCUA (adv/TheAgentCompany_OwnCloud/file_to_upload/), ursprünglich lizenziert unter Apache-2.0.
  • adv/upload_file/ — enthält zwei SSH-Key-Fixtures (system/authorized_keys, system/id_rsa), die von den Aufgabenkonfigurationen des Datensatzes als Upload-Payloads verwendet werden. Von StepJack kuratiert (die Werte sind Platzhalterstrings, keine echten Schlüssel). Veröffentlicht unter der Lizenz in der Datei LICENSE im Stammverzeichnis dieses Quellbaums.
  • adv/upload_file_dir/ — StepJack-Original. Nicht in RedTeamCUA enthalten. Veröffentlicht unter der Lizenz, die sich in der Datei LICENSE im Stammverzeichnis dieses Quellbaums befindet.
  • dataset/ — aus RedTeamCUAs evaluation_examples/ mit erheblichen Änderungen übernommen. RedTeamCUAs Evaluationsbeispiele sind gemäß ihrer unter veröffentlicht. StepJacks Änderungen und Ergänzungen an den Aufgabenkonfigurationen werden unter der Lizenz veröffentlicht, die sich in der Datei im Stammverzeichnis dieses Quellbaums befindet.
Tool herunterladen

Argumente:

  • {subset}: Kann single_step (k=1), w_urgent (Urgent = Y), wo_urgent (Urgent = N) sein.
  • {platform_instruction}: Kann forum, forum_follow, owncloud, owncloud_follow sein. Sie entsprechen 2 Plattformen und 2 Arten von Benutzeranweisungen.
  • {k}, {15*k}: Die Nummer der Schrittzahl, $k \in {1,2,3}$. Gültige (subset, k)-Kombinationen: single_step nur mit k=1; w_urgent und wo_urgent nur mit k \in \{2,3\}.
  • {reddit | agentcompany}: Zu startendes AWS-AMI. Sollte für die Plattform forum reddit oder für die Plattform owncloud agentcompany sein.
croissant_metadata.json
CC-BY-4.0
LICENSE
  • desktop_env/ — kopiert/übernommen aus RedTeamCUAs desktop_env/, selbst abgeleitet von OSWorld; beide Upstream-Quellen sind unter Apache-2.0 lizenziert. Die Kopfzeilen der Quelldateien (.py / .sh / .yml / .service / .txt) dokumentieren die spezifische Herkunft jeder Datei (Kopie oder StepJack-modifiziert). Begleitende Dokumentationsdateien (z. B. README.md, DOCKER_GUIDELINE.md, INSTALL_*.md) wurden von RedTeamCUA kopiert.