Skip to main content

用于 CodeQL 分析的 C# 查询

当您选择 defaultsecurity-extended 查询套件时,浏览 CodeQL 用于分析使用 C# 编写的代码的查询。

谁可以使用此功能?

Code scanning 可用于 GitHub.com 上的所有公共存储库。 若要在组织拥有的专用存储库中使用 code scanning,必须具有 GitHub Advanced Security 许可证。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

CodeQL 包含许多用来分析 C# 代码的查询。 默认情况下,default 查询套件中的所有查询都会运行。 如果选择使用 security-extended 查询套件,则会运行其他查询。 有关详细信息,请参阅“CodeQL 查询套件”。

用于 C# 分析的内置查询

下表列出了最新版本的 CodeQL 操作和 CodeQL CLI 的可用查询。 有关详细信息,请参阅 CodeQL 文档中的 CodeQL 更改日志

查询名称相关的 CWE默认值延期
'requireSSL' 属性未设置为 true319、614
存档提取期间的任意文件访问权限(“Zip Slip”)022
ASP.NET 配置文件可启用目录浏览548
程序集路径注入114
敏感信息的明文存储312、315、359
Cookie 安全性:过于广泛的域287
Cookie 安全性:过于广泛的路径287
Cookie 安全性:永久性 Cookie539
创建 ASP.NET 调试二进制文件时可能会显示敏感信息11、532
跨站脚本079、116
将用户输入与昂贵的正则表达式进行比较而导致拒绝服务1333、730、400
不受信任数据的反序列化502
反序列化的委派502
配置文件内的空密码258、862
使用 ECB 加密327
私人信息泄露359
放弃会话失败384
带有凭证的硬编码连接字符串259、321、798
硬编码凭证259、321、798
已禁用标头检查113
代码生成的不当控制094、095、096
通过异常泄漏信息209、497
通过传输数据泄漏信息201
不安全的直接对象引用639
不安全的随机性338
不安全的 SQL 连接327
从存储的用户控制来源生成的 LDAP 查询090
从用户控制的来源生成的 LDAP 查询090
从用户输入创建的日志项目117
跨网站请求伪造令牌验证缺失352
函数级别访问控制缺失285、284、862
全局错误处理程序缺失12、248
X-Frame-Options HTTP 头缺失451、829
XML 验证缺失112
密码存储在配置文件内13、256、313
正则表达式注入730、400
资源注入099
绕过序列化检查20
从存储的用户控制来源生成的 SQL 查询089
从用户控制的来源生成的 SQL 查询089
存储的跨站脚本079、116
存储的 XPath 注入643
ICryptoTransform 对象的线程不安全捕获362
静态 ICryptoTransform 字段的线程不安全使用362
不受控命令行078、088
来自存储的用户输入的不受控制的命令行078、088
路径表达式中使用的不受控数据022、023、036、073、099
不受控制的格式字符串134
不安全地读取不受信任的 XML611、827、776
未经验证的本地指针算术119、120、122、788
来自远程来源的 URL 重定向601
使用文件上传434
用户控制的敏感方法绕过807、247、350
弱加密327
弱加密:RSA 填充不足327、780
弱加密:密钥大小不足326
XML 注入091
XPath 注入643