question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Deal with dangerous web features

See original GitHub issue

We routinely disable web-accessible features in Chromium which we consider to be dangerous (e.g. WebUSB, Web Serial, file system, WebBluetooth), however this often leads to web compatibility issues and sometimes we end up re-enabling these features later (e.g. WebUSB).

Despite other browsers refusing to implement such features, the fact that Chromium ships it increasingly means that sites and users start to rely on it and expect it to be part of every web browser.

Some ideas for how to deal with this:

  • put each feature under a new flag in brave://flags:
    • pros:
      • hard for users to enable it accidentally
    • cons:
      • not discoverable, which means we’ll continue to get issues/support requests, and less technical users have no way to find out that it’s supported in Brave
      • increases user awareness of brave://flags, which is full of flags that will break user’s browsers
  • change the permission prompt to better highlight the risks (like the stern warning we show for non-whitelisted browser extensions)
    • pros:
      • maximum discoverability and web compatibility
    • cons:
      • users who don’t read prompts will just click through
  • make these permissions ephemeral only
    • pros:
      • limit the damage that can be done with repeated use of these features
    • cons:
      • doesn’t do anything to protect against attack that require only a single access

Chrome’s policy for these kinds of features: https://source.chromium.org/chromium/chromium/src/+/main:docs/security/permissions-for-powerful-web-platform-features.md

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:12
  • Comments:10 (2 by maintainers)

github_iconTop GitHub Comments

9reactions
urbenlegendcommented, Oct 20, 2021

I just ran into this issue while trying to use the new VS Code for Web: https://vscode.dev/ I was sad that there wasn’t a way to enable Filesystem API support in Brave, even though its using Chromium.

I 💯 agree with what @nebbles said. The web is increasingly becoming the application platform of choice and users demand more and more functionality out of it. Holding back platform improvements without providing a discoverable way to re-enable these improvements is only going to push more users back to Chrome instead of improving privacy on the web.

Hiding things behind brave://flags is a bad idea. When a feature is outright disabled, most sites will just say “Your browser doesn’t support this feature. Please try Edge or Chrome.” Having users see this warning should be avoided as much as possible.

I am okay with having stronger alert dialogs when sites attempt to use these “dangerous” features. It’s still discoverable and its a great opportunity to educate users on the dangers of certain web capabilities.

9reactions
nebblescommented, Aug 15, 2021

FWIW it would be great if Brave could restore some choice to the user. I personally use Brave because of its focus on reducing arbitrary tracking but whilst retaining close compatibility with Chrome by being based on Chromium. I respect the concern the team may have for features implemented in Chromium, but still believe this choice should be put in a users hands. My use case has been for the Web Serial API.

I’d suggest a mixture of suggestions above.

  1. Instead of using brave://flags however, which is some really low-level/technical/raw functionality, adding an option (possibly even a section) to the standard Brave settings for advanced features achieves a bit of the pro whist minimising the con of suggestion 1.
  2. In addition, strengthening the permission prompt with a stern warning, whilst also informing the user that they still need to go to the settings to initially turn on this feature on.
  3. And finally, what I think would be a real Brave-esque move, allow users to enable this feature on a per-site basis, which further tightens up the risk exposure.
Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Avoid Dangerous Websites - Lifewire
Tips for browsing safer websites · Use a Web Filter · Don't Guess the Address of a Website · Check the URL for...
Read more >
Dangerous Web Security Features | Tune The Web
Are some web security features like HSTS, HPKP and CSP too dangerous for mainstream use due to the potential to DoS yourself?
Read more >
How to Identify and Protect Yourself from an Unsafe Website
Here are the most prevalent tell-tale signs of a threatening website and some ways that you can protect yourself: Never click on a...
Read more >
Manage warnings about unsafe sites - Google Chrome Help
Get warnings about dangerous & deceptive content · The site ahead contains malware: The site you start to visit might try to install...
Read more >
What is the dark web, deep web, and surface web? - Kaspersky
With many Tor-based sites being overtaken by police authorities across the globe, there is a clear danger of becoming government target for simply...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found