antgroup/YASA-UAST

GitHub: antgroup/YASA-UAST

YASA-UAST 是一种将多种编程语言代码解析为统一抽象语法树格式的中间表示结构,为跨语言静态程序分析奠定基础。

Stars: 69 | Forks: 13

#### [简体中文](README_ZH.md) / [English](README.md) YASA (Yet Another Static Analyzer) 是一个开源的静态程序分析项目。其核心创新在于一种被称为统一抽象语法树 (Unified Abstract Syntax Tree, UAST) 的统一中间表示,旨在支持多种编程语言。基于 UAST 构建,YASA 提供了一个高精度的静态分析框架。用户可以通过编写自定义 checker 来扩展其能力,以执行各种程序分析任务——例如 AST 查询、数据流分析和函数调用图分析——并通过 SDK、声明式查询语言 (QL) 或 MCP 暴露功能。 作为一个最初在安全团队内部开发的项目,YASA 还内置了污点分析能力(作为 checker 实现),用于检测安全漏洞。 YASA 项目包含: - YASA-UAST - [YASA-Engine](https://github.com/antgroup/YASA-Engine) - YASA-UQL - YASA-MCP - YASA-SDK - [xAST](https://github.com/alipay/ant-application-security-testing-benchmark) 关于 YASA 项目的更多信息,请访问[此处](https://www.yuque.com/u22090306/bebf6g)。 # YASA-UAST 本项目是 YASA 项目的 YASA-UAST 组件。 YASA-UAST 是一种用于多语言程序分析的中间表示结构。UAST-Parser 将不同编程语言的代码解析为统一的抽象语法格式。通过 UAST,不同语言的源代码可以被转换为标准化的树结构,从而实现跨语言的统一分析和处理。 # YASA-UAST 组件 ## 规范 - [UAST 节点规范](https://github.com/antgroup/YASA-UAST/blob/main/specification/specification.md) ## parser-Go - 用于 UAST 的 Go 语言解析器,将 Go 代码解析为 UAST。 ## parser-Java-JS - 用于 UAST 的 Java 和 JS 语言解析器,将 Java、JS 和 TS 代码解析为 UAST。 ## parser-Python - 用于 UAST 的 Python 语言解析器,将 Python 代码解析为 UAST。 ## 加入我们 如果遇到任何问题,欢迎提交 issue! 关于代码贡献,请参阅 [CONTRIBUTION](https://www.yuque.com/u22090306/bebf6g/rgm1xmoa38wlfxzc) ## 资源链接 [官方文档](https://www.yuque.com/u22090306/bebf6g) [社区活动](https://www.yuque.com/u22090306/bebf6g/fn1rauxwtp7z0l1u) ## 开源许可证 Apache License 2.0 - 详情见 LICENSE Apache-2.0。 ## 联系我们 [官方网站](https://cybersec.antgroup.com/)
标签:Ant Group, CMS安全, DNS重绑定攻击, Go, JavaScript, JS文件枚举, odt, Python, QL查询, Ruby工具, SAST, TypeScript, UAST, 中间表示, 云安全监控, 代码安全, 代码解析器, 函数调用图, 可配置连接, 多语言支持, 安全专业人员, 安全插件, 安全测试框架, 开源, 抽象语法树, 控制流分析, 数据可视化, 无后门, 日志审计, 漏洞枚举, 盲注攻击, 程序分析, 编译器技术, 自动化攻击, 自动化攻击, 蚁群, 跨语言分析, 逆向工具, 静态分析, 静态程序分析