|
|
|
|
|
by mpowers
4662 days ago
|
|
If your device or browser is compromised, you have bigger problems than someone subtly modifying your js runtime. Similarly if a host is compromised to serve bad js files. We can't solve endpoint security. And clearly NSA is now very good at breaking the endpoint at both ends. I agree that it's not useful to say "just inspect the code"; no one really inspects their binary executables either, but we're committed to let you do so. Let me be clear that JS is not required; it's just how we're making our reference client because we don't believe most people are going to download a custom client. You can write a working client with bash+openSSL+curl if you want. The whole thing is simply signed text snippets over http. |
|
It is trivial to compromise the browser context of the page. In the case of a browser bug another tab can interact badly with the current tab. In the case of a MITM attack on (sadly quite possible given the potential adversary) the attacker can modify the JS in flight to the browser. In the case of an externally loaded resource embedded on the page that resource may modify the execution of your crypto. There are also CSFR, XSS and other JS vulnerabilities to account for.
Javascript is a hopelessly bad place to do crypto. Consider doing an signed browser extension that does this on the desktop and native apps on the phone. I would also suggest a native app on the desktop as well. People seem to really like them for twitter.