verdex
Supports OpenAI-compatible endpoints for optional AI-assisted review of candidate findings; sends limited candidate evidence only when explicitly enabled and configured with a secure endpoint.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Verdex
Verdex 是一套证据优先的本地安全研究工具集:源码审计、逆向、pwn、web 侦察与攻防辅助,并通过 MCP 让大模型(如 DeepSeek、Claude Code)自主编排这些能力——不是一张静态工具台,而是一个大模型主导的分析/取证/验证链(全程只读分析、只生成文本,不执行目标、不发起网络请求)。
负责任使用:Verdex 全程只读分析 / 只生成文本,不执行目标、不发起网络请求、不自主攻击。pwn/web 的脚手架工具需显式声明授权目标,仅限 CTF、你自建的实验室、或你拥有/被明确授权的系统。禁止用于未授权目标。
核心是一个可验证的本地分析内核:
资产清单保留文件、行号和原文片段,不把字符串猜测当成事实。
代码图记录文件、函数、路由、导入和调用关系。
数据流分析寻找请求输入到危险操作的候选路径,并明确标记为静态推断。
发现使用确定性证据指纹去重,保留来源和证据链。
brief 强制执行范围、漏洞类型、最低置信度和禁止越界/爆破/载荷红线。
被动归档支持 Nuclei 风格 JSONL、常见 JSON 结果和基础 SARIF,不把外部结果升级为已验证漏洞。
本地 OSINT 提取显式邮箱、电话、社交资料链接、姓名字段和用户名字段,默认脱敏并保留文件证据。
分析输出带 schema、覆盖统计和限制项,方便后续接入代理、AST 引擎和运行时证据。
当前内核只读取本地作业夹,不发起网络请求,不生成利用代码或攻击步骤。
使用
npm test
npm start
node src/cli.js assets D:\path\to\target
node src/cli.js map D:\path\to\target
node src/cli.js osint D:\path\to\target
node src/cli.js scan D:\path\to\target
node src/cli.js scan D:\path\to\target D:\path\to\brief.json
node src/cli.js report D:\path\to\target D:\path\to\output D:\path\to\brief.json
node src/cli.js mcpRelated MCP server: REA
MCP server(让大模型主导分析)
node src/cli.js mcp 启动一个零依赖的本地 MCP server(JSON-RPC 2.0 over stdio),把只读分析能力暴露为工具。全部只读、不访问网络、不生成载荷或攻击步骤;scan 的可选 brief 仍走 validateBrief 强制范围与红线。
一站式入口:analyze_target——丢一个路径(目录或文件)或一个域名,自动识别类型(目录/ELF/PE/.NET/Mach-O/APK/IPA/小程序/DEX/固件 SquashFS·JFFS2·UBI/JS/HAR/域名)并返回推荐的有序工具链。给域名(公益 SRC 常只给域名)时路由到 web_recon。只做识别与路由,实际分析由被推荐的工具完成。
dotnet_decompile:.NET/CLR 程序集(.dll/.exe)反编译成 C#(ILSpy/ilspycmd 后端,只读不执行)。可选 typeName 聚焦某类型。需装 ilspycmd(VERDEX_ILSPY 指向 ilspycmd.dll)+ 对应 .NET runtime。C#/VB/F# 托管程序集通吃。
asar_unpack:解包 Electron .asar 归档(纯 Node,防路径穿越,只读):提取并清点 js/json/html/css/.node,js 可路由 js_deobfuscate、.node 原生插件可 bin_decompile。桌面 Electron 应用逆向入口。
bin_dossier:单函数结构化档案(对标 REA function dossier)——给一个 symbol,产出它的反汇编 + 调用的函数(calls_out)+ 引用的字符串(string_xrefs)+ 伪 C(装了 IDA/Ghidra 时)。快速看懂一个函数在干什么。
源码分析工具:assets、map、scan、osint、report(跑完整分析并在 .verdex/runs 存一份不可变快照:JSON + Markdown + HTML + SARIF 报告,返回各文件路径)。
secrets:扫描硬编码密钥——按服务商特征(AWS/GitHub/Google/Slack/Stripe/私钥/JWT 等)、命名密钥常量(*_APP_KEY/*_SECRET/CLIENT_ID等按变量名判定)、签名盐(appSecret=/&key=)+ 高熵启发式识别,默认脱敏(只给前后几位 + value_sha256 + 文件行号,绝不输出密钥原文)。只读本地,不联网、不验证凭据。每条发现按可证影响分级:direct(服务端凭据/私钥,暴露即成立,适合直接上报)vsconditional(客户端密钥/签名盐,危害取决于服务端行为,静态证不了——单独上报多半被判"理论风险",需授权范围内动态验证);输出triage给出 report_ready / needs_dynamic_proof 分组。diff:对比两次扫描快照(.verdex/runs下的 run 目录),按证据指纹分出新增 / 已修复 / 仍存在的候选,带严重度统计——追踪"改了什么、修了什么、还剩什么"。只读。impact_proof:把 secrets 的conditional发现(及 IDOR/SSRF/SQLi 等候选)从"条件性理论风险"升级成"审核可复核的已证影响"的验证方案(仅文本,Verdex 不发请求)。给一个vuln_class(signing-forgery/idor/hardcoded-cred/ssrf/sqli/auth-bypass/open-redirect/xss/jwt),产出:为何单纯静态会被判理论风险(就像被 "条件性理论风险" 驳回那次)、最小影响验证步骤、数据安全铁律(越权演示只用你自己的第二账号、带外只打你自己的 canary、盲注只判存在绝不 dump)、取证清单、怎么写报告才会被收录、以及点到为止的停止点(证到影响成立即停)。追 ARTEX 的攻击链智力,但锁死数据安全 + 证到即停——Verdex 永远只产方案,执行由你在授权范围内亲自完成。
Web 攻防工具(只读分析 / 只产文本,Verdex 不发起任何请求):
web_recon:公益 SRC 常只给一个域名(没 APK/源码可静态分析)。此工具为声明授权的域名生成分阶段侦察剧本(仅文本):被动(子域/证书透明度/Wayback——不碰目标)→轻主动(httpx 探活+指纹)→主动(ffuf 目录/nuclei 模板,标注需确认在 scope 内+限速)。domain必填=授权声明。剧本给工具(subfinder/httpx/nuclei/ffuf…)、命令、"该看什么"。Verdex 不发任何请求,命令由你在授权范围自行执行。顶部 banner 写明:仅授权域、守项目规则(限速/禁爆破)、被动优先、主域授权≠子域全授权。har_analyze:静态分析你抓的 HAR 流量(Burp/DevTools 导出)——缺失安全头、不安全 Cookie、CORS 任意源、反射参数(XSS 候选)、URL 泄露令牌、明文传输。web_poc:生成 web 漏洞验证请求模板(curl + python,仅文本)。url必填=显式声明授权目标,写进授权 banner;kind支持 sqli/xss/ssrf/path/redirect。Verdex 不代为发送,由你审阅后在授权范围自行运行。禁止用于未授权系统。
web_recon 的三道闸(与 web_poc/frida_script 同款):①
domain是必填的授权声明;② Verdex 只产剧本文本,从不向任何目标发请求;③ 人在环路——命令由你审阅后在授权范围内运行,守项目规则。
二进制逆向工具(证据分层,只静态解析、绝不执行目标文件):
bin_info(文件类型/架构/头/段)、bin_symbols(符号与动态导入导出)、bin_strings(带偏移字符串)、bin_disasm(objdump 反汇编,可指定符号)。基于本机 binutils(objdump/nm/strings/file)。bin_decompile(反编译出伪 C,可选symbol只反编译单函数)。双后端:优先 IDA Pro / Hex-Rays(设VERDEX_IDA指向idat.exe),未找到 IDA 时自动回退到 Ghidra(免费,设VERDEX_GHIDRA指向support/analyzeHeadless,需 JDK 21+)。两者都把目标拷到临时目录、headless 运行、读回结果后清理,全程只分析不执行目标。IDA 不在也能用,对开源用户友好。reconstruct(源码重建):打包伪 C(IDA)+ 符号 + 字符串 + 一份结构化重建指令(reconstruction_brief,编码四项侧重:忠实不幻觉、可读性、结构恢复、调用关系),交由调用方模型(如 DeepSeek)重命名、补类型、加注释、译回接近原始风格的可读源码。可选symbol只重建单函数。
反编译伪 C 是对二进制的重建推断,不是无损还原原始源码——注释、宏、局部变量名在编译后已永久丢失。reconstruct 工具本身不调用 LLM、不访问网络、不执行目标:它只准备证据和指令,真正的重建由驱动它的模型在回复中完成。
利用辅助工具(仅限授权靶场)
以下工具用于在 你拥有或被明确授权的目标(CTF、自建实验室)上辅助 exploit 开发。它们全部只读分析本地二进制 / 只生成文本——Verdex 代码里没有联网、发包或执行攻击的能力,利用动作由使用者自行完成。禁止用于未授权系统。
pwn_checksec:静态读出缓解措施。ELF:NX/Canary/PIE/RELRO/Fortify;PE:DEP/ASLR/HighEntropy/CFG/SEH。pwn_gadgets:从反汇编里搜 ROP gadget(以ret结尾的短序列),可选filter(如pop rdi)和maxLen。pwn_template:生成 pwntools exploit 脚手架(仅文本)。target必填,显式声明授权目标(local或host:port),会写进脚本顶部的授权 banner。Verdex 只产出脚本,不代为运行、不代为连接;审阅并确认授权后由你自己执行。pwn_cyclic:De Bruijn 循环模式生成 / 偏移反查(纯计算,不涉及二进制或执行)。求栈溢出偏移的标准手法:生成模式→喂给你自己运行的目标→用崩溃时 RSP/EIP 的值反查偏移。pwn_gdbscript:生成 gdb/pwndbg 动态分析脚本(仅文本:断点、看栈/内存、求偏移的命令骨架)。由你在自己授权环境里gdb -x 脚本 ./bin运行;Verdex 不执行目标、不连接任何系统。pwn_libc:从 libc.so 提取 exploit 所需偏移——常用符号(system/execve/puts/__free_hook/__malloc_hook/__libc_start_main/environ…)、/bin/sh字符串偏移、libc 版本。纯静态读 ELF,只读不执行;堆题/ret2libc 必备。无符号表(内存 dump/strip)时给出按版本比对 libc-database 的提示。frida_script:生成 Frida 动态分析脚本(仅文本,Verdex 不 attach / 不注入 / 不运行)。target必填=授权目标声明(包名/进程)。kind:unpack(脱壳 dump 内存 dex——拿加壳 App 的业务代码)、hook(hook 指定className.method抓参数/返回)、crypto(抓运行时 key/IV/明文/算法)、network(抓 okhttp URL/headers 看签名怎么拼)。由你审阅后在自己授权的设备/App 上frida -U -f <target> -l x.js运行。
动态分析的三道闸:①
target是必填的授权目标声明;② Verdex 只产脚本文本,从不 attach/注入/运行;③ 人在环路——模型提议、你审阅批准并亲自运行。静态够不着的(脱壳、运行时密钥、真实请求参数)在你拥有或被授权的目标上用动态补齐。pwn_cyclic纯计算、pwn_gdbscript/frida_script只生成脚本文本——执行都由你在授权环境完成。
移动端工具(只读解包,不执行包内代码;仅限你拥有或被授权的 app):
mobile_unpack:解包 APK/IPA/AAB/JAR(ZIP 容器)并清点内容,把原生库(.so/.dylib/Mach-O)、DEX、JS、小程序包、manifest 分类,并抽出原生库到可直接喂给bin_decompile的路径。自动解码二进制 AndroidManifest(纯 Node AXML 解析)输出攻击面:包名/版本/权限列表/导出组件/debuggable/allowBackup/cleartext/网络安全配置。原生库(ELF/Mach-O ARM)现可直接经
bin_decompile(IDA/Ghidra)反编译——detectFormat已支持 Mach-O(thin/fat、32/64 位),解锁 iOS/macOS 原生二进制。wxapkg_unpack:解包微信小程序.wxapkg包(自定义二进制格式,纯 Node 解析,防路径穿越),提取并清点 js/wxml/wxss/json;JS 可路由到scan分析逻辑。dex_decompile:用 jadx 把 APK/DEX 反编译成 Java(只读,不运行 app)。清点 package/class,可选className返回指定类的 Java 源码。需装 jadx(设VERDEX_JADX指向bin/jadx,或放在常见路径),jadx 需 JDK 11+(你的 JDK 21 够)。反编译失败("Method not decompiled")时自动从 Kotlin@DebugMetadata/@Metadata注解恢复:局部变量名、挂起点行号、类成员名——即使方法体没还原,也能推断逻辑结构。js_deobfuscate:JS 反混淆辅助(纯静态,绝不执行脚本)。解\xHH/\uHHHH转义揪出藏的 URL/字符串、把压缩成一行的代码美化成可读、识别混淆特征(_0x标识符 / Dean Edwards packer / eval / atob / 大字符串数组)、提取 URL/IP/base64。字符串数组等运行时解码需执行才现形,本工具不做(越红线)。
物联网固件工具(纯静态,只读,不解包不执行;仅限你拥有或被授权的设备):
fw_scan:固件镜像分流(mini-binwalk)。扫描内嵌文件系统(SquashFS/CramFS/JFFS2/UBI)、压缩块(gzip/xz/lzma/bzip2/lzo)、引导头(U-Boot/TRX/DTB/Android boot/cpio)、ELF、PEM 的特征与偏移,每个命中附建议解包工具;并给熵分布图标出加密/压缩区段(整体高熵且无特征→可能是加密固件)。fw_extract:解包 SquashFS 固件镜像(Windows 下经 WSL 调unsquashfs,Linux 原生)并清点 rootfs——原生 ELF(抽出可喂bin_decompile)、配置、脚本、凭据文件(passwd/密钥等)。需 WSL 里装squashfs-tools(可设VERDEX_WSL_DISTRO指定发行版)。解包后得到 rootfs:ELF→
bin_decompile、配置/脚本→scan、硬编码凭据→secrets,直接复用现有能力。其他文件系统(JFFS2/UBI)先用fw_scan定位,再用对应工具(jefferson/ubireader)。
接入 DeepSeek Harness(dsh):在 profile 的 cordis.yml 里加一个 MCP 客户端实例,大模型即可以 mcp__verdex__scan 等名字调用:
- id: mcp-verdex
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: verdex
transport: stdio
command: node
args: ['/path/to/verdex/src/cli.js', 'mcp']同样的 server 也可被 Claude Code、Codex 等 MCP 客户端复用。
在 dsh 里挂载(已验证)
仓库根目录的 verdex-mcp.patch.yml 是一个 dsh 补丁文件(用 insert 语法把 Verdex 挂进插件树)。两种用法:
一次性试用(不改动你的 dsh 配置):
dsh web --patch /path/to/verdex-mcp.patch.yml永久挂载:把
verdex-mcp.patch.yml里的- insert:块追加到~/.dsh/profiles/web/cordis.patch.yml(放在dsh-skin managed受管区块之外,别碰那段)。
挂载后,模型会看到 mcp__verdex__scan、mcp__verdex__bin_decompile、mcp__verdex__bin_disasm 等工具。可用 dsh web --patch ... --dump-config 确认条目已合成进配置树。
运行 npm start 后访问 http://127.0.0.1:3210。前端是本地零依赖工作台:可以选择工作目录、手动补充域名/URL/IP 资产、填写 brief,查看覆盖、资产面、脱敏 OSINT 观察及待复核候选。服务只监听本机地址,分析接口不会主动发起网络请求。
分析完成后可以点击“保存快照”。工作台会在 .verdex/runs 中保存不可变的 analysis.json、findings.json、脱敏 osint.json、Markdown 报告(report.md,含执行摘要/严重度统计)、一份自包含的 HTML 报告(report.html,内联样式、严重度看板、证据链、修复方向),以及一份 SARIF 2.1.0(report.sarif)——可直接上传到 GitHub 代码扫描、在 PR 里标注,或用 VS Code 的 SARIF 查看器打开。总览页的“运行记录”可以查看历史摘要并下载报告。
“个人查找”是独立功能:输入已知邮箱、手机号、用户名、姓名或资料链接后,只在当前工作目录中做精确文本匹配,结果默认脱敏并保留文件和行号证据。它不会访问互联网、做身份推断或账号关联。
“AI 设置”支持 OpenAI-compatible 和本地模型端点。AI 默认关闭,只有明确开启网络请求并点击“复核当前候选”才会发送有限的候选证据;远程端点必须使用 HTTPS,本地模型可使用 http://127.0.0.1。API Key 仅保存在当前服务进程内存,不写入 .verdex/ai-settings.json,服务重启后需要重新输入。
scan 输出一份 JSON 分析结果,包含资产、代码图、静态规则命中、数据流候选和被动结果观察。候选必须回到原文件核对后,才能进入人工复核清单。
report 会在输出目录建立一次不可变运行快照,写入 analysis.json、findings.json、脱敏策略下的 osint.json 和 report.md。brief 的最小格式:
{
"schema": "VerdexBrief/v1",
"scope": {
"include": ["*.example.com"],
"exclude": ["dev.example.com"]
},
"vuln_classes": ["sql", "ssrf", "xss"],
"min_confidence": "medium",
"redlines": ["no-payload", "no-bruteforce", "no-out-of-scope"],
"allow": ["read_workspace", "parse_artifacts"]
}brief 缺失 include、包含危险授权,或试图降低强制红线时会直接拒绝。vuln_classes 支持 sqli、rce、path-traversal 等常用别名。
OSINT 默认只读取本地作业夹,不访问网络服务,不做姓名反查、身份关联或数据经纪查询。默认输出脱敏值;可以在 brief 中限定类别:
{
"osint": {
"enabled": true,
"categories": ["email", "phone", "social-profile", "person-name", "username"],
"reveal": false
}
}设计方向
工程采用四层证据模型:资产证据、静态关系、数据流候选、人工结论。每层保留 authority、epistemic state、confidence、coverage 和 limitations,后续接入 AST、Semgrep、浏览器被动观测或其他分析器时,不会把推断结果伪装成运行时事实。
This server cannot be deployed
Maintenance
Related MCP Connectors
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.
Read-only smart-contract security intelligence for autonomous agents.
Offline methodology engine for authorized penetration testing, CTF, and security research.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceExposes 21 tools over stdio that let any MCP-capable AI agent run real Kali-container security tools (nmap, nuclei, sqlmap, Metasploit), search a local 59,000+ CVE vulnerability database, and browse a 5,266-entry GitHub security tool index. Built-in guardrails refuse government, education, and military domains, and only whitelisted in-container executables can be invoked.3-
- AlicenseNot gradedqualityBmaintenanceConnects AI agents and CLI users to local analysis tooling that inspects native binaries, JavaScript/Electron apps, .NET assemblies, websites, and saved network captures, returning evidence-backed findings with their limitations. This lets users understand how an existing app feature works and rebuild a similar version in their own project.65 npm4MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to inspect and reverse-engineer large binaries through bounded stdio JSON-RPC 2.0 tools for graph queries, SSA facts, path solving, runtime grounding, and mod scaffolding.1AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceExposes six security tools (scan_repo, scan_diff, list_findings, get_finding, verify_finding, list_detectors) over stdio or HTTP so AI coding agents can run SAST/SCA/secrets/IaC scans and inspect prioritized findings without writing to the repository. It also lets agents verify a finding by re-running its generated proof-of-concept in an isolated sandbox, returning a confirmed or unavailable verdict.18Apache 2.0