One thing that's IMO wrong with the way firefox checks addon signatures is that it checks signatures on already-installed addons periodically.
Why?
What's the point?
If a malicious addon was running 5 minutes ago, what do you gain by disabling it now?
And if it wasn't malicious 5 minutes ago, it's probably isn't malicious now. The code is still the same.
Install time checing - sure.
Checking on startup - fine.
But checking after you've already executed it?