Adversarial Design Thinking
The Framework
ADT applies design thinking to adversarial testing. Five phases, each with a specific job. The cycle isn't linear. You move between phases as you learn.
A failed prototype sends you back to ideation. A surprising success sends you back to define what you actually found. The movement between phases is the system working, not failing.
The Cycle
01
Empathize
Understand the target. What are its constraints? Where has it been hardened? What's the gap between intended and actual behavior?
→02
Define
Name the vulnerability precisely. Not "use encoding" but "exploit tokenizer-classifier asymmetry." Precision drives better attacks.
→03
Ideate
Generate approaches without filtering. What combinations haven't been tried? What framings are underexplored? What would a different attacker attempt?
→04
Prototype
Build the attack. Assemble techniques into a concrete prompt or sequence. Make it real enough to test.
→05
Test
Execute and evaluate. Does the attack work? What does the response reveal about defenses? Use failure data to iterate.
← re-enter at any phase based on what you learned →
Core Principles
Study mechanisms, not templates
Understand why techniques work, not just what they look like. The mechanism is the vulnerability. The specific prompt is one expression of it.
Defenses are data
Every refusal tells you something about the system. Map the boundaries. The gaps between defenses are where vulnerabilities live.
Creativity is the edge
Novel attacks work because they haven't been seen. The exercises on this site generate the creativity that makes attacks effective.
Go Deeper
01
Foundations
What AI red teaming is, how it differs from traditional security, and why methodology matters.
02
Mindset
The full philosophy behind adversarial design thinking. How to study techniques, read defenses, and generate novel approaches.
03
Getting Started
Where to start on this site and why the order matters. One recommended learning path.