0

0

Python 依赖供应链的安全审计

冰川箭仙

冰川箭仙

发布时间:2026-02-15 16:13:31

|

737人浏览过

|

来源于php中文网

原创

pip audit 不能直接查出所有漏洞,仅检测已安装包的已知cve,不分析源码、不覆盖私有包、存在数据延迟且忽略可编辑安装等。

python 依赖供应链的安全审计

pip audit 能直接查出所有漏洞吗

不能。pip audit 只检查已安装包的已知 CVE,不分析源码、不检测间接依赖的逻辑缺陷、不覆盖未打包进 PyPI 的私有包或 git 直接引用的依赖。

它依赖 pip-audit 自带的 pip-api 和官方 NVD 数据快照,更新有延迟(通常 1–3 天),遇到新爆的漏洞大概率漏报。

  • 只对 pip install 后的环境生效,对 requirements.txt 文件本身不扫描
  • 默认跳过可编辑安装(-e)和本地路径依赖,需加 --include-editable 才能覆盖
  • 若项目用 poetrypipenv 管理,得先导出为 pip freeze 格式再扫,否则审计结果不完整

如何让 pip audit 发现更多真实风险

关键不是多扫几次,而是补全上下文:把锁文件、构建环境、运行时实际加载的包都纳入判断范围。

  • pip freeze --all 替代 pip freeze,强制包含 setuptools、wheel 等底层工具链包(它们也有 CVE)
  • 对 CI 流程,在 venv 激活后、跑测试前执行 pip audit --require-hashes,能揪出哈希不匹配导致的包篡改
  • 配合 safetysafety check -r requirements.txt)交叉验证:它用不同数据源,常能发现 pip audit 漏掉的旧版本高危包

pyproject.toml 里写 dependency-groups 会影响审计结果吗

会,而且影响很隐蔽。如果只在 [project.optional-dependencies] 里声明 devtest 组,但没在 CI 中显式安装,pip audit 就完全看不到这些包——哪怕它们在开发机上装了。

Ke361开源淘宝客系统
Ke361开源淘宝客系统

Ke361是一个开源的淘宝客系统,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制, 融合了模块化、驱动化和插件化的设计理念于一体,以帮助想做淘宝客而技术水平不高的朋友。突破了传统淘宝客程序对自动采集商品收费的模式,该程序的自动 采集模块对于所有人开放,代码不加密,方便大家修改。集成淘点金组件,自动转换淘宝链接为淘宝客推广链接。K

下载

立即学习Python免费学习笔记(深入)”;

更麻烦的是,pip-tools 生成的 requirements.txt 默认不包含 optional 组,除非你手动加 --extra dev

  • 审计前务必确认:当前环境是否真包含了你要上线的全部依赖组合
  • CI 中建议用 pip install .[dev,test] 安装,再跑 pip audit,避免“本地能过、线上翻车”
  • dependency-groups 是 PEP 732 提案,尚未被 pip audit 原生支持,别指望它自动识别组间冲突

audit 报 Warning: No known vulnerabilities found 是好事吗

不一定。这个提示只是说「没查到已知 CVE」,不代表安全。常见陷阱是依赖链里混入了被弃用但仍在用的包(比如 urllib3 ),NVD 可能还没给它打标,但社区早已公开绕过方案。

  • 检查 pip show <pkg_name></pkg_name> 输出的 VersionHome-page,确认是否还在维护周期内
  • pip install --upgrade --dry-run <pkg></pkg> 看升级路径,有些包升到新版要改代码(比如 requests 从 2.x 到 3.x),硬升反而引入新问题
  • 真正要盯的是 pip audit --strict 下的 exit code:0=无已知漏洞,1=有漏洞,2=网络错误或解析失败——别只看 stdout

依赖安全不是扫一次就完事的事。最危险的漏洞往往藏在没人碰的旧子依赖里,而 pip audit 的静默通过最容易让人放松警惕。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

348

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

425

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

785

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

356

2025.07.23

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

478

2023.11.27

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

831

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

573

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

273

2023.07.24

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

139

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 4.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号