GoKart:用于保护 Go 代码的静态分析工具
GoKart 是 Go 的静态分析工具,它使用 Go 源代码的 SSA(单一静态分配)形式发现漏洞。它能够跟踪变量和函数参数的来源以确定输入源是否安全,与其他 Go 安全扫描器相比,这减少了误报的数量。例如,与变量连接的 SQL 查询传统上可能会被标记为 SQL 注入;但是,GoKart 可以确定变量实际上是常量还是常量等价物,在这种情况下不存在漏洞。
为何打造 GoKart
静态分析是在源代码中查找漏洞的强大技术。然而,该方法存在噪音问题——也就是说,许多静态分析工具发现了很多实际上并不真实的“漏洞”。这导致了开发人员之间的摩擦,因为用户已经厌倦了“狼来了”的工具。
GoKart 的动机是解决这个问题:我们能否创建一个误报率明显低于现有工具的扫描仪?根据我们的实验,答案是肯定的。通过利用源到汇跟踪和 SSA,GoKart 能够跟踪变量分配之间的变量污点,从而显着提高发现的准确性。我们的重点是可用性:实际上,这意味着我们已经优化了我们的方法来减少误报。
0
See Also
- 请问如何修改代码,将管理员以外的人发帖时固定在一个分类下面?
- Go语言刷LeetCode集锦
- 代码不行 希望能增加
- 用 HIGHLIGHT.JS 在youBBS 实现代码高亮
- 找这样的代码很久了,今天终于有人写了,感谢作者呀。