Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
promptmap — um scanner de segurança para aplicações LLM personalizadas | Kitploit
Ferramentas/GitHubGitHub/utkusen/promptmap
Scanners de VulnerabilidadesSegurança WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de IATop em Segurança de IA nº8
GitHubutkusen/promptmap

promptmap

um scanner de segurança para aplicações LLM personalizadas

Ver Repositório
1.2k13450há 10 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
                              _________       __O     __O o_.-._ 
  Humans, Do Not Resist!  \|/   ,-'-.____()  / /\_,  / /\_|_.-._|
    _____   /            --O-- (____.--""" ___/\   ___/\  |      
   ( o.o ) /  Utku Sen's  /|\  -'--'_          /_      /__|_     
    | - | / _ __ _ _ ___ _ __  _ __| |_ _ __  __ _ _ __|___ \    
  /|     | | '_ \ '_/ _ \ '  \| '_ \  _| '  \/ _` | '_ \ __) |   
 / |     | | .__/_| \___/_|_|_| .__/\__|_|_|_\__,_| .__// __/    
/  |-----| |_|                |_|                 |_|  |_____|    

promptmap2 é um scanner automatizado de injeção de prompt para aplicações LLM personalizadas. Suporta dois modos de teste:

  • Teste de caixa branca: Forneça seus prompts de sistema e as informações do modelo. O promptmap2 executa o próprio LLM alvo e o testa.

  • Teste de caixa preta: Aponte o promptmap2 para um endpoint HTTP externo. Ele envia prompts de ataque via HTTP e inspeciona as respostas retornadas.

Opera com uma arquitetura de LLM duplo:

  • LLM Alvo: A aplicação LLM que está sendo testada quanto a vulnerabilidades
  • LLM Controlador: Um LLM independente que analisa as respostas do alvo para determinar se os ataques foram bem-sucedidos

A ferramenta envia prompts de ataque para o LLM alvo e usa o LLM controlador para avaliar se o ataque foi bem-sucedido com base em condições predefinidas.

Inclui regras de teste abrangentes em várias categorias, incluindo roubo de prompt, jailbreak, geração de conteúdo prejudicial, teste de viés e muito mais.

[!IMPORTANT]
O promptmap foi inicialmente lançado em 2023, mas completamente reescrito em 2025.

📖 Quer proteger suas aplicações LLM? Você pode comprar meu e-book

Funcionalidades

  • Suporte a Múltiplos Provedores LLM:
    • Modelos OpenAI GPT
    • Modelos Anthropic Claude
    • Modelos Google Gemini
    • Modelos XAI Grok
    • Modelos de código aberto via Ollama (Deepseek, Llama, Mistral, Qwen, etc.)
  • Regras de Teste Abrangentes: Mais de 50 regras pré-construídas em 6 categorias
  • Avaliação Flexível: Critérios de aprovação/reprovação baseados em condições para cada teste
  • Regras Personalizáveis: Regras baseadas em YAML com condições de aprovação/reprovação
  • Alvos HTTP Externos: Aponte varreduras de caixa preta para qualquer endpoint por meio de configurações YAML leves

promptmap2 em ação

Instalação

  1. Clone o repositório:
git clone https://github.com/utkusen/promptmap.git
cd promptmap
  1. Instale os pacotes Python necessários:
pip install -r requirements.txt

Chaves de API

Defina a chave de API apropriada para o provedor escolhido.

export OPENAI_API_KEY="sua-chave-openai"

Outros provedores suportados usam ANTHROPIC_API_KEY, GOOGLE_API_KEY e XAI_API_KEY.

Instalação do Ollama

Se você quiser usar modelos locais, precisa instalar o Ollama.

Acesse a Página de Download do Ollama e siga as instruções de instalação.

Uso

Teste de Caixa Branca

Você precisa fornecer seu arquivo de prompts de sistema. O arquivo padrão é system-prompts.txt. Você pode especificar seu próprio arquivo com a flag --prompts. Um arquivo de exemplo é fornecido no repositório.

Uso Básico

  1. Testando modelos OpenAI:
python3 promptmap2.py --target-model gpt-3.5-turbo --target-model-type openai

Os provedores Anthropic, Google e XAI seguem o mesmo padrão: escolha o nome correto do modelo e defina --target-model-type como anthropic, google ou xai.

  1. Testando modelos locais via Ollama:
python3 promptmap2.py --target-model "llama2:7b" --target-model-type ollama
# Se o modelo não estiver instalado, o promptmap pedirá para você baixá-lo. Se quiser baixá-lo automaticamente, use a flag `-y`.
  1. Testando com localização personalizada do servidor Ollama:
# Por padrão, o promptmap2 se conecta ao Ollama em http://localhost:11434
# Você pode especificar uma URL personalizada se seu servidor Ollama estiver rodando em outro lugar
python3 promptmap2.py --target-model "llama2:7b" --target-model-type ollama --ollama-url http://192.168.1.100:11434

Usando Modelos Controladores Diferentes

Por padrão, o mesmo modelo é usado como alvo e controlador.

[!IMPORTANTE]
Para o modelo controlador, é altamente recomendado usar um destes modelos poderosos para avaliação precisa:

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

Modelos mais fracos podem não analisar resultados com precisão e podem levar a falsos positivos ou negativos.

# Use GPT-4o como controlador para testar um alvo GPT-3.5
python3 promptmap2.py --target-model gpt-3.5-turbo --target-model-type openai \
  --controller-model gpt-4o --controller-model-type openai

# Use Claude 4 Opus como controlador para testar um modelo local Llama
python3 promptmap2.py --target-model llama2:7b --target-model-type ollama \
  --controller-model claude-4-opus-20240229 --controller-model-type anthropic

Teste de Caixa Preta

Se você não controla o prompt de sistema do LLM alvo, ainda pode atacá-lo fornecendo um esquema de solicitação HTTP. Defina --target-model-type http e forneça --http-config apontando para um arquivo YAML que descreve como enviar cada payload. Campos principais:

  • url: Destino da solicitação. Por exemplo: https://assistant.example.com/chat
  • method: Verbo HTTP, padrão é POST.
  • headers: Você pode adicionar quaisquer cabeçalhos desejados. Por exemplo: Content-Type: application/json, Authorization: Bearer <token>
  • payload_placeholder: O prompt de ataque será inserido aqui (várias posições são suportadas): "{PAYLOAD_POSITION}"
  • payload_encoding: Pode ser none, url ou form para controlar como os payloads são codificados antes da inserção.
  • json ou body: Defina o payload da solicitação.
  • verify_ssl: Defina como true para habilitar verificação TLS (padrão desabilitado por conveniência ao interceptar tráfego).
  • proxy: Configuração opcional de proxy (scheme, host, port e credenciais opcionais) usada tanto para tráfego HTTP quanto HTTPS.
  • answer_focus_hint: Snippet de string opcional que localiza onde a resposta do assistente está dentro de respostas HTTP ruidosas.

Exemplo de solicitação JSON (veja 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

Exemplo de solicitação POST clássica com codificação de payload (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}"'

O promptmap2 substitui cada entrada {PAYLOAD_POSITION} pelo prompt de ataque atual, emite a solicitação HTTP e alimenta o corpo da resposta de volta ao LLM controlador para avaliação. Quando answer_focus_hint é fornecido, o LLM avaliador é instruído a focar nessa parte da resposta.

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

Opções Avançadas

  1. Saída JSON:
python3 promptmap2.py --target-model gpt-4 --target-model-type openai --output results.json
  1. Número personalizado de iterações de teste:
Baixar ferramenta