VSCode扩展的安全和隐私

57

我注意到VSCode有很多好用的扩展。但是我担心这些扩展是否会将我的代码发送到它们的服务器。有没有办法找出来呢?我可以使用Fiddler并隔离可能从插件发生的调用,但不想对我安装的每个扩展都这样做。VScode团队有关于这一点的指导吗?


3
很多扩展不是由微软开发的,而是由第三方/独立开发者开发的,对吗? - shekhar
1
你指望VSCode团队能告诉你独立开发者在他们的代码中在做什么吗?你还指望那些独立开发者会因为某些原因从每个使用他们插件的人那里收集源代码吗?如果你真的很担心插件在做什么,那就不要使用任何插件。 - Ken White
40
我不明白为什么这个非常合理的问题会收到负面评价和评论。 VSCode 的快速增长意味着它正在成为一种需要考虑的严重攻击向量。如果扩展没有审核过程,你的编辑器就成为一个特权点,只能由作者的防御来保护网络。攻击者总是选择最容易攻击的路径,而VSCode扩展可能就是其中之一。 - Menzo Wijmenga
2
@KenWhite,鉴于针对大公司和大学的有针对性黑客攻击的普遍存在,我认为这应该是某些用户,如果不是所有用户的关注点。看起来微软正在慢慢将最好的第三方功能整合到核心中。在这种情况下,您建议使用核心功能或自己检查的功能是一个不错的前进方式。那么真正的问题是这些用户能否信任核心?它会对许多合法区域进行调用。 - Walton
7
数据隐私并非唯一的问题。插件可以访问文件系统。有很多用于恶作剧的想法。 - Ryuu
显示剩余2条评论
1个回答

16
如果你对已安装的应用程序/插件发送哪种类型的数据(如果有)以及发送到哪里感到不安,那么你首先需要逐行检查插件源代码,然后设置一种类似于中间人代理服务器的工具来记录每个网络事务。有一个名为mitmproxy的工具非常适合在iOS网络取证或不能轻易窥视的所有封闭设备上使用:https://mitmproxy.org 这是繁琐的工作,因为您将不得不筛选大量的连接数据。好处在于最终您将确切地知道发送了哪种类型的数据以及发送到哪里,即使是通过SSL加密通信。 mitmproxy也可以将自己放置在这些连接之间 - 经过一些初始设置后。
除此之外,您只能设置个人防火墙或(根据您的操作系统)设置完整的防火墙集,阻止除手动批准的连接之外的所有连接。
最终,这一切都取决于您的威胁级别,正如在安全行业中所称。如果您有极高的运营安全要求,则不应从处理敏感信息的计算机连接到互联网,而应改用空气隔离的计算机,从一个计算机物理传输数据到另一个计算机,并设置多个额外的保护措施,例如入侵检测、启发式扫描和物理访问限制。
然而,这种安全开销通常是过度的。如果您安装了评分很高且流行的插件,则可能可以放心使用,因为大数定律表明,参与的人越多,恶意行为被检测到的概率就会更容易。
安全是一项高度复杂和动态的任务,你要么自己完成,要么付钱请人代劳。此外,这是一个数字游戏或威慑游戏。没有100%的安全保障。只要有足够的时间和资源,任何东西都可能被攻破。游戏规则是让攻击目标变得更加困难,以至于攻击成功所带来的潜在收益不值得攻击者去冒险。一个不是作为安全解决方案(即使是来自像微软这样的巨头)而开发的开源项目不能指望免费为您进行安全审查。
更新:随着VSCode变得非常流行,邪恶插件的问题也浮出水面。这与任何插件架构(如WWW浏览器)或公共包管理器(如npm)的问题相同。当没有正式的、自动化的和手动的安全审核时(如苹果的App Store-尽管他们有大量的人力资源,但偶尔也会疏忽),从信息安全的角度来看,所有这些系统都有潜在的毒性。另外,一个受欢迎的扩展可能会被出售和/或更换所有者,接着注入恶意代码。这种情况已经发生了多次,包括浏览器插件和npm包。扩展是一个相当大的攻击向量,特别是对于企业来说。开发人员通常比普通用户更广泛地访问网络基础设施和服务,并在他们的计算机上以更高的特权运行软件。
总之:
“我可以使用Fiddler并隔离可能从插件中发生的调用-但不想为我安装的每个扩展都这样做。”
恐怕目前这正是你必须要做的事情。

12
很不幸,VSCode并没有对此太认真。这确实是一个重大的攻击矢量,因为VSCode甚至没有像Chrome那样提供最小(有缺陷的)权限方法,比如“该插件将具有连接到外部网络的能力”。在2019年,微软不采取措施是错误的,即使这是开源的(并且是一个设计非常出色、有用的工具)。 - Marvin
2
这是一个问题 https://github.com/microsoft/vscode/issues/52116 - Marvin
有一个针对OSX的产品叫做“Little Snitch”(https://www.obdev.at/products/littlesnitch/index.html),它可以通知并潜在地阻止所有外发网络连接。当然,这时你就要信任它了... - Marvin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接