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 级条目。
