CodeQL 包含许多用来分析 C# 代码的查询。 默认情况下,default
查询套件中的所有查询都会运行。 如果选择使用 security-extended
查询套件,则会运行其他查询。 有关详细信息,请参阅“CodeQL 查询套件”。
用于 C# 分析的内置查询
下表列出了最新版本的 CodeQL 操作和 CodeQL CLI 的可用查询。 有关详细信息,请参阅 CodeQL 文档中的 CodeQL 更改日志。
注意:**** code scanning 的 GitHub 自动修复功能为 beta 版。 功能和文档可能会有变动。 在此阶段,此功能仅限用于 CodeQL 标识的 JavaScript、TypeScript 和 、Python 和 Java 警报。 如果你有企业帐户并使用 GitHub Advanced Security,则你的企业有权访问 beta 版本。
查询名称 | 相关的 CWE | 默认 | 延期 | 自动修复 |
---|---|---|---|---|
'requireSSL' 属性未设置为 true | 319、614 | |||
存档提取期间的任意文件访问权限(“Zip Slip”) | 022 | |||
ASP.NET 配置文件可启用目录浏览 | 548 | |||
程序集路径注入 | 114 | |||
敏感信息的明文存储 | 312、315、359 | |||
Cookie 安全性:过于广泛的域 | 287 | |||
Cookie 安全性:过于广泛的路径 | 287 | |||
Cookie 安全性:永久性 Cookie | 539 | |||
创建 ASP.NET 调试二进制文件时可能会显示敏感信息 | 11、532 | |||
跨站脚本 | 079、116 | |||
将用户输入与昂贵的正则表达式进行比较而导致拒绝服务 | 1333、730、400 | |||
不受信任数据的反序列化 | 502 | |||
反序列化的委派 | 502 | |||
使用 ECB 加密 | 327 | |||
私人信息泄露 | 359 | |||
放弃会话失败 | 384 | |||
已禁用标头检查 | 113 | |||
代码生成的不当控制 | 094、095、096 | |||
通过异常泄漏信息 | 209、497 | |||
通过传输数据泄漏信息 | 201 | |||
不安全的随机性 | 338 | |||
从用户控制的来源生成的 LDAP 查询 | 090 | |||
从用户输入创建的日志项目 | 117 | |||
跨网站请求伪造令牌验证缺失 | 352 | |||
全局错误处理程序缺失 | 12、248 | |||
X-Frame-Options HTTP 头缺失 | 451、829 | |||
正则表达式注入 | 730、400 | |||
资源注入 | 099 | |||
从用户控制的来源生成的 SQL 查询 | 089 | |||
不受控命令行 | 078、088 | |||
路径表达式中使用的不受控数据 | 022、023、036、073、099 | |||
不受控制的格式字符串 | 134 | |||
不安全地读取不受信任的 XML | 611、827、776 | |||
未经验证的本地指针算术 | 119、120、122、788 | |||
来自远程来源的 URL 重定向 | 601 | |||
用户控制的敏感方法绕过 | 807、247、350 | |||
弱加密 | 327 | |||
弱加密:RSA 填充不足 | 327、780 | |||
弱加密:密钥大小不足 | 326 | |||
XML 注入 | 091 | |||
XPath 注入 | 643 | |||
配置文件内的空密码 | 258、862 | |||
带有凭证的硬编码连接字符串 | 259、321、798 | |||
硬编码凭证 | 259、321、798 | |||
不安全的直接对象引用 | 639 | |||
不安全的 SQL 连接 | 327 | |||
函数级别访问控制缺失 | 285、284、862 | |||
XML 验证缺失 | 112 | |||
密码存储在配置文件内 | 13、256、313 | |||
绕过序列化检查 | 20 | |||
ICryptoTransform 对象的线程不安全捕获 | 362 | |||
静态 ICryptoTransform 字段的线程不安全使用 | 362 | |||
使用文件上传 | 434 |