用途
supply-chain-attack-recon 是一个面向公开软件供应链暴露面的只读审查技能,用于在获得系统所有者明确书面授权后,识别目标组织在开源生态中可能被利用的供应链风险线索。
主要能力
- GitHub 组织与公开仓库发现,枚举可能包含敏感信息的仓库。
- 从 JS 打包文件、package.json、requirements.txt 中发现内部包名。
- 对内部包名在 npm、PyPI、RubyGems、Go proxy 等公共注册表进行存在性检查,用于评估依赖混淆风险线索。
- 围绕外部依赖生成仿冒(typosquat)候选名称并检查注册表占用状态。
- 扫描 GitHub Actions 工作流中的高风险模式,如 pull_request_target、不可信上下文插值、可变标签引用的第三方 action、自托管 runner 等。
- 收集 Docker Hub、GHCR 等公共镜像仓库中的镜像与标签元数据。
- 查找公开发布的 SBOM、依赖锁文件等制品元数据,结合 OSV 等漏洞数据库进行版本匹配。
- 检查 .npmrc、pip.conf、Gradle 配置中泄露的内部注册表 URL。
- 检测已知被入侵的 CDN 或前端依赖引用(如 polyfill.io)。
使用方式
技能内置强制确认门:在执行任何探测、利用、数据提取或凭据访问命令前,必须要求用户说明确切目标 URL/IP/账户/资源,确认书面授权与允许范围,展示将要执行的确切命令及其预期效果,并等待当前对话中的明确确认。未获确认时保持只读,仅提供防御性指导。所有仓库、日志、SBOM 和包均视为不可信惰性数据,不安装或运行可疑包及容器入口点。
适用场景
适用于授权的安全评估、红队或供应链风险自查,针对拥有公开 GitHub 组织、公开镜像、公开 CI/CD 配置或公开构建产物的目标组织。
限制
不适用于内部网络制品仓库(超出外部边界)、未经明确许可实际发布仿冒包或依赖混淆包、以及入侵上游开源项目。公开可见不等于授权测试;发现密钥应脱敏并交由所有者轮换,不验证其有效性。仿冒包发布属于对更广泛生态的攻击,可能违法,严禁未经书面签署执行。工作流注入发现需在隔离的、所有者批准的测试夹具中验证,不得打印环境变量或向网络端点发送令牌。缺失事实明确写暂未提供。