# jxwaf **Repository Path**: mirrors/jxwaf ## Basic Information - **Project Name**: jxwaf - **Description**: jxwaf (锦衣盾)是一款基于 openresty(nginx+lua) 开发的下一代 web 应用防火墙,独创的业务逻辑防护引擎和机器学习引擎可以有效对业务安全风险进行防护,解 - **Primary Language**: C/C++ - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/jxwaf - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 11 - **Created**: 2018-04-10 - **Last Updated**: 2026-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JXWAF ## 介绍 JXWAF6 标准版是一款基于 AI 大模型的 Web 应用防火墙。 ## 功能 - 数据统计 - 攻击事件 - 攻击日志 - 网站防护 - 网站接入 - 证书管理 - AI防护配置 - Web安全防护 - AI分析记录 - 防护配置 - Web防护规则 - 流量防护规则 - IP区域封禁 - 白名单规则 - 防护组件 - 节点状态 ## 部署 ### 环境要求 - 服务器系统:Debian 12.x - 服务器最低配置:4 核 8G ### 一键部署 服务器 IP 地址: - 公网地址:47.120.63.196 - 内网地址:172.29.198.241 ```bash # 1. 安装 Docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 2. 克隆仓库 git clone https://github.com/jx-sec/jxwaf.git # 3. 启动容器 cd jxwaf/standard docker compose up -d ``` WAF 控制台地址:http://47.120.63.196:8000 ## 配置说明 ### Docker Compose 文件配置 - **JXWAF_MODEL_QUERY** 是否开启 JXWAF 大模型语义缓存服务并加入群体免疫网络,值为 `true` 或 `false`。 - **大模型语义缓存服务**:遇到未知请求时,会先进行缓存查询,若命中则无需通过大模型进行查询,可极大节省大模型的使用成本。 - **群体免疫网络**:当其他 WAF 检测到全新的攻击 POC 时,将通过群体免疫网络将模型参数同步到本地 WAF,实时获取最新的检测能力。 - **AI_BACKUP_WAF_URL** 当大模型服务因各种原因不可用时,可通过该配置获取其他 WAF 的检测能力。由于需要转发请求到目标 WAF,可能存在数据泄露风险,请谨慎配置。 ### 控制台 AI 防护配置 #### 防护模式说明 与传统 WAF 非黑即白的检测模式不同,AI WAF 采用 **非白即黑** 的检测模式。 - **在线学习** 根据线上业务流量训练本地模型,不进行任何处置。 - **在线防护 - 业务优先** 遇到已知攻击流量将进行拦截;遇到未知流量会先放行,待 AI 分析出结果后,同步更新本地模型进行处理。 - **在线防护 - 安全优先** 遇到已知攻击流量将进行拦截;遇到未知流量会先拦截,待 AI 分析出结果后,同步更新本地模型进行处理。 - **离线防护** 对已知攻击流量和未知流量均进行拦截,本地模型不再更新。 ## 防护效果对比 **测试方式**: ```bash docker run --rm --net=host ccr.ccs.tencentyun.com/jxwaf/blazehttp:latest /app/blazehttp -t http://172.30.42.104/xxx ``` 使用长亭 blazehttp 项目提供的样本集,效果如下: ### JXWAF6 标准版 - DeepSeek - 总样本数量:33877,成功:33877,错误:0 - 检出率:41.03%(恶意样本总数:658,正确拦截:270,漏报放行:388) - 误报率:0.14%(正常样本总数:33219,正确放行:33172,误报拦截:47) - 准确率:98.72%((正确拦截 + 正确放行)/ 样本总数) - 平均耗时:28.19 毫秒 ### JXWAF5 - 语义分析引擎 - 总样本数量:33877,成功:33877,错误:0 - 检出率:26.90%(恶意样本总数:658,正确拦截:177,漏报放行:481) - 误报率:0.20%(正常样本总数:33219,正确放行:33153,误报拦截:66) - 准确率:98.39% - 平均耗时:43.68 毫秒 ### 某云 WAF - 默认配置 - 总样本数量:33877,成功:33877,错误:0 - 检出率:40.12%(恶意样本总数:658,正确拦截:264,漏报放行:394) - 误报率:0.23%(正常样本总数:33219,正确放行:33143,误报拦截:76) - 准确率:98.61% - 平均耗时:43.36 毫秒 ### 某 WAF - 官方 DEMO 配置 - 总样本数量:33877,成功:33877,错误:0 - 检出率:44.38%(恶意样本总数:658,正确拦截:292,漏报放行:366) - 误报率:0.19%(正常样本总数:33219,正确放行:33155,误报拦截:64) - 准确率:98.73% - 平均耗时:33.02 毫秒 **结论**:JXWAF6 标准版相比 JXWAF5 检测效果提升明显,达到商业 WAF 的检测水平。 ## 微信公众号 欢迎关注微信公众号,后续更新与技术分享将在公众号发布。 ## 贡献者 - [chenjc](https://github.com/jx-sec) - [jiongrizi](https://github.com/jiongrizi) - [thankfly](https://github.com/thankfly) ## BUG & 需求 - 微信:574604532(添加请备注 jxwaf)