Performing Supply Chain Attack Simulation

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

killvxk f94810e 4 files · 25.0 KB Updated

File contents

执行供应链攻击模拟

概述

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

前置条件

关键检测领域

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

输出

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

killvxk/cybersecurity-skills-zh/tree/main/skills/performing-supply-chain-attack-simulation commit f94810e1a9

Frequently asked questions

npx skillmds@latest add killvxk/performing-supply-chain-attack-simulation