VSCode扩展的安全性和隐私性

she*_*har 17 security privacy visual-studio-code

我看到VSCode有很多很好的扩展.然而,我担心这些扩展是否将我的代码发送到他们的任何服务器.有没有办法找出来?我可以使用fiddler并隔离可能从插件中发生的调用 - 但不希望为我安装的每个扩展都这样做.VScode团队对此有一些指导吗?

her*_*off 8

如果您对所安装的应用程序/插件的发送方式和插件的数据(如果有的话)是偏执的,您首先必须逐行检查插件源代码,然后设置一种类型的人 - 正在记录每个网络事务的中间代理服务器.有一个适合称为mitmproxy的工具,例如在iOS网络取证中使用,或者您无法轻易查看的所有封闭设备:https://mitmproxy.org

这是费力的工作,因为您将不得不筛选大量的连接数据.好处是,最终您将确切地知道在哪里发送哪种数据,即使是通过SSL加密通信.在初步设置之后,mitmproxy也可以将自己置于这些连接之间.

除此之外,您只能设置个人防火墙或(取决于您的操作系统)设置完整的防火墙设置,阻止除手动批准的所有连接.

最终,这一切都取决于您的威胁级别,正如安全行业所称.如果您有极高的操作安全要求,则不应该从处理敏感信息的机器上连接到互联网,而是使用气隙机器,将数据从一个物理传输到另一个,设置几个其他安全措施,如入侵检测,启发式扫描和物理访问限制.

但是,这种安全开销通常是过度的.如果你安装了高评价和流行的插件,你可能会很高兴,因为大数法则规定恶意行为的概率将更容易被更多人参与.

安全性是一项非常复杂和动态的任务,您要么自己做,要么付钱给别人为您做.此外,这是一个数字游戏,或威慑之一.没有100%安全的东西.如果有足够的时间和资源,任何事情都可能受到损害.游戏的目的是让目标更难以达成目标,而不是成功实现目标.一个不是作为安全解决方案而开发的开源项目(即使是像微软这样的巨头)也不能期望免费为您进行这种安全审查.

更新:随着VSCode变得非常流行,出现了邪恶插件的问题.这与任何插件架构(如WWW浏览器)或公共包管理器(如npm)的问题相同.当没有正式的,自动化的和手动的安全评论(例如Apple的App Store - 尽管他们的人力资源大量不时出现时),从信息安全的角度来看,所有这些系统都具有潜在的毒性.流行的扩展程序也可能会被出售和/或更改所有者,然后注入错误的代码.对于浏览器插件和npm包,这种情况多次发生.扩展是一个相当大的攻击载体,尤其对于企业而言.与普通用户相比,开发人员通常可以更广泛地访问网络基础架构和服务,并在其计算机上运行具有更高权限的软件.

结论:

我可以使用fiddler并隔离可能从插件中发生的调用 - 但不希望为我安装的每个扩展都这样做.

我担心这正是你暂时要做的事情.

  • 不幸的是 VSCode 并没有认真对待这一点。这确实是一个很大的攻击媒介,因为 VSCode 甚至没有像 Chrome 那样提供最小(有缺陷)的权限方法,例如“该插件将能够连接到外部网络”,在 2019 年,微软不这样做是错误的为此做点什么,尽管这是开源的(并且是一个设计得非常好的、有用的工具) (8认同)
  • 有问题https://github.com/microsoft/vscode/issues/52116 (2认同)