扩展运行时安全性
扩展极大地增强了 Visual Studio Code 的功能。它们也可能带来风险,例如恶意代码执行和数据隐私问题。Visual Studio 市场有许多方法来保护您免受不良扩展的侵害。此外,VS Code 还为您提供了几个扩展可靠性的指标。
本文档概述了 VS Code 中扩展的运行时权限以及为保护您免受恶意扩展侵害而采取的措施。您将了解如何在安装扩展之前就扩展的可靠性做出明智的决定。
关于扩展运行时权限
扩展主机负责在 VS Code 中运行扩展。扩展主机与 VS Code 本身具有相同的权限。这意味着 VS Code 可以执行的任何操作,扩展也可以通过扩展主机执行。
例如,扩展可以读取和写入您机器上的文件、发出网络请求、运行外部进程以及修改工作区设置。
扩展发布者信任
从 VS Code 1.97 版本开始,当您首次安装来自第三方发布者的扩展时,VS Code 会显示一个对话框,提示您确认您信任该扩展的发布者。
当您信任扩展包或依赖于其他扩展的扩展的发布者时,您也信任依赖扩展的发布者。
对于您之前安装的扩展,发布者被视为受信任,并会自动添加到受信任发布者列表中。
您可以使用“扩展:管理受信任的扩展发布者”命令来管理受信任扩展的列表。
当您使用 VS Code 命令行安装扩展时,扩展的发布者不会自动受信任。
确定扩展可靠性
在安装扩展之前,您可以采取各种步骤来确定它是否可靠。Visual Studio 市场为您提供有关扩展的信息,以帮助您做出明智的决定
-
评分和评论:阅读其他人对扩展的看法。
-
问答:查看现有问题以及发布者的响应程度。如果您有疑虑,也可以与扩展的发布者联系。
-
问题、存储库和许可证:检查发布者是否提供了这些,以及它们是否具有您期望的支持。
-
已验证的发布者:使用发布者名称和域名旁边的蓝色复选标记作为额外的信任信号。该复选标记表示发布者已向市场证明了域名所有权。它还表明市场已验证域名存在以及发布者在市场上至少六个月的良好信誉。
如果您想强制组织中使用哪些扩展,请查看如何在 VS Code 中配置允许的扩展。
市场保护措施
Visual Studio 市场采用多种机制来保护您免受恶意扩展的侵害
-
恶意软件扫描:市场对发布到市场的每个扩展包运行恶意软件扫描,以确保其安全。该扫描使用多个防病毒引擎,对每个新扩展和每个扩展更新运行。在扫描完全清除之前,扩展不会在市场上发布供公众使用。
-
动态检测:市场通过在沙盒环境(洁净室 VM)中运行扩展来执行动态检测,以验证扩展的运行时行为。
-
已验证的发布者:发布者可以通过证明域名所有权来验证(蓝色复选标记)其身份。它表明发布者已向市场证明了域名所有权。它还表明市场已验证域名存在以及发布者在市场上至少六个月的良好信誉。
-
异常使用监控:市场监控扩展的下载和使用模式,以检测异常行为。
-
抢注名称:市场阻止扩展作者盗用官方发布者(如 Microsoft 或 RedHat)以及热门扩展(如 GitHub Copilot)的名称。
-
阻止列表:如果恶意扩展被报告并验证,或者在扩展依赖项中发现漏洞,则该扩展将从市场中删除并添加到阻止列表。如果已安装该扩展,VS Code 会自动卸载它。
-
扩展签名验证:Visual Studio 市场在发布时对所有扩展进行签名。当您安装扩展时,VS Code 会检查此签名,以验证扩展包的完整性和来源。
报告可疑扩展
如果您确实看到看起来可疑的扩展,请向市场团队报告该扩展。市场团队会在一个工作日内提供初步回复。
要报告扩展
-
在 Visual Studio 市场中打开扩展的页面。
-
选择扩展“更多信息”部分底部的“报告问题”链接。
相关资源
-
了解如何在 Visual Studio Code 中安装和管理扩展。
-
使用 工作区信任来决定项目文件夹中的代码是否可以在未经明确批准的情况下由 VS Code 和扩展执行。这在使用不熟悉的代码时增加了一层额外的安全性。
-
配置 VS Code 中允许的扩展,以强制组织中使用哪些扩展。