Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
promptmap — ein Sicherheitsscanner für benutzerdefinierte LLM-Anwendungen | Kitploit
Tools/GitHubGitHub/utkusen/promptmap
SchwachstellenscannerWebsicherheitPenetrationstestsLernen & BildungKI-SicherheitTop in KI-Sicherheit Nr.8
GitHubutkusen/promptmap

promptmap

ein Sicherheitsscanner für benutzerdefinierte LLM-Anwendungen

Repository anzeigen
1.2k13450vor 10 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
                              _________       __O     __O o_.-._ 
  Humans, Do Not Resist!  \|/   ,-'-.____()  / /\_,  / /\_|_.-._|
    _____   /            --O-- (____.--""" ___/\   ___/\  |      
   ( o.o ) /  Utku Sen's  /|\  -'--'_          /_      /__|_     
    | - | / _ __ _ _ ___ _ __  _ __| |_ _ __  __ _ _ __|___ \    
  /|     | | '_ \ '_/ _ \ '  \| '_ \  _| '  \/ _` | '_ \ __) |   
 / |     | | .__/_| \___/_|_|_| .__/\__|_|_|_\__,_| .__// __/    
/  |-----| |_|                |_|                 |_|  |_____|    

promptmap2 ist ein automatisierter Prompt-Injection-Scanner für benutzerdefinierte LLM-Anwendungen. Es unterstützt zwei Testmodi:

  • White-Box-Tests: Geben Sie Ihre System-Prompts und die Modellinformationen an. promptmap2 führt das Ziel-LLM selbst aus und testet es.

  • Black-Box-Tests: Richten Sie promptmap2 auf einen externen HTTP-Endpunkt. Es sendet Angriffs-Prompts per HTTP und untersucht die zurückgegebenen Ausgaben.

Es arbeitet mit einer Dual-LLM-Architektur:

  • Ziel-LLM: Die zu testende LLM-Anwendung auf Schwachstellen
  • Controller-LLM: Ein unabhängiges LLM, das die Antworten des Ziels analysiert, um festzustellen, ob Angriffe erfolgreich waren

Das Tool sendet Angriffs-Prompts an Ihr Ziel-LLM und verwendet das Controller-LLM, um anhand vordefinierter Bedingungen zu bewerten, ob der Angriff erfolgreich war.

Es enthält umfassende Testregeln in mehreren Kategorien, darunter Prompt-Stealing, Jailbreaking, Erzeugung schädlicher Inhalte, Bias-Tests und mehr.

[!IMPORTANT]
promptmap wurde ursprünglich 2023 veröffentlicht, aber 2025 komplett neu geschrieben.

📖 Möchten Sie Ihre LLM-Apps absichern? Sie können mein E-Book kaufen

Funktionen

  • Unterstützung mehrerer LLM-Anbieter:
    • OpenAI GPT-Modelle
    • Anthropic Claude-Modelle
    • Google Gemini-Modelle
    • XAI Grok-Modelle
    • Open-Source-Modelle via Ollama (Deepseek, Llama, Mistral, Qwen, usw.)
  • Umfassende Testregeln: 50+ vorgefertigte Regeln in 6 Kategorien
  • Flexible Bewertung: Bedingungsbasierte Bestehens-/Durchfallkriterien für jeden Test
  • Anpassbare Regeln: YAML-basierte Regeln mit Bestehens-/Durchfallbedingungen
  • Externe HTTP-Ziele: Richten Sie Black-Box-Scans per einfacher YAML-Konfigurationen auf jeden Endpunkt

promptmap2 in Aktion

Installation

  1. Klonen Sie das Repository:
git clone https://github.com/utkusen/promptmap.git
cd promptmap
  1. Installieren Sie die erforderlichen Python-Pakete:
pip install -r requirements.txt

API-Schlüssel

Setzen Sie den entsprechenden API-Schlüssel für Ihren gewählten Anbieter.

export OPENAI_API_KEY="your-openai-key"

Andere unterstützte Anbieter verwenden ANTHROPIC_API_KEY, GOOGLE_API_KEY und XAI_API_KEY.

Ollama-Installation

Wenn Sie lokale Modelle verwenden möchten, müssen Sie Ollama installieren.

Besuchen Sie die Ollama-Downloadseite und folgen Sie den Installationsanweisungen.

Verwendung

White-Box-Tests

Sie müssen Ihre System-Prompts-Datei bereitstellen. Die Standarddatei ist system-prompts.txt. Sie können Ihre eigene Datei mit dem Flag --prompts angeben. Ein Beispiel ist im Repository enthalten.

Grundlegende Verwendung

  1. Testen von OpenAI-Modellen:
python3 promptmap2.py --target-model gpt-3.5-turbo --target-model-type openai

Anthropic-, Google- und XAI-Anbieter folgen dem gleichen Muster: Wählen Sie den richtigen Modellnamen und setzen Sie --target-model-type auf anthropic, google oder xai.

  1. Testen lokaler Modelle via Ollama:
python3 promptmap2.py --target-model "llama2:7b" --target-model-type ollama
# Falls das Modell nicht installiert ist, werden Sie von promptmap gefragt, ob Sie es herunterladen möchten. Für automatischen Download verwenden Sie das Flag `-y`.
  1. Testen mit benutzerdefiniertem Ollama-Server-Standort:
# Standardmäßig verbindet sich promptmap2 mit Ollama unter http://localhost:11434
# Sie können eine benutzerdefinierte URL angeben, falls Ihr Ollama-Server woanders läuft
python3 promptmap2.py --target-model "llama2:7b" --target-model-type ollama --ollama-url http://192.168.1.100:11434

Verwendung verschiedener Controller-Modelle

Standardmäßig wird dasselbe Modell sowohl als Ziel als auch als Controller verwendet.

[!IMPORTANT]
Für das Controller-Modell wird dringend empfohlen, eines dieser leistungsstarken Modelle für eine genaue Bewertung zu verwenden:

  • OpenAI GPT-5
  • Google Gemini 2.5 Pro
  • Anthropic Claude 4 Sonnet
  • gpt-oss:20b (via Ollama)

Schwächere Modelle analysieren Ergebnisse möglicherweise nicht genau und können zu falsch positiven oder negativen Ergebnissen führen.

# Verwenden von GPT-4o als Controller zum Testen eines GPT-3.5-Ziels
python3 promptmap2.py --target-model gpt-3.5-turbo --target-model-type openai \
  --controller-model gpt-4o --controller-model-type openai

# Verwenden von Claude 4 Opus als Controller zum Testen eines lokalen Llama-Modells
python3 promptmap2.py --target-model llama2:7b --target-model-type ollama \
  --controller-model claude-4-opus-20240229 --controller-model-type anthropic

Black-Box-Tests

Wenn Sie den System-Prompt des Ziel-LLMs nicht kontrollieren, können Sie es dennoch angreifen, indem Sie ein HTTP-Anfrageschema bereitstellen. Setzen Sie --target-model-type http und geben Sie mit --http-config eine YAML-Datei an, die beschreibt, wie jede Nutzlast gesendet wird. Wichtige Felder:

  • url: Ziel der Anfrage. Beispiel: https://assistant.example.com/chat
  • method: HTTP-Verb, Standard ist POST.
  • headers: Sie können beliebige Header hinzufügen. Beispiel: Content-Type: application/json, Authorization: Bearer <token>
  • payload_placeholder: Der Angriffs-Prompt wird hier eingefügt (mehrere Positionen werden unterstützt): "{PAYLOAD_POSITION}"
  • payload_encoding: Kann none, url oder form sein, um zu steuern, wie Nutzlasten vor dem Einfügen codiert werden.
  • json oder body: Definieren Sie die Anfragenutzlast.
  • verify_ssl: Setzen Sie auf true, um TLS-Überprüfung zu aktivieren (standardmäßig deaktiviert, um das Abfangen von Datenverkehr zu erleichtern).
  • proxy: Optionale Proxy-Konfiguration (scheme, host, port und optionale Anmeldeinformationen), die sowohl für HTTP- als auch HTTPS-Datenverkehr verwendet wird.
  • answer_focus_hint: Optionaler Text-Schnipsel, der angibt, wo sich die Antwort des Assistenten in lauten HTTP-Antworten befindet.

Beispiel-JSON-Anfrage (siehe http-examples/http-config-example.yaml):

name: Example External Chat Endpoint
method: POST
url: https://chat.example.com/v1/messages
headers:
  Content-Type: application/json
json:
  messages:
    - role: user
      content: "{PAYLOAD_POSITION}"
answer_focus_hint: '"content": "{ANSWER_POSITION}"'
proxy:
  scheme: https
  host: 127.0.0.1
  port: 8080

Beispiel einer klassischen POST-Anfrage mit Nutzlastcodierung (http-examples/http-config-form.yaml):

name: Form Endpoint
method: POST
url: https://legacy.example.com/api/submit
headers:
  Content-Type: application/x-www-form-urlencoded
payload_encoding: form
body: "username=qa_tester&payload={PAYLOAD_POSITION}&mode=probe"
answer_focus_hint: '"message={ANSWER_POSITION}"'

promptmap2 ersetzt jedes Vorkommen von {PAYLOAD_POSITION} durch den aktuellen Angriffs-Prompt, sendet die HTTP-Anfrage und übergibt den Antworttext an das Controller-LLM zur Bewertung. Wenn answer_focus_hint angegeben ist, wird das Bewertungs-LLM angewiesen, sich auf diesen Teil der Antwort zu konzentrieren.

Tool herunterladen