CodeQL 包含许多用来分析 Ruby 代码的查询。 默认情况下,default
查询套件中的所有查询都会运行。 如果选择使用 security-extended
查询套件,则会运行其他查询。 有关详细信息,请参阅“CodeQL 查询套件”。
用于 Ruby 分析的内置查询
下表列出了最新版本的 CodeQL 操作和 CodeQL CLI 的可用查询。 有关详细信息,请参阅 CodeQL 文档中的 CodeQL 更改日志。
注意: GitHub Enterprise Server 3.9 的初始版本包括 CodeQL 操作和 CodeQL CLI 2.12.7,可能不包括所有这些查询。 网站管理员可以将 CodeQL 版本更新到较新版本。 有关详细信息,请参阅“为设备配置代码扫描”。
查询名称 | 相关的 CWE | 默认 | 延期 | Autofix |
---|---|---|---|---|
错误的 HTML 筛选正则表达式 | 116、020、185、186 | |||
错误定位的正则表达式 | 020 | |||
敏感信息的明文记录 | 312、359、532 | |||
敏感信息的明文存储 | 312、359、532 | |||
代码注入 | 094、095、116 | |||
未启用 CSRF 保护 | 352 | |||
CSRF 保护削弱或停用 | 352 | |||
使用未加密信道下载依赖项 | 300、319、494、829 | |||
用户控制数据的反序列化 | 502 | |||
通过不安全的连接下载敏感文件 | 829 | |||
不完整的多字符清理 | 020、080、116 | |||
验证主机名的正则表达式不完整 | 020 | |||
不完整字符串转义或编码 | 020、080、116 | |||
不完整的 URL 子字符串清理 | 020 | |||
低效的正则表达式 | 1333、730、400 | |||
通过异常泄漏信息 | 209、497 | |||
不安全的大规模分配 | 915 | |||
过于宽松的正则表达式范围 | 020 | |||
用于不受控制数据的多项式正则表达式 | 1333、730、400 | |||
反射型服务器端跨站脚本 | 079、116 | |||
正则表达式注入 | 1333、730、400 | |||
从 GET 请求所读取的敏感数据 | 598 | |||
服务器端请求伪造 | 918 | |||
从用户控制的来源生成的 SQL 查询 | 089 | |||
存储的跨站脚本 | 079、116 | |||
不受控命令行 | 078、088 | |||
路径表达式中使用的不受控数据 | 022、023、036、073、099 | |||
从库输入构造的 HTML 代码 | 079、116 | |||
从库输入构造的不安全 shell 命令 | 078、088、073 | |||
来自远程来源的 URL 重定向 | 601 | |||
使用 Kernel.open 或 IO.read 类似的接收器与非常数值 | 078、088、073 | |||
使用 Kernel.open 、IO.read 或类似接收器与用户控制的输入 | 078、088、073 | |||
使用已破解或较弱的加密算法 | 327 | |||
使用外部控制的格式字符串 | 134 | |||
弱 Cookie 配置 | 732、1275 | |||
XML 外部实体扩展 | 611、776、827 | |||
硬编码凭证 | 259、321、798 | |||
硬编码的数据解释为代码 | 506 | |||
日志注入 | 117 | |||
正则表达式定位点缺失 | 020 | |||
网络数据写入文件 | 912、434 | |||
没有证书验证的请求 | 295 | |||
从资料库输入构造的不安全代码 | 094、079、116 |