Skip to main content

Consultas de JavaScript y TypeScript para el análisis de CodeQL

Explore las consultas que CodeQL usa para analizar el código escrito en JavaScript o TypeScript al seleccionar default o el conjunto de consultas security-extended.

¿Quién puede utilizar esta característica?

Code scanning está disponible para todos los repositorios públicos en GitHub.com. Code scanning también está disponible para los repositorios privados que pertenecen a las organizaciones que usan GitHub Enterprise Cloud y que tienen una licencia de GitHub Advanced Security. Para obtener más información, vea «Acerca de GitHub Advanced Security».

CodeQL incluye muchas consultas para analizar código de JavaScript o TypeScript. Todas las consultas del conjunto de consultas default se ejecutan de manera predeterminada. Si decide usar el conjunto de consultas security-extended, se ejecutan consultas adicionales. Para obtener más información, vea «Conjuntos de consultas codeQL».

Consultas integradas para el análisis de JavaScript y TypeScript

En esta tabla se enumeran las consultas disponibles con la versión más reciente de la acción CodeQL y CodeQL CLI. Para obtener más información, consulte "Registros de cambios CodeQL" en el sitio de documentación de CodeQL.

Nota: La corrección automática de GitHub para code scanning está en versión beta. La funcionalidad y la documentación están sujetas a cambios. Durante esta fase, la función está restringida a las alertas de JavaScript, TypeScript y Python, así como las alertas de Java identificadas por CodeQL. Si tiene una cuenta de empresa y usa GitHub Advanced Security, la empresa tiene acceso a la versión beta.

Nombre de la consultaCWE relacionadosValor predeterminadoAmpliadoAutofix
Acceso arbitrario a archivos durante la extracción de archivos ("Zip Slip")022
Expresión regular de filtrado HTML incorrecta020, 080, 116, 184, 185, 186
Ruta de acceso de middleware que hace distinción entre mayúsculas y minúsculas178
Almacenamiento de texto no cifrado de información confidencial312, 315, 359
Transmisión de texto no cifrado de cookies confidenciales614, 311, 312, 319
Registro de texto no cifrado de información confidencial312, 359, 532
Scripting entre sitios del lado cliente079, 116
Redireccionamiento de direcciones URL del lado cliente079, 116, 601
Inyección de código094, 095, 079, 116
Configuración errónea de CORS para la transferencia de credenciales346, 639, 942
Creación de números aleatorios sesgados a partir de un origen criptográfico seguro327
Comunicación entre ventanas con origen de destino sin restricciones201, 359
Consulta de base de datos creada a partir de orígenes controlados por el usuario089, 090, 943
Descarga de dependencias mediante el canal de comunicación sin cifrar300, 319, 494, 829
Deserialización de datos controlados por el usuario502
Deshabilitación de la validación de certificados295, 297
Deshabilitación de electron webSecurity79
Deshabilitación de SCE116
Texto DOM reinterpretado como HTML079, 116
Compilación doble1176
Escape doble o descapturado116, 020
Descarga de archivos confidenciales a través de una conexión no segura829
Habilitación de Electron allowRunningInsecureContent494
Texto de excepción reinterpretado como HTML079, 116
Exposición de archivos privados200, 219, 548
Inserción de expresiones en acciones094
Credenciales codificadas de forma rígida259, 321, 798
Intoxicación de encabezados host en la generación de correo electrónico640
Saneamiento de código incorrecto094, 079, 116
Inclusión de la funcionalidad de un origen no de confianza830
Saneamiento de atributos HTML incompletos079, 116, 020
Saneamiento de varios caracteres incompleto020, 080, 116
Expresión regular para nombres de host incompleta020
Escape o codificación de cadenas incompletas020, 080, 116
Comprobación de esquema de dirección URL incompleta020, 184
Saneamiento de subcadena de direcciones URL incompleta020
Comprobación de sufijo incorrecta020
Expresión regular ineficaz1333, 730, 400
Exposición de la información a través de un seguimiento de la pila209, 497
Aleatoriedad insegura338
Lista blanca de direcciones URL no seguras183, 625
Falta el secreto de JWT o la comprobación de clave pública347
Inserción de repetición enlazada834, 730
Falta middleware de CSRF352
Falta la limitación de volumen770, 307, 400
Intervalo de expresiones regulares excesivamente permisivo020
Expresión regular polinómica usada en datos no controlados1333, 730, 400
Asignación de prototipos contaminantes078, 079, 094, 400, 471, 915
Función de contaminación de prototipos078, 079, 094, 400, 471, 915
Fusión de llamadas de prototipos contaminantes078, 079, 094, 400, 471, 915
Scripting entre sitios reflejado079, 116
Inserción de expresiones regulares730, 400
Reemplazo de una subcadena por la misma116
Agotamiento de recursos400, 770
Agotamiento de recursos del recorrido de objetos profundos400
Inserción de comandos de segundo pedido078, 088
Información confidencial leída desde la solicitud GET598
Cookie de servidor confidencial expuesta al cliente1004
Bloqueo del servidor248, 730
Falsificación de solicitud del lado servidor918
Redireccionamiento de direcciones URL del lado servidor601
Comando de Shell creado a partir de valores de entorno078, 088
Almacenamiento de información confidencial en el artefacto de compilación312, 315, 359
Scripting entre sitios almacenado079, 116
Inserción de objetos de plantilla073, 094
Confusión de tipos mediante manipulación de parámetros843
Línea de comandos no controlada078, 088
Datos usados en la expresión de ruta de acceso no controlados022, 023, 036, 073, 099
Utilización innecesaria del proceso cat078
Acceso a métodos dinámicos no seguros094
Expansión no segura de la etiqueta HTML de cierre automático079, 116
HTML no seguro construido a partir de la entrada de biblioteca079, 116
Extensión de jQuery no segura079, 116
Comando de shell no seguro construido a partir de la entrada a la biblioteca078, 088
Llamada de método dinámica no validada754
Utilización de un algoritmo criptográfico roto o débil327, 328
Utilización de una clave criptográfica débil326
Utilización de cadenas de formato controladas externamente134
Utilización del hash de contraseñas con un esfuerzo computacional insuficiente916
Escape de caracteres de expresión regular inútil020
Expansión de entidades externas de XML611, 827
Expansión de entidades internas de XML776, 400
Inserción de XPath643
Falsificación de solicitud del lado cliente918
Contraseña vacía en el archivo de configuración258, 862
Error al cancelar la sesión384
Datos de archivo en la solicitud de red saliente200
Datos codificados de forma rígida interpretados como código506
Línea de comandos indirecta no controlada078, 088
Archivo temporal no seguro377, 378
Inserción de registros117
Falta la comprobación de origen en el controlador postMessage020, 940
Falta el delimitador de expresiones regulares020
Datos de red escritos en el archivo912, 434
Contraseña en el archivo de configuración256, 260, 313, 522
Posible condición de carrera del sistema de archivos367
Inserción de propiedades remotas250, 400
Cookie confidencial sin restricciones de SameSite1275
Código no seguro construido a partir de la entrada a la biblioteca094, 079, 116
Omisión controlada por el usuario de la comprobación de seguridad807, 290