
Uma plataforma intencionalmente vulnerável alinhada à OWASP para aprender e testar a segurança de IA, LLM, RAG, MCP e IA Agêntica.
<div align="center">
# DVAP - Plataforma de IA Vulnerável de Propósito
**Treine. Quebre. Defenda. Sistemas de IA.**
Uma plataforma de código aberto para treinamento em segurança de IA, red/blue teaming, CTF, benchmarking e pesquisa.
Roda 100% localmente. Sem nuvem, sem APIs pagas, nenhum dado sai da sua máquina.
[](LICENSE)
[](docker-compose.yml)
[](#labs)
[](#labs)
</div>
---
## Pré-requisitos
- [Docker](https://docs.docker.com/get-docker/) 24+ e Docker Compose v2
- 16 GB de RAM no mínimo (o Ollama carrega modelos na memória; 8 GB funciona apenas para modelos pequenos)
- 20 GB de espaço livre em disco para as imagens base e pelo menos um modelo
- CPU x86-64; Apple Silicon e ARM64 são suportados, mas não testados
A GPU é opcional. O Ollama roda na CPU, mas a inferência será lenta sem uma.
---
## Início Rápido
```bash
git clone https://github.com/sonuoffsec/DVAP
cd DVAP
cp .env.example .env
docker compose up -d
```
Abra `http://localhost:8080` assim que todos os contêineres estiverem saudáveis. A primeira execução leva de 30 a 60 segundos.
---
## Sumário
- [Pré-requisitos](#prerequisites)
- [Início Rápido](#quick-start)
- [O que é o DVAP?](#what-is-dvap)
- [Por que o DVAP?](#why-dvap)
- [Como o DVAP se Diferencia](#how-dvap-differs)
- [Principais Recursos](#key-features)
- [Visão Geral da Plataforma](#platform-overview)
- [Demo](#demo)
- [Capturas de Tela](#screenshots)
- [Labs](#labs)
- [Cobertura do OWASP LLM Top 10](#owasp-llm-top-10-coverage)
- [Arquitetura](#architecture)
- [Arquitetura de Segurança](#security-architecture)
- [Serviços](#services)
- [Variáveis de Ambiente](#environment-variables)
- [Atualização](#upgrading)
- [Desenvolvimento vs Produção](#development-vs-production)
- [Executando Testes](#running-tests)
- [Roadmap](#roadmap)
- [Governança](#governance)
- [Contribuindo](#contributing)
- [Licença](#license)
---
## O que é o DVAP?
O DVAP é uma plataforma de código aberto para pesquisa, treinamento, benchmarking e red teaming em segurança de IA, projetada para ajudar profissionais de segurança, engenheiros de IA, pesquisadores, estudantes e organizações a entender como os sistemas de IA modernos falham e como defendê-los.
Construído para a era da IA, o DVAP fornece aplicações de IA intencionalmente vulneráveis, agentes, sistemas RAG, integrações MCP e ambientes específicos de domínio que podem ser atacados, analisados, avaliados e protegidos.
Diferente de playgrounds de IA baseados em nuvem, o DVAP roda inteiramente na sua máquina.
**Sem nuvem. Sem assinaturas. Sem custos de API. Sem vendor lock-in.**
---
## Por que o DVAP?
As aplicações de IA modernas introduzem superfícies de ataque totalmente novas:
- Injeção de Prompt
- Envenenamento de Memória
- Envenenamento de RAG
- Abuso de Ferramentas
- Exploração de MCP
- Ataques Multiagente
- Manipulação de Agentes Autônomos
- Exfiltração de Dados
- Falhas de Identidade e Confiança
- Riscos na Cadeia de Suprimentos de IA
No entanto, não existe uma plataforma única que permita aos pesquisadores aprender, praticar, avaliar e validar esses ataques com segurança em um só lugar.
O DVAP tem como objetivo se tornar a plataforma definitiva de código aberto para educação, pesquisa e experimentação em segurança de IA.
---
## Como o DVAP se Diferencia
| | DVAP | DVWA | HackTheBox | Gandalf (Lakera) | Posts de Blog / Artigos |
|---|---|---|---|---|---|
| Vulnerabilidades específicas de IA | Sim | Não | Parcial | Parcial | Sim (somente teoria) |
| Local, sem nuvem | Sim | Sim | Não | Não | N/A |
| 15 labs dedicados de IA | Sim | Não | Não | Não | Não |
| Mecanismo de benchmark de LLM | Sim | Não | Não | Não | Não |
| CTF com flags | Sim | Sim | Sim | Não | Não |
| Cobertura do OWASP LLM Top 10 | Completo | Não | Parcial | Parcial | Varia |
| Mapeamento MITRE ATLAS | Sim | Não | Não | Não | Varia |
| Geração de relatórios | Sim | Não | Não | Não | Não |
| Espaço de pesquisa | Sim | Não | Não | Não | Não |
| Segurança de agentes e MCP | Sim | Não | Não | Não | Não |
| Gratuito e código aberto | Sim | Sim | Parcial | Não | Sim |
O DVAP é uma das primeiras plataformas a combinar labs práticos de ataques a IA, benchmarking local de LLMs, desafios de CTF e relatórios profissionais em um único ambiente auto-hospedado.
---
## Principais Recursos
**Labs de Segurança de IA**
15 labs intencionalmente vulneráveis cobrindo técnicas reais de ataque a IA.
**Espaço de Pesquisa**
Inspecione prompts, memória, chamadas de ferramentas, documentos recuperados, ações de agentes e cadeias de ataque.
**Benchmarking de Segurança**
Avalie modelos locais e externos contra suítes de ataques de segurança de IA.
**Capture The Flag (CTF)**
Aprenda segurança de IA por meio de desafios guiados, flags, dicas e passo a passo.
**Mecanismo de Relatórios**
Gere relatórios profissionais de descobertas e benchmarks mapeados para OWASP LLM Top 10, MITRE ATLAS, CWE e CVSS.
**100% Local**
Execute tudo na sua própria máquina. Seus prompts, dados, descobertas e experimentos nunca saem do seu ambiente.
---
## Visão Geral da Plataforma

---
## 🎬 Demo
<div align="center">
[](https://youtu.be/-hzp43YpKIQ)
<sub><b>▶ Treine. Quebre. Defenda. Sistemas de IA.</b> · Clique para assistir ao passo a passo completo do ataque</sub>
</div>
---
## 📸 Capturas de Tela
<br/>
### 🖥️ Central de Comando de Pesquisa
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/8130/197aec4d8a015c2e672478a00560b1d0bea769ace05d7cfa97fa6def7b3043c8.png" width="100%" alt="Central de Comando de Pesquisa do DVAP"/>
<br/><br/>
<sub><b>Central de Comando de Pesquisa</b> · Atividade da plataforma ao vivo, ranking de benchmarks de modelos, progresso de captura de flags e saúde dos serviços em uma única visão operacional.</sub>
</div>
<br/>
---
### 🧩 Módulos da Plataforma
<br/>
<table>
<tr>
<td align="center" width="50%" valign="top">
<img src="https://assets.kitploit.com/production/public/readmes/8130/d579bd3fad720adc821d2ab155a899ec18bc85d56926b071af503ffa34b61124.png" width="100%" alt="Labs de Segurança de IA"/>
<br/><br/>
<b>⚗️ Labs de Segurança de IA</b>
<br/>
<sub>15 ambientes de IA vulneráveis em contêineres, cobrindo todas as principais classes de ataque</sub>
<br/>
</td>
<td align="center" width="50%" valign="top">
<img src="https://assets.kitploit.com/production/public/readmes/8130/22715a56e3e42848b1815f4e6beff96e2b1c9e498bbbb7ae38e0df6f6b8b52b8.png" width="100%" alt="Desafios de CTF"/>
<br/><br/>
<b>🚩 Desafios de CTF</b>
<br/>
<sub>Flags, dicas e passo a passo mapeados para OWASP LLM Top 10 e MITRE ATLAS</sub>
<br/>
</td>
</tr>
<tr>
<td align="center" width="50%" valign="top">
<img src="https://assets.kitploit.com/production/public/readmes/8130/676a61f338ed5f3f0817eb849bea62b15a65df8e3218d76eaf99e13aece5d289.png" width="100%" alt="Central de Benchmarks"/>
<br/><br/>
<b>📊 Central de Benchmarks</b>
<br/>
<sub>Avalie LLMs locais contra suítes de injeção de prompt, jailbreak e exfiltração de dados</sub>
<br/>
</td>
<td align="center" width="50%" valign="top">
<img src="https://assets.kitploit.com/production/public/readmes/8130/828b14ae16a5ab36a6123263c061c9bf08dae7432d5ff5e320a06a7b2f8b33c3.png" width="100%" alt="Espaço de Pesquisa"/>
<br/><br/>
<b>🔬 Espaço de Pesquisa</b>
<br/>
<sub>Registro completo do trace de prompts, memória, chamadas de ferramentas e comportamento dos agentes</sub>
<br/>
</td>
</tr>
</table>
<br/>
---
### 🛡️ Painel de Descobertas
<div align="center">
<img src="https://assets.kitploit.com/production/public/readmes/8130/e3bd756a9efcce9893a122db649f018efd4d487b7010cd67d26805fcd3b7b725.png" width="100%" alt="Painel de Descobertas do DVAP"/>
<br/><br/>
<sub><b>Painel de Descobertas</b> · Acompanhe, faça a triagem e documente descobertas de segurança com classificações de gravidade, mapeamento OWASP LLM Top 10, técnicas MITRE ATLAS e relatórios prontos para exportação.</sub>
</div>
---
## Labs
15 labs em contêineres, cada um com flags, dicas, passo a passo e mapeamento OWASP LLM Top 10 + MITRE ATLAS.
| Lab | Dificuldade | OWASP LLM | MITRE ATLAS |
|---|---|---|---|
| Prompt Injection | Iniciante | LLM01 | AML.T0051, AML.T0054 |
| Memory Poisoning | Intermediário | LLM02 | AML.T0054 |
| RAG Poisoning | Intermediário | LLM02, LLM03 | AML.T0020, AML.T0043 |
| Tool Output Injection | Intermediário | LLM07 | AML.T0054, AML.T0068 |
| MCP Security | Avançado | LLM07 | AML.T0068 |
| Browser Agent Security | Avançado | LLM07, LLM09 | AML.T0054 |
| Multi-Agent Security | Avançado | LLM08 | AML.T0054 |
| Autonomous Agent Security | Avançado | LLM08, LLM09 | AML.T0054 |
| Data Exfiltration | Avançado | LLM06 | AML.T0057, AML.T0058 |
| Agent Identity and Trust Abuse | Avançado | LLM08 | AML.T0058 |
| AI Banking Platform | Intermediário | LLM01, LLM06 | AML.T0043 |
| AI Healthcare Environment | Avançado | LLM01, LLM06 | AML.T0043 |
| Multi-Tenant AI SaaS | Avançado | LLM06 | AML.T0043 |
| AI Supply Chain Security | Especialista | LLM03, LLM05 | AML.T0010, AML.T0048 |
| AI Developer Platform | Especialista | LLM03, LLM07 | AML.T0010, AML.T0068 |
Cada lab roda em um contêiner Docker isolado com seu próprio endpoint de LLM baseado em Ollama.
---
## Cobertura do OWASP LLM Top 10
O DVAP está alinhado ao [OWASP Top 10 for Large Language Model Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/). Cada categoria é mapeada para um ou mais labs dedicados.
| Categoria | Nome | Labs | Status |
|---|---|---|---|
| LLM01 | Prompt Injection | Prompt Injection, AI Banking Platform, AI Healthcare Environment | Coberto |
| LLM02 | Data and Memory Poisoning | Memory Poisoning, RAG Poisoning | Coberto |
| LLM03 | Supply Chain and Training Data Risks | RAG Poisoning, AI Supply Chain Security, AI Developer Platform | Coberto |
| LLM04 | Model Denial of Service | | Planejado (v1.2) |
| LLM05 | Insecure Supply Chain | AI Supply Chain Security | Coberto |
| LLM06 | Sensitive Information Disclosure | Data Exfiltration, AI Banking Platform, AI Healthcare Environment, Multi-Tenant AI SaaS | Coberto |
| LLM07 | Insecure Plugin Design | Tool Output Injection, MCP Security, Browser Agent Security, AI Developer Platform | Coberto |
| LLM08 | Excessive Agency | Multi-Agent Security, Autonomous Agent Security, Agent Identity and Trust Abuse | Coberto |
| LLM09 | Overreliance | Browser Agent Security, Autonomous Agent Security | Coberto |
| LLM10 | Model Theft | | Planejado (v1.2) |
8 das 10 categorias cobertas em 15 labs. LLM04 e LLM10 estão no roadmap da v1.2.
---
## Arquitetura
```mermaid
graph TB
User([User Browser]) --> Nginx[Nginx :8080]
Nginx --> Web[Next.js Frontend :3000]
Nginx --> API[FastAPI Backend :8000]
API --> PG[(PostgreSQL)]
API --> Redis[(Redis)]
API --> Qdrant[(Qdrant)]
API --> Sock[Docker Socket]
Sock --> L1[Lab Container]
Sock --> L2[Lab Container]
Sock --> LN[Lab Container ...]
L1 --> Ollama[Ollama :11434]
L2 --> Ollama
LN --> Ollama
subgraph dvap-internal network
Web
API
PG
Redis
Qdrant
end
subgraph dvap-labs network
L1
L2
LN
Ollama
end
```
Os contêineres dos labs ficam isolados em uma rede Docker separada. Eles podem acessar o Ollama para inferência de LLM, mas não podem acessar o banco de dados, o Redis ou o Qdrant.
---
## Arquitetura de Segurança
### Isolamento de Rede
Duas redes Docker mantêm o tráfego dos labs separado da infraestrutura da plataforma:
- `dvap-internal` (172.20.0.0/24) - PostgreSQL, Redis, Qdrant, API, frontend, Nginx
- `dvap-labs` (172.21.0.0/24) - contêineres dos labs e Ollama
Os contêineres dos labs podem acessar o Ollama e nada mais na rede interna. Eles não podem acessar PostgreSQL, Redis ou Qdrant.
### Acesso ao Docker Socket
**Compromisso conhecido:** O contêiner da API monta `/var/run/docker.sock` para criar e parar contêineres de labs sob demanda (Docker-out-of-Docker). Isso concede ao processo da API acesso equivalente a root ao daemon Docker do host.
Esta é uma decisão de design intencional. O DVAP é uma instalação local para um único usuário, voltada a pesquisa e treinamento em segurança, e não um serviço multi-tenant. O compromisso é aceito porque:
- Não existe interface administrativa acessível pela rede que possa acionar operações arbitrárias de contêineres
- Os limites de recursos dos contêineres dos labs (512 MB de RAM, 0,5 CPU) evitam a exaustão de recursos
- As imagens dos labs são construídas a partir de Dockerfiles controlados neste repositório
Se você estiver implantando o DVAP em um ambiente compartilhado ou em rede, substitua a montagem do socket por um socket Docker rootless ou um socket Podman (`/run/user/1000/podman/podman.sock`) e restrinja o acesso de rede da API de acordo.
### TTL de Instâncias
As instâncias dos labs param automaticamente após 1 hora por meio de chaves TTL no Redis. Chame `POST /api/v1/instances/cleanup` para acionar a limpeza antecipada.
### Limitação de Taxa
As submissões de flags são limitadas a 15 tentativas por janela de 60 segundos por token de sessão.
---
## Serviços
| Serviço | Porta (interna) | Finalidade |
|---|---|---|
| PostgreSQL | 5432 | Armazenamento de dados principal |
| Redis | 6379 | Limitação de taxa, TTL de instâncias |
| Qdrant | 6333 | Busca semântica sobre as descobertas |
| Ollama | 11434 | Inferência local de LLM |
| API | 8000 | Backend FastAPI |
| Web | 3000 | Frontend Next.js |
| Nginx | 8080 (host) | Proxy reverso |
---
## Variáveis de Ambiente
Consulte `.env.example` para todas as variáveis. As principais a alterar antes de qualquer implantação em rede:
```
SECRET_KEY= # strong random value for HMAC signing
POSTGRES_PASSWORD= # change from the default
REDIS_PASSWORD= # change from the default
```
---
## Atualização
Um único comando mantém sua instalação atualizada:
```bash
make upgrade
```
Isso executa `git pull` e depois reconstrói e reinicia todos os contêineres. As migrações de banco de dados são executadas automaticamente a cada inicialização do contêiner da API.
Sem `make`:
```bash
git pull
docker compose up -d --build
```
### O que é atualizado automaticamente
- Código do backend e endpoints da API
- Painel do frontend
- Esquema do banco de dados (migrações Alembic)
- Definições dos labs
### O que nunca é alterado
- Seus dados (descobertas, sessões de pesquisa, resultados de benchmarks, campanhas)
- Seu arquivo `.env`
### Verifique se há novas variáveis de ambiente
```bash
diff .env .env.example
```
---
## Desenvolvimento vs Produção
```bash
# Development (default) - auto-loads docker-compose.override.yml
# Hot reload for API and frontend, source mounted as volumes
docker compose up -d
# Production - baked images, no volume mounts, 4 uvicorn workers
docker compose -f docker-compose.yml up -d
```
Crie as imagens antes da execução em produção:
```bash
docker build -t dvap-api:latest --target production ./backend
docker build -t dvap-web:latest --target production ./frontend
```
---
## Executando Testes
Os testes exigem uma instância PostgreSQL. Inicie a stack primeiro:
```bash
docker compose up -d postgres
export TEST_DATABASE_URL=postgresql+asyncpg://dvap:<your-postgres-password>@localhost:5432/dvap_test
cd backend
pip install -e ".[dev]"
pytest
```
---
## Roadmap
### v1.1 - Cobertura Expandida de Labs
- [ ] Lab de segurança de agentes LangChain
- [ ] Lab de segurança multiagente CrewAI
- [ ] Lab de segurança RAG LlamaIndex
- [ ] Lab de agente autônomo estilo AutoGPT
### v1.2 - Benchmarking Aprimorado
- [ ] Suporte a modelos de API OpenAI e Anthropic
- [ ] Construtor de suítes de benchmark personalizadas
- [ ] Relatórios comparativos de benchmark entre versões de modelos
- [ ] Testes de regressão automatizados para segurança de modelos
### v1.3 - Melhorias na Plataforma
- [ ] Suporte a múltiplos usuários com isolamento de sessão
- [ ] Extensão VS Code para o espaço de pesquisa
- [ ] Integração com GitHub Actions para testes de segurança em CI/CD
- [ ] Sistema de progressão de dificuldade dos labs
### v2.0 - Automação de Red Team para IA
- [ ] Geração automatizada de cadeias de ataque
- [ ] Descoberta de vulnerabilidades assistida por IA
- [ ] Modelos de campanhas de red team
- [ ] Integração com ferramentas de segurança populares (Burp Suite, Metasploit)
Quer contribuir com o roadmap? Abra uma issue ou inicie uma discussão.
---
## Governança
O DVAP é desenvolvido e mantido por [Sonu Chaudhary](https://github.com/sonuoffsec).
Contribuições da comunidade são bem-vindas e regidas pelas [diretrizes de Contribuição](https://github.com/sonuoffsec/dvap/blob/main/CONTRIBUTING.md). A direção de longo prazo é conduzida por meio de GitHub Issues e Discussions. Adições de labs, propostas de recursos e contribuições ao roadmap são revisadas publicamente.
Não há risco de ponto único de falha: o repositório é código aberto sob Apache 2.0 e pode ser bifurcado pela comunidade a qualquer momento.
---
## Contribuindo
Consulte [CONTRIBUTING.md](https://github.com/sonuoffsec/dvap/blob/main/CONTRIBUTING.md) para saber como adicionar labs, executar testes e enviar pull requests.
---
## Licença
Apache 2.0 - consulte [LICENSE](https://github.com/sonuoffsec/dvap/blob/main/LICENSE) para o texto completo.