📌 基本信息
| 项目 | 内容 |
|---|---|
| 全称 | Yaklang / YAK |
| 定位 | 网络安全领域专用编程语言(CDSL) |
| 诞生时间 | 2023年正式开源 |
| 开发者 | Yaklang.io 团队("凝聚工作室") |
| 学术指导 | 电子科技大学网络空间安全学院 |
| 语言类型 | 强类型 + 动态类型高级编程语言 |
| 运行依赖 | 仅需 YakVM(跨平台虚拟机) |
| 支持平台 | macOS、Linux、Windows |
| 开源协议 | AGPL |
🎯 解决的核心问题
| 痛点 | Yaklang 的解决方案 |
|---|---|
| 安全能力分散 --- 各工具/脚本互不兼容 | 统一语言整合所有安全能力 |
| 产品间割裂 --- 扫描器、WAF、蜜罐无法协同 | 构建统一安全能力底座 |
| 学习成本高 --- 需掌握 Python/Go/Nmap 等多种工具 | 领域专用语法,安全术语直接表达 |
| 安全测试效率低 --- 人工渗透耗时长 | 自动化工作流 + 安全左移 |
🏗️ 技术架构

📦核心能力模块
通用能力
- 网络请求(HTTP/DNS/TCP/UDP/TLS/SSH)
- 加密解密、编码解码、JSON/YAML处理
- 文件系统操作、并发控制
- CLI 命令行、图像处理
安全能力
| 模块 | 功能 |
|---|---|
| Web 安全 | 爬虫、Fuzzing、Nuclei 兼容、指纹识别 |
| 网络测绘 | 端口扫描、协议识别、服务发现 |
| 漏洞利用 | PoC/Exp 编写与执行、漏洞验证 |
| 流量分析 | MITM 中间人攻击、流量拦截与解密 |
| 代码审计 | SyntaxFlow 语法匹配、静态分析 |
| 仿真靶场 | 蜜罐、模拟环境搭建 |
🛠️ 使用场景
1. 渗透测试自动化
- 用 Yaklang 编写漏洞检测脚本,覆盖 Web、系统、网络各层
- 多人协作:同一任务多人/多团队协同作战,优势互补
- 流程管控:人员认证、工具授权、时间/范围限制、日志审计
2. 企业安全建设
- 构建统一安全能力底座,整合分散的安全产品
- 分布式架构(总部+分部)远程能力支持
- 定期自动化安全检测替代人工巡检
3. 安全能力左移(DevSecOps)
- 将安全检测能力赋予开发/测试人员
- 在 CI/CD 流水线中嵌入漏洞检测
- 业务代码上线前自动扫描,减少安全债务
4. 漏洞研究与 PoC 开发
- 内置丰富漏洞特征库 + Fuzzer 引擎
- 快速编写、测试、验证 PoC
- 与 Nuclei/YAML 规则无缝兼容
5. 代码安全审计
- SyntaxFlow 语法模式匹配漏洞特征
- 支持多语言(Java/Python/JS 等)代码审计
- 生成专业审计报告
6. 安全人才培养
- 靶场覆盖:业务逻辑漏洞、各类专项靶场、漏洞组合
- 从基础到进阶完整学习路径
- 配套 GUI 工具 Yakit 降低上手门槛
💻 生态工具
| 工具 | 角色 |
|---|---|
| Yakit | 官方 GUI IDE(代码编辑/运行调试/任务编排/插件市场/PoC管理/报表导出) |
| Yak CLI | 命令行工具,适合 CI/CD 流水线集成 |
| VSCode 插件 | 语法高亮 + LSP 支持 |
| IRify | 多语言代码审计平台 |
📥 安装方式
# Linux / macOS
curl -sS -L http://oss.yaklang.io/install-latest-yak.sh | bash
# Windows
powershell -Command "
(new-object System.Net.WebClient).DownloadFile(
'https://yaklang.oss-cn-beijing.aliyuncs.com/yak/latest/yak_windows_amd64.exe',
'yak_windows_amd64.exe'
)
.\yak_windows_amd64.exe install
"
官网文档:
Yak:致力于安全能力融合的语言 | Yak Program Language
开源仓库:
https://github.com/yaklang/yaklang
🌟 核心优势总结
| 优势 | 说明 |
|---|---|
| 领域专用 | 用安全术语思考,直接表达安全意图 |
| 一键编写,处处运行 | 依赖仅为 YakVM,跨平台零障碍 |
| 攻防一体 | 同时覆盖攻击、防御、分析、审计全流程 |
| 安全能力融合 | 将分散能力整合为统一底座 |
| 降本增效 | 减少重复开发,安全效率数量级提升 |
| 开源生态 | AGPL 协议,社区共建 |
**一句话总结:**Yaklang 是中国首款开源网络安全领域编程语言,用一门语言覆盖渗透测试、漏洞研究、代码审计、企业安全建设等全场景,目标是将安全能力标准化、融合化、自动化,让安全从业者从"拼装各种异构工具"中解放出来,专注于真正的高价值安全工作。