Some examples of scenarios where users depend on client trust include:
Users like visiting websites that are expensive to create and maintain, but they often want or need to do it without paying directly. These websites fund themselves with ads, but the advertisers can only afford to pay for humans to see the ads, rather than robots. This creates a need for human users to prove to websites that they’re human, sometimes through tasks like challenges or logins.
Users want to know they are interacting with real people on social websites but bad actors often want to promote posts with fake engagement (for example, to promote products, or make a news story seem more important). Websites can only show users what content is popular with real people if websites are able to know the difference between a trusted and untrusted environment.
Users playing a game on a website want to know whether other players are using software that enforces the game’s rules.
Users sometimes get tricked into installing malicious software that imitates software like their banking apps, to steal from those users. The bank’s internet interface could protect those users if it could establish that the requests it’s getting actually come from the bank’s or other trustworthy software.
Combine them and you have an anti-adblocking feature.
It also says
How does this affect browser modifications and extensions?
Web Environment Integrity attests the legitimacy of the underlying hardware and software stack, it does not restrict the indicated application’s functionality: E.g. if the browser allows extensions, the user may use extensions; if a browser is modified, the modified browser can still request Web Environment Integrity attestation.
Which is a whole lot of nothing. Of course you can still install extensions and sure, it can still request attestation, but that doesn’t mean it will get it. But this isn’t even important because I’m sure attestation for being a human (case 1) will fail anyway if the ads get blocked.
But even assuming that it doesn’t interfere with ad blockers, this is still going to allow some shitty website to query code running on your device that isn’t under your control to snitch on you. It’s fundamentally stupid and wrong to trust any client data about the client, using extra processors and features is a garbage, intrusive workaround that still doesn’t even actually work reliably from the shitty developers/website owner’s point of view. Also see: Android custom ROMs and the lengths they successfully go to in order to run banking apps.
The proposal’s explainer dances around the fact that it can be used for that.
Combine them and you have an anti-adblocking feature.
It also says
Which is a whole lot of nothing. Of course you can still install extensions and sure, it can still request attestation, but that doesn’t mean it will get it. But this isn’t even important because I’m sure attestation for being a human (case 1) will fail anyway if the ads get blocked.
But even assuming that it doesn’t interfere with ad blockers, this is still going to allow some shitty website to query code running on your device that isn’t under your control to snitch on you. It’s fundamentally stupid and wrong to trust any client data about the client, using extra processors and features is a garbage, intrusive workaround that still doesn’t even actually work reliably from the shitty developers/website owner’s point of view. Also see: Android custom ROMs and the lengths they successfully go to in order to run banking apps.
And the second and forth points are already solved using client certificates.