使用 gosec 检查 Go 代码中的安全问题


使用 gosec 检查 Go 代码中的安全问题

文章插图
 
来学习下 Go 语言的安全检查工具 gosec 。
• 来源:linux.cn • 作者:Gaurav Kamathe • 译者:lxbowlf •
(本文字数:11199,阅读时长大约:13 分钟)
 
Go 语言 写的代码越来越常见,尤其是在容器、Kubernetes 或云生态相关的开发中 。Docker 是最早采用 Golang 的项目之一,随后是 Kubernetes,之后大量的新项目在众多编程语言中选择了 Go 。
【使用 gosec 检查 Go 代码中的安全问题】像其他语言一样,Go 也有它的长处和短处(如安全缺陷) 。这些缺陷可能会因为语言本身的缺陷加上程序员编码不当而产生,例如,C 代码中的内存安全问题 。
无论它们出现的原因是什么,安全问题都应该在开发过程的早期修复,以免在封装好的软件中出现 。幸运的是,静态分析工具可以帮你以更可重复的方式处理这些问题 。静态分析工具通过解析用某种编程语言写的代码来找到问题 。
这类工具中很多被称为 linter 。传统意义上,linter 更注重的是检查代码中编码问题、bug、代码风格之类的问题,它们可能不会发现代码中的安全问题 。例如,Coverity 是一个很流行的工具,它可以帮助寻找 C/C++ 代码中的问题 。然而,也有一些工具专门用来检查源码中的安全问题 。例如,Bandit 可以检查 Python 代码中的安全缺陷 。而 gosec 则用来搜寻 Go 源码中的安全缺陷 。gosec 通过扫描 Go 的 AST( 


    推荐阅读