CVE-2020-5252 in safety Package
摘要
由 VulDB • 2026-05-16
Python 的命令行“safety”包存在潜在的安全问题。由于 Python 的两个特性,恶意代码可以通过伪装或混淆其他恶意或不安全的包,来“毒化”(poison-pill)命令行 Safety 包检测例程。由于该攻击利用了现有的 Python 环境条件,而非 Safety 工具本身的缺陷,因此该漏洞被认为严重程度较低。
在以下情况下可能发生此问题: - 您在一个不信任的 Python 环境中运行 Safety。 - 您在与安装依赖项相同的 Python 环境中运行 Safety。 - 依赖包被任意安装或未经适当验证。
用户可以通过采取以下任一措施来缓解此问题: - 通过安装 Docker 并运行 Safety Docker 镜像进行静态分析:`$ docker run --rm -it pyupio/safety check -r requirements.txt` - 在单独的、干净的 Python 环境中,针对静态依赖项列表(如 requirements.txt 文件)运行 Safety。 - 从持续集成(CI)管道中运行 Safety。 - 使用 PyUp.io,它在受控环境中运行 Safety,并检查 Python 的依赖项,无需安装这些依赖项。 - 使用 PyUp 的在线依赖项检查器(Online Requirements Checker)。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.