用途
Yakit 是 Yak Project 的图形化安全测试平台,由 Electron 前端与 yaklang 引擎后端组成,两者通过 gRPC 通信。本技能是「Yakit 界面上有什么、各功能区干什么、引擎怎么连」的入口指南,用于帮助用户了解 Yakit 是什么、如何安装、界面各功能区用途、引擎与前端的关系,以及从零开始上手 Yakit。编写插件或热加载脚本请参考对应专题技能,本页只讲 UI 与基本使用。
架构概览
Yakit 采用三层结构:
- 前端(Electron + React):界面交互层,包含 MITM、Fuzzer、Codec、扫描、插件等界面。前端不执行安全逻辑,它把用户操作翻译成 gRPC 请求,把引擎返回的 ExecResult 流渲染成日志、表格、图表、风险卡片等 UI 组件。
- 引擎(yaklang 本地进程):包含 gRPC Server(yakgrpc)、Yaklang 脚本引擎(common/yak)以及内置库(poc/codec/db/risk/synscan 等)。引擎是独立进程,负责执行所有 yak 脚本、扫描、MITM 代理、发包等重活。
- 数据库:分为两层。profile 数据库保存全局配置、插件脚本(YakScript)、Payload 字典、全局 KV、指纹库等;project 数据库保存随项目切换的历史流量(HTTPFlow)、风险(Risk)、端口资产、域名资产等。
前端与引擎之间通过 gRPC 双向流通信(ExecResult / 请求响应)。
三种界面模式
Yakit 社区版有三种模式,通过左侧菜单形态区分:
- 安全专家:左侧图标条 + 右侧「更多」折叠,适合熟练渗透测试人员,固定 Tab 为 MITM / Web Fuzzer / History。
- 经典:左侧树形折叠菜单,适合入门或习惯传统菜单的用户,固定 Tab 为首页 / History。
- 扫描:左侧树形菜单(精简),适合只需批量扫描的场景。
模式切换在「系统设置」里,切换后左侧菜单和固定 Tab 随之变化。
核心功能区
渗透测试:MITM 交互式劫持(启动 MITM 代理,实时查看/修改/转发 HTTP 流量,加载热加载 hook)、Web Fuzzer(单 Tab 发包调试,支持 fuzztag、热加载、序列发包、数据提取)、Websocket Fuzzer、Codec(编解码工具,内置 base64/url/hex/hash 等 + 自定义 codec 插件)、数据对比、Yak Runner(在线编写/运行 yak 脚本)。
安全工具:端口/指纹扫描、专项漏洞检测(基于 PoC 插件批量检测)、弱口令检测、空间引擎(Fofa/Hunter/Quake 等)、子域名收集、基础爬虫、目录扫描。
插件:插件仓库(在线插件商店,一键下载安装)、批量执行、插件管理(启用/禁用/编辑/审核)、新建插件(yak/mitm/codec 类型)。
反连:DNSLog、ICMP-SizeLog、TCP-PortLog、Yso-Java Hack(Java 反序列化 payload 生成)、反连服务器、端口监听器(反弹 Shell 监听)。
数据库(项目数据):History(MITM/Fuzzer 产生的全部历史流量)、流量分析器、漏洞与风险、报告、端口、域名、指纹库、CVE 管理、字典管理、配置管理。
AI 功能:AIAgent(AI 对话与自动化任务)、知识库、工具库、技能库(Forge)、记忆库。
代码审计:代码扫描(基于 SyntaxFlow 规则)、代码审计、AI 代码审计、审计漏洞、规则管理、项目管理、Java 反编译。
引擎连接与项目切换
引擎连接:首次启动 Yakit 前端时需要连接引擎。本地引擎在前端「引擎连接」页面选择本地引擎,前端会自动拉起 yaklang 引擎进程;远程引擎需输入远程引擎的 gRPC 地址(host:port),前端通过 gRPC 连接。gRPC 服务端口由引擎自动选择并通过 IPC 通知前端。
项目切换:Yakit 的「项目」概念对应一个独立的 project 数据库。切换项目即切换 project 数据库,History/Risk/Port/Domain 等数据随之隔离;profile 数据库不随项目切换(插件、Payload 字典、全局配置始终共享)。脚本中用 db.SetProjectKey / db.GetProjectKey 存取的项目级配置也随项目切换。
新手快速上手路径
- 连接引擎:启动 Yakit → 连接本地/远程引擎。
- MITM 抓包:打开 MITM → 设置代理 → 浏览器配置代理 → 浏览目标。
- 重放/修改:在 History 或 MITM 中右键 → 发送到 Web Fuzzer。
- 编解码:选中数据 → 右键编码/解码,或打开 Codec 页面。
- 装插件:打开插件仓库 → 搜索 → 安装。
- 写插件:新建插件 → 选类型(yak/mitm/codec)→ 写代码 → 保存。
- 热加载:MITM 配置 → 热加载窗口粘贴代码 → 启用。
相关专题路由
MITM 代理劫持/修改请求响应参考 mitm-hotpatch;Web Fuzzer 单 Tab 发包加解密/签名/重试参考 webfuzzer-hotpatch;全局热加载参考 global-hotpatch;Yaklang 语法参考 yaklang-syntax;数据持久化与查询参考 yaklang-database;带参数表单的 yak/mitm 插件参考 yakit-native-plugin;右键 codec 插件参考 yakit-rightclick-plugin;从 History 提取数据驱动扫描参考 yakit-data-extract-plugin;验证插件/热加载脚本参考 yaklang-toolchain;yak 脚本与 Yakit UI 交互参考 yakit-ui-binding。
限制
本页只讲 UI 与基本使用,不涉及插件与热加载脚本的具体编写。安装方式、收费与价格、平台支持等具体信息暂未提供。