Making an SSH client the hard way
This significantly increases the threat model for your remote servers to include all sorts of remote attacks through the web, including:<p><pre><code>  * garden-variety web attacks (i.e., XSS, CRSF, etc)

  * attacks that might become viable against the browser (for example, Mobile Safari has a history of vulnerabilities)

  * various attacks against the backend web server (API attacks)

  * attacks against the WASM layer

  * CDN injections

  * Tailscale's backend (various types of injections, timing attacks, or deeper attacks on Tailscale's infrastructure like the nightmares of HeartBleed, Shellshock, Meltdown, etc)
</code></pre>
That's probably a very incomplete list.<p>Realistically, this essentially (actually, literally) <i>opens a remote root shell into your entire infrastructure through a web page</i>, with apparently nothing more than matching an IP address pair (<a href="https://news.ycombinator.com/item?id=33361837" rel="nofollow">https://news.ycombinator.com/item?id=33361837</a>) to authenticate.<p>What could go wrong?<p>This design with its <i>loose</i> coupling between authenticated user and IP addresses for high-value targets makes me view Tailscale's security model in a whole new light.