yaklang

网络安全领域编程语言
授权协议 AGPL
开发语言 Google Go
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 国产
投 递 者 法玮
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

yaklang 是由电子科技大学网络空间安全研究院联合 yaklang.io 团队推出的中国首款网络安全领域编程语言。

为了加速安全产品和安全工具的工程化研发,我们创建了一门新的语言(Yaklang),并且同时实现了一个栈虚拟机(YakVM)。Yaklang 是一门图灵完备的编程语言,其语法由上下文无关文法定义。它运行在 YakVM 上。

为什么要做 DSL? (Why DSL?)

  1. 提高生产力。DSL 设计简洁高效,专注于解决特定问题,可以大大提高开发效率和生产力。
  2. 改善抽象能力。DSL 可以帮助开发者利用高层抽象构建解决方案,不需要处理底层细节,提高开发效率。
  3. 可维护性好。DSL 语言简单明了,代码也更加清晰易读,这有利于代码的维护和扩展。
  4. 可靠性高。DSL 专注一定领域,语言和语义都更加精确,这有助于编写出更加可靠的程序。
  5. 易于嵌入。DSL可以很容易地嵌入到一门宿主语言中,实现起来非常方便。

示例代码:

// 极简获取参数,--target xxxx  --port 80
scanTarget, scanPorts = cli.String("target"), cli.String("port")

// 默认批量进行服务扫描
results, err = servicescan.Scan(scanTarget, scanPorts)
die(err)

// 取出扫描结果(异步扫描结果)
for result = range results {
    println(result.String())
}

 

 相关资料
  • Here are the articles in this section:跨站脚本跨站请求伪造

  • 网络安全目前包括WAF策略。 WAF策略 WAF策略用于为Web应用提供集中式保护,使其免受常见攻击和漏洞的侵害。

  • 攻击方式 主动攻击 包括篡改数据流或伪造数据流,这种攻击试图改变系统资源或影响系统运行。 被动攻击 对信息的保密性进行攻击,即通过窃听网络上传输的信息并加以分析从而获得有价值的情报,但它并不修改信息的内容。它的目标是获得正在传送的信息,其特点是偷听或监视信息的传递。被动攻击只对信息进行监听,不对其进行修改。被动攻击包括信息内容泄露和业务流分析2大类 病毒类型 文件型 感染可执行文件,包括EXE和C

  • 一面 2023-7-19 自我介绍; OSI网络七层/五层模型; Ping属于哪一层?底层依赖什么协议? TCP和UDP的主要区别? 如何结合TCP和UDP,保证大量数据传输效率的同时尽可能增加数据可靠性? HTTP3.0基于的底层协议是什么?具有哪些特性? 使用过/常见的对称密码算法?哪些具有安全问题?具有什么样的安全问题? 使用过/常见的非对称密码算法? 对称和非对称密码算法的适用场景? 使用

  • 1.1.5 汇编语言的使用领域 综上所说,汇编语言的特点明显,其诱人的优点直接导致其严重的缺点,其“与机器相关”和“执行的高效率”导致其可移植性差和调试难。所以,我们在选用汇编语言时要根据实际的应用环境,尽可能避免其缺点对整个应用系统的影响。 下面简单列举几个领域以示说明,但不要把它们绝对化。 1、适用的领域 要求执行效率高、反应快的领域,如:操作系统内核,工业控制,实时系统等; 系统性能的瓶颈,

  • 问题内容: 我正在探索基于我的glassfish服务器上的jdbc领域的纯Java EE实现程序安全性的方法,尤其是登录用户。 所以基本上,在我的登录servlet中, 在我的web.xml中不做任何事情,将使用默认领域(文件)。我不需要,我想使用名为jdbcsecurerealm的jdbcRealm。 所以我将以下内容添加到我的web.xml中 请注意,我没有添加任何form-login-con

  • 1. 网络编程概述 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。 举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。 由于你的电脑上可能不止浏览器,

  • 简介 开发环境支持编辑网络端口和防火墙策略,提供基本的安全设置。 设置网络端口和防火墙策略 安全组起着虚拟防火墙的作用,可控制开发环境实例的流量。在您启动实例时,将一个或多个安全组规则与该实例相关联。每个安全组规则,通过网络协议、端口和IP白名单,规定流入关联实例的网络流量。目前,只可以在创建开发环境时设置安全组规则,创建后不可改变。 对于每个规则,您可以指定以下内容: 协议:允许的协议。最常见的