EzPoc Helper
EzPoc YAML 漏洞 PoC 文件的一站式 IDE 支持 — 语法高亮、智能补全、实时诊断、单步调试、流量查看,以及 AI 驱动的 POC 生成与自动调试修复。
免责声明
本插件仅用于经合法授权的安全测试与研究。
- 仅限在获得测试目标单位书面授权的前提下使用;禁止在未授权情况下对任何目标发起测试/探测/攻击行为。
- 用户通过本软件获取的资产、漏洞等信息应严格按测试目标单位要求处理;未经许可不得加工、对外传输、提供或公开。
- 如用户存在上述禁止行为或任何违法行为,项目/团队保留追究法律责任的权利,并可配合执法/监管部门提供证据材料。
- 因用户违反上述要求导致的任何责任与后果由用户自行承担。
功能概览
| 功能 |
说明 |
| 语法高亮 |
针对 EzPoc YAML 的精细语法着色,覆盖关键字、CEL 函数、模板变量等 |
| 智能补全 |
LSP 驱动的上下文感知补全,字段名、枚举值、CEL 函数 |
| 实时诊断 |
编写即校验,语法错误、字段缺失、类型不匹配即时提示 |
| 代码片段 |
7 种 POC 模板 + 常用规则片段,一键生成骨架 |
| 步进调试 |
内置 DAP 调试器,逐条规则执行 POC,查看每步请求/响应和 expression 结果 |
| 流量查看 |
类 Burp Suite 的请求/响应面板,调试时实时展示 HTTP 流量历史 |
| AI 生成 |
从漏洞报告一键生成 POC,自动修复语法错误 |
| AI 调试 |
自动运行 → 逐步分析失败原因 → AI 修复 → 重试,最多 10 轮 |
| 自定义模型 |
接入任意 OpenAI 兼容 API,支持模型列表查询和管理 |
语言支持
文件识别
自动识别以下文件为 EzPoc 语言:
*.poc.yaml / *.poc.yml 扩展名
*poc-yaml-*.yaml / *poc-yaml-*.yml 文件名模式
- YAML 文件中包含
name: poc-yaml- 的内容
语法高亮
为 EzPoc YAML 提供精细的语法着色:
- 顶层关键字 —
name、level、protocol、set、rules、groups、detail、exploit、args、output 等
- 规则关键字 —
method、path、headers、body、expression、search、set_vars、follow_redirects 等
- HTTP 方法 —
GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH、tcp
- 模板变量 —
{{Hostname}}、{{BaseURL}}、{{RootURL}}、{{HostPort}} 及自定义变量 {{varName}}
- CEL 内置函数 —
randomLowercase、base64、md5、bcontains、icontains、urlencode、newReverse 等 30+ 函数
- Detail 字段 — 同时支持新引擎和旧引擎(含
classification、metadata)两种格式
代码片段
输入前缀即可快速插入模板:
| 前缀 |
说明 |
poc-http |
HTTP POC 模板(新引擎) |
poc-tcp |
TCP POC 模板(新引擎) |
poc-groups |
多规则分组 POC(OR 逻辑) |
poc-exploit |
漏洞利用模式 POC |
poc-http-legacy |
HTTP POC 模板(旧引擎,含 classification) |
poc-tcp-legacy |
TCP POC 模板(旧引擎) |
poc-groups-legacy |
分组 POC(旧引擎) |
rule-get / rule-post |
GET/POST 规则片段 |
rule-search |
带正则提取和变量设置的规则 |
detail / detail-legacy |
Detail 块(新/旧引擎) |
finger |
指纹匹配表达式 |
expr-status-body |
状态码 + Body 匹配表达式 |
LSP 语言服务
基于 Go 实现的语言服务器,通过 stdio 与 VS Code 通信:
- 实时诊断 — 编辑时即时检测语法错误、字段缺失、类型不匹配
- 智能补全 — 上下文感知的关键字、字段名、CEL 函数补全
- 悬停提示 — 鼠标悬停查看字段说明和用法
- 定义跳转 — 跳转到 set 变量、search 提取变量的定义位置
- 文档符号 — 大纲视图展示 POC 结构
步进调试
内置 DAP 调试器,逐条规则执行 POC,每一步暂停展示请求 URL、响应状态码、expression 求值结果。
启动调试
- 编辑器标题栏 — 打开
.poc.yaml 文件后,点击右上角调试按钮
- 右键菜单 — 编辑器或资源管理器中右键 → 「调试 EZ PoC」
- 命令面板 —
Ctrl+Shift+P → 「调试 EZ PoC」
调试启动时自动打开调试控制台,调试结束后控制台保持打开。
流量查看
调试时侧边栏自动展示「EzPoc Traffic」面板:
- 请求/响应历史列表(每个会话最多 200 条)
- 点击条目查看完整 HTTP 请求和响应内容
- 支持复制内容到剪贴板
- 也可通过命令单独查看:
EzPoc: View Request/Response、EzPoc: View Request、EzPoc: View Response
AI 功能
通过 VS Code Chat 面板使用,输入 @ezpoc 调用。
配置模型
使用前需先配置 AI 模型:
- 执行命令
EzPoc: Configure AI Model(或点击 Chat 面板模型选择器旁的齿轮图标)
- 输入 API Base URL — 支持任意 OpenAI 兼容接口(OpenAI、DeepSeek、通义千问、本地 Ollama 等)
- 输入 API Key(使用 VS Code SecretStorage 安全存储)
- 从自动查询的模型列表中选择,或手动输入模型名称
支持配置多个模型,随时切换。
从漏洞报告生成 POC
@ezpoc <粘贴漏洞报告内容>
完整自动化流程:
- 可行性分析 — AI 判断漏洞报告是否包含足够信息生成 POC
- POC 生成 — 根据报告生成完整的 EzPoc YAML
- 保存文件 — 自动以 POC name 命名保存到工作区
- 语法修复 — LSP 检测到错误后 AI 自动修复(最多 3 轮)
- 询问目标 — 弹出输入框输入调试目标 URL(可跳过)
- 自动调试修复 — 运行 → 逐步分析结果 → AI 修复 → 重试(最多 10 轮)
调试已有 POC
打开 .poc.yaml 文件后:
@ezpoc /debug http://target:8080
- 检查 LSP 诊断,有语法错误先自动修复
- 启动调试,逐步执行 POC
- 实时展示每一步执行结果(请求、状态码、expression 结果)
- 失败时 AI 分析完整调试步进日志,定位根本原因并修复
新建 POC
右键文件夹 → 「新建 EZ PoC」,支持 7 种模板:
| 模板 |
说明 |
| HTTP POC(新引擎) |
标准 HTTP 漏洞检测 |
| TCP POC(新引擎) |
TCP 协议漏洞检测 |
| Groups POC(新引擎) |
多规则分组,OR 逻辑 |
| Exploit POC(新引擎) |
漏洞利用模式,支持命令执行 |
| HTTP POC(旧引擎) |
含 classification、metadata 等完整字段 |
| Groups POC(旧引擎) |
旧引擎多规则分组 |
同时兼容新引擎和旧引擎两种 POC 格式。
命令列表
| 命令 |
说明 |
新建 EZ PoC |
从模板创建 POC 文件 |
调试 EZ PoC |
调试当前 POC 文件 |
EzPoc: Restart Language Server |
重启语言服务器 |
EzPoc: Configure AI Model |
管理 AI 模型配置 |
EzPoc: View Request/Response |
查看调试请求和响应 |
EzPoc: View Request |
查看调试请求 |
EzPoc: View Response |
查看调试响应 |
配置项
| 配置项 |
说明 |
默认值 |
ezpoc.server.path |
ezpoc 二进制路径,留空使用内置二进制或 PATH 查找 |
"" |
ezpoc.trace.server |
LSP 通信日志级别 |
"off" |
编辑器默认配置(EzPoc 文件自动应用):
- 缩进:2 空格
- 智能补全:代码和字符串中均启用
- 自动缩进:高级模式
支持平台
macOS (Intel / Apple Silicon)、Linux (x64 / arm64)、Windows (x64 / arm64)
| |