There is a strong incentive for software developers to attack their own software for the purpose of hardening security. The general philosophy is that it is better to proactively find security flaws yourself - before someone else does and uses it maliciously against your clients. Security audits can be performed by specialized teams within a company or by third-party consultants, but they almost always require the precision of a tool like IDA.
Approach
It is possible to use IDA more offensively to detect exploitable vulnerabilities in mission-critical software. Usually this involves identifying the logic that is responsible for processing user input, then aggressively analyzing it for logical errors. Often times it can be easier to spot such errors when decompiling the software from the raw machine code, because it is free of any bias or assumptions made by a lazy programmer when writing the original source code. Security auditors know what kind of bugs to look for, and they can be extremely harmful.
Lexfo used IDA to discover a bug in an IBM Banking Server. The bug could be exploited to give the attacker remote access to a machine responsible for managing electronic bank transactions:
Chris Valasek and Charlie Miller used IDA to reverse engineer the firmware in a self-driving Jeep and found vulnerabilities that allowed them to take control of the car remotely: