Disable WebAssembly via flags or user prompt
Reported by
detroniz...@gmail.com,
Mar 26 2018
|
||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 Steps to reproduce the problem: 1. Find example WebAssembly application (ex. https://coinhive.com/) 2. Check WebAssembly correctly works (ex. it mines just fine) 3. Load chrome:://flags 4. Disable all WebAssembly related flags: enable-asm-webassembly, enable-webassembly, enable-webassembly-streaming 5. Apply changes and relaunch Chrome 6. Repeat 1. and 2. and let the sadness take over you What is the expected behavior? That any WebAssembly based application should stop working. What went wrong? WebAssembly disabling flag doesn't seem to do anything or have any effect. Did this work before? N/A Chrome version: 65.0.3325.181 Channel: stable OS Version: OS X 10.13.3 Flash Version: With the advent of Ads networks that use WebAssembly to leverage user's CPU and do crypto-mining, it will be increasing the number of people that have to resolve to AdBlock plugins to ensure their hardware is not jeopardized. Just disabling WebAssembly (or allowing on a per-domain basis!) would greatly improve the situation, and permit users fine grained control over how this works. But even before you do that, please fix those flags.
,
Mar 26 2018
I'll try that immediately woxxom. But is there a list of those `js-flags` somewhere?
,
Mar 26 2018
I have found it in the source code https://chromium.googlesource.com/v8/v8/+/master/src/flag-definitions.h - but a doc for this stuff would be lovely.
,
Mar 26 2018
,
Mar 26 2018
Nope, not even that way. Tried all the flags and it's simply ignored. I believe there is an actual bug here.
,
Mar 27 2018
Works here. Make sure you've terminated all Chrome processes completely before relaunching with the new command line. Make sure the command line is actually used in chrome://version
,
Mar 27 2018
Also, do note, coinhive uses a js fallback when wasm is not available, so to check if the command line in #1 works you need to use a different site e.g. https://wasdk.github.io/WasmFiddle/ or http://webassembly.org/demo/
,
Mar 27 2018
Woxxom I will definitely try again after having shut down ALL chrome instances. I was doing this test via Selenium (that launches ChromeDriver and a separate Chrome process) but I will make sure I verify your hint. Thanks for the help so far. Regarding the JS fallback in coinhive.com, I'm aware, I did check when was testing that was ACTUAL wasm being run and not their fallback. The more I look at Wasm to more I think this is just too much power unleashed with almost no restriction. This should be behind a user approval... at the very least.
,
Mar 28 2018
Well, I come bearing bad news. I tried and it didn't work either. I have tested this against both the CoinHive website (checking it was not using the fallback) and the WasmFiddle kindly suggested above. The options I tried are: * `--js-flags="--noexpose-wasm --nowasm-async-compilation --nowasm-stream-compilation"` * `--disable-features=AsmJsToWebAssembly,WebAssembly,WebAssemblyStreaming` * both at the same time Nothing changed. I'll attach some screenshots of the results as well as `chrome://version` to show the arguments are definitely being processed by Chrome. If you have any other suggestions of things to try, I'm all ears. And thanks for the help so far
,
Mar 28 2018
Since the --js-flags trick works in Windows, I guess there's a bug in Chrome for MacOS and/or when Chrome is used with Selenium.
,
Mar 28 2018
Looks like it :( Thanks for all your help
,
Mar 28 2018
,
Apr 5 2018
Assigning to PM for further triage.
,
Apr 5 2018
From my reading it seems like the flags are just broken. @Brad, can you pick someone to assign this to? I'd say priority of 2 seems appropriate.
,
Jan 16
(6 days ago)
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by woxxom@gmail.com
, Mar 26 2018