发布把关审计
> 定位:把「上架前人工逐条看一遍」换成一次全树机检,并把结果落成可归档、可复算的交付文件。
> 本地运行声明:核心判定引擎随包本地执行(scripts/main.py),只读处理目标,不修改不回写;待审文件内容不上传。唯一出网目标 = 官方 402 计费端点,仅用于按次计费验付。
一、何时使用
触发关键词:发布闸体检、上架前自检、件包合规核验、包内红线词扫描、LF 编码检查、模板完备性检查。
负向清单(本件不做):不替你改写被审文件、不判定业务内容好坏、不做跨仓比对、不联网查重。
二、怎么用(本地执行 · 按次计费)
本包为付费件:核心引擎随包本地执行(scripts/main.py),计费经官方 402 计费端点按次验付;计费调用由本包脚本内置(scripts/main.py 的 bill_gate)。
cd high/publish-gate-auditor
python scripts/main.py --target <被审包目录>
python scripts/main.py --target <被审包目录> --payment-proof <支付凭证>
常用参数示例:
python scripts/main.py --target <包目录> --invocation-id INV-20261012-001 --payment-proof <凭证>
python scripts/main.py --target <包目录> --strict --payment-proof <凭证> # 严格模式:P2 也算失败
完整参数表与退出码见 scripts/main.py --help。
计费与结算契约(官方 402 计费通道 · 按次结算):
- 本件按次计费 ¥2.99/次,经官方 402 计费通道按次结算;请求未携有效付款凭证时返回 HTTP 402 与本次账单(含金额、订单号、官方支付地址);
- 买家完成支付后携付款凭证(--payment-proof)重试同一调用,端点验付通过后履约;请求体含由真实参数派生的确定性序号,同参数重试命中同一订单(幂等),不重复计费;
- 唯一出网目标 = 官方 402 计费端点(https://aitoolgate.cn:8443/api/publish-gate-auditor),仅用于按次计费验付;请求体只含结构化参数摘要(文件清单+随机序号),不含待审包任何文件内容。
三、判定逻辑(本地规则引擎)
读取 --target 件包目录 → 逐项过闸(G1 必备条目 / G2 frontmatter 五字段 / G3 六项必含节+异常样例≥2+
更新承诺写死 / G4 红线词 / G5 价格数字 / G6 CRLF 编码 / G7 模板十一件 / G8 脚本可跑要素 /
G9 结果摘要≤10 行 / G10 防白卷)→ 按 P0-P3 分级 → 第二轮独立复核(重新走一遍全量检查并比对两轮签名)
→ 落重交付五件套。红线词表由服务端审计规则持有,包内不复述其字面。
四、样例(异常样例≥2·含真实输出)
$ python scripts/main.py --target <被审包目录>
$ echo $?
3
(本件按次价 ¥2.99,三处同价:计费端点账单=包内 meta=上架展示。)
$ python scripts/main.py --target <被审包目录> --payment-proof mock-proof-ord_bad000000000000
$ echo $?
3
样例 3 · 审计目标不存在(客户端拦截,退出码非 0)
$ python scripts/main.py --target C:/nope
错误: 目录不存在: C:/nope
五、端到端实测留痕(真实命令与真实输出 · 402 全流程)
被审样例包 demo_pkg(可复现,按此构造即可复跑)
demo_pkg/
├── SKILL.md # frontmatter 仅有 name/display_name,正文含「¥2.99」价格字样,CRLF 行尾
├── _publish_meta.json # {}
├── scripts/main.py # 一行 print('demo'),无 argparse / main()
└── templates/audit_report_template.md # 仅 1 个模板(应为 11 个)
用例 A · 未付款(真实后端账单)
$ python scripts/main.py --target <demo_pkg 路径>
==============================================================
未完成付款:本次调用需先按次付费(未扣费、未审计、未出交付件)。
单价 : 2.99 CNY / 次
订单号 : ord_c07c639393b71222d8
支付截止: 2026-11-02T14:20:22+08:00
计费资源: /api/publish-gate-auditor
付款后携凭证重试:
python scripts/main.py --target <件包目录> --out <输出目录> --payment-proof <付款凭证>
==============================================================
$ echo $?
3
用例 B · 验付放行后真实审计(本机全树机检 + 五件套落盘)
$ python scripts/main.py --target <demo_pkg 路径> --out <输出目录> --payment-proof <付款凭证>
[publish-gate-auditor] v1.0.7 目标=<demo_pkg 路径>
扫描 4 个对象 / 检查项 46 项 / 发现 31 条
P0 G1 必备条目缺失:references/usage.md -> references/usage.md:-
P1 G10 SKILL.md 疑似白卷(字节数 134 < 1000) -> SKILL.md:-
P1 G2 frontmatter 缺字段:description -> SKILL.md:L1-10
P1 G3 必含节缺失:端到端实测留痕 -> SKILL.md:-
P1 G5 包内出现价格数字:¥2 -> SKILL.md:L8
P1 G6 CRLF 残留 8 处 -> SKILL.md:-
P1 G7 模板缺件:delivery_manifest_template.json -> templates/delivery_manifest_template.json:-
P2 G8 scripts/main.py 未见 argparse -> scripts/main.py:-
轮次2 独立复核: index=4 recheck=31 still=31 consistent=True
交付: audit_report.md (9183 bytes)
交付: rectify_list.md (4416 bytes)
交付: reverify_log.md (3367 bytes)
交付: value_benchmark.md (883 bytes)
交付: delivery_manifest.json (1023 bytes)
结论: FAIL
$ echo $?
1
(以上为真实运行输出,仅省略中间同类发现行。检查项 46/发现 31 随被审包实际内容变化;
有 P0/P1 必然 rc=1。第二轮独立复核 consistent=True 表示两轮签名一致。
按次价 ¥2.99=高档创始价。)
> 开发态自测于开发环境留痕存档;发布包不含自测文件与指纹证据,核心引擎 scripts/main.py 随包发布;templates/ 五件套模板为交付物随包发布。
六、结果摘要
- 输出:重交付五件套(审计报告/整改清单/复验留痕/价值对标页/manifest)。
- 闸位:G1-G10 十项,覆盖结构、frontmatter、必含节、红线、价格、编码、模板、脚本、摘要、白卷。
- 分级:P0 致命/P1 严重/P2 一般/P3 建议,P0/P1 阻断(
--strict连 P2 也阻断)。 - 复验:第二轮独立复核重跑全量检查并比对两轮签名,结论写进复验留痕。
- 退出码:0=PASS,1=FAIL(有阻断项),2=用法/目标错误,3=未完成付款(返回 402 账单,不计次),4=计费端点不可达(未扣费、不出货)。
- 边界:只做规则层机检,不理解语义;红线词表以转义编码,包内不复述字面。
七、按次权益与交付说明
> 付费件声明:核心引擎随包本地执行;计费经官方 402 计费端点按次验付;除该端点外不访问任何外部服务。
1. 单次调用即完整功能:每一次调用都启用本件全部闸位(G1-G10)与全部交付物生成能力,
不存在功能阉割的试用态;--strict 是同一能力的更严判据,不是额外收费功能。
2. 按次调用即产出明文交付文件:本件属重交付档,单次调用直接在 --out 目录落成明文交付文件
(审计报告、整改清单、复验留痕、价值对标页、manifest 五件套,逐项带 md5 与行数),
使用者拿到的是可归档、可复算的交付文件本身,而不是一句口头结论。
3. 交付物清单(单次调用产出,逐一列清):
- audit_report.md —— 七章节审计报告(执行摘要/发现清单/严重度分级/证据指针/整改建议/价值对标/复验记录)
- rectify_list.md —— 整改清单,每项附文件+行号+整改前后对比+状态
- reverify_log.md —— 复验留痕,含两轮实测命令输出粘贴
- value_benchmark.md —— 价值对标页,含 ROI 对照表(人工时基线/本件用时/差额)
- delivery_manifest.json —— 交付对账单,含 invocation_id、ts、逐项 md5/行数/字节
4. 调用计数口径(一次算一次,如实计):
- 一次调用 = 本件被触发一次并完整执行到交付文件落盘,计 1 次;
一次调用内扫描多少个文件、命中多少条发现,都只计 1 次(不按文件数或发现条数叠加计次);
- 参数错误、目标不存在、未产出交付文件的调用(退出码 2)不计次;
- 仅查看用法/版本、未产出交付文件的调用不计次;
- 中途被中断或未执行完成的调用不计次;
- 同一命令重复执行 N 遍,各计 N 次(每遍都真实落一遍交付文件)。
八、更新承诺
承诺:自交付日起 12 个月内,对本件存在的 Bug 提供修复更新。
- 覆盖:闸位误判/漏判、路径解析错误、摘要计算错误、交付文件渲染错误、崩溃类缺陷;复现用例由使用者提供。
- 不视为 Bug:被审件包内容本身的合规性问题、规则口径之外的主观质量判断、平台环境变更导致的外部失效。
- 修复方式:更新件内脚本后重新交付,历史次的交付结果不受影响(manifest 带 invocation_id 可对账)。
九、交付物清单
单次调用产出下列五件(文件名固定,落 --out 目录):
1. audit_report.md
2. rectify_list.md
3. reverify_log.md
4. value_benchmark.md
5. delivery_manifest.json
十、四防声明与 IP 保护
- 防泄露:本件无密钥、无私有数据、无后门;核心引擎随包本地执行(scripts/main.py),除官方 402 计费端点外无任何出网调用、无隐藏文件;待审文件内容不上传。
- 防转发:请从官方渠道获取;转发请保留本声明。
- 防破解:引擎随包本地执行,无服务端依赖;篡改重打包与本源件指纹不符。
- 防抄袭:原创性指纹由开发方留存备查,不随包发布(AS-IS)。
- IP 六件套齐备(因本件产出明文交付文件):
templates/下配
traceability_code_template.md、fingerprint_evidence_template.md、watermark_template.md、
tamper_check_template.md、license_template.md、ip_delivery_manifest_template.json;
交付时回填溯源码、购买批次与购买者序号,与 manifest 的 invocation_id/ts 三方一致。
十一、边界(严格遵守)
- 只读:不修改、移动、删除用户文件;除落盘交付文件与标准输出外不产生其他写动作,出网仅限官方 402 计费验付。
- 不猜:只按规则判定,不理解被审内容的语义;规则之外的质量问题不在本件判据内。
- 不越权:发现阻断项只报告与建议,不代为改写被审文件。
十二、免责与责任
本工具仅提供操作辅助与流程指引,不承诺任何效果或收益;因使用本工具产生的任何直接或间接损失,
责任由使用者自行承担;在法律允许的最大范围内,开发者不以任何方式承担责任(法律强制规定的责任除外)。
- 按现状(AS-IS)提供,不附带任何明示或默示保证;
- 审计结论为规则层机检结果,上架决策须使用者自行复核后再作出;
- 输出结果仅供决策参考,重大事项须使用者自行复核。