文档

介绍

secpipw 是一个轻量的 pip wrapper。它保持普通 pip 的行为,只在 pip install 周围加入供应链安全检查。


概览

secpipw 面向日常 Python 安装路径设计。除 install 之外的命令都会转发给 python -m pip。对于 spip install 这个 CLI 入口,解析、下载、构建和安装仍然走 pip;secpipw 只在关键节点插入轻量检查。

安装

先安装 secpipw,再把 pip alias 到 spip,这样原来的工作流不用改变。

cmd(Windows)

pip install secpipw
doskey pip=spip $*

按照上述命令安装完成后,你可以通过运行 pip install --spip-status 去检查 spip 是否被成功安装。如果安装成功,你将会看到 spip {VERSION} guard enabled. 这条信息

报警机制

secpipw 发现的每个风险都会被归入三个等级之一。在默认 low 敏感度下, HIGH warning 会暂停安装,MEDIUM warning 会要求交互确认, LOW warning 会提示后继续安装。

HIGH

暂停安装。只有在确认风险来源之后,才应该用 --spip-ignore-warning 继续。

MEDIUM

交互终端会询问 y/n;非交互环境无法确认,因此会暂停。

LOW

默认敏感度下只提示 warning,然后继续安装。

可以通过 --sensitivity 参数提高拦截强度。 也可以用 --spip-ignore <level> 完全忽略某个严重程度及以下的 warning。

工作流

推荐工作流很简单:继续输入你熟悉的包安装命令,但让它们经过 secpipw,这样 guarded install 路径就能检查解析后的安装计划和准备好的本地安装产物。

完整规则和 warning 级别见单独的 检查项参考

对于 pip install . 这类本地安装路径、基于本地文件的安装,或者显式使用 --no-index--find-links 的离线安装,secpipw 会禁用 registry 元数据请求。此时它会专注于 direct install 检测和 .pth 检查,而不是去查询远端包索引的元数据。

这里禁用的只是远端元数据查询,不会关闭本地安全检查。本地路径、安装产物内容,以及安装后的 .pth 变化仍然会继续检查。

下一步

继续阅读包管理器说明,查看 pipx、poetry 和 uv 如何启动,以及 secpipw 参数应该放在哪里。

阅读包管理器说明