I think it should be handled not by features, but by splitting std into a number of "standard" crates. Here is an old thread which discusses such approach:
Though I must say that the security motivation looks quite weak to me. As already noted, malicious code can easily circumvent such "protection".