【问题标题】:Should plug-ins be "safe to install"?插件应该“安全安装”吗?
【发布时间】:2012-01-02 14:34:08
【问题描述】:

这是一个非常笼统的问题,我认为我的上下文无关紧要。

假设有一个插件系统,那么用户将能够安装插件并拥有新功能,因此他们会喜欢继续不小心安装它们。
但存在安全问题。 插件可能包含写得不好的代码,甚至是恶意代码

解决稳定性的一种方法是将插件与应用程序的其余部分隔离(Google Chrome 就是这样做的,效果很好)。
但在安全方面,情况就不同了。

如果我要确保插件“可以安全安装”,那不仅会对插件施加很多限制,而且还会迫使我为插件制作完整的 API/格式(比如说嵌入一个脚本引擎),我不想这样做(更简单的是将它们作为库)。

那么,我可以对插件做些什么呢? 用户是否应对其安全性负责?我是否需要插件提交的源代码并检查/签署“受信任的插件”?
你会怎么做? (它不是一个企业应用程序,它是一个将开源发布的个人项目)。

【问题讨论】:

    标签: security plugins


    【解决方案1】:

    如果是开源项目,那么我猜大部分插件也会开源,这意味着任何人(当然,只有你社区的一部分有经验的人会这样做)可以探索插件的源代码,这使得它更不安全,同时更安全。因为任何人都可以通过探索代码并利用这些问题来发现安全问题,但另一方面,安全问题将根据您的社区活动而很快为人所知并得到解决。当然,也不太可能有人故意将恶意代码放入开源插件中。

    您还可以创建一个插件站点,用户将在其中发布他们对插件的评价,您(作为站点和产品所有者)可以推荐一些好的和“安全”的插件。这就是 Mozzila 和许多其他人所做的。

    但总的来说,我认为用户在任何情况下都应对安全负责。控制一切都是昂贵的。你永远不知道你的代码中有多少安全漏洞,你永远不知道有多少插件。让社区来做这项工作,因为它是开源的。

    【讨论】:

    • 感谢您的意见。我相信你是对的,这样的评级系统也会引起人们对最常用/有用的插件的关注,并且会更快地发现错误。 Mozilla 和其他人也充分证明了赋予社区权力(并赋予社区责任)的想法。既然你的回答透彻地涵盖了问题,没有什么好说的,所以采纳了。