笔者之前说过,自己也是 VS Code 的重度使用者。所以对于 VS Code 恶意扩展这种事情就尤其关注。具体前因在笔者这篇文章:《微软不作为:VS Code 恶意扩展层出不穷》
在写前文的同时,笔者尝试了 ExtensionTotal 这个 VS Code 恶意扩展的检测扩展(服务),还算是当前条件下防御 VS Code 恶意扩展比较有效的方法。
而且,即使微软跟得上社区呼声,对 VS Code 进行基于安全的权限设计改造(即实现了被动防御),用户也依然有必要具备 VS Code 恶意扩展的主动防御工具,防御覆盖面才足够完整。
笔者:国际认证信息系统审计师、软考系统分析师、软件工程硕士
ExtensionTotal 本身也是 VS Code 的扩展,可以直接搜索出来安装:
图1 ExtensionTotal 扩展介绍页
ExtensionTotal 扩展只是前端,对用户已经安装的 VS Code 扩展的扫描还需要依赖于 ExtensionTotal 的后端服务。
因此用户需要先到 ExtensionTotal 网站(https://extensiontotal.com/)简单地用电子邮箱注册,就可获取免费但有限使用的 API Key,然后输入到 VSCode 的设置:
图2 ExtensionTotal 扩展的设置
从设置可见,ExtensionTotal 可以在两种情况下启动扫描:1) VS Code 启动时扫描;2)每隔特定的时间扫描。
虽然设置说明中没有明确指出,但经测试,当在使用 VS Code 期间发生了扩展的新安装或更新时,也会触发 ExtensionTotal 进行扫描。
ExtensionTotal 在完成扫描没有找到高风险扩展时会给出提示,可以点击展开其分页查看具体结果:
图3 扫描完成,结果安全
但免费 API Key 用量有限,仅适用于有特定工作方向、安装的扩展数量不多的 VS Code 用户。对于笔者这使用了 n 种开发语言环境,总共安装了85个 VS Code 扩展的环境,还未能完全扫描就已经达到了扫描上限。
图4 超过免费限制的提示
除了扫描恶意扩展之外,ExtensionTotal 还会通过邮件对登记用户发送恶意扩展提醒通知:
图5 邮件提醒发现新的恶意扩展
通过提醒通知可以查看其发现的具有恶意行为特征的扩展。比如邮件中给出的第一个,扩展的名字是 Solidity (Ethereum),仅这名字就能骗到不少从事区块链合约开发的开发者。通过邮件可以查看该恶意扩展的详细情况:
图6 恶意扩展分析报告
邮件提及的两项恶意扩展:Solidity (Ethereum) 和 Zoom Workspace 经 ExtensionTotal 发现和报告给微软后,现已从 VS Code 扩展市场下架,扩展的页面显示 404(这也太简单直接了些,微软应该给出告警)。
值得注意的是恶意扩展的冒充行为。从恶意扩展分析报告内容(图6)可以观察到,比如扩展的ID、扩展的名称、作者信息、功能描述以及安装数量这些信息,均能对寻找可用扩展的 VS Code 用户构成有效欺骗。
所以笔者认为,无论是在VS Code 的当前阶段抑或是以后,像 Extension Total 这一类的恶意扩展主动防御工具都是 VS Code 用户必须具备的。
注:题头图用豆包生成,它现在总是会生成错误的手指,要不断修改提示出3~4次图才有可用的结果。
本站微信订阅号:
本页网址二维码: