uusec-waf
AI 驱动的三层防护 Web 应用防火墙,ML 异常检测实现零规则 0-day 防御
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 驱动的三层防护 Web 应用防火墙,ML 异常检测实现零规则 0-day 防御
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:UUSEC WAF 管理控制台界面
凌晨三点,某电商平台 CTO 收到告警——黑客正在利用一个刚披露的 Apache Struts2 0-day 漏洞扫描全网。这个漏洞官方补丁还没发布,传统 WAF 的规则库更是完全空白。
这就是 Web 安全领域的永恒痛点:规则永远滞后于漏洞。ModSecurity 这样的开源 WAF 鼻祖,需要安全研究员手工编写正则规则,0-day 来了只能等。作为防守方,你永远比攻击者慢半拍。
UUSEC WAF 试图打破这个困局。它来自深圳一家名为 UUSEC 的安全公司,GitHub 累计获得 1660 颗星、165 次 fork,集成了 AI 语义分析、机器学习异常检测和传统规则引擎,试图用"智能"替代"规则",实现真正的主动防御。
UUSEC WAF 由安全研究人员 Safe3(GitHub ID: Safe3)主导开发和维护,项目创建于 2022 年 9 月。虽然项目本身是开源的,但背后有商业公司 UUSEC Technology 提供持续迭代支持——开源版本提供核心防护能力,Pro 商业版则包含更高级的 AI 检测模型和威胁情报。
Safe3 是国内 Web 安全圈子里的老面孔,此前还开源过 OpenResty Manager 等工具。UUSEC WAF 的设计目标很明确:做一个免费、零规则维护、AI 驱动的企业级 WAF,让中小网站也能用上过去只有大公司才负担得起的智能防护。
UUSEC WAF 实现了业界少有的三层防护架构,覆盖从流量入口到应用运行时的完整链路:
第一层:流量层(nginx/OpenResty 反向代理)
最外层基于 OpenResty(nginx + LuaJIT)构建反向代理,所有 HTTP/HTTPS 流量必须经过 WAF 节点。LuaJIT 提供了高性能的规则执行环境,相比 ModSecurity 的纯正则引擎,同等硬件下吞吐量提升明显。这一层主要执行协议验证、IP 黑白名单、速率限制(Anti-CC)和初步的 SQLi/XSS 语义检测。
第二层:系统层(HIPS 主机入侵防御)
通过 geo-ip-firewall 组件实现主机层面的主动防御,可在系统内核级限制进程网络通信、进程创建、文件读写、权限提升等行为。即便是成功穿透流量层的高级攻击,HIPS 也能在系统层面进行兜底拦截。
第三层:运行时层(RASP 运行时自防御)
RASP(Runtime Application Self-Protection)模块通过插桩 Java JVM 和 PHP Zend 引擎,追踪运行时上下文,在应用层直接识别和阻断攻击。相比传统 WAF 只能看 HTTP 请求,RASP 能感知应用内部的真实执行逻辑,即使攻击载荷被加密或混淆,也难以逃逸。
这是 UUSEC WAF 与传统 WAF 最大的差异点。项目采用机器学习异常检测算法,通过无监督学习建立正常流量画像——参数类型、请求频率、响应模式等——转换为参数白名单规则库。面对 0-day 攻击时,无需任何人工介入,模型可以直接识别偏离正常模式的异常请求。
官方的对比测试数据相当有说服力:在 33669 个测试样本中,ModSecurity 免费版检测率仅 69.74%,误报率高达 17.58%;UUSEC WAF 免费版检测率达到 74.77%,误报率仅 0.09%;而 Pro 商业版检测率高达 98.97%,误报率更是低至 0.01%。
传统 WAF 的正则匹配有一个致命缺陷:攻击者可以通过编码、混淆、大小写变换轻松绕过。UUSEC WAF 内置四个行业领先的语义分析检测引擎,分别针对 SQL 注入、XSS、命令执行(RCE)和本地文件包含(LFI),配合多层级深度解码(Base64、JSON、Form Data 等),能够真正还原攻击意图后再做判断。
项目提供了 Lua 插件编写接口,安全管理员可以用 Lua 脚本编写自定义规则,扩展 WAF 的防护能力。内置插件包括:
anti-cc.lua:抗 CC 攻击插件basic-auth.lua:HTTP Basic 认证插件ip-intelligence.lua:IP 威胁情报插件kafka-logger.lua:Kafka 日志对接插件
图2:规则管理和配置界面
从代码仓库结构可以看出项目的整体架构:
uusec-waf/
├── docker/ # 容器化部署配置
│ ├── docker-compose.yml # WAF + MySQL 容器编排
│ ├── manager.sh # 启停管理脚本
│ └── install-docker.sh # Docker 自动安装
├── rules/ # 防护规则库
│ └── anti-cc.lua # Lua CC 防护规则
├── plugins/ # Lua 插件生态
│ ├── basic-auth.lua
│ ├── ip-intelligence.lua
│ └── kafka-logger.lua
├── rasp/ # RASP 运行时防护
│ └── php/ # PHP 插桩模块
├── geo-ip-firewall/ # HIPS 系统层防护
│ ├── gif (amd64)
│ └── gif-arm64
└── docs/ # 文档和图片资源
核心依赖:Docker CE 20.10.14+ / Docker Compose 2.0.0 / MySQL 5.7 / OpenResty(运行在 WAF Docker 镜像内部)。
项目主要语言标注为 Shell,但实际上真正的核心逻辑运行在 OpenResty 容器镜像 uusec/waf:latest 中(Dockerfile 未开源),Shell 脚本负责容器生命周期管理和环境初始化。真正的规则引擎(WAF 核心)以闭源二进制形式存在于 Docker 镜像内。
部署过程极为简单,一条命令即可完成:
sudo bash -c "$(curl -fsSL https://waf.uusec.com/installer.sh)"
安装脚本会自动检测并安装 Docker,然后拉取 WAF 镜像。部署完成后,访问 https://IP:4443 进入管理后台,默认账号 admin / #Passw0rd。
架构上采用云 WAF 反向代理模式——网站真实服务器隐藏在 WAF 节点之后,访问者看到的是 WAF 的 IP,所有流量经过 WAF 清洗后再转发到真实后端。这种模式的优势是对网站本身零改造,但需要将域名的 DNS A 记录指向 WAF 服务器 IP。
部署最小配置要求极低:1GB 内存、5GB 磁盘,不需要 GPU。docker-compose.yml 中定义了 WAF 容器和 MySQL 5.7 容器的编排,通过自定义 bridge 网络(172.31.254.0/24)通信,MySQL 监听在 6612 端口。
UUSEC WAF 代表了一个重要趋势:用 AI/ML 重新定义 Web 安全边界。传统 WAF 的核心瓶颈在于规则维护的人力成本和规则滞后性,而 ML 模型可以在无需人工干预的情况下持续适应流量变化。
从市场角度看,WAF 赛道长期被 Cloudflare、Imperva 等商业产品主导,中小网站要么负担高昂订阅费,要么用规则落后、误报率高的免费方案。UUSEC WAF 的出现,为这一群体提供了介于两者之间的选项——免费、相对智能、部署简单。
截至 2026 年 6 月,项目持续活跃更新,最近一次提交在 6 月 10 日,社区有 82 个 open issues 和多个活跃讨论。随着 AI 安全需求的持续增长,这类产品的市场空间值得关注。