gen0sec/mcp-server

GitHub: gen0sec/mcp-server

一个MCP服务器,允许LLM基于实时模式和CVE模板生成、验证WAF规则,实现安全自动化配置。

Stars: 1 | Forks: 0

Gen0Sec

License - MIT   Release   GitHub Downloads (all assets, all releases)   Documentation   Discord   X (formerly Twitter) Follow

Join us on Discord Substack

## 面向智能体LLM的WAF与智能防火墙规则生成 一个**MCP服务器**,允许LLM基于实时模式和真实CVE漏洞利用模板(而非猜测)来编写、验证和测试[Wirefilter](https://github.com/cloudflare/wirefilter) WAF和智能防火墙规则。 **功能:** - **通过真实引擎验证规则** — 表达式通过Wirefilter规则验证器API进行检查(并可选择进行测试匹配),从而让模型获得真实的通过/失败反馈,而非臆断 - **基于实时模式进行生成** — 直接从规则验证器提供权威的操作/表达式/字段/函数/运算符/值,确保生成的规则使用实际存在的字段 - **获取真实漏洞利用上下文** — 从多个来源(GitHub上的Nuclei开源版、通过ProjectDiscovery API获取的Nuclei付费版)获取CVE索引的Nuclei模板,为基于CVE的规则生成提供信息 - **自动更新** — 后台定期刷新Wirefilter上下文和CVE模板仓库 ## 快速开始 ### Claude Desktop(捆绑包) ``` # 前提条件: uv 和 mcpb (npm install -g @anthropic-ai/mcpb) mcpb pack # produces gen0sec-mcp-server.mcpb ``` 打开生成的`gen0sec-mcp-server.mcpb`文件 — Claude Desktop会在大约一分钟内安装完成,之后工具、资源和提示即可使用。 ### Cursor IDE — 本地(stdio) 添加到`~/.cursor/mcp.json`(Windows系统为`%USERPROFILE%\.cursor\mcp.json`): ``` { "mcpServers": { "waf-rule-mcp": { "command": "uv", "args": [ "run", "--project", "/absolute/path/to/mcp-server", "/absolute/path/to/mcp-server/server/main.py" ], "env": { "WAF_VALIDATION_API_URL": "https://public.gen0sec.com/v1/waf/validate" } } } } ``` `WAF_VALIDATION_API_URL`是可选的 — 如果未设置,则使用`server/config.yaml`中的值。重启Cursor以应用更改。 ### Docker(HTTP) ``` docker build -t waf-rule-mcp . docker run -p 8000:8000 waf-rule-mcp ``` 然后将你的MCP客户端指向它: ``` { "mcpServers": { "waf-rule-mcp": { "url": "http://localhost:8000" } } } ``` ## MCP 接口 ### 工具 | 工具 | 用途 | |---|---| | `fetch_cve_vulnerability_template` | 从首选来源(Nuclei开源版或Nuclei付费API)检索CVE索引的漏洞模板 | | `fetch_cve_from_all_sources` | 从**所有**启用的来源获取CVE模板以进行跨源比较 | | `list_cve_sources` | 列出已注册的CVE源插件及其状态 | | `validate_waf_expression` | 验证Wirefilter规则表达式(`rule_type`选择模式) | | `validate_waf_expression_with_tests` | 验证Wirefilter规则并将其与测试数据匹配(如果未提供则使用模拟数据) | | `get_waf_context` | 从Wirefilter文档获取WAF上下文:操作、表达式、字段、函数、运算符、值 | | `get_rule_fields` | 直接从规则验证器获取实时、权威的Wirefilter字段/函数模式 | ### 资源 | URI | 参考 | |---|---| | `wafcontext://actions` | 规则语言中可用的操作 | | `wafcontext://expressions` | 规则语言中可用的表达式 | | `wafcontext://fields` | 规则语言中可用的字段 | | `wafcontext://functions` | 规则语言中可用的函数 | | `wafcontext://operators` | 规则语言中可用的运算符 | | `wafcontext://values` | 规则语言中可用的值 | ### 提示 | 提示 | 从…生成规则 | |---|---| | `natural_waf_rule_generation_prompt` | 自然语言描述 | | `cve_waf_rule_generation_prompt` | CVE索引 | | `smart_firewall_rule_generation_prompt` | 自然语言描述,作为L3/L4 + JA4智能防火墙规则(不使用`http.*`字段;`block`/`allow`操作) | ## 架构 ``` flowchart TD LLM([Agentic LLM / MCP client]) <--> MCP subgraph MCP[Gen0Sec WAF Rule MCP Server] T[Tools] R["Resources
wafcontext://*"] P[Prompts] RU[Resource updater
periodic refresh] end T -->|validate / fields| RV[Wirefilter rules-validator API] R -->|live schema| RV T -->|CVE templates| CS subgraph CS[CVE sources] N1[Nuclei Open Source
GitHub] N2[Nuclei Paid
ProjectDiscovery API] end RU -.refreshes.-> CS RU -.refreshes.-> RV ``` ## 文档 | | | |---|---| | [Gen0Sec文档](https://docs.gen0sec.com/) | 产品文档和指南 | | [`server/config.yaml`](server/config.yaml) | 验证API URL、CVE源开关、更新间隔 | | [`manifest.json`](manifest.json) | Claude Desktop捆绑包清单和用户可配置选项 | | [Wirefilter](https://github.com/cloudflare/wirefilter) | 此服务器目标规则表达式语言 | ## 致谢! - 感谢[Cloudflare](https://github.com/cloudflare) 提供Wirefilter - 感谢[ProjectDiscovery](https://github.com/projectdiscovery/nuclei-templates) 提供Nuclei模板
标签:CVE漏洞模板, GPT, LLM智能体, MCP服务器, WAF规则, Wirefilter, 实时Schema, 智能防火墙, 漏洞管理, 网络安全, 规则测试, 规则生成, 规则验证, 请求拦截, 逆向工具, 防火墙规则, 隐私保护