pip-audit -r requirements.txt -f json -o audit.json
pip-audit -r requirements.txt --fix

pip-audit -r requirements.txt 列出 7 条漏洞,其中 urllib3 1.26.4 命中 CVE-2023-43804。直接升到 2.x 之后另一个内部 SDK 的请求全报错。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,扫描看的是包版本和已知 CVE 的对应表,和生产上真正被调用的代码路径不是一回事。盲目跟最高版本升,会把别人的版本约束一起撞坏。

「pip-audit 漏洞」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。

接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

处理上按这个顺序:先跑 pip-audit 输出固定格式存一份基线 每次构建对比新增项;确认命中的漏洞函数有没有被业务调用 只是间接引入的可以缓一缓;优先升到修复该 CVE 的最低版本 而不是最新大版本;升完跑集成测试 再复扫确认这条消失且没有新增。

改完只确认一件事:audit.json 里该 CVE 条数归零 集成测试全绿 没有引入新的 high 级条目。

作者 9823189