vscode插件安全需人工三阶段验证:安装前查发布者(verified publisher/ github活跃度)、权限声明(capabilities是否合理);安装前校验vsix签名(vsce verify);运行中监控进程(cpu/内存/网络异常)。

VSCode插件市场本身不提供安全评级或自动风险评分,所谓“高安全”插件只能靠人工交叉验证——没有一键判断按钮,只有可执行的检查动作。
怎么看发布者是否可信
发布者字段(Publisher)是第一道防线。微软官方插件显示 Verified Publisher 标识,且发布者名称为 ms-vscode、esbenp 或 bradlc 这类已知组织名;若显示为个人邮箱、随机字符串(如 dev2024x)、或与知名插件同名但发布者不同(如 Prettier 作者是 esbenp,不是 prettier-official),基本可排除。
- 点击插件详情页右上角的
Repository链接,跳转 GitHub 后检查:owner是否与 Publisher 一致 - 查看仓库
README.md是否有清晰的维护声明、明确的许可证(MIT/Apache-2.0 优先)、以及近期 commit(近 30 天内应有至少 1–2 次) - 警惕
vscode-xxx-chinese、xx-pro-plus类命名——90% 以上是 fork 后加广告或注入脚本的仿冒品
怎么查权限声明是否合理
VSCode 自 v1.86 起强制要求在 package.json 中声明 capabilities,这是最直接的“行为白名单”。打开插件详情页 → 切到 Contributions 标签 → 拉到底部看 Capabilities 区域。
- 一个只做代码高亮的插件,却声明了
"workspace:read"、"terminal:execute"或"debug",立刻放弃 - 声称“无网络请求”的插件,
capabilities中却含"untrustedWorkspace:allowed"或"http://*",大概率存在隐蔽上报 - 若页面没显示
Capabilities区块,说明该插件未适配新版 manifest 规范,兼容性与安全性均存疑
怎么验证本地安装包是否被篡改
从 Marketplace 下载的 .vsix 文件可能在 CDN 传输中被劫持,或被中间代理替换。必须离线校验签名链。
- 先用
npm install -g vsce安装微软官方工具 - 在插件详情页点击
Download Extension手动保存xxx-1.2.3.vsix - 执行
vsce verify xxx-1.2.3.vsix,输出中必须含Signature is valid且证书颁发者为Microsoft Corporation - 若提示
signature not found或证书过期,该包不可信,哪怕它来自 marketplace.visualstudio.com
怎么监控运行时异常行为
很多恶意行为不会立刻崩溃,而是静默占用资源或建立外连。VSCode 内置任务管理器是最轻量的实时观测入口。
- 按
Cmd + Shift + P(macOS)或Ctrl + Shift + P(Windows/Linux),输入并运行Developer: Open Process Explorer - 重点关注
Extension Host子进程下的各扩展 CPU / Memory / Network 列:长期 >5% CPU 占用、内存持续增长、或出现非预期域名(如track.xxx.com)连接,需立即禁用 - 配合系统级工具验证:macOS 上开
Activity Monitor查Code Helper (Renderer)进程;Windows 上用Resource Monitor看网络选项卡
真正危险的插件往往不报错、不弹窗、不崩溃——它只是悄悄读取你打开的文件路径、记录你输入的敏感字符串、或把调试器日志发往境外服务器。所有检查动作都得手动做,而且得在安装前、启用前、运行中分三阶段执行,少一步就可能漏掉关键线索。











