La progettazione avversariale consiste nel realizzare un sistema partendo dal presupposto che un avversario ne sonderà attivamente i punti deboli. Anziché considerare sempre collaborativi gli utenti o le condizioni operative, i progettisti valutano come un aggressore potrebbe sfruttare le interfacce, aggirare le misure di protezione o adattarsi al cambiamento delle difese.
In ambito di sicurezza informatica, questo approccio orienta la modellazione delle minacce, lo sviluppo di software sicuro e i test di penetrazione. I team individuano i probabili percorsi di attacco, quindi verificano i controlli e rivedono il progetto prima che le vulnerabilità vengano sfruttate nel mondo reale. Le difese possono anche mirare a rendere gli attacchi più difficili o meno vantaggiosi, anziché limitarsi ad assorbirli. Come nel caso delle armature sperimentali nella robotica da combattimento, un'idea protettiva insolita resta soltanto un'ipotesi finché non viene testata contro attacchi realistici: la sua efficacia deve essere dimostrata, non presunta.


