What about requiring code signing? That would put the onus on the companies to ensure that they have a valid signature for apps. It doesn't have to be Apple that does the signing, it could be Verisign too (for non-App Store apps). If an app is found to be bad, the certificate can be revoked and updated immediately, perhaps using a similar process to the signature updates Apple using now. That would prevent the app from launching (no valid signature) and be a big embarrassment to the company that issued the certificate. Apple seem to be pushing this direction in their developer documentation, so I wouldn't be surprised to find this a requirement going forward (10.7.x or 10.8)
In Mac OS X Server, applications can be identified by their code signature for the purposes of allowing them to run on a clients machine using managed preferences, so it is possible for the OS to block apps that are not signed.
For open source and other apps, the user (through some step that only technical people would know - command line or keychain assistant perhaps?) could grant a machine-based signature to an unsigned app (like a key to a building) to allow it to run on the machine.
In Mac OS X Server, applications can be identified by their code signature for the purposes of allowing them to run on a clients machine using managed preferences, so it is possible for the OS to block apps that are not signed.
For open source and other apps, the user (through some step that only technical people would know - command line or keychain assistant perhaps?) could grant a machine-based signature to an unsigned app (like a key to a building) to allow it to run on the machine.













