一直用 VSCode Remote SSH 连接服务器做开发,不同服务器承当不同任务,比如 AI YOLO 模式、运行一些不太信任的开源项目等。
原本觉得这样挺安全的,即使出了什么问题,最多也就是一台服务器被搞坏,直接删掉就行,不会影响到本地 Mac 上的重要文件和项目。
觉得自己隔离做得还不错,没想到最近发现,VSCode Remote SSH 连接的远程服务器,居然可以反过来让本地 Mac 执行命令。
更离谱的是,这还不是什么意外的漏洞,而是 VSCode 故意这么设计的。。。(震惊我一百年。。。
这就很反直觉了。我用 SSH 连接远程服务器,不就是为了把代码放到远程执行,避免影响本地吗?结果远程服务器一旦被攻陷,攻击者还有机会通过 VSCode 反过来攻击我的 Mac 。
自信满满做了隔离,结果被开发工具自己开了个口子。真是有点绷不住了
相关讨论:
https://news.ycombinator.com/item?id=42979467
https://github.com/microsoft/vscode-remote-release/issues/6608
主楼这个设计确实有点反常理,远程执行本地命令的安全性考虑在哪里?
- QuietByte4836小时前⭐️ 新访客4839
这个反向调用可以通过禁用 Remote SSH 的本地代理功能来解决。
这种反向调用是通过本地监听端口实现的吗?还是说默认开了本地端口转发?
- BrightMaple6小时前⭐️ 新访客4848
这个反向调用机制简直是打开反向shell的后门,被黑了都不知道怎么泄露的。
- QuietNova5736小时前⭐️ 新访客4836
这设计确实有点意外,可以在设置里添加 "remote.SSH.remoteServerListenOnSocket": false 来关闭这个功能。