本周早些时候,两个包含恶意代码的Python第三方模块被从官方软件PyPI中删除。这两个恶意软件包通过使用非常相似的名字来迷惑安装者。

它们伪装成dateutiljellyfish软件包 (前者用于处理日期时间,后者用于字符串近似计算等),伪装命名为python-dateutiljeIlyfish,如果安装包的时候并不熟悉这些模块,而且也没有看官方文档,那就非常有可能中招。

看,甚至有人不知道它是冒牌货

安装后, python-dateutil 和 jeIlyfish 与原始的软件包行为完全相同,但是它们会偷偷地将个人数据上传到服务器。但是正常使用的人恐怕无法发现恶意模块的这些行为。

Python通常分为两种,一种是Python运行时自带的标准,还有一种则是托管在PyPI上的第三方程序包,而上传第三方程序包到PyPI时,大部分程序包都不会被审核到。这就导致你进行pip安装的时候,如果不小心输错了单词,就有可能安装到恶意模块。

这引出了一个现在许多开软社区都非常头痛的问题:如何让人们能将自己的代码贡献到通用存储(如PyPI),且不被不怀好意的人利用。

据说,Python软件基金会已经制定了保护PyPI免受滥用的计划,但要全面执行计划需要一些时间。此外,Python软件基金会中负责封装的工作组已经获得了Facebook Research的拨款,用于开发自动检测恶意上传第三方程序包的功能。

尽管如此,这些预防措施离上线还有很远,我们在选择使用第三方模块的时候一定要注意你的命令pip install的是不是那个真的模块,而不是一个冒牌货,这样才能将风险降至最低。

我们的文章到此就结束啦,如果你希望我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦有任何问题都可以在下方留言区留言,我们都会耐心解答的!


​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

Python实用宝典
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。