Eagle_Owl I agree, publishing at least a hash of the fingerprint should be much more common. I don't understand why so few developers do so. Even posting it in only one place, next to the download, would be better than not doing it at all. Maybe it's just not a common knowledge among non-security-centered developers? Might be worth letting them know and seeing how they respond before assuming malice.
In the meantime, I think I might have found a mitigation to this problem:
Dumdum where did you get the SHA for Feeder, and why does your app say the source is from Github?
My guess is that if a developer does not provide hash signature (or anything else that could be used for verification) then it's good enough to download their app multiple times, on different dates, ideally from various sources, devices, IP addresses, etc.
Every copy that you got this way should have the same hash of it's signature. If that's the case, then it's likely a genuine install, coming from the developer. So it's good idea to save it's SHA256 or SHA512 hash in a public database, so that others don't have to do the same "experiment" in order to have any kind of assurance that their install likely hasn't been tampered with by a third party. If all the signature hashes wouldn't turn out to be identical, that could indicate that at some point one or more of the sources serving said app were compromised and pushed an apk signed by a malicious third party. However, this type of attack is not persistent, as the developer would very likely notice it. Existing installs wouldn't be updated to it since Android uses Trust on First Use (TOFU) model to pin the certificate upon install.
I am aware that this "verification" method is not a perfect solution. However I think this is much better than just mindlessly downloading and hoping an app was signed by it's original developer.
@soupslurpr if you woud like, I am willing to provide a few hashes of useful apps that I "verified" this way - for cross-verification purposes ;)
I'm also curious if that's something you and others did to get some hashes for AppVerifier's database.
App Manager has an apk scanner enabling users to check hashes from MD5 up to SHA512 so it might be relevant to this thread.
io.github.muntashirakon.AppManager
32:0C:0C:0F:E8:CE:F8:73:F2:B5:54:CB:88:C8:37:F1:51:25:89:DC:CE:D5:0C:5B:25:C4:3C:04:59:67:60:AB
Don't trust just this hash, cross-verify whenever possible!