主要观点:Globstar 是一个开源静态分析工具包,能让开发者和安全工程师编写代码分析检查器并使用单个便携二进制文件运行。它以性能为设计理念,利用 tree-sitter 进行基于 AST 的强大分析,提供简单直观的接口用 tree-sitter 查询语言编写检查器,可从简单的 YAML 接口开始到复杂的 Go 接口。
关键信息:
- 特点:快速(用 Go 编写,作为单个二进制文件分发,无需担心依赖)、原生使用 tree-sitter(用其 S-expressions 写检查器或用 Go 绑定写更复杂的)、CI 友好(可在任何 CI/CD 管道中下载二进制文件运行)、真正开源(CLI 及内置检查器遵循 MIT 许可证)。
- 安装:可通过 curl 命令下载到当前目录或指定安装目录,也可全局安装并将二进制文件移到 PATH 中的目录。
- 编写检查器:在仓库根目录创建.globstar 文件夹,每个检查器用 YAML 文件定义,包含语言、名称等字段,可参考相关指南和 tree-sitter 资源。
- 在 CI 中运行:在 CI/CD 管道中下载二进制文件并运行 globstar check 命令,如在 GitHub Actions 中示例所示。
重要细节: - 安装时可通过设置 BINDIR 环境变量指定不同安装目录,全局安装后可在任何仓库运行检查器。
- 编写检查器的 YAML 文件中可定义模式、过滤器、排除项等,描述检查的内容和条件。
- 在 CI 中运行时,会运行.globstar 目录中的检查器和内置检查器,若有问题则工作流失败。
- Globstar 由 DeepSource 开发,基于多年静态分析经验打造,旨在满足团队对自定义检查器引擎的需求,开源且与 DeepSource 未来可无缝集成。文档在官方网站 https://globstar.dev/ 。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。