Adversarial logic (AL) is a new program logic inspired from Incorrectness Logic (IL) by O'Hearn. This new type of logic provides foundations for bug finding rather than the verification of the absence of bugs, and admits no false positives while allowing false negatives. AL, just like IL, provides under-approximation of possible executions rather than over-approximation (as generally done for verification). Indeed, exploitability is a fundamentally under-approximate property, where only one path needs to be exploitable. In adversarial logic, the target program and the attack program are composed in parallel and assertions are attack-driven, where the adversary must prove the existence of incorrectness conditions sufficient to exploit a vulnerability. This type of program analysis is useful to determine the criticality of software bugs and distinguish benign bugs from security vulnerabilities that can lead to compromise.