
yakit-basic
Yakit 基本使用指南。当用户需要了解 Yakit 是什么、如何安装、界面各功能区用途、引擎与前端的关系、 以及从零开始上手 Yakit 时使用。覆盖架构概览(引擎 + Electron 前端 + gRPC 通道)、三种界面模式 (经典 / 安全专家 / 扫描)、核心功能区路由表(MITM / Web Fuzzer / Codec / 端口扫描 / 插件 / 数据库等)、 引擎连接与项目切换、以及新手最常见问题的入口。当用户问"Yakit 怎么用 / 某个功能在哪 / 引擎连不上"时进入。
- Installs
- 107
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/yaklang/yak-skills --skill yakit-basic- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads yakit-basic automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
SKILL: Yakit 基本使用
AI LOAD INSTRUCTION: Yakit 是 Yak Project 的图形化安全测试平台,由 Electron 前端 + yaklang 引擎后端组成, 两者通过 gRPC 通信。本页是"Yakit 界面上有什么、各功能区干什么、引擎怎么连"的入口指南。要写插件/热加载 脚本请路由到对应专题 skill(见第 6 节路由表),本页只讲 UI 与基本使用。
0. 相关路由
- 总入口:yak
- 脚本与 UI 交互机制(
yakit.*库函数如何驱动界面显示):yakit-ui-binding - 热加载与插件编程:mitm-hotpatch / webfuzzer-hotpatch / global-hotpatch
- 原生插件 + cli 参数表单:yakit-native-plugin
- 右键 codec 插件:yakit-rightclick-plugin
1. 架构概览(先理解三层结构)
flowchart LR
subgraph Frontend["Yakit 前端 (Electron + React)"]
UI["界面交互<br/>MITM/Fuzzer/Codec/扫描/插件..."]
end
subgraph Engine["yaklang 引擎 (本地进程)"]
GRPC["gRPC Server<br/>yakgrpc"]
Lang["Yaklang 脚本引擎<br/>common/yak"]
Libs["内置库<br/>poc/codec/db/risk/synscan..."]
end
UI <-->|"gRPC 双向流<br/>ExecResult / 请求响应"| GRPC
GRPC --> Lang
Lang --> Libs
Libs -->|"SQLite/GORM"| DB[("项目数据库<br/>profile/project")]
关键理解:
- 引擎是独立进程:yaklang 引擎是本地启动的 gRPC 服务(默认端口由引擎自动选择),前端 Electron 应用 通过 gRPC 双向流与之通信。引擎负责执行所有 yak 脚本、扫描、MITM 代理、发包等"重活"。
- 前端是展示与交互层:Yakit 前端(React + Electron)不执行安全逻辑,它把用户操作翻译成 gRPC 请求,
把引擎返回的
ExecResult流渲染成日志、表格、图表、风险卡片等 UI 组件。 - 数据库有两层:
profile数据库:全局配置、插件脚本(YakScript)、Payload 字典、全局 KV、指纹库等。project数据库:随项目切换的历史流量(HTTPFlow)、风险(Risk)、端口资产、域名资产等。
源码定位:引擎入口
yaklang/common/yakgrpc/;前端 gRPC 流消费yakit/app/renderer/src/main/src/hook/useHoldGRPCStream/;前端路由定义yakit/app/renderer/src/main/src/routes/newRoute.tsx。
2. 三种界面模式
Yakit 社区版有三种模式,通过左侧菜单形态区分(yakit/app/renderer/src/main/src/routes/newRoute.tsx 中
YakitModeEnum 定义):
| 模式 | 菜单形态 | 适合人群 | 固定 Tab |
|---|---|---|---|
| 安全专家 | 左侧图标条 + 右侧"更多"折叠 | 熟练渗透测试人员 | MITM / Web Fuzzer / History |
| 经典 | 左侧树形折叠菜单 | 入门/习惯传统菜单 | 首页 / History |
| 扫描 | 左侧树形菜单(精简) | 只需批量扫描 | - |
模式切换在"系统设置"里,切换后左侧菜单和固定 Tab 随之变化。
3. 核心功能区路由表
从前端 YakitRouteToPageInfo 和 RouteToPage 提取的核心页面(按功能分组):
3.1 渗透测试
| 功能 | 路由 key | 界面用途 | 关联 skill |
|---|---|---|---|
| MITM 交互式劫持 | mitm-hijack | 启动 MITM 代理,实时查看/修改/转发 HTTP 流量,加载热加载 hook | mitm-hotpatch |
| Web Fuzzer | httpFuzzer | 单 Tab 发包调试,支持 fuzztag、热加载、序列发包、数据提取 | webfuzzer-hotpatch |
| Websocket Fuzzer | websocket-fuzzer | WebSocket 协议发包与 fuzz | - |
| Codec | codec | 编解码工具,内置 base64/url/hex/hash 等 + 自定义 codec 插件 | yakit-rightclick-plugin |
| 数据对比 | dataCompare | 两段数据差异对比 | - |
| Yak Runner | yakScript | 在线编写/运行 yak 脚本,等同 IDE | yaklang-syntax |
3.2 安全工具
| 功能 | 路由 key | 界面用途 | 关联 skill |
|---|---|---|---|
| 端口/指纹扫描 | scan-port | 端口扫描 + 指纹识别 | - |
| 专项漏洞检测 | poc | 基于 PoC 插件批量检测 | yakit-native-plugin |
| 弱口令检测 | brute | 弱口令爆破 | - |
| 空间引擎 | space-engine | 空间测绘引擎搜索(Fofa/Hunter/Quake 等) | - |
| 子域名收集 | plugin-op(内置) | 调用"子域名收集"插件 | yakit-native-plugin |
| 基础爬虫 | plugin-op(内置) | 调用"基础爬虫"插件 | yakit-native-plugin |
| 目录扫描 | plugin-op(内置) | 调用"综合目录扫描与爆破"插件 | yakit-native-plugin |
3.3 插件
| 功能 | 路由 key | 界面用途 | 关联 skill |
|---|---|---|---|
| 插件仓库 | plugin-hub | 在线插件商店,一键下载安装 | - |
| 批量执行 | batch-executor-page-ex | 批量执行多个插件 | yakit-native-plugin |
| 插件管理 | plugin-audit | 管理已安装插件(启用/禁用/编辑/审核) | - |
| 新建插件 | add-yakit-script | 创建新插件(yak/mitm/codec 类型) | yakit-native-plugin |
3.4 反连
| 功能 | 路由 key | 界面用途 |
|---|---|---|
| DNSLog | dnslog | DNS 反连检测 |
| ICMP-SizeLog | icmp-sizelog | ICMP 回显检测 |
| TCP-PortLog | tcp-portlog | TCP 端口回连检测 |
| Yso-Java Hack | PayloadGenerater_New | Java 反序列化 payload 生成 |
| 反连服务器 | ReverseServer_New | 统一反连服务器管理 |
| 端口监听器 | shellReceiver | 反弹 Shell 监听 |
3.5 数据库(项目数据)
| 功能 | 路由 key | 界面用途 | 关联 skill |
|---|---|---|---|
| History | db-http-request | MITM/Fuzzer 产生的全部历史流量 | yakit-data-extract-plugin |
| 流量分析器 | db-http-request-analysis | 历史流量高级分析 | - |
| 漏洞与风险 | db-risks | 扫描产出的漏洞/风险列表 | - |
| 报告 | db-reports-results | 扫描报告查看 | - |
| 端口 | db-ports | 端口资产列表 | - |
| 域名 | db-domains | 域名资产列表 | - |
| 指纹库 | fingerprint-manage | Web 指纹规则管理 | - |
| CVE 管理 | cve | CVE 数据查询 | - |
| 字典管理 | payload-manager | Payload 字典管理(与 db.SavePayload 联动) | yaklang-database |
| 配置管理 | config-management | 全局配置(代理/Payload/热加载模板) | global-hotpatch |
3.6 AI 功能
| 功能 | 路由 key | 界面用途 |
|---|---|---|
| AIAgent | ai-agent | AI 对话与自动化任务 |
| 知识库 | ai-repository | AI 知识库管理 |
| 工具库 | ai-tool | AI 工具管理 |
| 技能库 | ai-forge | AI 技能(Forge)管理 |
| 记忆库 | ai-memory | AI 记忆库 |
3.7 代码审计
| 功能 | 路由 key | 界面用途 |
|---|---|---|
| 代码扫描 | yakrunner-code-scan | 基于 SyntaxFlow 规则扫描代码 |
| 代码审计 | yakrunner-audit-code | 代码审计 |
| AI代码审计 | irify-ai-code-audit | AI 辅助代码审计 |
| 审计漏洞 | yakrunner-audit-hole | 代码审计发现的漏洞 |
| 规则管理 | rule-management | 自定义审计规则 |
| 项目管理 | yakrunner-project-manager | 审计项目管理 |
| Java 反编译 | yak-java-decompiler | Java 类文件反编译 |
4. 引擎连接与项目切换
4.1 引擎连接
首次启动 Yakit 前端时需要连接引擎:
- 本地引擎:在前端"引擎连接"页面选择本地引擎,前端会自动拉起 yaklang 引擎进程。
- 远程引擎:输入远程引擎的 gRPC 地址(host:port),前端通过 gRPC 连接。
引擎启动入口:
yaklang/common/yakgrpc/,gRPC 服务端口由引擎自动选择并通过 IPC 通知前端。 前端 gRPC 客户端封装:yakit/app/renderer/src/main/src/services/electronBridge.ts。
4.2 项目切换
Yakit 的"项目"概念对应一个独立的 project 数据库:
- 切换项目 = 切换 project 数据库,History/Risk/Port/Domain 等数据随之隔离。
profile数据库不随项目切换(插件、Payload 字典、全局配置始终共享)。- 在脚本中用
db.SetProjectKey/db.GetProjectKey存取的项目级配置也随项目切换。 详见 yaklang-database。
5. 新手快速上手路径
flowchart TD
A[安装 Yakit + 连接引擎] --> B[MITM 劫持: 配置代理, 浏览流量]
B --> C[Web Fuzzer: 重放/修改请求]
C --> D[Codec: 编解码/数据变换]
D --> E[插件仓库: 下载社区插件]
E --> F[写自己的插件: yak/mitm/codec]
F --> G[热加载: 内联改流量]
| 步骤 | 操作 | 对应功能区 |
|---|---|---|
| 1. 连接引擎 | 启动 Yakit → 连接本地/远程引擎 | 引擎连接页 |
| 2. MITM 抓包 | 打开 MITM → 设置代理 → 浏览器配置代理 → 浏览目标 | MITM 交互式劫持 |
| 3. 重放/修改 | 在 History 或 MITM 中右键 → 发送到 Web Fuzzer | Web Fuzzer |
| 4. 编解码 | 选中数据 → 右键编码/解码,或打开 Codec 页面 | Codec |
| 5. 装插件 | 打开插件仓库 → 搜索 → 安装 | 插件仓库 |
| 6. 写插件 | 新建插件 → 选类型(yak/mitm/codec) → 写代码 → 保存 | 新建插件 |
| 7. 热加载 | MITM 配置 → 热加载窗口粘贴代码 → 启用 | MITM 热加载 |
6. 完整路由表(到各专题 skill)
| 需求 | 进入 skill |
|---|---|
| MITM 代理劫持/修改请求响应 | mitm-hotpatch |
| Web Fuzzer 单 Tab 发包加解密/签名/重试 | webfuzzer-hotpatch |
| 全局热加载(MITM + Fuzzer 共享) | 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 |
参考来源
- 前端路由定义:
yakit/app/renderer/src/main/src/routes/newRoute.tsx(YakitRouteToPageInfo/RouteToPage) - 前端 gRPC 流消费:
yakit/app/renderer/src/main/src/hook/useHoldGRPCStream/useHoldGRPCStream.ts - 引擎 gRPC 服务:
yaklang/common/yakgrpc/ - 脚本引擎注入:
yaklang/common/yak/yaklib/yakit_client.go(SetEngineClient覆写yakit全局变量) - 模式枚举:
yakit/app/renderer/src/main/src/store/softMode.ts(YakitModeEnum)
FAQ
What does the yakit-basic skill do?
Yakit 基本使用指南。当用户需要了解 Yakit 是什么、如何安装、界面各功能区用途、引擎与前端的关系、 以及从零开始上手 Yakit 时使用。覆盖架构概览(引擎 + Electron 前端 + gRPC 通道)、三种界面模式 (经典 / 安全专家 / 扫描)、核心功能区路由表(MITM / Web Fuzzer / Codec / 端口扫描 / 插件 / 数据库等)、 引擎连接与项目切换、以及新手最常见问题的入口。当用户问"Yakit 怎么用 / 某个功能在哪 / 引擎连不上"时进入。
How do I install yakit-basic?
Run npx skills add https://github.com/yaklang/yak-skills --skill yakit-basic in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/yakit-basic/ (personal) or .claude/skills/yakit-basic/ (project).
Which AI agents can use yakit-basic?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is yakit-basic safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains yakit-basic?
It is published by yaklang in yaklang/yak-skills. It has 107 recorded installs.
More from yaklang/yak-skills
yakit-data-extract-plugin
yaklang/yak-skills
Open the skill to read its SKILL.md instructions.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.