跳至主要内容

用于 CodeQL 分析的 JavaScript 和 TypeScript 查询

探索 CodeQL 用于分析使用 JavaScript 或 TypeScript 编写的代码时选择的 `default` 或 `security-extended` 查询套件的查询。

谁可以使用此功能?

CodeQL 可用于以下类型的仓库

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

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

此表列出了 CodeQL action 和 CodeQL CLI 的最新版本提供的查询。有关更多信息,请参阅 CodeQL 文档网站上的 CodeQL 变更日志

查询名称相关的 CWE默认扩展Copilot 自动修复
归档提取期间的任意文件访问(“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
异常文本重新解释为 HTML079, 116
私有文件的公开200, 219, 548
Actions 中的表达式注入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
敏感服务器 Cookie 暴露给客户端1004
服务器崩溃248, 730
服务器端请求伪造918
服务器端 URL 重定向601
从环境值构建 Shell 命令078, 088
在构建工件中存储敏感信息312, 315, 359
在 GitHub Actions 工件中存储敏感信息312, 315, 359
存储型跨站脚本攻击079, 116
模板对象注入073, 094
通过参数篡改导致类型混淆843
不受控的命令行078, 088
在路径表达式中使用不受控数据022, 023, 036, 073, 099
不必要地使用 cat 进程078
不安全的动态方法访问094
不安全地展开自闭合 HTML 标签079, 116
从库输入构建不安全的 HTML079, 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
敏感 Cookie 缺少 SameSite 限制1275
从库输入构建不安全的代码094, 079, 116
用户控制绕过安全检查807, 290