←back to thread

990 points smitop | 3 comments | | HN request time: 0.595s | source
1. josephcsible ◴[] No.44333618[source]
> This locks a few global objects by using Object.defineProperty to set them as non-writable, which prevents later code from overwriting them with a Proxy that alters their behaviour. So uBlock Origin can only proxy JSON.stringify if it can run before this locker script does.

This seems like a bug in browsers, or possibly in the spec. Page content and scripts should never be able to restrict what browser extensions can do.

replies(2): >>44334349 #>>44336093 #
2. rasz ◴[] No.44334349[source]
>This seems like a bug in browsers

oh its a Chrome feature! Around 2 years ago Chrome pushed an update that speedup time to load first initial page by delaying Extension initialization. Last page you closed Chrome on will load before uBo, will be able to bypass all filters/block and will be able to detect uBo being loaded.

3. uzerfcwn ◴[] No.44336093[source]
Feel free to write a bug report to Chrome developers or ManifestV3 authors. In the meantime, Firefox users can override any delivered content with the webRequest API.