FACTA and auditing are the main mechanisms.
Foreign banks are required to report information about accounts owned by US citizens to the FinCEN (this is called FACTA). You may remember being asked if you are a US citizen when you opened your foreign account -- this is why. If the banks don't provide this information to the US government, then they are heavily sanctioned. Many criticize FACTA for its world policing, and past attempts at repealing it, spearheaded by none other than Rand Paul, have been struck down by the courts.
If something doesn't match up between what the banks reported about you and what you reported, then this triggers an audit. Then, the IRS will request documentation, and if you do not provide it or if it does not match, then you are criminally charged with tax evasion, facing heavy fines and jail time.
This whole sour experience of being an expat and getting screwed in multiple ways has literally turned me into a tax reform lobbyist. It's quite a different experience than importing your W-2 into Turbo Tax in 30 minutes and getting a refund every year like 99% of Americans.