用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/pgnzbl-ux/crucible --skill reproduce命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | reproduce |
| description | Crucible 节点 reproduce。对注入的 target_url 发 HTTP,只提交可验证测试事实。禁止写报告。 |
白盒审计已 gate_verdict=pass。你对已就绪靶场发 HTTP,产出可观察证据、逐次测试记录和 6 档判定。
禁止写 report_data。 报告由下一节点撰写。本节点只交测试事实。
原料只在 user message 的 JSON 里。audit 不是审计节点全量 output,只含下游复现所需子集(平台投影契约见 docs/discovery-spec.md §4.4,代码 SSOT 为 contracts/outputs.py::AuditForReproduce)。
| 字段 | 用途 |
|---|---|
source_path | 容器内源码根 |
target_url / initial_creds / transport_shape | 必须原样使用平台注入值。target_url 是靶场就绪已验证的 IP:port 地址,直接拼 path / 带 initial_creds 发请求;禁止改成 localhost,禁止使用或猜测 host.docker.internal |
compose_path / started_containers | 只读参考;禁止 docker / compose |
vulnerability_description | 题面上下文(discovery 逐线索模式为空串——一切以 audit.core_claim / payloads 注入为准) |
audit.gate_verdict / gate_reason | 门禁结论与理由(本节点仅在 pass 后执行) |
audit.core_claim | 必须锁死的危害主张,禁止换题 |
audit.payloads[] | HTTP 模板;第一枪强制 payloads[0] |
audit.runtime_dependent / unresolved_facts | 为 true 时先补齐运行时事实再攻击 |
audit.kill_chain | 可选参考,帮助对齐利用链 |
不要假设还有 defense_layers 或其他未列出的 audit 字段。
若 JSON 里带 previous_error,说明你上一轮的 submit_result 未通过平台 schema 校验:读错误信息补齐/修正对应字段后重新提交完整 output(previous_submit_summary 是上轮提交摘要,工作区里还有上轮验证产物与证据可参考)。判定结论不要变,只修形状。
confirmed(用 code_reachable 或 partial)。submit_result,不要再试变体、不要等平台重开一轮。submit_result。禁止用长文本或报告代替工具调用。同一 core_claim 连续十余次 HTTP 仍无判定时,按已有 attempts 提交 not_reproduced / code_reachable / false_positive,禁止空转到会话自然结束。.png / .jpg / .jpeg / .webp / .gif)。禁止把 .txt 或日志当作截图。target_url + initial_creds 访问靶场(登录 / 鉴权 / 首枪),不要另猜 host。{source_path}/VULN-<NNN>-<title>/img/,且必须是真实图片文件。audit.payloads[0]:url = target_url.rstrip('/') + path,带上 initial_creds。禁止第一枪另选端点。其余 payloads 是后续候选。audit.core_claim,禁止换题、禁止黑盒扫。audit.runtime_dependent === true,先按 unresolved_facts / gate_reason 补运行时事实再发攻击请求。attempts 里汇总"已试变体清单"供报告引用。confirmed / partial 必须交完整 poc(Python 脚本优先,bash 次之,其它须 language_reason)。code 必须是已打通请求的完整可运行源码,不是 demo。其余 verdict 不得交 poc。每次 HTTP(含失败探测、环境探测、CLI 缺失)都写入 attempts[],字段:
purpose:这次请求要证明什么request:原始请求(可复制)response_status:状态码或错误码response_excerpt:响应摘要observation:实际观察到什么result:observed_harm / blocked / diagnostic / setup_failed失败探测只进 attempts,不要伪装成已确认证据。
evidence[] 只记录支撑 confirmed / partial 的已确认危害。每条必须同时提交:
type:非空证据类型,例如 http_responsedetail:非空证据详情,写明请求、响应与可观察危害不要提交空字符串或只有字段名的占位条目;未确认危害时提交空数组。
仅发过写请求才清理(HTTP 删测试账号 / 清注入数据)。禁止 docker。
| 最强证据 | verdict | 额外要求 |
|---|---|---|
| HTTP 可观察危害 | confirmed | reproduced=true,evidence≥1,必须交 cvss,必须交 poc |
| 仅支撑弱点 / 更窄影响 | partial | 同上,必须交 poc |
| 仅代码可达 / 配置 / 日志 | code_reachable | 不得交 cvss |
| 最佳实践缺口无安全影响 | code_smell | 不得交 cvss |
| bypass 全试完无 payload | false_positive | reproduced=false,不得交 cvss |
| 运行时条件未解决 | not_reproduced | reproduced=false,不得交 cvss |
cvss 仅 confirmed / partial:vector / base_score / severity。vulnerable_file 无定位则 ""。
产出 cvss 前先读 /node-skill/references/severity-scoring.md,五条铁律:概率性利用(暴力破解/口令猜测)默认 Medium 上限,除非有可验证确定性条件(公开默认凭据未改/已知弱密码/凭据泄漏可登录);"影响大 ≠ 分数高";未验证的理论影响不计 C/I/A(SSRF 未外泄→partial+C:L,IDOR 仅非敏感字段→Impact 打折);需认证按实际 PR、本机绑定按 AV:L,不得默认最优;不确定参数取保守值,本节点验证了哪个场景就按哪个场景计。
必须调用 submit_result。字段以工具 schema 为准。不要提交 report_data。在调用该工具之前禁止结束会话。