WAF 规则验证器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3fd87291/waf-validator-skills。
技能介绍
要解决什么问题
上线 WAF、API 网关或 IPS 之后,规则是否真能拦住 SQL 注入、路径遍历等攻击,往往只能靠手工 curl 或零散 PoC 抽样,很难系统覆盖 REST / GraphQL / gRPC / SOAP 等不同入口,也缺少对误拦(false positive)的对照。WAF Rule Validator 面向「规则是否生效、拦率如何、哪些向量漏了」这类验证场景,用可重复的测试用例批量打目标,而不是替代完整渗透测试。
技能如何工作
核心思路是:从 YAML 测试用例出发,按 payload × 编码器 × 占位注入点 组合生成大量 HTTP/gRPC 等请求,观察响应是否被拦截或放行,再汇总成报告。
- 多协议:REST、GraphQL、gRPC、SOAP、XMLRPC
- 编码与注入面:Base64、URL、JSUnicode、Plain、XML Entity 等;路径、Query、Header、Body、JSON、HTML 表单等占位符
- OpenAPI:可从
api.yaml生成请求模板,减少手写目标形态 - WAF 识别:尝试识别 Akamai、F5、Imperva、ModSecurity 等常见栈(便于对照结果语境)
- 报告:默认写入
reports/,支持 PDF、HTML、JSON、DOCX(PDF 可选依赖 Chrome)
典型流程:编译 Go 二进制 → 对目标做基础扫描 → 按需加 --grpcPort、--openapiFile、--testCasesPath → 在 reports/ 阅读结果。用例目录约定:testcases/owasp/ 为应被拦截的真阳性,testcases/false-pos/ 为应放行的真阴性。
适用边界与注意点
本技能封装的是基于 GoTestWAF(Wallarm) 思路的验证工具,MIT 许可;需在受控环境对自有或已授权目标扫描。组合爆炸意味着请求量可能很大,生产环境直连需谨慎。它验证的是「规则对已知用例集的响应」,不能证明业务逻辑安全或零日防护完备。
使用场景
- 新 WAF 规则上线前,用 OWASP 用例库对预发域名批量发包,核对拦截率与漏拦向量
- API 网关策略变更后,结合 OpenAPI 规范生成请求模板,验证鉴权与防护是否误拦正常流量
- 客户现场评估 Imperva/F5 部署时,按 gRPC 端口与自定义 YAML 用例做对比扫描并导出 HTML 报告
- 变更 ModSecurity 规则集后,对照 `false-pos` 目录跑真阴性用例,确认业务接口不再被误封
适合人员
- 负责 WAF 规则评审的应用安全工程师,需要在审计前用可复现报告证明拦截与放行行为
- 维护企业 API 网关与零信任边界的平台工程师,要在策略发布前验证多协议入口的防护一致性
- 对外提供 WAF 评估服务的渗透测试人员,需要按客户授权目标输出 PDF/HTML 结构化测评结果
- 在预发环境做安全门禁的 DevOps/SRE,希望用固定用例集对每次规则变更做回归式攻防验证