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 提供精细的语法着色:

  • 顶层关键字namelevelprotocolsetrulesgroupsdetailexploitargsoutput
  • 规则关键字methodpathheadersbodyexpressionsearchset_varsfollow_redirects
  • HTTP 方法GETPOSTPUTDELETEHEADOPTIONSPATCHtcp
  • 模板变量 及自定义变量
  • CEL 内置函数randomLowercasebase64md5bcontainsicontainsurlencodenewReverse 等 30+ 函数
  • Detail 字段 — 同时支持新引擎和旧引擎(含 classificationmetadata)两种格式

代码片段

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

前缀说明
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/ResponseEzPoc: View RequestEzPoc: 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