根据linux系统库查找所有Python包

2024-05-12 23:14:44 发布

您现在位置:Python中文网/ 问答频道 /正文

让我们假设一个场景,其中安全扫描显示某个linux系统库中存在一个高漏洞

如何找到需要此系统库的所有python包(使用pipconda安装的许多包中的一个)

换句话说,pipdeptree,但返回系统库

  • 更多信息。作为风险缓解的一种形式,我们将临时卸载受影响的python包,以摆脱易受攻击的系统库。我们可以确定,正确操作底层操作系统不需要系统库,因为仅包含操作系统的基本映像中不存在漏洞。我们无法安装易受攻击的库,而只是禁用/阻止-构建时安全扫描必须干净地通过(即未安装库)

Tags: pip信息linux系统场景conda形式风险
1条回答
网友
1楼 · 发布于 2024-05-12 23:14:44

事实证明,这个特定的包有一个conda可安装的python包,该包具有相同的名称,具体取决于易受攻击的系统库,其中的系统依赖项已经被修补

因此,第一步是使用conda升级python包,这也升级了conda-特定文件夹(/opt/conda/bin/<package>)中的系统二进制文件:

conda install -y <package>

但是,用户级位置(/usr/bin/)中的同一个库仍然易受攻击,因此我必须用conda补丁版本覆盖它(我检查了库源repo中的差异,以确保补丁是次要的):

rm /usr/bin/<package> && ln -s /opt/conda/bin/<package> /usr/bin/<package> 

此外,由于初始安全扫描也是在conda修补程序可以执行之前运行的,因此我必须将CVE添加到白名单中(但仅针对初始扫描覆盖的docker图像,而不是修补程序之后扫描的最终图像)

相关问题 更多 >