
Plataforma prática de laboratório de segurança de IA com mais de 50 cenários abrangendo injeção de prompts, exploração de sistemas agentivos, manipulação de modelos e ataques a limites de confiança MCP. Utiliza Ollama + FastAPI + React para prática segura ofensiva/defensiva.
AIVP é uma plataforma prática de laboratório de segurança de IA abrangendo 4 fases e 50+ laboratórios (atualmente 50+ cenários na base de código). Ele combina Ollama + Llama 3.1, um backend FastAPI e um frontend React/Vite para permitir que profissionais pratiquem técnicas ofensivas e defensivas de segurança em IA de forma segura.
Se isto te ajudar, por favor, ⭐ marque com estrela / curta o repositório, faça um fork e fique à vontade para abrir PRs!
Use o guia de execução dedicado: RUN_STEPS.md. Ele aborda os fluxos manual (Vite + uvicorn) e Docker (nginx + API + Redis, Ollama no host), incluindo pré-requisitos para acesso confiável aos laboratórios.
O comportamento da configuração é rigoroso em caminhos de execução ativos: valores de ambiente ausentes podem causar falha na inicialização por design.
A plataforma cobre quatro trilhas de treinamento:
Cada laboratório usa segredos dinâmicos por laboratório e validação explícita para que você possa verificar o sucesso do exploit em um ambiente seguro.
Apenas para Uso Educacional — Os laboratórios simulam cenários ofensivos e defensivos de segurança em IA em sistemas locais. Não direcione serviços, dados ou infraestrutura reais que você não possua ou não tenha permissão explícita para testar. Os segredos nestes laboratórios são sintéticos e regenerados por laboratório; não são credenciais de produção. Use por sua conta e risco. Nenhuma garantia é fornecida.
POST /api/labs/{lab}/chatBaixe um modelo pelo menos uma vez:
ollama pull llama3.1(ou outra variante compatível com llama3.1 de sua preferência)
apps/
api/ # Backend FastAPI (SSE -> Ollama)
main.py
requirements.txt
.env.example
web/ # Frontend React + Vite
src/
.env.example
Dica: 16 GB de RAM funcionam; 32 GB oferecem folga confortável para navegador, Node, Python e IDE.
A partir da raiz do repositório (a pasta que contém apps\api e apps\web):
# 0) Certifique-se de que o modelo está disponível
ollama pull llama3.1
# 1) Backend venv + dependências + execução
cd apps/api
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
uvicorn main:app --reload --port 8000
Abra uma nova janela do PowerShell para o frontend:
cd apps/web
npm install
copy .env.example .env
npm run dev # http://localhost:5173
# 0) Modelo
ollama pull llama3.1
# 1) Backend
cd apps/api
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn main:app --reload --port 8000
Em outro shell:
cd apps/web
npm install
cp .env.example .env
npm run dev # http://localhost:5173
ollama serve se necessário).ollama pull llama3.1.:8000.:5173.O frontend faz streaming de Eventos Enviados pelo Servidor (SSE) a partir do backend; certifique-se de que as origens CORS em
apps/api/.envincluamhttp://localhost:5173.
Formatos de ID de laboratório aceitos (pelo backend): PI-01, PI_01, pi01, p01 → todos normalizam para PI_01.
Segredos dinâmicos são criados na primeira vez que um laboratório é usado após uma reinicialização do backend. Você também pode redefinir um segredo:
POST /api/secrets/reset/{labId}
O segredo de cada laboratório é diferente e regenerado na reinicialização do backend (em memória). Considere fazer backup com um arquivo/banco de dados se precisar de persistência.
apps/api/.env)