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

为何打造 GoKart
静态分析是在源代码中查找漏洞的强大技术。然而,该方法存在噪音问题——也就是说,许多静态分析工具发现了很多实际上并不真实的“漏洞”。这导致了开发人员之间的摩擦,因为用户已经厌倦了“狼来了”的工具。
GoKart 的动机是解决这个问题:我们能否创建一个误报率明显低于现有工具的扫描仪?根据我们的实验,答案是肯定的。通过利用源到汇跟踪和 SSA,GoKart 能够跟踪变量分配之间的变量污点,从而显着提高发现的准确性。我们的重点是可用性:实际上,这意味着我们已经优化了我们的方法来减少误报。
0
See Also
- Go 语言高性能编程
- Vald:用Go语言编写高度可扩展、分布式的近似最近邻密集向量搜索引擎
- Go的并发模式参考
- 不知能否提供下非伪静态源码包?
- Deprank:使用 PageRank 查找代码库中最重要的文件