随着其疯狂的扩展,VS Code 变得越来越棒,但伴随着所有这些灵 active 和卓越性的同时,也带来了安全和隐私风险。
因此,我的问题是是否可以阻止特定扩展程序访问互联网。
最佳答案
答案似乎是否,你不能阻止扩展网络访问:
VSCode Issue #52116: Extension Permissions, Security Sandboxing & Update Management Proposal保持打开状态。最近有评论事件,但我没有看到 VSCode 团队采取行动的迹象。
问题How to fully disable network request from vs code(telemetry, updates, etc.)报告说设置明显的开关不会阻止 VSCode 发出网络请求。
我自己做了一个简单的扩展,使用了 http模块发出外部网络请求并且它工作。
我尝试在
settings.json
中将http.proxy
设置为一个虚假值,虽然这样可以有效地让 VSCode 本身至少使一个网络失败操作,我的测试扩展不受影响。
与此相关,人们可能会问是否有任何系统可以检测或防止恶意扩展行为。答案似乎是否定的:
问题Security and Privacy of VSCode extensions它的答案基本上可以归结为“运行你自己的防火墙”。
问题How is VS Code Extension Security Handled?它的答案归结为“微软没有采取任何措施来确保扩展不是恶意的”。
我个人上传了one extension到市场。我可以报告说花了大约五分钟才出现在那里;几乎没有足够长的时间让任何人对其进行审查。此外,我在创建 github 存储库之前无意中上传了它,但这并没有造成任何问题,这表明该服务没有进行任何检查以确保 github 上的内容与扩展中的内容匹配。
总的来说,我觉得这是一个可怕的情况。我会做两件事来保护自己:
我尽量坚持使用下载量大且最近没有更新的扩展程序。然后我禁用了自动更新。这样一来,我正在运行的所有东西在我使用它之前都有机会被暴露为恶意。
扩展以 VSIX 文件的形式分发,它们只是具有不同文件名后缀的 ZIP 文件。如果我有任何疑问,我会先将其下载为文件并四处寻找。尤其要检查
package.json
脚本和 Typescript 或 Javascript 源代码(如果有的话)。这当然远非万无一失,但它确实是。
关于security - 如何为您不信任的特定 vscode 扩展禁用 Internet 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874263/