VSCode没有“严格网络隔离模式”,所谓隔离实为受限模式+插件权限控制+禁用远程连接的组合;受限模式不拦截HTTP请求,仅限制插件执行;真正断网需手动关闭插件、禁用遥测、移除代理配置并管控任务/构建脚本。

VSCode 没有叫“严格网络隔离模式”的内置功能,也不存在专为内网机密开发设计的独立安全开关。所谓“网络隔离”,实际是受限模式(Restricted Mode)+ 插件权限控制 + 远程连接禁用三者叠加的结果,不是一键开启的“模式”。
为什么右下角显示 Restricted Mode 却没断网?
受限模式默认只禁用插件、任务、调试和终端命令,不拦截 HTTP 请求或 WebSocket 连接。你在代码里写 fetch('https://api.example.com') 或 import 一个远程包,它照样能发出去——VSCode 不是防火墙。
- 受限模式本质是“工作区信任机制”,不是网络沙箱
- 它阻止的是插件执行权,而非运行时网络调用
- 如果你看到网络请求被拦,大概率是公司组策略、本地代理或浏览器扩展干的,不是 VSCode
如何让 VSCode 真正断开外网连接?
必须手动切断所有可能的出入口,不能依赖任何“模式”自动生效:
- 关闭所有非必要插件,尤其带自动更新/遥测/云同步功能的(如 GitHub Copilot、Prettier、ESLint Server)
- 在设置中搜索
telemetry,把telemetry.enableCrashReporter、telemetry.enableTelemetry全设为false - 禁用远程开发类扩展:Remote - SSH、Remote - Containers、Remote - WSL —— 它们会主动建立隧道
- 检查
settings.json是否含"http.proxy"或"http.proxyStrictSSL",删掉或注释掉;否则可能绕过本地策略 - 启动 VSCode 时加参数
--disable-extensions --no-sandbox --disable-gpu(仅限临时排查)
内网开发最易忽略的三个泄漏点
很多人以为关了插件就安全了,但真正泄露常发生在这些地方:
-
tasks.json里写了npm install或yarn add—— 它会悄悄连 registry.npmjs.org,哪怕你配了私有源,首次运行仍可能 fallback -
launch.json的preLaunchTask触发构建脚本,而脚本里含curl https://...或调用 CI 工具上传产物 - Python 项目中
pyproject.toml含[build-system]指向 pypa/build,它默认会联网校验依赖树,需加--no-deps --no-build-isolation才离线
真正的内网隔离,靠的是路径控制、进程级限制和网络层策略,VSCode 只是一个触发器。别指望它替你做防火墙的事,它连自己的更新请求都得靠系统代理转发。











