文档
介绍
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 $*
Bash(Linux)
pip install secpipw
echo "alias pip='spip'" >> ~/.bashrc
source ~/.bashrc
Zsh(macOS)
pip install secpipw
echo "alias pip='spip'" >> ~/.zshrc
source ~/.zshrc
按照上述命令安装完成后,你可以通过运行 pip install --spip-status 去检查 spip 是否被成功安装。如果安装成功,你将会看到 spip {VERSION} guard enabled. 这条信息
报警机制
secpipw 发现的每个风险都会被归入三个等级之一。在默认 low 敏感度下,
HIGH warning 会暂停安装,MEDIUM warning 会要求交互确认,
LOW warning 会提示后继续安装。
暂停安装。只有在确认风险来源之后,才应该用 --spip-ignore-warning 继续。
交互终端会询问 y/n;非交互环境无法确认,因此会暂停。
默认敏感度下只提示 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 参数应该放在哪里。