I’m late to this thread, but wanted to share a couple thoughts and provide some direct answers.
@juraj.masiar indirectly touched on this, but I want to be a bit more explicit: “open source” and “secure” are two very different things.
While add-ons aren’t “open source”, you can still pull one apart to see exactly what its doing. Firefox and Thunderbird add-ons are distributed as XPI files (basically renamed ZIP archives) and are built using standard web technologies (HTML, CSS, JS, JSON, etc.). Tools like @rob’s CRX Viewer make it much easier to take a peak inside an extension, but making sense of what’s in there requires some specialized knowledge.
Yes. And while I hate to say this, that’s also true of basically all software.
Mozilla’s Add-ons Policies do prohibit malicious add-ons, but as they say, a law is only as good as it’s enforcement.
As for the question about a systematic way to identify and stop malware… sigh that’s difficult. We can’t even know for sure if a program will ever stop running (commonly referred to as the Halting Problem) let alone whether it will do something bad while it is running.
This is further complicated by the fact that determining maliciousness is subjective and requires context. While most of the time disabling security headers on a website is bad, sometimes that’s exactly what we have to do as developers to identify and fix bugs. If you set up an app on your phone so you know it’s physical location at all times, that’s 100% fine. If you were to install that on someone else’s phone without their knowledge or consent, that’s 100% not fine.
Unfortunately disabling updates also doesn’t keep you 100% safe. Even if, to the best of all of our collective knowledge, a given piece of software is safe when it is released, it may contain a zero-day vulnerability that is later exploited.
In that situation, the best protection is to install security updates as quickly as possible. That’s exactly why browsers have moved over to an “evergreen” model where they automatically update themselves as new updates as the browser vendor releases updates.