用途:回答“这条自定义规则当前对该防护对象是否生效,若不生效是哪一环断了”。仅做静态配置链检查,不发送测试流量,仅支持 WAF 3.0(waf-openapi 2021-10-01)。适用于客户反馈“配置了规则但不生效/应拦截未拦截/CC 未触发或封禁范围过大”的场景,范围限于 DefenseOrigin=custom 的用户自定义规则。
主要能力:按阶段排查——Phase 1 用 describe-instance、describe-defense-resource 确认实例与防护对象;Phase 2 用 describe-defense-rules 定位规则并确认 DefenseOrigin=custom;Phase 3 逐项检查生效四要素:规则 Status=1、对象(或对象组)已绑定规则模板、模板 TemplateStatus=1、处置动作为 block 而非 observe/monitor,并辅以 ResourceStatus=active、默认对象组、绑定配额等门禁;Phase 4 按症状执行漏拦截或统计类规则检查清单;Phase 5 可选结合 SLS 日志反向印证;Phase 6 输出检查结论(首个断点与临时/永久修复建议)。
使用方式:需 Aliyun CLI >= 3.3.3,先执行 aliyun version 校验;运行 aliyun configure set --auto-plugin-install true 与 aliyun plugin update,并安装插件 aliyun plugin install --names aliyun-cli-waf-openapi。脚本 scripts/check_rule_effectiveness.py 需 Python 3.8+。认证需有效凭证,禁止读取或回显 AK/SK,仅用 aliyun configure list 检查状态。必填输入为 rule_id 或 rule_name、matched_host、region(cn-hangzhou 或 ap-southeast-1);缺失 region 或 matched_host 时不得发起任何 API 调用,须先询问并等待。所有云 API 调用须带 --user-agent AlibabaCloud-Agent-Skills/alibabacloud-waf-rule-effectiveness-check/{session-id}。
限制:全程只读,写操作仅提供控制台路径由客户确认后执行;内置(system)规则不在范围内;模板级接口需满足 DefenseOrigin=custom 且客户已确认具体规则后方可调用;查询失败或为空不等于不存在,须标注“未获取”并说明对结论的限制;证据矛盾时应如实升级并建议提工单,不得强行归因。RAM 权限与完整策略见 references/ram-policies.md。