
Plataforma prática de aprendizado em segurança de IA com aplicações LLM intencionalmente vulneráveis. Explore o Top 10 da OWASP para LLMs através de cenários interativos de pizzaria abrangendo injeção de prompt, divulgação de dados e riscos na cadeia de suprimentos.
Na PwnzzAI Shop, cada fatia serve uma porção de instrução holística de segurança em IA. Esta plataforma prática de aprendizado prepara profissionais para entender a proteção das tecnologias de IA de forma ampla, entregue através de um cenário envolvente e prático de pizzaria.
Assim como um ingrediente incorreto pode estragar uma pizza, um prompt defeituoso ou uma arquitetura inadequada pode deixar as tecnologias de IA vulneráveis a ameaças graves, incluindo violações de informações, roubo de propriedade intelectual ou acesso ilegítimo.
Aqui, você explorará exemplos práticos de como vulnerabilidades são criadas, exploradas e mitigadas. Você precisa fazer login como alice/alice ou bob/bob para algumas páginas. Pegue uma fatia, mergulhe e descubra como aprender sobre segurança em IA pode ser delicioso.
Índice
A PwnzzAI Shop representa uma plataforma de aprendizado prática propositalmente construída para instrução sobre proteção de tecnologias de IA. Esta aplicação web intencionalmente insegura baseada em Flask exibe uma extensa gama de fragilidades de segurança em IA através de uma experiência imersiva de pizzaria.
Parceiro fundador: OWASP AI Exchange
PwnzzAI é projetada como uma plataforma de aprendizado abrangente e em evolução, alinhada com a taxonomia de riscos do AI Exchange. Seu escopo se expande progressivamente em sintonia com os frameworks de análise de segurança e orientações defensivas do OWASP AI Exchange, garantindo relevância a longo prazo à medida que as práticas de segurança em IA amadurecem. O projeto atualmente incorpora o OWASP Top 10 para LLMs, com uma arquitetura intencionalmente mapeada para as classificações de risco do AI Exchange. Com o tempo, a PwnzzAI visa amadurecer em um ecossistema de aprendizado estruturado que suporta:
Escolha uma destas 3 maneiras de executar a PwnzzAI:
https://www.docker.com/products/docker-desktop.git clone https://github.com/OWASP/PwnzzAI.git
cd PwnzzAI
Os laboratórios são executados com um modelo local gratuito pronto para uso. Para também usar as abas de modelo em nuvem (OpenAI / Gemini / Claude), você precisa de duas coisas — uma chave de API e um nome de modelo:
.env (OPENAI_API_KEY=...). A chave do Lab Setup tem precedência..env. Não há padrão no código, então as chamadas falham com LLM Provider NOT provided se não estiver definido.Crie o .env a partir do modelo e descomente a linha do modelo:
cp .env.example .env
# then edit .env and set, for example:
# OPENAI_MODEL=gpt-4o-mini
# (or LITELLM_MODEL=gemini/gemini-2.5-flash, etc.)
Reinicie o aplicativo após editar o .env. Para um guia completo sobre provedores/modelos, veja Workshop hosts: escolhendo OpenAI, Claude, Gemini ou outros modelos em nuvem.
Use esta opção se quiser que o Docker execute tanto o aplicativo PwnzzAI quanto o Ollama para você.
docker compose up -d
docker compose ps
http://localhost:8080
No aplicativo, vá para a página Basics e execute a configuração do Ollama para baixar os modelos.
Acompanhe os logs se necessário:
# Logs do aplicativo
docker compose logs -f pwnzzai-app
# Logs do Ollama (opcional)
docker compose logs -f ollama
docker compose down
docker compose down -v
Se você publicar a imagem do aplicativo em outro caminho de registro, substitua o nome da imagem ao iniciar:
PWNZZAI_IMAGE=ghcr.io/owasp/pwnzzai:latest docker compose up -d
O docker compose usa a imagem padrão pwnzzai-app do docker-compose.yml (substituível por PWNZZAI_IMAGE). Se docker compose up falhar com denied, unauthorized, ou similar ao baixar essa imagem, o registro pode exigir login ou sua conta pode não ter acesso de pull. Você ainda pode executar tudo a partir deste repositório compilando a imagem do aplicativo localmente e apontando o compose para ela.
A partir da raiz do repositório:
docker build -t pwnzzai-local:dev .
PWNZZAI_IMAGE=pwnzzai-local:dev docker compose up -d
Windows PowerShell:
docker build -t pwnzzai-local:dev .
$env:PWNZZAI_IMAGE="pwnzzai-local:dev"; docker compose up -d
Em seguida, abra http://localhost:8080. O primeiro carregamento pode falhar brevemente enquanto o Flask inicia dentro do container; aguarde alguns segundos e atualize se vir um erro de conexão.
Se você tiver acesso à imagem do registro, pode autenticar primeiro (exemplo para o GitHub Container Registry):
docker login ghcr.io
A mesma abordagem PWNZZAI_IMAGE=pwnzzai-local:dev se aplica à Opção 2 se você usar docker-compose.external-ollama.yml e encontrar o mesmo erro de pull.
Use esta opção se o Ollama já estiver em execução em outro lugar e você quiser executar apenas a PwnzzAI no Docker.