Skip to main content

用于 CodeQL 分析的 JavaScript 和 TypeScript 查询

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

谁可以使用此功能?

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

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

用于 JavaScript 和 TypeScript 分析的内置查询

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

Note

GitHub Copilot Autofix 仅限于 CodeQL 为专用和内部存储库识别的警报。 如果有企业帐户并使用 GitHub Advanced Security,则企业有权访问 Copilot Autofix。

查询名称相关的 CWE默认延期Copilot Autofix
存档提取期间的任意文件访问权限(“Zip Slip”)022
错误的 HTML 筛选正则表达式020、080、116、184、185、186
区分大小写的中间件路径178
敏感信息的明文存储312、315、359
敏感 Cookie 的明文传输614、311、312、319
敏感信息的明文记录312、359、532
客户端跨站脚本079、116
客户端的 URL 重定向079、116、601
代码注入094、095、079、116
凭证传输的 CORS 错误配置346、639、942
从加密安全来源创建有偏差的随机数327
不受限制的目标源的跨窗口通信201、359
从用户控制的来源生成的数据库查询089、090、943
使用未加密信道下载依赖项300、319、494、829
用户控制数据的反序列化502
停用证书验证295、297
停用 Electron webSecurity79
停用 SCE116
DOM 文本重新解释为 HTML079、116
双重编译1176
双重转义,或取消转义116、020
通过不安全的连接下载敏感文件829
启用 Electron allowRunningInsecureContent494
异常文本重新解释为 HTML 079、116
专用文件泄露200、219、548
操作中的表达式注入094
硬编码凭证259、321、798
电子邮件生成中的主机头中毒640
不当的代码清理094、079、116
包含来自不受信任来源的功能830
对 HTML 属性的不完整清理079、116、020
不完整的多字符清理020、080、116
验证主机名的正则表达式不完整020
不完整字符串转义或编码020、080、116
URL 方案检查不完整020、184
不完整的 URL 子字符串清理020
后缀检查错误020
低效的正则表达式1333、730、400
通过堆栈跟踪的信息泄露209、497
Helmet 安全中间件的不安全配置693、1021
不安全的随机性338
不安全的 URL 白名单183、625
JWT 缺失机密或公钥验证347
循环绑定注入834、730
CSRF 中间件缺失352
速率限制缺失770、307、400
过于宽松的正则表达式范围020
用于不受控制数据的多项式正则表达式1333、730、400
污染原型的分配078、079、094、400、471、915
污染原型的函数078、079、094、400、471、915
污染原型的合并调用078、079、094、400、471、915
反射型跨站脚本079、116
正则表达式注入730、400
用自身替换子字符串116
资源耗尽400、770
深度对象遍历造成的资源耗尽400
二阶命令注入078、088
从 GET 请求所读取的敏感数据598
向客户端开放的敏感服务器 Cookie1004
服务器故障248、730
服务器端请求伪造918
服务器端的 URL 重定向601
基于环境值而生成的 Shell 命令078、088
生成工件中敏感信息的存储312、315、359
GitHub Actions 项目中的敏感信息存储312、315、359
存储的跨站脚本079、116
模板对象的注入073、094
通过参数篡改进行的类型混淆8:43
不受控命令行078、088
路径表达式中使用的不受控数据022、023、036、073、099
cat 流程的不必要使用078
动态方法的不安全访问094
自闭合 HTML 标记的不安全扩展079、116
从库输入构造的 HTML 代码079、116
不安全的 jQuery 插件079、116
从库输入构造的不安全 shell 命令078、088
脚本或其他内容中使用的不受信任的域830
未验证的动态方法调用754
使用已破解或较弱的加密算法327、328
使用弱加密密钥326
使用外部控制的格式字符串134
使用计算量不足的密码哈希916
无用的正则表达式字符转义020
XML 外部实体扩展611、827
XML 内部实体扩展776、400
XPath 注入643
服务器端请求伪造918
配置文件内的空密码258、862
放弃会话失败384
出站网络请求内的文件数据200
硬编码的数据解释为代码506
间接的不受控命令行078、088
不安全的临时文件377、378
日志注入117
postMessage 处理程序中源验证缺失020、940
正则表达式定位点缺失020
网络数据写入文件912、434
密码存储在配置文件内256、260、313、522
可能的文件系统争用条件367
远程属性注入250、400
没有 SameSite 限制的敏感 Cookie1275
从资料库输入构造的不安全代码094、079、116
用户控制绕过安全性检查807、290