【问题标题】:Are third party packages/pip safe?第三方包/pip 安全吗?
【发布时间】:2016-10-15 18:27:13
【问题描述】:

我的问题可能看起来有点奇怪,但这只是因为我是编程新手。我目前正在阅读使用 Python 自动化这些无聊的东西,它们要求您下载 openxlpy 以使用 excel 中的电子表格。我想使用我正在学习的内容在我工作的地方生成报告,但这需要我处理敏感的客户信息。我相当肯定他们是,但我只是想要更有经验的建议。

所以问题是:像 openxlpy 这样的第三方模块在工作环境中使用是否安全?

【问题讨论】:

  • 好吧,如果你相信作者,是的。如果你不相信他们,可能不会。与我猜想的任何其他软件没有什么不同。
  • 每个人都可以将包上传到 PyPI,因此不能保证他们应该做的事情。但与 excel 本身相比,您可以阅读他们的代码,因此您可以检查他们的工作。
  • 这个问题是题外话,因为它应该问你公司的管理层。对于一般情况:该问题不在适用于本网站的问题范围内,如What topics can I ask about here? 中所定义,另请参阅:What types of questions should I avoid asking? 您可以通过another Stack Exchange site 获得帮助。

标签: python-3.x security pip


【解决方案1】:

这是一个很好且非常相关的问题。第三方模块的安全性对于企业软件开发来说确实是一个越来越重要的问题。

一件事是包管理器本身的安全性。它应该通过安全通道(主要是 https)下载包,验证下载的包以确保在下载后但在安装之前在主机或客户端上没有被篡改。如果您手动安装软件包,您还必须小心输入正确的软件包名称,因为该软件包的安装脚本是使用您正在安装的用户(通常是 Linux 上的 root)运行的,请参阅 this research 为什么这是一个威胁(在撰写此回复时,原始网站已关闭,文章为 herehere)。

另一件事是您从已安装包中添加的代码。当您将第 3 方模块添加到您的应用程序时,您天生就信任制作该软件包的个人或组织。无论您是否愿意,风险在于您可能会通过您安装的软件包向您的软件添加漏洞。当然,知名的包可能带来的风险较小,但众所周知并被许多人使用并不能保证包的安全性。

在添加新软件包时,您可以(并且应该)做的尽职调查是在线检查是否存在已知漏洞。一般来说,您可以使用NVD 之类的在线数据库来进行这些类型的查询,我不知道这种特定于 Python 的数据库。

如果是 Python 或 Ruby 等语言,您当然也可以查看包的源代码并检查它是否存在漏洞。请注意,尽管安全代码审查是一项棘手的工作,但有时发现安全漏洞并不容易。

所以简短的回答是大多数 Python 包可能都可以,但是使用来自未知作者的包确实会引入严重的漏洞。同样随着时间的推移,旧包中可能会发现新的漏洞,因此除了在将包添加到项目时检查包之外,您还应该定期更新您的 3rd 方包,尤其是在存在已知漏洞的情况下(但如果没有漏洞)。

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2012-02-21
    • 2012-07-23
    • 1970-01-01
    相关资源
    最近更新 更多