GosecGolang 安全检查器

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

Gosec 是一个 Golang 安全检查器,通过扫描 Go AST 来检查源代码的安全问题。


Gosec 可以被配置为只运行一个规则子集,排除某些文件路径,并产生不同格式的报告。默认情况下,所有的规则都是针对所提供的输入文件运行的。要从当前目录进行递归扫描,你可以提供./...作为输入参数。


Available rules



  • G101:查找硬编码凭据

  • G102:绑定到所有接口

  • G103:审计不安全块的使用

  • G104:未检查审计错误

  • G106:审计 ssh.InsecureIgnoreHostKey 的使用

  • G107:作为污点输入提供给 HTTP 请求的 URL

  • G108:分析端点自动暴露在 /debug/pprof

  • G109:strconv.Atoi 结果转换为 int16/32 造成的潜在整数溢出

  • G110:通过解压炸弹的潜在 DoS 漏洞

  • G201:使用格式字符串构建 SQL 查询

  • G202:使用字符串连接的 SQL 查询构造

  • G203:在 HTML 模板中使用未转义数据

  • G204:审计命令执行的使用

  • G301:创建目录时使用的文件权限较差

  • G302:与 chmod 一起使用的文件权限较差

  • G303:使用可预测的路径创建临时文件

  • G304:作为污点输入提供的文件路径

  • G305:解压 zip/tar 存档时的文件遍历

  • G306:写入新文件时使用的文件权限较差

  • G307:推迟返回错误的方法

  • G401:检测DES、RC4、MD5或SHA1的使用

  • G402:查找错误的 TLS 连接设置

  • G403:确保最小 RSA 密钥长度为 2048 位

  • G404:不安全的随机数源(rand)

  • G501:导入阻止列表:crypto/md5

  • G502:导入阻止列表:crypto/des

  • G503:导入阻止列表:crypto/rc4

  • G504:导入阻止列表:net/http/cgi

  • G505:导入阻止列表:crypto/sha1

  • G601:范围语句中项目的隐式内存别名


Retired rules


浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报