As a security-conscious user, I’ve used NoScript since Firefox’s early days, but its restrictive nature has become frustrating. I’m often forced to go unprotected just to access websites with multiple scripts running on different domains, which defeats the purpose of using NoScript and balances security and usability that it once provided.

Is there a way to block browser JavaScript from executing commands that retrieve sensitive information from my local machine, while still allowing JavaScript that is only used for rendering web pages?

by sensitive information I’m referring to

  • local machine time
  • local machine ram
  • local machine operating system + version
  • local machine hardware
  • Serial Number
  • Hardware ID
  • UUID
  • Windows Device ID
  • Windows Product ID

greatly appreciate any insight


EDIT:

could be possible solution

https://discuss.grapheneos.org/d/16025-vanadium-and-what-to-use-on-desktop/19

  • LibreJS: GNU LibreJS aims to address the JavaScript problem described in Richard Stallman’s article The JavaScript Trap.
  • JShelter: Mitigates potential threats from JavaScript, including fingerprinting, tracking, and data collection. Slightly modifies the results of API calls, differently on different domains, so that the cross-site fingerprint is not stable. Applies security counter-measures that are likely not to break web pages. Allows fine-grained control over the restrictions and counter-measures applied to each domain.

@bjoern_tantau@swg-empire.de

Most of those things cannot be collected through JavaScript.

Local time can.

RAM can only be approximated to protect user privacy. Edit: And it’s not available on Firefox.

OS+version are already in your browser’s user-agent string that is sent out with every request you make.

Machine hardware cannot be enumerated. JavaScript can try to guess your GPU based on what it can do with WebGL.

There is no way to get a serial number or similar.

To spoof timezone/OS+version/browser+version … and disable WebGL, use https://sereneblue.github.io/chameleon/

  • happeningtofry99158@lemmy.worldOP
    link
    fedilink
    arrow-up
    2
    ·
    10 hours ago

    Use a socksv5 proxy with your browser so it can’t connect to localhost

    Website is able to get info of localhost?

    Does this mean they are able to see what docker container I’m hosting?

    • jet@hackertalks.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 hours ago

      many browsers allow connection to localhost ports, this is how discord opens discord links in the app and not the browser on people’s desktop computers.

      • happeningtofry99158@lemmy.worldOP
        link
        fedilink
        arrow-up
        1
        ·
        9 hours ago

        I see, could you link to an article or video that explains more about how this is achieved? Is there a browser extension to disable a website from accessiing localhost connection?

        • jet@hackertalks.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 hours ago

          socksv5 proxies, or you could dig into the settings and find a option to disable local connections (not sure where)