0x535

感觉被背刺: VSCode Remote SSH 远程服务器可以反向调用本地命令

  •  
  •   0x535 · 19h 55m ago · 1849 views

    一直用 VSCode Remote SSH 连接服务器做开发,不同服务器承当不同任务,比如 AI YOLO 模式、运行一些不太信任的开源项目等。

    原本觉得这样挺安全的,即使出了什么问题,最多也就是一台服务器被搞坏,直接删掉就行,不会影响到本地 Mac 上的重要文件和项目。

    觉得自己隔离做得还不错,没想到最近发现,VSCode Remote SSH 连接的远程服务器,居然可以反过来让本地 Mac 执行命令。

    更离谱的是,这还不是什么意外的漏洞,而是 VSCode 故意这么设计的。。。(震惊我一百年。。。

    这就很反直觉了。我用 SSH 连接远程服务器,不就是为了把代码放到远程执行,避免影响本地吗?结果远程服务器一旦被攻陷,攻击者还有机会通过 VSCode 反过来攻击我的 Mac 。

    自信满满做了隔离,结果被开发工具自己开了个口子。真是有点绷不住了 😂

    相关讨论:

    Supplement 1  ·  2h 10m ago
    这其实是一个非常反直觉的设计,模糊了安全边界,SSH 连接的方向是本地到远程,但应用层的调用方向却可以是远程到本地的。

    想象一下这些场景:

    - 远程服务器上,你不小心安装了一个恶意插件,或者更新插件的时候被投毒了
    - 如果你允许了自动执行任务。远程服务器上,你克隆了一个项目,其中 `.vscode/json` 包含恶意任务
    - 远程服务器失陷,攻击者帮你安装恶意插件、或修改现有插件、或直接给你的项目修改 `.vscode/json`

    再配合 CVE-2026-112487 macOS 提权漏洞,直接 root 权限都到手了。

    参考:
    https://blog.calif.io/p/vibe-hacking-abusing-developer-trust
    17 replies  •  2026-11-09 13:16:07 +08:00
    iyaozhen
    iyaozhen
    14h 57m ago
    1
    “不就是为了把代码放到远程执行,避免影响本地吗” 好像不是主要设计目标吧
    我个人一直找不到 Remote SSH 适用场景,问过身边同事,回答主要目的是方便公司和家里电脑( VPN )都能继续工作,另外就是远程服务器性能好一些
    dhampirwwh
    dhampirwwh
    14h 50m ago
    2
    我直接 Putty+Tmux,直接生产环境上写了
    strobber16
    strobber16
    14h 45m ago
    3
    oh shit!
    Anyways...
    crysislinux
    crysislinux
    14h 40m ago via Android
    4
    @iyaozhen 我有一个案例,开发 openwrt 程序的时候我喜欢用 remote ssh ,文件都在 openwrt 上,改了随时测试,改好了就同步回 host
    oakleycc
    oakleycc
    14h 33m ago
    5
    居然还可以反向调用,真是第一次知道
    xue777hua
    xue777hua
    14h 19m ago via iPhone❤️1
    6
    这才哪到哪?

    别说 remote ssh 了。任何一个 vs extension 都能爆破你本地电脑。

    vs remote ssh 本就是 server 在远程,本地是 client ,如果协议没有涵盖,用逆向 ssh 来控制本地 vscode 是很合理的做法。就是实现粗糙了点。

    担心安全问题,可以直接用 vs tunnel 网页上开发。大部分场景下都没问题。
    tcchen
    tcchen
    PRO
    13h 18m ago
    7
    惊了,必须 fork 一个不会远程加载插件的版本

    说起来感觉 vscode 的很多扩展功能在 ai 编程时代都没什么用了
    lekai63
    lekai63
    12h 11m ago via iPhone
    8
    这不是也挺好的

    美国服务器上运行 Claude code 反向操作你的 mac
    说不好还能避免封号
    mathiashu4
    mathiashu4
    3h 34m ago
    9
    @dhampirwwh 啊 安全第一啊
    ugpu
    ugpu
    3h 22m ago
    10
    既要又要还要. 有一股花钱找了个保安。
    0x535
    0x535
    OP
    2h 43m ago
    11
    @iyaozhen 事实上,根据官网文档,隔离开发环境避免影响到本地,确实是目的之一。不过目前看来为了“更好的开发体验”,牺牲了本地的安全性。
    这东西优点多多,除了你说的这两点,还有和生产环境保持一致的开发环境。
    0x535
    0x535
    OP
    2h 39m ago
    12
    @xue777hua 插件的安全问题,正是我把几乎所有插件安装到远程服务器而不是本地的原因。现在反过来说远程的恶意插件也会影响到本地。。。
    0x535
    0x535
    OP
    2h 35m ago
    13
    @tcchen 哈哈,牛啊,有好消息记得 @我。
    我尝试了把 vscode 放进 sandbox-exec 里面运行,没成功😂
    doveyoung
    doveyoung
    2h 5m ago
    14
    那是不是 devcontainer 也有类似的功能?或者 remote ssh + devcontainer
    牛逼,意气风发啊微软
    realJamespond
    realJamespond
    47 mins ago
    15
    你远程输入 code remote file 不就是执行本地的 vscode 打开远程的文件,这是常识吧
    0x535
    0x535
    OP
    4 mins ago
    16
    @doveyoung 没怎么用过 devcontainer ,不过看到讨论,有一样的问题
    0x535
    0x535
    OP
    2 mins ago
    17
    @realJamespond 问题都没理解,就搁着用 “常识” 来装逼。讨论问题就讨论问题,少装点逼吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2448 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 05:18 · PVG 13:18 · LAX 21:18 · JFK 00:18
    ♥ Do have faith in what you're doing.