- 在卖家站完成入驻,登记发布者公钥(插件签名工具页有步骤)。
- 卖家站“我的插件”新建插件,类型选 rule_pack,插件 ID 为“你的命名空间.名称”(如 acme.dev.sqli-extra)。
- 按下面的格式写规则包源文件 rulepack.src.json:pack_id 必须是 dev/<命名空间>/<名称>,layer 为 developer,version 与插件版本相同;再用“本地调试”里的编译器输出规范字节 rulepack.json。
- 把 rulepack.json 的 SHA-256 写进 manifest 的 spec.entrypoint.sha256,签名 manifest,上传版本。
{
"schema": "cdnca.rule-pack/v1",
"pack_id": "dev/acme.dev/sqli-extra",
"version": "1.0.0",
"layer": "developer",
"engine": "waf_v2",
"engine_min_version": 1,
"name": "SQL 注入加强",
"description": "参数 SQL 注入检测与后台路径拦截",
"params_schema": {
"action": {"type": "string", "enum": ["log", "block"], "bind": {"target": "waf.action", "rules": ["r010"]}}
},
"exports": ["r010", "r020"],
"rules": [
{"id": "r010", "name": "参数注入", "waf": {"match": {"inspect": [{"target": "args", "operator": "detect", "values": ["sqli"]}]}, "action": "block", "flow": "stop"}},
{"id": "r020", "name": "后台路径", "waf": {"match": {"path": {"kind": "prefix", "value": "/wp-admin"}}, "action": "block", "flow": "stop"}}
],
"defaults": {"action": "block"}
}签名与公钥登记见插件签名工具页。 签名工具与步骤 →