CDSL-YAK 网络安全领域编程语言 完整介绍

📌 基本信息

项目

内容

全称

Cybersecurity Domain Specific Language

语言名

Yak / Yaklang

定位

中国首款开源网络安全领域专用编程语言

诞生时间

2023年正式开源

学术指导

电子科技大学网络空间安全学院(张小松教授团队)

研发团队

Yaklang.io("凝聚工作室"核心成员)

开源协议

AGPL(具有传染性)

语言类型

强类型 + 动态类型,高级计算机编程语言

运行要求

仅依赖 YakVM,实现"一次编写,处处运行"

支持系统

macOS、Linux、Windows

🏗️ 核心架构

CDSL-YAK 技术栈

├── CDSL Yaklang(网络安全领域限定语言)

│ └── 编译器核心

├── YakVM(网络安全领域限定语言虚拟机)

├── YAK SSA(静态分析友好的静态单赋值形式)

├── SyntaxFlow(语法模式匹配DSL & 漏洞特征代码描述语言)

└── LSP/DSP Server(语言服务器协议 & 调试协议服务器)

🎯 设计目标与核心理念

解决行业三大痛点:

痛点

描述

低位安全能力分散

各安全从业者用不同语言开发大量相似功能,造成人力浪费与能力割裂

安全产品互不兼容

各厂商产品间无法协同,数据分散,安全能力冗余

安全人才短缺

传统安全从业者需掌握多种异构工具,学习成本极高

CDSL 三大特性:

特性

说明

简洁性

业务与能力分离,解决方案更直观

易用性

非专业人员也可使用,消除安全产品工程化中的信息差

灵活性

可单独使用或嵌入式使用,用户可编写DSL脚本实现特定策略/检测规则

📦 能力体系

底层通用能力(与 Go/Python 相当)

  • 操作系统与存储支持

  • 网络 IO、数据与编码处理

  • AI 与自动化

  • 完善的开发框架

上层安全能力(覆盖网络安全全流程)

  • Web 安全 — 爬虫、Fuzz、指纹识别、漏洞检测

  • 网络测绘与扫描 — 端口探测、协议识别

  • 漏洞利用与载荷 — PoC/Exp 编写与执行

  • 流量分析与监测 — MITM、流量拦截与分析

  • 漏洞数据与分析 — 漏洞库整合与利用

  • 基础设施与仿真 — 蜜罐、靶场等

内置丰富库

io / tls / zip / jwt / x / codec / context

dns / sync / httpserver / cli / mmdb / xhtml

MITM / Web Fuzzer / TCP / UDP / SSH

🛠️ 生态与工具链

组件

类型

说明

Yakit

GUI / 原生 IDE

旗舰入口,集代码编辑、调试、任务编排、插件市场、PoC管理、报表导出于一体

Yak CLI

命令行工具

面向自动化、CI/CD 与流水线集成

VSCode 插件

编辑器扩展

语法高亮、LSP/DSP 能力、静态审计辅助

IRify

代码审计平台

基于 Yak 技术栈,支持多语言审计与报告生成

YAKVM

运行时引擎

跨平台字节码执行环境

靶场

学习平台

从基础到进阶的完整学习路线

🔧 使用场景

1. 企业安全建设

  • 构建统一的安全能力底座,整合低位安全产品

  • 实现安全产品间的高效集成与协同

  • 分布式架构(总部+分部)的远程安全能力支持

2. 渗透测试

  • 统一测试工具集,实现"多人/多团队协同作战"

  • 测试流程集中管理(人员认证、工具授权、范围/时间控制)

  • 全流程操作日志记录与审计

3. 安全能力左移(DevSecOps)

  • 将安全能力主动赋予开发和测试人员

  • 在业务研发测试阶段快速编写漏洞检测脚本

  • 安全测试"左移"至 CI/CD 流水线

4. 安全人才培养

  • 提供从基础到进阶的完整靶场学习路线

  • 覆盖业务逻辑漏洞、各类靶场及漏洞组合

  • 培养全面型网络安全专家

5. 代码安全审计

  • SyntaxFlow 语法模式匹配

  • YAK SSA 静态单赋值形式分析

  • 多语言代码审计与漏洞特征描述

6. 漏洞研究

  • PoC/Exp 自动化编写

  • Fuzzing 模糊测试

  • 漏洞数据整合与分析

🔄 与通用编程语言(GPL)的对比

维度

GPL(Python/Go/C)

CDSL-YAK

专注领域

通用

网络安全垂直领域

学习门槛

高(需掌握多种异构工具)

低(领域专家可直接使用)

安全能力整合

需大量胶水代码

原生内置安全能力

跨平台执行

依赖各语言运行时

仅需 YakVM

场景表达力

需转换为安全概念

直接用安全术语表达

📥 安装与使用

Linux/macOS:

curl -sS -L http://oss.yaklang.io/install-latest-yak.sh | bash


Windows:

# 下载并运行安装程序

(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

开源仓库:

GitHub - yaklang/yaklang: A programming language exclusively designed for cybersecurity · GitHub

🌟 核心优势总结

  1. 统一语言 — 用 Yaklang 一门语言覆盖所有网络安全环节

  2. 安全能力融合 — 将分散的安全能力整合到底座,实现"互补、融合、进化"

  3. 降本增效 — 减少重复开发,提升安全从业人员生产力

  4. 跨平台运行 — 一次编写,处处运行,依赖仅 YakVM

  5. 攻防一体 — 罕见地同时覆盖攻击侧与防御侧的安全产品体系

  6. 安全左移 — 让非安全专业人员也能快速编写安全检测脚本

⚠️ 注意:此 CDSL 不同于搜索结果中提到的 NICTA 团队开发的同名 CDSL(用于形式化验证文件系统代码的项目),也不同于印度 CDSL(Central Depository Services Limited)。这里是专指 Yaklang.io 团队 构建的中国首款网络安全领域编程语言。

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值