扩展运行时安全性

扩展极大地增强了 Visual Studio Code 的功能。但它们也可能带来风险,例如恶意代码执行和数据隐私问题。Visual Studio Marketplace 采取了多种措施来保护您免受不良扩展的侵害。此外,VS Code 还为您提供了多个判断扩展可靠性的指标。

本文档概述了 VS Code 中扩展的运行时权限以及旨在保护您免受恶意扩展侵害的各项措施。您将了解如何在安装扩展之前,就其可靠性做出明智的决定。

关于扩展运行时权限

扩展宿主 (extension host) 负责在 VS Code 中运行扩展。扩展宿主拥有与 VS Code 本身相同的权限。这意味着 VS Code 能执行的任何操作,扩展也可以通过扩展宿主执行。

例如,扩展可以读取和写入您计算机上的文件、发起网络请求、运行外部进程以及修改工作区设置。

扩展发布者信任

自 VS Code 1.97 版本起,当您首次从第三方发布者处安装扩展时,VS Code 会显示一个对话框,提示您确认是否信任该扩展的发布者。

当您信任某个扩展包或具有其他扩展依赖项的扩展的发布者时,也就意味着您同时信任了这些被依赖扩展的发布者。

您之前安装的扩展发布者会被视为受信任,并自动添加到受信任发布者列表中。

您可以使用扩展:管理受信任的扩展发布者命令来管理受信任扩展发布者列表。

重要

当您使用 VS Code 命令行安装扩展时,该扩展的发布者不会被自动信任。

确定扩展的可靠性

在安装扩展之前,您可以采取多种步骤来确定其是否可靠。Visual Studio Marketplace 提供了有关扩展的信息,以帮助您做出明智的决定:

  • 评分与评论:查看其他人对该扩展的评价。

  • 问答 (Q&A):查看现有问题以及发布者的响应速度。如果您有疑虑,也可以与扩展发布者进行交流。

  • 问题 (Issues)、存储库和许可证:检查发布者是否提供了这些信息,以及它们是否提供了您预期的支持。

  • 已验证发布者:发布者姓名和域名旁边的蓝色复选标记是一个额外的信任信号。该标记表明发布者已向 Marketplace 证明了域名所有权。它还表明 Marketplace 已经验证了该域名的存在,并且该发布者在 Marketplace 上的良好记录至少已满六个月。

    Verified publisher

提示

如果您希望强制管理组织内允许使用的扩展,请查看如何在 VS Code 中配置允许的扩展

市场保护机制

Visual Studio Marketplace 采用多种机制来保护您免受恶意扩展的侵害:

  • 恶意软件扫描:Marketplace 会对发布到其上的每个扩展包运行恶意软件扫描,以确保其安全性。此扫描使用多种杀毒引擎,针对每个新扩展和每个扩展更新进行。在扫描结果显示安全之前,该扩展不会发布到 Marketplace 供公众使用。

  • 动态检测:Marketplace 通过在沙盒环境(干净的虚拟机)中运行扩展来验证其运行时行为,从而进行动态检测。

  • 已验证发布者:发布者可以通过证明域名所有权来验证(显示蓝色复选标记)其身份。这表明发布者已向 Marketplace 证明了域名所有权。它还表明 Marketplace 已经验证了该域名的存在,并且该发布者在 Marketplace 上的良好记录至少已满六个月。

  • 异常使用监控:Marketplace 会监控扩展的下载量和使用模式,以检测异常行为。

  • 名称占用(防冒名):Marketplace 会阻止扩展作者窃取官方发布者(如 Microsoft 或 RedHat)或流行扩展(如 GitHub Copilot)的名称。

  • 阻止列表:如果举报并证实了某个恶意扩展,或者在扩展依赖项中发现了漏洞,该扩展将从 Marketplace 中移除并添加到阻止列表中。如果该扩展已被安装,它会被 VS Code 自动卸载。

  • 扩展签名验证:Visual Studio Marketplace 会在所有扩展发布时进行签名。当您安装扩展时,VS Code 会检查此签名,以验证扩展包的完整性和来源。

  • 密钥扫描:Marketplace 会自动扫描每个新发布的扩展,查找 API 密钥或凭据(例如 Azure DevOps PAT 令牌)等密钥。如果检测到任何密钥,将阻止发布以防止潜在的安全风险。VSCE 工具会在打包过程中扫描 .env 文件,如果发现密钥,则会阻止发布。

请在 Visual Studio Marketplace 的安全与信任博客文章中了解更多有关这些措施的信息。

举报可疑扩展

如果您发现某个扩展看起来很可疑,请向 Marketplace 团队举报。Marketplace 团队会在一个工作日内提供初步响应。

举报扩展的方法:

  1. Visual Studio Marketplace 中打开该扩展的页面。

  2. 选择扩展更多信息 (More Info) 部分底部的举报问题 (Report a concern) 链接。

  • 了解如何在 Visual Studio Code 中安装和管理扩展。

  • 使用工作区信任来决定 VS Code 和扩展是否可以在未经明确批准的情况下执行项目文件夹中的代码。在处理不熟悉的代码时,这增加了一层额外的安全保障。

  • 配置在 VS Code 中允许的扩展,以强制管理组织内允许使用的扩展。

© . This site is unofficial and not affiliated with Microsoft.