Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compute Pressure API #521

Open
oyiptong opened this issue May 5, 2021 · 3 comments
Open

Compute Pressure API #521

oyiptong opened this issue May 5, 2021 · 3 comments
Assignees

Comments

@oyiptong
Copy link

oyiptong commented May 5, 2021

Request for Mozilla Position on an Emerging Web Specification

  • Specification Title: Compute Pressure API
  • Specification or proposal URL: https://w3c.github.io/compute-pressure/
  • Caniuse.com URL (optional):
  • Bugzilla URL (optional):
  • Mozillians who can provide input (optional):

Other information

The explainer is here: https://github.com/w3c/compute-pressure/blob/main/README.md
ChromeStatus.com entry here: https://chromestatus.com/features/5597608644968448
TAG design review request here: w3ctag/design-reviews#621

Thanks!

@annevk
Copy link
Contributor

annevk commented May 6, 2021

Concerns listed in https://lists.webkit.org/pipermail/webkit-dev/2021-May/031848.html seem rather problematic.

@zcorpan zcorpan changed the title Request for position: Compute Pressure API Compute Pressure API Oct 18, 2024
@zcorpan
Copy link
Member

zcorpan commented Dec 9, 2024

Per w3ctag/design-reviews#795 it seems the WG has addressed the feedback cited above.

@zcorpan zcorpan moved this from Unscreened to Needs assignees in standards-positions review Dec 9, 2024
@bvandersloot-mozilla bvandersloot-mozilla self-assigned this Jan 14, 2025
@bvandersloot-mozilla
Copy link
Contributor

Hello editors, @kenchris and @arskama:

👋 Firefox Privacy Team Member here!

Putting some of the resources I've reviewed here:

If I understand the design right, the feature gives websites a way to request regular updates to the platform's CPU load info, rendered as a 4-valued enum for each "pressure source". The browser has broad liberty to map the platform's signals to that enum, including latching values for some time and even obfuscating values if it looks like the API is being used as a side-channel. But overall the browser gives a good sense of the vibes of the CPUs.

Overall, I'm not too worried about this as a cross-site communication mechanism due to the mitigations of rate obfuscation and same origin restriction. Excellent work incorporating PING's feedback. I think that for many cases, the CPU load-as-measured-by-sidechannel would offer more information to an attacker. I would feel much more confident in that assertion if only pressure sources being utilized by the global doing the monitoring- is that possible?

Would it be reasonable to randomize the order of pressure sources? I don't have a fleshed out attack here, but it may be possible to learn which CPU the current tab is hosted in, and that may enable some cross site leaks.

Are there any use cases where a site would be incentivized to consume more client resources because it knows it will not degrade user experience? If so, contention becomes a weird problem between sites/programs.

Is there any chance to make the determiniation of the pressure states less implementation-defined? (caveat: I don't know what the platform APIs this would rely on look like) As it is, is seems like there is a reasonable risk that varied algorithms for determining those values would create drastically different behaviors for the same web app across browsers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs proposed position
Development

No branches or pull requests

4 participants