Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
promptmap — сканер безопасности для кастомных LLM-приложений | Kitploit
Инструменты/GitHubGitHub/utkusen/promptmap
Сканеры уязвимостейВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеБезопасность ИИТоп в Безопасность ИИ №8
GitHubutkusen/promptmap

promptmap

сканер безопасности для кастомных LLM-приложений

Репозиторий
1.2k1345010 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

_________ O O o.-. Humans, Do Not Resist! |/ ,-'-.() / /_, / /_|.-.| _____ / --O-- (.--""" /\ _/\ |
( o.o ) / Utku Sen's /|\ -'--'
/
/
|

| - | / _ __ _ _ ___ _ __ _ | | _ __ __ _ _ | \
/| | | '
\ '
/ _ \ ' | '
\ | ' / ` | ' \ ) |
/ | | | .
/
| ___/
||| ./_||||_,| .// /
/ |-----| || || |_| |
___|

promptmap2 — это автоматический сканер инъекций промптов для пользовательских LLM-приложений. Поддерживает два режима тестирования:

  • Тестирование методом белого ящика: Вы предоставляете системные промпты и информацию о модели. promptmap2 запускает целевую LLM самостоятельно и тестирует её.

  • Тестирование методом чёрного ящика: Направьте promptmap2 на внешний HTTP-эндпоинт. Он отправляет атакующие промпты через HTTP и анализирует полученные ответы.

В основе лежит архитектура с двумя LLM:

  • Целевая LLM: LLM-приложение, которое тестируется на уязвимости
  • Контроллерная LLM: Независимая LLM, анализирующая ответы цели и определяющая, успешна ли атака

Инструмент отправляет атакующие промпты вашей целевой LLM, а контроллерная LLM оценивает, была ли атака успешной, на основе заранее заданных условий.

Включает в себя комплексные правила тестирования по множеству категорий, включая кражу промптов, джейлбрейк, генерацию вредоносного контента, тестирование предвзятости и другие.

[!IMPORTANT]
promptmap был впервые выпущен в 2023 году, но полностью переписан в 2025.

📖 Хотите защитить свои LLM-приложения? Вы можете купить мою электронную книгу

Возможности

  • Поддержка множества LLM-провайдеров:
    • Модели OpenAI GPT
    • Модели Anthropic Claude
    • Модели Google Gemini
    • Модели XAI Grok
    • Модели с открытым исходным кодом через Ollama (Deepseek, Llama, Mistral, Qwen и др.)
  • Комплексные правила тестирования: Более 50 предустановленных правил в 6 категориях
  • Гибкая оценка: Критерии прохождения/непрохождения для каждого теста
  • Настраиваемые правила: Правила на YAML с условиями прохождения/непрохождения
  • Внешние HTTP-цели: Направляйте черноящичные сканирования на любой эндпоинт с помощью лёгких YAML-конфигураций

promptmap2 в действии

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/utkusen/promptmap.git
cd promptmap
  1. Установите необходимые пакеты Python:
pip install -r requirements.txt

API-ключи

Установите соответствующий API-ключ для выбранного провайдера.

export OPENAI_API_KEY="your-openai-key"

Другие поддерживаемые провайдеры используют ANTHROPIC_API_KEY, GOOGLE_API_KEY и XAI_API_KEY.

Установка Ollama

Если вы хотите использовать локальные модели, необходимо установить Ollama.

Перейдите на страницу загрузки Ollama и следуйте инструкциям по установке.

Использование

Тестирование методом белого ящика

Необходимо указать файл с системными промптами. По умолчанию используется файл system-prompts.txt. Вы можете указать свой файл с помощью флага --prompts. В репозитории есть пример файла.

Основное использование

  1. Тестирование моделей OpenAI:
python3 promptmap2.py --target-model gpt-3.5-turbo --target-model-type openai

Провайдеры Anthropic, Google и XAI следуют тому же шаблону: выберите правильное имя модели и укажите --target-model-type как anthropic, google или xai.

  1. Тестирование локальных моделей через Ollama:
python3 promptmap2.py --target-model "llama2:7b" --target-model-type ollama
# Если модель не установлена, promptmap предложит её загрузить. Если вы хотите загрузить её автоматически, используйте флаг `-y`.
  1. Тестирование с пользовательским адресом сервера Ollama:
# По умолчанию promptmap2 подключается к Ollama по адресу http://localhost:11434
# Вы можете указать свой URL, если ваш сервер Ollama работает на другом адресе
python3 promptmap2.py --target-model "llama2:7b" --target-model-type ollama --ollama-url http://192.168.1.100:11434

Использование разных контроллерных моделей

По умолчанию одна и та же модель используется и как цель, и как контроллер.

[!IMPORTANT]
Для контроллерной модели настоятельно рекомендуется использовать одну из этих мощных моделей для точной оценки:

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

Слабые модели могут неточно анализировать результаты и приводить к ложным срабатываниям или пропускам.

# Использовать GPT-4o как контроллер для тестирования цели GPT-3.5
python3 promptmap2.py --target-model gpt-3.5-turbo --target-model-type openai \
  --controller-model gpt-4o --controller-model-type openai

# Использовать Claude 4 Opus как контроллер для тестирования локальной модели Llama
python3 promptmap2.py --target-model llama2:7b --target-model-type ollama \
  --controller-model claude-4-opus-20240229 --controller-model-type anthropic

Тестирование методом чёрного ящика

Если вы не контролируете системный промпт целевой LLM, вы всё равно можете атаковать её, предоставив схему HTTP-запроса. Установите --target-model-type http и укажите --http-config с путём к YAML-файлу, описывающему, как отправлять каждый полезный вектор атаки. Ключевые поля:

  • url: Адрес назначения запроса. Например: https://assistant.example.com/chat
  • method: HTTP-метод, по умолчанию POST.
  • headers: Вы можете добавить любые заголовки. Например: Content-Type: application/json, Authorization: Bearer <token>
  • payload_placeholder: Атакующий промпт будет вставлен сюда (поддерживается несколько позиций): "{PAYLOAD_POSITION}"
  • payload_encoding: Может быть none, url или form для управления кодированием полезной нагрузки перед вставкой.
  • json или body: Определите тело запроса.
  • verify_ssl: Установите true, чтобы включить проверку TLS (по умолчанию отключено для удобства перехвата трафика).
  • proxy: Необязательная конфигурация прокси (scheme, host, port и опциональные учётные данные), используемая для трафика HTTP/HTTPS.
  • answer_focus_hint: Необязательная строка-подсказка, которая указывает, где в шумных HTTP-ответах находится ответ ассистента.

Пример JSON-запроса (см. 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

Пример классического POST-запроса с кодированием полезной нагрузки (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 заменяет каждое вхождение {PAYLOAD_POSITION} на текущий атакующий промпт, отправляет HTTP-запрос и передаёт тело ответа обратно в контроллерную LLM для оценки. Если указан answer_focus_hint, LLM-оценщик инструктируется сосредоточиться на этой части ответа.

python3 promptmap2.py --target-model external --target-model-type http \
  --http-config http-examples/http-config-example.yaml \
  --controller-model gpt-4 --controller-model-type openai

Расширенные опции

  1. Вывод в JSON:
python3 promptmap2.py --target-model gpt-4 --target-model-type openai --output results.json
  1. Пользовательское количество итераций тестирования:
Скачать инструмент