# Performing Supply Chain Attack Simulation

> 模拟和检测软件供应链攻击，包括通过 Levenshtein 距离检测域名抢注（Typosquatting）、针对私有注册表的依赖混淆（Dependency Confusion）测试、使用 pip 进行包哈希验证，以及使用 pip-audit 扫描已知漏洞。

- Skill: `killvxk/performing-supply-chain-attack-simulation` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/performing-supply-chain-attack-simulation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/performing-supply-chain-attack-simulation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/performing-supply-chain-attack-simulation

---


# 执行供应链攻击模拟

## 概述

软件供应链攻击通过以下方式利用对包注册表的信任：域名抢注（注册与流行包相似的名称）、依赖混淆（发布与私有名称匹配的高版本公共包），以及被入侵的包分发。本技能通过以下方式检测这些攻击向量：计算包名与流行 PyPI 包之间的 Levenshtein 距离、通过 SHA-256 哈希比较验证包完整性、使用 pip-audit 扫描已知 CVE，以及测试依赖解析顺序的混淆漏洞。

## 前置条件

- Python 3.9+ 及 `pip-audit`、`Levenshtein`、`requests`
- 访问 PyPI JSON API（https://pypi.org/pypi/{package}/json）
- 用于获取包元数据的网络访问

## 关键检测领域

1. **域名抢注（Typosquatting）** — 使用编辑距离阈值将包名与顶级 PyPI 包进行比较
2. **依赖混淆（Dependency Confusion）** — 检查内部包名是否以更高版本号存在于公共 PyPI 上
3. **哈希验证** — 下载包并验证 SHA-256 摘要是否与已发布哈希匹配
4. **漏洞扫描** — 对照 OSV 和 PyPA 咨询数据库审计已安装的包
5. **元数据异常** — 标记具有可疑作者邮件、缺少主页或首次上传日期非常近的包

## 输出

JSON 报告，包含每个包的风险评分、检测到的攻击向量、哈希验证结果和 CVE 发现。

