检查项参考

检查项

使用 spip install 时,secpipw 会围绕解析后的安装计划和安装产物运行这些检查。


typo-suspect MEDIUM / LOW

在 pip 解析出安装计划后,检测包名是否像热门包的假拼写错误。非热门的已解析包名会和本地热门包列表比较。

例如 requsetsrequestspandapandas,以及 sixthsix

direct-url MEDIUM

当安装目标或已解析依赖使用 direct URL、VCS URL,或 PEP 508 direct reference,而不是普通 registry 包引用时报警。

recent-release MEDIUM / LOW

当选中的 PyPI release 发布时间非常近时报警。发布时间小于 8 小时是 MEDIUM;小于 48 小时是 LOW

empty-description LOW

当选中的 PyPI release 元数据里 summary 和 long description 都为空时报警。

yanked-release MEDIUM

当 pip 解析出的版本已经被标记为 yanked 时报警。这个检查使用 pip 解析后的安装报告,不会增加额外的 registry 元数据请求。

archive-hash HIGH

当 PyPI release 元数据已经可用时,比较解析出的 wheel 或 sdist hash 与 PyPI 元数据中的 digest。如果不一致,会发出 HIGH 警告。

suspicious-url LOW

当 PyPI 元数据指向短链接、裸 IP、嵌入凭据,或类似的可疑 URL 模式时报警。

repository-mismatch LOW

当 PyPI 元数据指向 GitHub 或 GitLab 仓库,但仓库名看起来和包名无关时报警。

email-domain-drift LOW

当包维护者邮箱域名和 secpipw 本地历史缓存中记录的域名相比发生变化时报警。

zero-version LOW

当选中的包版本是 0.00.0.0 时报警。

suspicious-pth MEDIUM

检测新增或被修改的 .pth 文件中是否存在以 import 开头的可执行行。报警后会询问是否删除可疑的已安装 .pth 文件。

artifact-history MEDIUM / LOW

在一次 spip install 成功后,为已安装包记录本地安装产物 baseline。之后再次安装同名包时,如果已安装 .pth 文件新增、删除或内容变化,就会报警。

.pth 文件变化是 MEDIUM。entry-point 元数据或生成的脚本文件名新增、删除是 LOW。脚本文件内容不会比较,因为生成的 wrapper 在不同环境里可能不同。