Skip to content

EZ PoC VS Code ​

EzPoc YAML 漏洞 PoC 文件的一站式 IDE 支持 — 语法高亮、智能补全、实时诊断、单步调试、流量查看,以及 AI 驱动的 POC 生成与自动调试修复。

免责声明 ​

本插件仅用于经合法授权的安全测试与研究。

  • 仅限在获得测试目标单位书面授权的前提下使用;禁止在未授权情况下对任何目标发起测试/探测/攻击行为。
  • 用户通过本软件获取的资产、漏洞等信息应严格按测试目标单位要求处理;未经许可不得加工、对外传输、提供或公开。
  • 如用户存在上述禁止行为或任何违法行为,项目/团队保留追究法律责任的权利,并可配合执法/监管部门提供证据材料。
  • 因用户违反上述要求导致的任何责任与后果由用户自行承担。

安装方式 ​

在vscode插件商店搜索 EzPoc Helper 或是 访问在线商店 进行安装

功能概览 ​

功能说明
语法高亮针对 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
  • 模板变量 — 、、、 及自定义变量
  • CEL 内置函数 — randomLowercase、base64、md5、bcontains、icontains、urlencode、newReverse 等 30+ 函数
  • Detail 字段 — 同时支持新引擎和旧引擎(含 classification、metadata)两种格式

代码片段 ​

输入前缀即可快速插入模板:

前缀说明
poc-httpHTTP POC 模板(新引擎)
poc-tcpTCP POC 模板(新引擎)
poc-groups多规则分组 POC(OR 逻辑)
poc-exploit漏洞利用模式 POC
poc-http-legacyHTTP POC 模板(旧引擎,含 classification)
poc-tcp-legacyTCP POC 模板(旧引擎)
poc-groups-legacy分组 POC(旧引擎)
rule-get / rule-postGET/POST 规则片段
rule-search带正则提取和变量设置的规则
detail / detail-legacyDetail 块(新/旧引擎)
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 模型:

  1. 执行命令 EzPoc: Configure AI Model(或点击 Chat 面板模型选择器旁的齿轮图标)
  2. 输入 API Base URL — 支持任意 OpenAI 兼容接口(OpenAI、DeepSeek、通义千问、本地 Ollama 等)
  3. 输入 API Key(使用 VS Code SecretStorage 安全存储)
  4. 从自动查询的模型列表中选择,或手动输入模型名称

支持配置多个模型,随时切换。

从漏洞报告生成 POC ​

@ezpoc <粘贴漏洞报告内容>

完整自动化流程:

  1. 可行性分析 — AI 判断漏洞报告是否包含足够信息生成 POC
  2. POC 生成 — 根据报告生成完整的 EzPoc YAML
  3. 保存文件 — 自动以 POC name 命名保存到工作区
  4. 语法修复 — LSP 检测到错误后 AI 自动修复(最多 3 轮)
  5. 询问目标 — 弹出输入框输入调试目标 URL(可跳过)
  6. 自动调试修复 — 运行 → 逐步分析结果 → AI 修复 → 重试(最多 10 轮)

调试已有 POC ​

打开 .poc.yaml 文件后:

@ezpoc /debug http://target:8080
  1. 检查 LSP 诊断,有语法错误先自动修复
  2. 启动调试,逐步执行 POC
  3. 实时展示每一步执行结果(请求、状态码、expression 结果)
  4. 失败时 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.pathezpoc 二进制路径,留空使用内置二进制或 PATH 查找""
ezpoc.trace.serverLSP 通信日志级别"off"

编辑器默认配置(EzPoc 文件自动应用):

  • 缩进:2 空格
  • 智能补全:代码和字符串中均启用
  • 自动缩进:高级模式

支持平台 ​

macOS (Intel / Apple Silicon)、Linux (x64 / arm64)、Windows (x64 / arm64)

Powered by EZ