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


 

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报