STEP 1:
Make every theme/plugin author create a private key to sign their releases. Their public key will be available on their profile page and via API. Wordpress will notify you if the public key for an author has changed or if a release signature doesn't match the public key.
Why is this not done?
(Also in other software that uses plugins and is updated easily over the internet.)