GoKart用于保护 Go 代码的静态分析工具

联合创作 · 2023-10-02 02:41

GoKart 是 Go 的静态分析工具,它使用 Go 源代码的 SSA(单一静态分配)形式发现漏洞。它能够跟踪变量和函数参数的来源以确定输入源是否安全,与其他 Go 安全扫描器相比,这减少了误报的数量。例如,与变量连接的 SQL 查询传统上可能会被标记为 SQL 注入;但是,GoKart 可以确定变量实际上是常量还是常量等价物,在这种情况下不存在漏洞。

安装

您可以使用下列任一选项在本地安装 GoKart。

使用 go install 安装

$ go install github.com/praetorian-inc/gokart@latest

安装发布二进制文件

  1. 从 Release 页面下载适用于您的操作系统的二进制文件。

  2. (可选)下载checksums.txt文件以验证存档的完整性

# Check the checksum of the downloaded archive
$ shasum -a 256 gokart_${VERSION}_${ARCH}.tar.gz
b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz

$ cat gokart_${VERSION}_${ARCH}_checksums.txt | grep gokart_${VERSION}_${ARCH}.tar.gz
b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz
  1. 提取下载的存档
$ tar -xvf gokart_${VERSION}_${ARCH}.tar.gz
  1. gokart二进制文件移动到你的路径中:
$ mv ./gokart /usr/local/bin/

克隆并构建

# clone the GoKart repo
$ git clone https://github.com/praetorian-inc/gokart.git

# navigate into the repo directory and build
$ cd gokart
$ go build

# Move the gokart binary into your path
$ mv ./gokart /usr/local/bin

 

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报