Damn Vulnerable AI Agent
The AI Agent You're Supposed to Break

v0.4.0

14 agents. 12 vulnerability categories. Zero consequences. An intentionally vulnerable platform for learning, red-teaming, and validating security tools.

Full documentation

terminal
$ docker run -p 3000-3006:3000-3006 -p 3010-3011:3010-3011 \
    -p 3020-3021:3020-3021 -p 9000:9000 opena2a/dvaa

  DVAA v0.4.0
  Damn Vulnerable AI Agent

  Starting agents...
    SecureBot    :3001  [Hardened]
    HelperBot    :3002  [Weak]
    LegacyBot    :3003  [Critical]
    CodeBot      :3004  [Vulnerable]
    RAGBot       :3005  [Weak]

  14 agents running. 22 challenges loaded.
  Dashboard: http://localhost:9000

What Is DVAA

DVAA is the DVWA of AI agents. A deliberately insecure platform designed for security professionals, researchers, and developers to practice attacking and defending AI agent systems in a safe, legal environment.

10 Agents

From hardened to critically vulnerable. Each agent has different security postures and attack surfaces.

3 Protocols

OpenAI API, MCP JSON-RPC, and A2A Message. Attack agents through their native communication protocols.

22 CTF Challenges

Capture-the-flag challenges across 4 difficulty levels. Guided objectives with point-based scoring.

Attack Classes

8 categories of AI agent vulnerabilities mapped to the Open Agent Security Benchmark (OASB).

Prompt Injection

OASB 3.1

Inject instructions into agent prompts to override behavior, extract system prompts, or bypass safety filters.

Jailbreak

OASB 3.3

Bypass alignment and safety constraints to make agents perform restricted actions or reveal hidden instructions.

Data Exfiltration

OASB 4.3

Extract sensitive data from agent memory, RAG stores, or connected databases through indirect channels.

Capability Abuse

OASB 2.2

Exploit legitimate agent capabilities beyond intended scope -- file access, code execution, or API calls.

Context Manipulation

OASB 8.1

Poison or manipulate the context window to alter agent reasoning, inject false data, or cause hallucinations.

MCP Exploitation

OASB 2.3

Attack Model Context Protocol servers -- tool poisoning, schema injection, and cross-server escalation.

A2A Attacks

OASB 1.4

Exploit agent-to-agent communication -- identity spoofing, message tampering, and delegation chain abuse.

Supply Chain

OASB 6.1

Compromise agent dependencies -- malicious tools, poisoned embeddings, and compromised model endpoints.

Agents

14 agents with varying security postures. Start with LegacyBot (Critical) to learn the basics, then work your way up to SecureBot (Hardened).

AgentPortProtocolSecurity Level
SecureBot:3001APIHardened
HelperBot:3002APIWeak
LegacyBot:3003APICritical
CodeBot:3004APIVulnerable
RAGBot:3005APIWeak
VisionBot:3006APIWeak
ToolBot:3010MCPVulnerable
DataBot:3011MCPWeak
Orchestrator:3020A2AStandard
Worker:3021A2AWeak

CTF Challenges

22 challenges across 4 difficulty levels. Total of 5,900 points. Each challenge has a specific objective, target agent, and flag to capture.

Beginner
3
challenges
100 pts each
Intermediate
3
challenges
200-250 pts each
Advanced
2
challenges
300-350 pts each
Expert
2
challenges
500 pts each
Total: 5,900 points
|
10 flags to capture
|
12 vulnerability categories

Port Mappings

Agents are grouped into three protocol tiers, each on its own port range. The dashboard runs separately on port 9000.

API Agents

:3000-3006

OpenAI API

SecureBot, HelperBot, LegacyBot, CodeBot, RAGBot, VisionBot

MCP Servers

:3010-3011

MCP JSON-RPC

ToolBot, DataBot

A2A Agents

:3020-3021

A2A Message

Orchestrator, Worker

Dashboard

:9000

HTTP

Web UI

Quick Start

Four ways to get all 14 agents running locally.

Docker Hub (fastest)

terminal
$ docker run -p 3000-3006:3000-3006 \
    -p 3010-3011:3010-3011 \
    -p 3020-3021:3020-3021 \
    -p 9000:9000 opena2a/dvaa

# Open the dashboard
$ open http://localhost:9000

Docker Compose

terminal
$ git clone https://github.com/opena2a-org/damn-vulnerable-ai-agent.git
$ cd damn-vulnerable-ai-agent
$ docker compose up

# Open the dashboard
$ open http://localhost:9000

Node.js

terminal
$ git clone https://github.com/opena2a-org/damn-vulnerable-ai-agent.git
$ cd damn-vulnerable-ai-agent
$ npm start

# Test with HackMyAgent
$ npx hackmyagent attack http://localhost:3003/v1/chat/completions \
    --api-format openai

OpenA2A CLI

terminal
# Pulls image, maps ports, starts DVAA
$ opena2a train start

# Stop and clean up
$ opena2a train stop
10
Agents
8
Attack classes
10
CTF challenges
3
Protocols

Start breaking AI agents

Pull the image and start hacking in under 60 seconds.

docker run -p 3000-3006:3000-3006 -p 3010-3011:3010-3011 -p 3020-3021:3020-3021 -p 9000:9000 opena2a/dvaa