我的问题可能看起来有点奇怪,但那只是因为我是编程的新手。我目前正在阅读用Python自动化无聊的东西,他们要求你下载openxlpy来处理excel中的电子表格。我想使用我正在学习的内容来生成我工作的报告,但它需要我处理敏感的客户信息。我很确定他们是,但我只想要更有经验的建议。
因此,任务是:openxlpy等第三方模块是否可以在工作场所环境中使用?
答案 0 :(得分:0)
这是一个非常好且非常相关的问题。第三方模块的安全性确实也是企业软件开发中越来越重要的问题。
有一件事是包管理器本身的安全性。它应该通过安全通道(主要是https)下载软件包,验证下载的软件包,以确保在下载之后但安装之前,主机或客户端上没有任何篡改。如果手动安装软件包,还必须小心输入正确的软件包名称,因为软件包的安装脚本是与您安装的用户一起运行的(通常是Linux上的root用户),请参阅this research为什么这是一个威胁(原始网站在撰写此回复时已关闭,文章为here或here)。
另一件事是您从已安装的软件包中添加的代码。向应用程序添加第三方模块时,您固有地信任制作该程序包的个人或组织。您要么想要这样做,风险就是您可能会通过您安装的软件包向您的软件添加漏洞。当然,众所周知的软件包可能带来的风险较小,但众所周知并被许多人使用是远远不能保证软件包的安全性。
在添加新软件包时,您可以(并且应该)尽职尽责地在线检查是否存在已知漏洞。通常,您可以使用NVD之类的在线数据库来处理这些类型的查询,我不知道这种特定于Python的数据库。
对于Python或Ruby等语言,您当然也可以查看包的源代码并检查它是否存在漏洞。请注意,虽然安全代码审查是棘手的事情,但有时候发现安全漏洞并不容易。
所以简短的回答是Python的大多数软件包都可能没问题,但是使用来自未知作者的软件包确实会带来严重的漏洞。此外,随着时间的推移,旧软件包中可能会发现新的漏洞,因此除了在将软件包添加到项目中时检查软件包之外,还应定期更新第三方软件包,尤其是在存在已知漏洞的情况下(如果没有漏洞)。