Go 的 CodeQL 查询帮助¶
访问以下文章以查看以下查询套件中包含的查询的文档
default
:在 GitHub 上的 CodeQL 代码扫描中默认运行的查询。security-extended
:来自default
的查询,以及精度和严重程度略低的其他安全查询。security-and-quality
:来自default
、security-extended
的查询,以及其他可维护性和可靠性查询。
这些查询发布在 CodeQL 查询包 codeql/go-queries
中 (变更日志,源代码)。
对于可以作为编写您自己的查询的构建块使用的较短的查询,请参阅 CodeQL 存储库中的示例查询。
- 存档解压缩期间的任意文件访问(“Zip Slip”)
- 提取包含符号链接的存档的任意文件写入
- 错误的重定向检查
- 按指数运算使用按位异或
- 敏感信息的明文日志记录
- 从用户控制的来源构建的命令
- 相同值的比较
- 恒定长度比较
- 从用户控制的来源构建的数据库查询
- 禁用的 TLS 证书检查
- 重复的“if”分支
- 重复的“if”条件
- 重复的 switch case
- 电子邮件内容注入
- 表达式无效
- 硬编码凭证
- 相同操作数
- 不可能的接口空检查
- 不完整的 URL 方案检查
- 主机名的不完整正则表达式
- 循环方向不一致
- 整数类型之间的错误转换
- 通过堆栈跟踪泄露信息
- 不安全的 TLS 配置
- 从用户输入创建的日志条目
- 缺少 JWT 签名检查
- 缺少错误检查
- 缺少正则表达式锚点
- 与长度比较的“Off-by-one”错误
- 开放式 URL 重定向
- 潜在的不安全引用
- 对 recover 的冗余调用
- 对负值的冗余检查
- 反射型跨站脚本攻击
- 自我赋值
- 移位超出范围
- 分配大小计算可能会溢出
- 使用过大大小值的切片内存分配
- 正则表达式中的可疑字符
- 网络请求中使用的不受控制的数据
- 路径表达式中使用的不受控制的数据
- 不可达语句
- 使用弱加密密钥
- 在 OAuth 2.0 URL 中使用常量
state
值 - 使用不安全的 HostKeyCallback 实现
- 使用不足够的随机性作为加密算法的密钥
- 对字段的无用赋值
- 对局部变量的无用赋值
- 空白与运算符优先级矛盾
- 封装的错误始终为 nil
- 可写文件句柄在没有错误处理的情况下关闭
- XPath 注入