自动化与运维 ci-cd-securityred-teamsupply-chain-securitygithub-actionse2e-testingtmuxdockerc2-framework

SmokedMeat E2E 测试技能

自动化运行 SmokedMeat CI/CD 红队框架的端到端测试:Docker 基础设施加 tmux 内的 TUI,验证完整利用链是否按预期工作。

FollowSkills 评估 · FSRS-2.0
谨慎使用
49/ 100 五分制 2.5 / 5
1 2 3 4 5 6
1信任安全14 / 25 · 2.8/5

技能配置隔离清晰(.claude/e2e/ 独立存放令牌与配置)、声明 allowed-tools 范围、含清理/回收步骤,且目标为授权演练仓库 whooli;但作为攻击框架的 e2e 技能授权 Bash 执行完整利用链,敏感令牌(GITHUB_TOKEN、AUTH_TOKEN)写入本地文件而无加密或最小权限说明,缺乏对真实第三方仓库的硬性防误用边界,故扣分。

2可靠稳定8 / 20 · 2.0/5

文档结构完整:明确 make 目标、时间预期、故障排查表、手动 tmux 调试路径与清理命令;但静态审查无法验证关键路径可复现,e2e 测试不在 CI 中执行,错误反馈依赖测试输出而非独立可诊断消息,故仅给中间分。

3适用触发8 / 15 · 2.7/5

触发描述明确(测试 TUI 变更、验证利用流程、调试 UI 状态),支持 $ARGUMENTS 焦点化输入,场景与边界较清楚;但仅英文、核心流程依赖 GitHub、Cloudflare tunnel、Docker 与外网可达性,对中国大陆网络环境存在明显依赖风险,故扣分。

4规范维护9 / 15 · 3.0/5

信息分层良好(配置隔离→快路径→全链→手动迭代→故障→清理),README/LICENSE/SECURITY.md 齐备,AGPL-3.0 明确;但技能本身无版本、变更记录或维护者声明,属于仓库内部开发辅助文档,对外使用假设未说明,故扣分。

5有效结果6 / 15 · 2.0/5

目标受众(仓库开发者)任务明确,make 命令与预期输出格式具体,边际价值真实(自动化端到端验证优于手动操作);但静态审查无法验证产出可直接使用,e2e-goat 时长环境依赖,故扣分。

6证据核验4 / 10 · 2.0/5

提供可审计的一手材料(Makefile 引用、Go 测试名、CI 工作流、配置表),但无第三方独立执行证据,e2e 关键路径未在 CI 覆盖,静态无法复现结论,故仅给有限分。

证据充分度: 评估于 2026年9月10日 审查版本 3b2873dbecac
使用前请注意
  • 该技能会驱动真实 CI/CD 攻击链(含 PR 注入、缓存投毒、云凭据窃取演练),仅应在获书面授权的环境运行;误用于未授权仓库可能违法。
  • GITHUB_TOKEN 等凭据以明文存储于 .claude/e2e/.env 与 tokens.yaml,请注意文件权限与提交泄露风险。
  • 核心流程依赖 GitHub、Cloudflare tunnel、Docker 及境外网络可达性,中国大陆用户可能无法稳定使用。
  • 本评审为静态源码审查,未执行任何测试;e2e 路径未纳入 CI,可靠性未经独立验证。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能封装了 SmokedMeat(一个 CI/CD 后渗透红队框架)的端到端测试流程。所有配置隔离在 .claude/e2e/ 目录,基础设施跑在 Docker,操作员 TUI(Counter)在 tmux 中运行并被捕获。提供快速冒烟路径(make e2e-smoke,约 45-90 秒)和完整 GOAT 攻击链路径(make e2e-goat,数分钟),覆盖从公开仓库初始立足点到云上 flag 获取的整个链条。技能还能根据用户指定的焦点(向导、布局、利用、侦察、认证)定向测试,并在失败时解读 tmux 捕获输出进行调试。

读取 .claude/e2e/.env、config.yaml 和 tokens.yaml 等隔离配置;通过 make 目标清理并启动 Docker 基础设施与 Cloudflare 隧道;在 tmux 会话中启动 Counter TUI 并用 tmux capture 截取界面状态;运行 TestPublicExploitSmoke(部署公开 issue-body 立足点、等待 Brisket 回调、确认战利品)或 TestGOATFlagPath(workflow_dispatch 滥用、PAT 枚举、SSH 跳板、缓存投毒、OIDC 到 GCP 的云跳板、flag 获取);失败时分析 requireContent 断言与捕获内容,支持 make e2e-capture / e2e-keys 手动交互,并将 bug 追加到 docs/e2e-bugs.md。

  1. 修改 SmokedMeat TUI 代码后,开发者用焦点词 'wizard' 或 'layout' 快速验证向导流程与面板布局是否正常。
  2. 安全工程师调整利用链后运行 make e2e-smoke,在约一分钟内确认公开立足点全流程可用。
  3. 调试 Counter 界面状态异常时,用 make e2e-capture 查看当前 TUI 并用 make e2e-keys 手动发送按键。
  4. 验证 Kitchen/Counter 集成改动后运行 make e2e-goat,走完含云跳板与 flag 获取的完整攻击链。
  5. 测试认证与 token 校验逻辑时以 'auth' 为焦点定向运行。
  6. 发现界面 bug 后按约定格式记录到 docs/e2e-bugs.md 以便跟踪。

这个 Skill 有哪些优点和局限?

优点
  • 两条预置测试路径:约 1 分钟的冒烟测试和完整 GOAT 攻击链,覆盖面明确。
  • 配置完全隔离在 .claude/e2e/,不会污染用户全局 ~/.smokedmeat/。
  • 失败时自带 tmux 捕获输出与常见故障对照表,排障路径清晰。
  • 焦点词机制(wizard/layout/exploit/recon/auth)允许定向测试,节省时间。
局限
  • 强依赖 Docker、tmux、make 和 Cloudflare 隧道,环境要求重。
  • e2e-goat 耗时数分钟且时长依赖环境,不适合频繁迭代。
  • 仅覆盖 GitHub Actions 攻击面(whooli 山羊仓库),README 提到的其他 CI 平台未被此技能测试。
  • 测试失败时需人工解读 tmux 捕获,自动化诊断有限。
  • AGPL-3.0 许可证对集成使用有传染性约束。

如何安装这个 Skill?

将技能放入仓库的 .claude/skills/e2e/SKILL.md(该文件已位于 boostsecurityio/smokedmeat 仓库此路径)。克隆仓库后需安装 Docker 和 make(Go 非必需,快速启动用;开发迭代需 Go 1.26+)。运行 make e2e-smoke 时会提示输入 GITHUB_TOKEN 并保存到 .claude/e2e/.env。

如何使用这个 Skill?

在 Claude Code 中触发该技能,例如输入:'运行 e2e 冒烟测试' 或 '用 exploit 焦点测试 e2e'。无焦点时先跑快速冒烟路径:make e2e-smoke;需完整链条时运行 make e2e-goat。调试时可用 make e2e-counter、make e2e-capture、make e2e-keys KEYS='Enter' 等命令手动操作 tmux 会话。结束用 make e2e-down 或 make e2e-purge 清理。

这个 Skill 与同类方案有什么区别?

SmokedMeat 自我定位为'CI/CD 领域的 Metasploit',并与其同门的 poutine(构建管线 SAST 扫描器)形成攻防互补;先验工作还包括 Gato-X(GitHub Actions 枚举)、Nord-Stream(CI/CD 秘密提取)和 Sliver/Mythic(C2 架构参考)。该技能本身是测试工具,没有直接的同类竞品被列出。

常见问题

需要什么权限和 token?
需要 GITHUB_TOKEN(快速启动推荐带 public_repo 的经典 PAT,私有仓库需 repo 权限),由 make e2e-smoke 提示输入并保存到 .claude/e2e/.env; AUTH_TOKEN 与 KITCHEN_URL 也自动生成于此文件。
测试大概要多久?
冒烟路径 make e2e-smoke 约 45-90 秒(含约 30 秒基础设施启动);完整 GOAT 路径通常需数分钟,取决于环境。
测试失败怎么办?
输出包含失败时的 tmux 捕获,可对照常见故障表(unauthorized 表示 token 不匹配、connection refused 表示 Kitchen 未运行、no such host 表示隧道 DNS 未传播等),或用 make e2e-capture / e2e-keys 手动调试。
测试会留下痕迹吗?
测试在 whooli/xyz 创建的 issue 会被 t.Cleanup() 自动关闭;基础设施用 make e2e-down 停止、make e2e-purge 彻底清除数据(含卷和数据库)。

相关 Skills