Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,444 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YAK

安全能力融合 · AI 原生的网络安全技术栈



Yaklang Stars Yakit Stars Yaklang Release Yaklang Downloads License Site


Yak Project 是什么

Yak Project 是广泛使用的开源网络安全基础设施。

它不是一个单一工具,而是一套以「CDSL-YAK 领域编程语言」为内核、向外辐射出 GUI 平台、静态分析引擎、安全智能体、Java 工具链、漏洞靶场、AI 评测基准的完整技术体系。从底层虚拟机 YakVM、静态单赋值 YAK SSA、漏洞建模语言 SyntaxFlow,到顶层的安全从业者日常使用的图形化工具,Yak Project 把"安全能力融合"做成了可被复用的工程基座。

安全融合势在必行」—— Yak 的起点不是再做一把"瑞士军刀",而是去搭一块让安全能力可以像积木一样被组合、被复用、被分发的底层基建。

做难且正确的事」—— 团队口号。

几个硬指标(持续更新中):

维度 数据
核心语言仓库提交 14,000+ 次(截至 2026-07)
Yakit 桌面端提交 8,400+ 次
历史发布版本 600+ 个 tag
社区贡献者 50+ 人
学术指导 电子科技大学网络空间安全学院
科技成果评价 2024 年由中国通信学会组织科技成果鉴定
行业科技进展 入选中国通信学会发布的 2023 年度信息通信领域十大科技进展
行业科技奖励 获 2025 年中国通信学会科学技术奖一等奖

CDSL-YAK:为网络安全而生的领域编程语言

CDSL-YAK · Cybersecurity Domain Specific Language
"可能是安全领域最先进的领域编程语言(DSL)"

CDSL(Cybersecurity Domain Specific Language,网络安全领域专用编程语言) 是 Yaklang 团队提出并被业界沿用的核心理念:与其用通用语言一次次重复"造安全工具的轮子",不如直接为安全场景量身定制一门图灵完备、强类型 + 动态类型、兼具编译字节码与解释执行的编程语言。

Yaklang 是 CDSL 理念的首个完整落地,包含一整套自研的编译器基础设施:

编译器组件 角色
CDSL Yaklang 网络安全领域限定语言本体(语法 / 类型系统 / 运行时)
YakVM 网络安全领域限定语言的虚拟机(栈式字节码执行)
YAK SSA 静态分析友好的静态单赋值中间表示
SyntaxFlow 语法模式匹配 DSL —— 漏洞特征代码描述语言
LSP / DSP Server 语言服务器协议 + 调试协议服务器(IDE 级开发体验)

为什么 CDSL 比通用语言更适合做安全?

  • 简洁:用最少的代码描述漏洞扫描、流量劫持、模糊测试这些安全高频场景;
  • 易用:脚本即能力,单二进制、开箱即用,可跨 macOS / Linux / Windows 交叉编译;
  • 灵活:支持热加载、嵌入式执行,可作为其他安全产品的"能力底座"被调用;
  • 可维护:语法由上下文无关文法定义,IDE 友好,便于长期工程化;
  • 可靠:强类型 + SSA 中间表示让程序分析"天生友好"。

技术对比:Golang ≈ Yaklang ≥ JVM Based Lang >> Python

Yak 的目标——成为安全领域的 "Matlab",让"黑客编程"有一门属于自己的领域母语。

CDSL 教材已正式出版:《CDSL-YAK 网络安全领域编程语言—从入门到实践》


产品矩阵

Yak Project 的产品矩阵以 CDSL-YAK 为内核,自底向上覆盖语言、平台、引擎、智能体与工具链五个层次。下方逐节展开每个对外产品;开源生态相关项目汇总于文末。

Yakit:智能化交互式渗透测试平台

Yakit 是 Yak Project 面向安全从业者的核心桌面平台。它的核心目的,是让安全工程师在同一个工作台里打通「看流量 — 改数据包 — 跑模糊测试 — 写脚本 — 装插件」的完整渗透链路,而不必在 BurpSuite、终端、编辑器、脚本仓库之间反复横跳。它解决的是单兵作战与团队协作中长期存在的三类痛点:工具割裂导致上下文反复丢失,能力难以沉淀导致经验无法复用,重复劳动过多导致同类操作每次重写。为此,Yakit 把 MITM 交互式劫持、Web Fuzzer 可视化模糊测试、被动扫描、端口扫描、爬虫、反连、WebShell 管理、AI Agent 等能力整合进一个开源、免费、跨平台的客户端,并内置 Yaklang 运行时,让安全动作随时可以从「点按钮」切到「写代码」。

支撑这套完整能力的底层是 Yak CDSL 架构优势。Yakit 以 CDSL-YAK 领域编程语言为内核,将一门为网络安全量身定制的语言的运行时、调试能力与安全工程流程整合进同一图形化工作台。正因为内核是一门图灵完备的领域语言而非固定的功能集合,Yakit 才能做到「脚本即能力」:任何 GUI 没有覆盖的边角场景,都能用一段 Yaklang 脚本临时解决或固化为插件;任何团队私有的方法论,都能沉淀为可复用、可分发的资产。这也让 Yakit 同时具备 Yaklang 安全能力的图形化最佳实践身份——图形化即效率,插件化即生态,脚本化即无限扩展。

项目 内容
定位 基于 Electron + Yaklang gRPC 引擎构建的交互式应用安全测试 ALL-IN-ONE 平台
开源 2021-10-12 首发,完全开源、完全免费
仓库 github.com/yaklang/yakit

核心特点

一、流畅的中间人劫持操作,数据包重放与模糊测试操作流

Yakit 的 MITM 模块是交互式渗透的核心,提供手动劫持改包与自动放行被动观察两种模式,配合历史流量回溯与可视化 Web Fuzzer,构成一条完整的操作流:劫持到数据包后,可在同一界面完成查看、编辑、重放、批量处理与模糊测试,操作流程流畅高效,无需在多个工具间切换上下文,其特殊的模糊测试系统可以让 Yakit 通过 Fuzztag 语法描述注入点,一行标注即可批量生成变体并观测服务端行为,使模糊测试可视化、可组合。

二、强大的插件功能与社区支持

Yakit 拥有贯穿渗透全流程的插件体系,插件商店沉淀了覆盖各类安全场景的数千种插件,从通用扫描、协议处理到专项检测均可即装即用;用户既能在本地运行与调试插件,也能通过插件商店分发与共享,并经审核后发布自有插件以反哺社区。围绕插件与产品,Yakit 形成了活跃的用户交流生态,GitHub Issue 承接缺陷反馈与能力共建,社区讨论与用户互助辅助安全从业者快速上手与沉淀方法论。

三、使用 CDSL-Yak 语言引擎,以热加载技术解决各类渗透测试边缘场景难题

Yakit 内置 CDSL-Yak 语言引擎与运行时,并采用热加载技术:用户可以在渗透的任意环节动态加载并执行 Yaklang 脚本,无需重启平台即可对流量与行为做实时改写。这让 GUI 未覆盖的边角场景——流量修改、签名修复、鉴权重算、加解密预处理、自定义协议处理——都能用一段脚本临时解决或固化为插件。脚本即能力,热加载即实时生效,这是 Yakit 区别于固定功能集合类工具的根本所在。

四、完全重构底层库,特殊优化国密算法等场景,兼容性极强

Yakit 与底层 Yaklang 引擎对核心库进行了完全重构,针对网络安全实战中的关键场景做了专项优化,尤其在内置国密(SM2 / SM3 / SM4 等)算法支持、编解码链与协议适配等方面进行了强化,满足合规与国产化环境下的加密通信测试需求。同时,Yakit 兼容性极强,跨 macOS / Windows / Linux 一致可用,并兼容统信 UOS、麒麟等国产操作系统,适配单兵作业、团队协作与企业内网等多种部署形态。

Yaklang:为网络安全而生的领域编程语言

Yaklang 是 Yak Project 的内核与起点,一门专为网络安全而生的领域编程语言。它以单二进制运行时,把端口扫描、服务扫描、MITM 劫持、HTTP 模糊测试、编解码、反连、协议解析等安全能力封装为可被脚本直接调用的内置函数。安全从业者用最少的代码即可完成过去需要多个工具拼装的工作。在 Yak 生态中,Yakit 是图形化平台,IRify 是代码分析系统,驱动它们的核心引擎均为 Yaklang。

项目 内容
定位 网络安全领域专用编程语言(CDSL),一门图灵完备、强类型 + 动态类型、兼具编译字节码与解释执行的语言
仓库 github.com/yaklang/yaklang
许可证 AGPL-3.0
运行形式 单二进制,yak script.yak 执行脚本,yak -c 'expr' 执行表达式,跨 macOS / Linux / Windows 交叉编译
文档入口 /docs/intro

它解决什么问题

安全研发长期存在割裂:安全平台的研发(用 Golang / Java 建工程)与安全能力的研发(写 PoC、写扫描器、写漏洞检测逻辑)分散在不同的语言与项目中。一个安全工程师要扫描端口,要装 nmap 或调用某个 Python 库;要做模糊测试,要自己拼 HTTP 变体;要写 PoC,每次都要重写 HTTP 请求与编解码逻辑。各人实现的方案与指纹库标准不一,重复造轮子,安全能力散落各处,无法复用。

Yaklang 的目标是消除这种割裂,承担「安全能力融合」的职责。官方定位明确:「我们目标在提供『一站式』的安全能力基座」——PoC、扫描器、扫描模块、漏洞扫描算法,都可以用它来解决。作为安全领域的 DSL,Yaklang 内置了大量安全领域函数,安全能力直接成为语言本身的一部分,无需依赖外部工具拼装。

语言特性

一、脚本即能力,开箱即用

Yaklang 脚本无需 main() 函数、无需编译步骤,写完即可运行。单二进制分发,开箱即用,可在 macOS / Linux / Windows 间交叉编译。SYN 扫描等底层能力仅需系统安装 libpcap(Windows 为 npcap)即可使用。语言支持 var / = / := 变量声明、f-string 插值、defer / recover() 异常处理、go func() 并发与 WaitGroup 同步等现代脚本特性,语法风格对有 Go / Python 经验的开发者十分友好。

二、内置海量安全领域函数库

这是 Yaklang 作为 DSL 的核心价值。语言内置了覆盖渗透全流程的标准库,安全工程师无需四处寻找与维护第三方轮子:

  • 扫描类synscan(SYN 端口扫描)、servicescan(服务扫描)、finscansubdomain(子域名)、spacengine(空间测绘引擎)
  • 流量类mitm(中间人劫持)、http / httpool(HTTP 请求与批量)、fuzz(模糊测试)、poc(PoC 发包)
  • 编解码类codec(Base64 / Hex / URL / SM2 / SM3 / SM4 等编解码与密码学)
  • 目标识别类fp(指纹识别)、crawler / crawlerx(爬虫)、brute(爆破)
  • 基础设施类dnslog / dnscsrfpcapx(流量包解析)、ja3nuclei(兼容 nuclei 模板扫描)

一个不到 30 行的脚本就能完成端口扫描与服务识别;几行代码就能发起 HTTP 请求并解析响应。

三、动态类型与强类型并存,编译与解释双模执行

Yaklang 是动态类型语言,变量类型由赋值内容自动推断,开发者无需显式声明;在静态分析层面具备强类型与 SSA 中间表示支撑,使程序分析「天生友好」。脚本既可编译为字节码经 YakVM 栈式执行,也可解释运行,兼顾运行效率与开发灵活性。

四、热加载与嵌入式执行

Yaklang 支持热加载与嵌入式执行:脚本可在渗透的任意环节被动态加载执行(如 Yakit MITM 热加载改包),也可作为安全能力底座被其他安全产品嵌入调用。Yaklang 兼具独立编程语言与可编排安全能力运行时双重身份。

架构:编译器五件套

Yaklang 是一套完整的编译器基础设施,自底向上由五个组件构成:

编译器组件 角色
CDSL Yaklang 网络安全领域限定语言本体(语法 / 类型系统 / 运行时)
YakVM 网络安全领域限定语言的虚拟机(栈式字节码执行)
YAK SSA 静态分析友好的静态单赋值中间表示
SyntaxFlow 语法模式匹配 DSL —— 漏洞特征代码描述语言
LSP / DSP Server 语言服务器协议 + 调试协议服务器(IDE 级开发体验)

其中 YAK SSA 与 SyntaxFlow 是代码安全分析(IRify)的技术底座,LSP / DSP Server 让 Yaklang 在 Yakit 内置 Yak Runner 与 VSCode 插件中获得补全、跳转定义、参数提示与语法检查等 IDE 级开发体验。这套基础设施支撑 Yaklang 成为「安全领域的 Matlab,让黑客编程有一门属于自己的领域母语」。

安装

# macOS / Linux 一键安装
bash <(curl -sS -L http://oss-qn.yaklang.com/install-latest-yak.sh)

# Windows
powershell (new-object System.Net.WebClient).DownloadFile('https://oss-qn.yaklang.com/yak/latest/yak_windows_amd64.exe','yak_windows_amd64.exe') && yak_windows_amd64.exe install && del /f yak_windows_amd64.exe

# 验证安装
yak version

IRify:以 SSA 与人工智能为核心的现代代码安全分析系统

IRify 是 Yak Project 面向代码安全的现代分析系统。它的核心由两套引擎构成:一套是以静态单赋值(SSA)为核、以自研漏洞描述语言 SyntaxFlow 为查询语言的静态分析引擎;另一套是以大模型与智能体循环为骨架的人工智能引擎。两套引擎各自独立、自成体系,可以单独完成代码安全分析;同时又互相赋能、深度结合,AI 直接分析或验证 SSA 形式下的静态分析结果,并在 SyntaxFlow 规则的生成与维护中扮演关键角色。

SSA 引擎与 AI 引擎各自独立、自成体系,可以单独完成代码安全分析;两者又互相赋能、深度结合:AI 直接分析或验证 SSA 形式下的静态分析结果,并在 SyntaxFlow 规则的生成与维护中扮演关键角色。

两套引擎分工明确:SSA 引擎保证结果可复现、可验证、可工程化;AI 引擎带来语义理解、规划推理与规模化覆盖。两者结合的部分——AI 直接分析或验证 SSA 静态分析结果、AI 生成与维护 SyntaxFlow 规则——正是 IRify 区别于任何单一范式产品的关键。

IRify 作为独立产品,项目官网为 ssa.to。(点击可跳转)

项目 内容
定位 以 SSA 与人工智能为核心的现代代码安全分析系统,SSA 引擎与 AI 引擎各自独立、互相深度结合
发行形态 在线 ssa.to · Yakit IRify 发行版(社区版 / 企业版)
语言支持 Java / SpringBoot 系列、Golang、PHP、JavaScript / EcmaScript、Python、C;基于标准 eBNF g4 语法文件构建
站点 / 源码 ssa.to · yaklang/common/yak/ssa · yaklang/common/syntaxflow · SyntaxFlow 教程

核心特点

一、SSA 引擎:以静态单赋值为核、SyntaxFlow 为查询语言的静态分析

SSA 引擎是 IRify 的可复现底座,采用两阶段架构:第一步将多语言源码编译为统一的静态单赋值(SSA,Static-Single-Assignment)中间表示,并落盘到程序数据库(支持懒加载与懒存储);第二步使用自研的 SyntaxFlow 对 IR 产物做查询式扫描。这种「编译与分析解耦」的设计,让大型项目的 IR 可以一次编译、多次复用,编译与分析也能在不同机器上分别执行,避免每次扫描都重新解析源码。

SSA 中间表示天然对程序分析友好:它通过 Φ(Phi)节点实现双向数据流分析,支持跨包、跨文件的全局分析与路径敏感分析,并能对闭包做上下文敏感的过程间分析。配合深度关联分析(数据流 + 控制流),SSA 引擎能追踪一条数据从外部输入(source)到危险函数(sink)的完整路径,远超孤立匹配函数名的精度。

让这套架构「可被安全工程师直接使用」的核心是 SyntaxFlow,定位为「高级声明式模式查询语言(Advanced Declarative Pattern Query Language)」,本质上是一门漏洞描述语言(VDL)——专门用来描述漏洞形态、让规则贴近审计直觉的领域语言。与 CodeQL 或 Datalog 不同,SyntaxFlow 无需 import 各种表与库来描述运算特征,使用逻辑更接近人类代码审计的思考方式:直接声明「什么样的代码模式构成一个漏洞」,引擎负责在 IR 上做污点追踪与数据流查询。

一条 SyntaxFlow 规则由三部分构成:规则描述(desc,含 titletypelevelriskcve 等)、规则内容(查询表达式)、规则输出(check / alert)。规则通过 #->-->#> 等操作符串联使用—定义链(Use-Def Chain),用 #{include} / #{exclude} / #{until} 做过滤,用 as $var 捕获节点。这套语法让规则即漏洞模型,可读、可测、可版本管理。SSA 引擎凭借这种确定性,独立承担从规则到结果的全流程分析,输出稳定、可复现、可追溯,全流程无需模型推理。

二、AI 引擎:以大模型与智能体循环为骨架的代码安全分析

AI 引擎是 IRify 的语义推理层,独立于 SSA 引擎即可工作。它以 ReAct 智能体循环为骨架,在 Yaklang AI 体系中注册了独立的代码安全审计循环类型,桌面端通过两个专注模式触达:code_security_audit(整工程代码安全审计)与 ai_skill_audit(AI 技能驱动分析)。一次完整 AI 审计遵循四阶段流程:项目探索、扫描计划与按类别串行的双阶段审计、逐条验证与证据记录、报告生成与兜底,最终可导出 MD / PDF 报告。

作为独立引擎,AI 引擎直接对源码进行语义理解与安全分析:在无预置规则的情况下识别业务逻辑漏洞、解释代码意图、跨函数还原攻击路径,覆盖难以用纯模式匹配描述的语义型风险。这类语义型风险正是 SSA 引擎以「规则即漏洞模型」驱动的确定式分析难以触及的领域,两套引擎因此形成互补关系。

AI 引擎同样提供从结果到证据的完整链路:审计结论可指向具体代码位置与上下文,并通过 irify-sast-skill(MCP 工具 yak mcp -t ssa)注入的 SyntaxFlow 语法、约 40 个 NativeCall 与 Source / Source→Sink 模板获得稳定的能力边界,具备「查询语法报错即自愈重试」的兜底机制。

三、双引擎深度结合:AI 直接分析与验证 SSA 静态分析结果,并驱动规则生成与维护

IRify 的差异点在于两套引擎的深度结合:AI 在直接分析、验证与规则工程化三条链路上与 SSA 体系紧密耦合。

  • AI 直接分析 SSA 形式的静态分析结果:AI 审计以 SSA 引擎编译产出的 IR 与已识别的风险产物为输入,对静态分析结果做直接分析与判定——确认是否构成真实可利用路径、收敛误报、补充语义化的风险描述。稳定的 SSA 产物为 AI 提供可复现的事实底座,使 AI 的语义判断更准、更稳。
  • AI 验证 SSA 静态分析结果:对于 SSA 引擎依据 SyntaxFlow 规则产出的候选漏洞,AI 作为验证者介入,结合上下文判断其是否真实成立、利用难度如何,输出带有证据的验证结论。这条「规则粗筛 + AI 验证」的链路,是提升真实漏洞检出率、压低误报的关键。
  • AI 驱动 SyntaxFlow 规则的生成与维护:专注模式 write_syntaxflow_rule 在内置规则样例知识包(syntaxflow-aikb 文本检索 + syntaxflow-aikb-rag 向量检索)上做检索,结合单文件编辑工具链与 SyntaxFlow 编译校验,迭代写出合法的 .sf 文件;编辑器右上角的 AI 美化入口(sf_rule_completion Forge)把一份 .sf 文本按统一规范重新排版。规则的产出与长期维护由此从「手工试错」升级为「AI 起草 + 语法自检 + 人工把关」。

这条「SSA 引擎提供可复现的静态分析与规则底座、AI 引擎提供语义理解与验证推理、两者在分析与规则两侧深度耦合」的路线,使 IRify 兼具传统 SAST 的稳定性与可工程化,以及 AI 时代的语义覆盖与规模化能力。

四、规则调试系统与扫描稳定性保障

IRify 提供从编写、调试到结果验证的完整工具链,确保规则可工程化。

  • 规则编辑器:基于 Monaco 的 RuleEditorBox,内置 SyntaxFlow 语言规范(SyntaxFlowMonacoSpec),并能在审计结果页通过 result_id 反查命中该结果的那条 .sf 规则原文,让「结果 ↔ 规则」双向可追溯。
  • 规则调试器:通过 useRuleDebug 驱动的调试会话(apiSyntaxFlowScan),支持 pause / resume / stop / reset,逐条吐出匹配节点卡片与日志,便于作者逐步确认匹配边界与误报来源。
  • 规则管理:独立「规则管理」页,区分本地规则与在线规则,支持规则分组、批量导入导出、按组在代码扫描中选取规则集;默认规则模板直接链接 SyntaxFlow 指南
  • 结果可追溯:每条审计漏洞(SSARisk)携带严重程度、代码定位(CodeSourceUrl / CodeRange / CodeFragment)、所属函数与变量、命中规则(FromRule)、CVE / 风险类型与修复建议;右侧详情页展示交互式数据流图,点击节点可跳转源码并对照显示 SSA IR 代码,从「危险函数到漏洞点」的全路径可回溯、可展开。
  • 扫描稳定性:扫描任务具备完整生命周期 API(StartScan / ResumeScan / GetScanStatus),支持断点续扫与状态查询;规则侧以稳定的 SSA 扫描产物为不稳定的 AI 审计提供支撑,目标是「同一项目多次审计输出尽量一致」。报告生成功能(MD / PDF)让结果可沉淀、可复核。

内置规则体量也支撑了这套稳定性:yaklang 引擎通过 go:embed 内置 364 个 .sf 规则,其中 363 个分布在 Java(154,含 Spring)、Golang(103)、PHP(42)、Python(26)、JavaScript / EcmaScript(21)、C(17)六种语言目录,另有 1 个通用规则;这些规则分布在 130 个按语言划分的 CWE 目录中,覆盖 67 个不重复 CWE 编号,并带有 IRify 专属排除策略(rules_irify_exclude.go)。


Memfit AI:面向安全工程师的桌面 AI Agent

Memfit AI 是 Yak Project 面向网络安全领域开发的桌面 AI Agent,主要解决安全工程师在信息整理、流量分析、漏洞研究、代码审计、自动化执行和报告编写中的实际问题。产品优先适配网络安全工作,同时提供文件处理、知识检索、任务规划、工具调用和结果交付等通用 Agent 能力,也可用于研究、分析和日常自动化任务。

Memfit AI 的核心代码位于 yaklang/common/ai/aid,桌面端与 Yakit 基础设施同源开发,AI 引擎和工具系统复用 Yaklang 语言生态。Yaklang 已有的 HTTP、MITM、模糊测试、端口与指纹识别、编解码、漏洞验证和代码审计能力可以直接提供给 Agent。YakScript、Yakit 插件和 MCP 服务也可以按任务接入,用于处理通用 Agent 难以覆盖的安全场景。

维度 Memfit AI
产品定位 面向安全工程师全工作流、兼具通用任务能力的垂直桌面 AI Agent
工作方式 目标 → 计划 / 任务图 → 工具调用 → 人工复核 → 交付物
上下文入口 本地文件、目录、图片、知识库、HTTP Flow、Web Fuzzer 请求等结构化资源
可积累资产 知识库、长期记忆、AI 技能(Forge)、工具、Focus Mode
核心代码 yaklang/common/ai/aid
扩展能力 Yaklang / YakScript 工具、Yakit 插件、安全分析能力与 MCP 服务
风险控制 文件操作权限、人工 / AI / 全自动审查模式、工具风险阈值、任务过程可追踪

核心特点

1. 面向安全工程师的完整工作过程

Memfit AI 可以处理 HTTP Flow、Web Fuzzer 请求、代码工程、漏洞证据和扫描结果等安全数据,也支持普通文件和目录。安全工程师可以在同一任务中完成资料读取、分析判断、工具验证和报告输出,减少在对话工具、终端、脚本和文档之间切换。产品同时保留通用 Agent 能力,安全工作之外的研究和自动化任务也可以使用。

2. 复用 Yaklang 与 Yakit 生态

Memfit AI 的 AI 引擎、工具系统和安全能力与 Yaklang 共用代码和运行时。Yaklang 内置库、YakScript 脚本和 Yakit 插件可以作为 Agent 工具使用,已有安全能力不需要重新开发。对于动态签名、鉴权重算、私有协议、特殊编码和流量改写等场景,可以通过 Yaklang 脚本补充处理逻辑。

3. 支持复杂任务执行和过程控制

Memfit AI 会将目标拆分为计划和具体任务,按依赖关系调用工具、读取资源和生成结果。计划、工具参数、执行结果和交付物记录在统一时间线中,用户可以查看任务过程并在需要时介入。工具调用支持人工确认、AI 判断和自动执行,并可配置文件权限、风险阈值和禁用工具。

4. 工作资料和方法可以复用

知识库用于管理可查证的资料,长期记忆用于保存稳定偏好、项目约束和工作经验,AI 技能(Forge)用于定义任务流程和输出要求。工具、技能、知识和记忆可以按任务组合,并在后续会话中继续使用。模型服务与这些工作资产相互独立,更换模型不会影响已经保存的资料和流程。

安全提示:端口探测、HTTP 测试、漏洞验证等能力只应在明确授权范围内使用;正式演示统一使用本机服务、脱敏流量或专用测试环境。


开源项目

Yak Project 除 Yaklang、Yakit、IRify 和 Memfit AI 外,还维护了一组面向安全研发、AI Agent、代码分析和工程交付的开源项目。这些项目包括可安装的 Agent Skills、训练与检索素材、评测工具、Yaklang 仓库内的独立模块、命令行程序和跨平台基础设施。独立项目链接到仓库根目录;位于 Yaklang 单体仓库中的项目直接链接到对应源码目录。以下内容按官网长廊卡片所需的「项目介绍、核心价值、跳转地址」整理。

Agent Skills 与知识资产

项目 项目介绍 核心价值 项目地址
Yak Skills 面向 AI Agent 的 Yaklang 编程、Yakit 使用与热加载知识库,每个专题配有可运行的 .yak 示例和验证工具。 让 Agent 能够编写、调试和验证 Yaklang 脚本,并处理 MITM、Web Fuzzer、全局热加载等实际场景。 GitHub · 在线浏览
HackSkills 面向 AI Agent 的攻防技能库,覆盖 Web、API、认证授权、提权、逆向、密码学和 AI 安全等领域。 将安全知识整理为可安装、可检索、可组合的标准 Skill,便于 Agent 在授权测试和安全研究中按需加载。 GitHub · 在线浏览
IRify SAST Skill 将 IRify 的 SSA 编译器和 SyntaxFlow 查询能力封装为 AI Agent Skill,支持 Java、PHP、JavaScript、Go、Python、C 和 Yak。 让 Codex、Claude Code、Cursor 等 Agent 能够编译源码、追踪数据流并执行静态安全分析。 GitHub
Control Theory Skill 将控制论、系统论和信息论中的反馈、稳定性、黑箱实验等概念整理为 Agent 设计方法。 为任务规划、工具使用、错误修正和反馈回路设计提供可复用的分析框架。 GitHub
Yaklang AI Training Materials Yaklang 的 AI 知识与示例素材库,包含标准库用法、实践案例、文章、脚本和评测材料。 为 Agent 学习 Yaklang、生成安全脚本和检索语言用法提供结构化参考。 GitHub
SyntaxFlow AI Training Materials 面向 SyntaxFlow 的语法、运算符、NativeCall、规则示例、错误处理和 RAG 构建素材。 支持 AI 检索 SyntaxFlow 知识、生成规则并完成语法自检与迭代修正。 GitHub

评测、代码分析与安全研究

项目 项目介绍 核心价值 项目地址
IRify Benchmark 面向代码扫描引擎的轻量评测框架,维护带 Source、Sanitizer、Sink 数据流标注的基准项目。 以完整数据流而非单个命中行评估扫描引擎,可用于回归测试、CI 和引擎对比。 GitHub
SyntaxFlow 教程 SyntaxFlow 从入门到实践的教程与示例项目,涵盖 SSA 查询、Use-Def 链、跨过程分析和数据流可视化。 帮助安全工程师学习用声明式规则描述漏洞,并理解 IRify 的静态分析方法。 GitHub

Yaklang 仓库内的独立模块

项目 项目介绍 核心价值 项目地址
Yaklang AI Agent Runtime Memfit AI 使用的 Agent 运行时,包含计划与任务图、ReAct 循环、工具系统、长期记忆、执行审查和专业 Focus Mode。 为 Yaklang 生态提供统一的 Agent 编排与安全工具运行基础。 yaklang/common/ai/aid
Yak SSA Yaklang 的 SSA 中间表示与程序分析核心,包含指令模型、基本块、控制流、Phi、作用域和程序数据库。 为多语言代码建模、数据流分析和 IRify 静态分析提供统一程序表示。 yaklang/common/yak/ssa
SyntaxFlow Engine SyntaxFlow 的语法、虚拟机、内置规则、数据库、补全和扫描任务实现。 将安全规则编译为可执行查询,在 SSA 程序上完成模式匹配与数据流分析。 yaklang/common/syntaxflow
MiniREHS 零外部依赖、可移植的多正则批量匹配引擎,采用统一编译、一次扫描和候选验证的处理方式。 面向大量规则与网络流量的批量匹配场景,在纯 Go 与可选自带 SIMD 后端之间保持一致结果。 yaklang/common/minirehs
Yak SCA Engine 软件成分分析模块,包含 Java、Go、Node.js、Python、PHP、Ruby、Rust 和 C/C++ 等依赖文件解析器及许可证分析。 为依赖识别、SBOM、许可证检查和供应链风险分析提供统一基础。 yaklang/common/sca
Vulinbox Yaklang 内置的 Web 漏洞靶场,提供 SQL 注入、XSS、SSRF、文件上传、逻辑漏洞和组件漏洞等可复现实例。 为 Yakit 实操、插件验证、AI Agent 安全评测和教学提供本地授权目标。 yaklang/common/vulinbox · 实战手册

独立工具与工程基础设施

项目 项目介绍 核心价值 项目地址
JavaJive 从 Yaklang 中抽取的纯 Go Java 工具箱,支持 .class.jar.war 反编译,类结构解析及 Java 序列化与 JSON 互转。 无需 JDK、cgo 或原生运行库,可作为单二进制工具使用,也可嵌入其他 Go 项目。 GitHub · 项目站点
go-llvm 面向 LLVM 18 C API 的 Go 封装,兼容静态链接和动态链接,并提供 JIT 相关接口。 为 Yaklang 生态提供可移植、自包含的 LLVM 集成方式,降低运行环境对系统 LLVM 的依赖。 GitHub
Memfit CLI 连接 Yaklang AI HTTP Gateway 的终端 Agent 客户端,支持会话创建、SSE 事件流、模型设置、审查策略和任务取消。 将 Memfit AI 的交互式任务执行能力带到终端,便于自动化流程和远程 Agent 调试。 GitHub
Awesome Yak Scripts Yak 脚本集合,涵盖安全工具、依赖同步、SCA 规则生成、日志分析和插件维护。 提供可以直接阅读、运行和改造的 Yaklang 自动化示例。 GitHub
Yaklang VS Code Extension Yaklang 与 SyntaxFlow 的 VS Code 扩展,提供语法高亮、补全、参数提示、诊断、调试和快速运行。 将 Yaklang 的 LSP、DSP 和引擎管理能力带入通用代码编辑器。 GitHub · 扩展市场
Yakit Chrome Extension 用于浏览器代理切换和 Yakit 联动的 Chrome 扩展。 简化浏览器、系统代理与 Yakit 之间的切换,为 Web 安全测试提供浏览器侧入口。 GitHub
pcap gopacket/pcap 拆出的工程化 fork,保留 Go 抓包接口,并将 libpcap 头文件、静态库和动态库按版本与架构纳入仓库。 解决系统 libpcap 版本差异、交叉编译和国产架构适配问题,为 Yaklang 的抓包、扫描与网络栈能力提供稳定依赖。 GitHub

pcap 的 fork 工作与完成度

yaklang/pcap 的目标是提高 gopacket/pcap 在安全产品构建和分发中的可控性,主要改动包括:

  • 锁定 libpcap 依赖:仓库携带 libpcap 1.8.1、1.9.1 和 1.10.4 的头文件与构建产物,通过 pcap_linux.go 为不同架构选择固定版本。构建环境不需要预先安装对应的系统 libpcap 开发包。
  • 处理系统兼容问题:Linux amd64 使用 libpcap 1.8.1 以处理旧版 CentOS 环境中的段错误问题;其他架构使用经过固定的 libpcap 版本,减少系统库差异带来的构建和运行偏差。
  • 扩展架构支持:已提供 Linux amd64、arm64、loong64、sw64 的 libpcap 构建产物和 cgo 配置;Windows 侧具备 386、amd64、arm64 的结构定义与编译前置支持。
  • 跟进 Go 网络包生态:依赖已迁移到维护中的 github.com/gopacket/gopacket v1.3.1,同时保留 pcap、BPF 与 pcapng 等测试样本和基本构建检查。

该 fork 已作为 Yaklang 的正式依赖,应用于 pcapx、SYN / FIN 扫描、用户态网络栈、流量注入和隧道触发等模块。当前成果主要体现在跨架构构建、依赖固定和兼容性上;仓库暂未发布与上游的性能对比数据,因此不将其描述为性能优化版本。


项目里程碑

Yak Project 从安全工程师的实际工作出发,逐步形成了以 Yaklang 为技术底座,覆盖交互式安全测试、代码审计和 AI Agent 的开源产品体系。以下节点记录了核心项目的公开发布、技术发展和阶段性成果。

年份 事件 影响 相关资料
2021 Yak 与 Yakit 在 XCon 对外发布 Yak Project 进入公开发展阶段,Yakit 开始为安全工程师提供统一的桌面工作台。 XCon 发布记录
2023 CDSL-YAK 在北京国家会议中心举行开源发布会 核心语言、运行时和安全能力底座面向社区开放,外部开发者可以直接检查源码、提交问题并参与建设。 开源发布会记录
2023 YAKIT 网络安全单兵测试系统 V2.0 入选第十七批北京市新技术新产品(服务)名单 Yakit 的产品化和实际应用进入新的发展阶段。 北京市官方名单 PDF
2024 Yakit V2.0 通过公安部第三研究所检测 Yakit 按照网络安全专用产品和 Web 应用安全检测相关国家标准完成测试。 检测信息发布记录
2024 “面向通信网络的专用安全编程语言 YakLang 创新及应用”入选 2023 年度信息通信领域十大科技进展 Yaklang 的专用编程语言路线进入信息通信领域年度科技进展名单。 中国通信学会发布页
2025 IRify 对外发布 Yak SSA、SyntaxFlow 与 AI 能力形成独立代码审计产品,项目能力从交互式测试扩展到源码安全分析。 IRify 发布记录
2025 “面向网络安全的专用编程语言与开发环境技术与应用”获中国通信学会科学技术奖一等奖 Yaklang 与配套开发环境的技术成果和实际应用获得行业科技奖励。 中国通信学会奖励公告
2025 “国产化网络安全开发环境 YAK”获“创客中国”全国总决赛企业组三等奖 YAK 从网络安全专题赛进入全国总决赛,展示了国产安全开发环境的工程能力和应用价值。 全国总决赛结果 PDF
2026 Memfit AI 对外发布 Yaklang、Yakit 及其工具生态进入 Agent 工作流,为安全工程师提供分析、执行和交付支持。 Memfit AI 发布记录

查看完整发展历程

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages