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

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报