用途:该技能面向 Python 生态的依赖供应链安全,帮助检测、预防和响应被入侵的上游包。适用于发布供应链公告后、审计新老项目依赖、疑似入侵的事件响应,以及为项目添加 SessionStart 钩子时。不适用于与依赖供应链无关的通用 CVE 分诊、应用层漏洞扫描(应使用 SAST 工具)和许可证合规审计。
主要能力:维护一份已知恶意版本黑名单,路径为 ${CLAUDE_SKILL_DIR}/known-bad-versions.json,被 SessionStart 钩子(每会话对受损版本告警)和 make supply-chain-scan(CI/本地扫描目标)消费。黑名单条目包含包名、受影响版本、日期、攻击描述、可搜索的指标文件或模式、公告来源 URL 和严重级别(critical|high|medium)。防御层包括:uv.lock 的 SHA256 哈希(可捕获被篡改后重新发布的同版本包)、pyproject.toml 中的版本排除(!=x.y.z)、SessionStart 钩子告警、CI 扫描(OSV、Safety)以及制品扫描(make supply-chain-scan 查找 .pth 等恶意文件)。
使用方式:新增条目时,向 known-bad-versions.json 添加条目,在受影响的 pyproject.toml 中加入版本排除,在 docs/dependency-audit.md 的 Supply Chain Incidents 下记录,并运行 make supply-chain-scan 验证检测。快速扫描可用 grep 检查 uv.lock 中的特定受损版本、find 搜索可疑制品、检查虚拟环境中已安装版本。
限制:零日供应链攻击没有先例公告,攻击窗口期内锁文件哈希是唯一自动防御;Safety/CVE 数据库滞后于真实入侵;OSV 覆盖更广但仍属被动响应。