https://googleprojectzero.blogspot.com/2016/06/how-to-compro...
Contrast with the kind of exploit chains usually required on securely-designed systems like iOS or modern apps like Chrome where they need to chain multiple exploits together to escape from the sandbox before being able to attack something else. The AV industry has earned that bad reputation by generally being unwilling to spend the money needed to apply modern practice.
So to get past that premise, you have to remove the "broken" part before the method of injection matters.
It's that AV - basically all AV - is buggy and insecure in totally unrelated, internal ways. It does shockingly dangerous and irresponsible things like leaving exposed debug frameworks on a program with kernel access.
So my concern about AV's browser injection isn't "they should interface better". It's "this is shamefully bad and dangerous software that I want to uninstall, so it should stay out of my browser". Fixing that isn't a problem for Chrome devs, it's about making a product safe enough to contemplate interfacing with. (There are a handful of AV contenders for that, and I don't object to them.)
But I'm commenting to ask you to expand on
> "There are a handful of AV contenders for that."
Could you be pleaded to drop some names?
But let's say that you come up with some "deep hook" API that could give AV vendors a better way to look over the browser's shoulder. You can't provide the hook API and magically only hand it to trustworthy AV vendors: a "deep hook" API increases the overall API surface of the application and you have to treat it and secure it and maintain it like any other third-party accessible API, including assuming that it could be misused by untrustworthy third-parties.
A deep hook API would be wonderful for spyware.
The browser does this, the AV does not, so yeah, no AV devs seems to know about security.
- increasing code that runs with elevated privileges in a system
- running untested, buggy parsing code with elevated privileges in the system
- inject ROP gadgets in every process in the system
- isolating your code's components to contain the risk of vulnerabilities in your own code