Canister integrity verification on chain is missing

Yes.

I believe that is one of the things SNS is meant to do. Open Governance canister for SNS | Design proposal

Correction: I meant not exactly the same “check hash before calling canister”, but more generally to ensure code update goes through security reviews, etc.