소스 정보
- 저장소
- pgnzbl-ux/crucible
- 최근 소스 활동
- 2026년 8월 28일 04:12
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
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。在调用该工具之前禁止结束会话。