Python 隐藏漏洞通过超14.5万个软件包传播
内容提要
新泽西理工学院的研究揭示了Python生态系统中的安全隐患,称为“PyPitfall”。研究指出,复杂的依赖关系导致378,573个软件包中传播已知漏洞,其中4,655个软件包必然暴露,141,044个存在潜在暴露。建议开发审计工具以提高安全意识。
关键要点
-
新泽西理工学院的研究揭示了Python生态系统中的安全隐患,称为“PyPitfall”。
-
复杂的依赖关系导致378,573个软件包中传播已知漏洞,4,655个软件包必然暴露,141,044个存在潜在暴露。
-
Python的流行主要得益于PyPI托管的海量开源库,开发者常常未意识到安全隐患。
-
研究发现,依赖关系复杂,存在超过20层传递依赖和100多万个循环依赖。
-
使用Johnnydep工具模拟安装PyPI软件包,发现严重漏洞,尤其是urllib3组件。
-
核心数据包括:必然暴露平均深度4.1层,潜在暴露6.2层,检测到1,075,559个循环依赖关系。
-
建议开发审计工具以提高安全意识,并强调解决Python开源生态系统的系统性风险的紧迫性。
延伸问答
PyPitfall研究揭示了什么样的安全隐患?
PyPitfall研究揭示了Python生态系统中复杂的依赖关系导致已知漏洞在378,573个软件包中传播的安全隐患。
哪些软件包存在必然暴露的风险?
研究发现4,655个软件包明确要求安装已知存在漏洞的版本,存在必然暴露的风险。
Python生态系统中依赖关系的复杂性如何影响安全?
复杂的依赖关系导致超过20层的传递依赖和100多万个循环依赖,使得漏洞在广泛传播时保持隐蔽。
研究中使用了什么工具来检测漏洞?
研究团队使用Johnnydep工具模拟安装PyPI软件包,以收集依赖树数据并检测漏洞。
urllib3组件的漏洞影响有多大?
urllib3的漏洞影响尤为突出,出现在407,333条依赖链中,导致1,926个软件包存在必然暴露风险。
研究团队对未来的改进建议是什么?
研究团队建议开发能在安装前审计依赖关系的工具,以提升对传递性漏洞的认知。