yakit

2025-09-23

前端

草木蔓发,青山可望。一一王维

https://github.com/yaklang/yakit

Yakit:一站式网络安全测试平台,红蓝队都爱用!

在网络安全攻防日益复杂的今天,如何高效、灵活地完成渗透测试、漏洞挖掘、流量分析和脚本自动化?Yakit 给出了一个漂亮的答案!


一、项目简介

  • 项目地址yaklang/yakit
  • 一句话描述:Cyber Security ALL-IN-ONE Platform
  • 主语言:TypeScript(跨平台桌面应用,深度整合Yaklang安全领域专用语言)
  • Star:6700+
  • Fork:770+
  • 标签redteam blueteam hacking-tools scanner burpsuite pentest exploit
  • 许可证:AGPL 3.0

二、Yakit 的来头有多大?

Yakit 是 Yaklang 团队基于“安全融合”理念打造的交互式应用安全测试平台。它不仅仅是抓包工具,更是一套从攻防到自动化脚本、从插件系统到安全语言的全场景解决方案。平台内置网络安全专用 DSL(CDSL),提供可视化、可自动化、可编程的强大能力。


三、特色功能一览

1. 一键复现 Chrome 请求,渗透测试更丝滑!

Yakit 支持直接粘贴 HTTP 原始请求进行重放,这一功能对渗透测试和接口分析极其友好。

使用场景举例:

  1. 在 Chrome DevTools 复制请求
    • 打开 Chrome,F12 进入开发者工具,切换到【Network】面板。
    • 找到需要复现的请求,右键选择 Copy > Copy as cURLCopy as fetchCopy as HTTP(推荐)。
  2. 粘贴到 Yakit 的 Web Fuzzer
    • 打开 Yakit,进入 Web Fuzzer 模块。
    • 直接粘贴刚才复制的 HTTP 原文(无需任何格式转换),支持 GET、POST、PUT 等各种方法。
    • 可视化修改请求参数,支持 Fuzztag 标签、变量插入、批量爆破。
  3. 一键发送/批量测试
    • 配置好后,点击发送或开始 Fuzz,Yakit 会自动处理请求,返回结果并展示响应细节。

示例:
假设从 Chrome 复制下来的请求如下:

1
2
3
4
5
6
7
8
POST /api/login HTTP/1.1
Host: example.com
Content-Type: application/json

{
"username": "test",
"password": "123456"
}

直接粘贴到 Yakit Web Fuzzer 编辑区即可,无需手动改格式!还能把 "username": "{{fuzz_user}}" 替换成变参进行批量测试。


2. MITM 代理&流量拦截

  • 支持 HTTPS 证书自动安装、请求/响应实时编辑、交互式流量拦截与重放。
  • 嵌入 Yaklang 脚本实现动态改包、自动化测试。

3. Web Fuzzer:模糊测试神器

  • 支持 Fuzztag 语法灵活爆破,内置 Host 碰撞、Intruder、目录爆破等场景。
  • 可插入脚本和自定义变量,批量测试接口安全。
1
2
3
4
5
6
7
8
POST /api/login HTTP/1.1
Host: {{host}}
Content-Type: application/json

{
"username": "{{fuzz_user}}",
"password": "{{fuzz_pwd}}"
}

4. 插件与自动化脚本

  • 插件商店丰富,支持 TypeScript/Yaklang 二次开发。
  • 任何渗透环节都能插入自定义脚本,批量、自动化测试变得异常轻松。

四、Yakit 上手指南

  1. 下载和安装

  2. 快速复现/重放 HTTP 请求

    • Chrome DevTools 复制 HTTP 请求原文
    • 打开 Yakit Web Fuzzer,粘贴原文
    • 调整参数即可一键发送
  3. 批量爆破/模糊测试

    • 利用 Fuzztag 语法(如 {{int(1-100)}}),实现账号、密码等参数的爆破
  4. 脚本和插件扩展

    • 学习 Yaklang,编写自动化脚本
    • 也可用 TypeScript 开发插件,满足特殊安全需求

五、典型代码&用法案例

1. 用 Yaklang 脚本自动化请求

1
2
3
4
5
6
7
8
9
request = http.request({
method: "POST",
url: "http://example.com/api/login",
headers: {
"Content-Type": "application/json"
},
body: "{\"username\":\"admin\",\"password\":\"{{int(10000,99999)}}\"}"
})
print(request.body)

可批量爆破密码区间,无需繁琐配置。

2. React 组件扩展实体仓库

1
2
3
4
5
6
import { EntityRepository } from 'yakit-playground';

<EntityRepository
onEntitySelect={handleEntity}
onGenerateERM={generateERM}
/>

六、适用人群

  • 红队/蓝队安全工程师
  • 渗透测试专家、爱好者
  • Web/API 安全开发者
  • 自动化攻防&漏洞研究者

七、结语

Yakit 让渗透测试、接口重放、模糊测试变得前所未有的顺滑高效。特别是 Chrome DevTools 复制请求粘贴直发的用法,对安全从业者、开发者来说极为友好。无论你是新手还是老鸟,只要想玩转攻防、提升效率,Yakit 都能帮你用更酷的姿势应对安全挑战!

项目地址:https://github.com/yaklang/yakit
官方文档:https://yaklang.io/products/intro/
技术白皮书:下载 PDF