El examen de IA para pull requests genera resultados de seguridad adicionales con un motor de análisis basado en IA que se ejecuta en pull requests y complementa CodeQL. A diferencia de las alertas CodeQL, los resultados del análisis de IA solo están disponibles en las solicitudes de incorporación de cambios y no aparecen como alertas pendientes en la vista de seguridad del repositorio.
Ai Scan expande la code scanning cobertura sin necesidad de una herramienta de análisis independiente ni una configuración de compilación.
Availability
La disponibilidad depende de quién posee el repositorio y su visibilidad.
| Propietario del repositorio | Visibilidad | Disponibilidad y requisitos |
|---|---|---|
| Organización | Public | Disponible sin una licencia Active Committer |
| Organización | Privado o interno | Disponible con GitHub Code Security o GitHub Advanced Security |
| Cuenta personal | Public | Available |
| Cuenta personal | Privada | No disponible |
El examen de IA para las solicitudes de extracción no está disponible para los repositorios en el espacio de nombres personal de cuenta de usuario administrada, incluso si code scanning está habilitado para el repositorio.
No necesita una GitHub Copilot licencia para usar AI Scan.
Billing
El uso de AI Scan es independiente de las licencias de committers activos y se informa en la SKU Code Security AI Credits. El uso solo comienza cuando se examina una solicitud de extracción apta.
En el caso de los repositorios propiedad de la organización, el uso se factura a la cuenta responsable de la facturación de la organización.
En el caso de los repositorios públicos que pertenecen a una cuenta personal, el uso se factura a esa cuenta personal a menos que el propietario del repositorio tenga una GitHub Copilot licencia proporcionada por una organización o empresa. En ese caso, el uso se factura a la organización o empresa que proporciona la licencia.
Si la cuenta de facturación recibe AI credits incluidos a través de una suscripción GitHub Copilot, AI Scan usa primero esos créditos. Una vez agotados los créditos incluidos, o si la cuenta no tiene créditos incluidos, el uso se mide y se rige por los presupuestos aplicables. Si un presupuesto duro no deja disponibles Code Security AI Credits, AI Scan no puede generar resultados. El análisis se reanuda cuando un administrador aumenta el presupuesto de limitación o comienza un nuevo ciclo de facturación.
Para más información sobre el modelo de facturación, consulte GitHub Advanced Security facturación de licencias.
Cómo funciona AI Scan
El examen de IA se ejecuta automáticamente cuando se cumplen todas las condiciones siguientes:
- Code scanning está activado en el repositorio.
- La opción Examen de IA del repositorio en pull requests está habilitada.
- Una solicitud de incorporación de cambios que no procede de una bifurcación ni ha sido creada por Dependabot contiene cambios en un lenguaje o marco compatible que CodeQL no cubre.
Los análisis se ejecutan cuando se crea una solicitud de incorporación de cambios y después de cada nuevo commit, como lo hacen para CodeQL.
AI Scan no requiere la configuración predeterminada de CodeQL y no depende del estado del análisis de CodeQL. Si el análisis de CodeQL falla o está en espera, AI Scan seguirá ejecutándose.
Los resultados se publican en la solicitud de incorporación de cambios a medida que se van encontrando. Si el CodeQL análisis tarda más en completarse, es posible que vea los resultados del análisis con IA antes de que aparezcan los resultados de CodeQL, o viceversa.
Las conclusiones son orientativas. No fallan la Code scanning comprobación y no pueden bloquear las fusiones de pull requests a través de los requisitos del conjunto de reglas. Proporcionan señales sobre dónde se puede mejorar la seguridad del código sin interrumpir el flujo de trabajo.
El motor de análisis analiza el código de pull request sin necesidad de un sistema de compilación y puede usar la búsqueda de código para recopilar más contexto del repositorio antes de marcar un problema. Usa prompts especializados, no archivos de instrucciones personalizados como /.github/copilot-instructions.md o /CLAUDE.md.
Cómo aparecen los hallazgos de AI Scan en las pull requests
Los resultados del análisis con IA aparecen junto con las alertas CodeQL en las pestañas Conversación y Archivos cambiados de una solicitud de extracción. Cada hallazgo se etiqueta con un indicador de "IA" para que puedas distinguirlo de las alertas CodeQL.
Cada hallazgo describe el problema de seguridad y explica el riesgo. La mayoría de los hallazgos también incluyen una remediación sugerida. Cuando esté disponible, Copilot Autofix recomienda un cambio de código, como lo hace con las alertas de CodeQL.
Puede usar los pulgares hacia arriba o hacia abajo para proporcionar comentarios y ayudar a mejorar la calidad de la detección.
Limitations
- AI Scan analiza únicamente las solicitudes de extracción. No se permiten análisis del repositorio completo.
- Los resultados de AI Scan aún no pueden usarse en conjuntos de reglas para aplicar requisitos de fusión.
- AI Scan no se ejecuta en solicitudes de extracción procedentes de bifurcaciones ni en solicitudes de extracción creadas por Dependabot.
- Las categorías de detección y los idiomas admitidos pueden cambiar a medida que evoluciona la característica.
- Al igual que con cualquier herramienta basada en IA, los hallazgos de análisis de IA pueden incluir falsos positivos. Use el mecanismo de comentarios para notificar resultados inexactos.
Idiomas compatibles
Ai Scan admite lenguajes y marcos seleccionados que CodeQL no cubren actualmente. Algunos ejemplos son PHP, Shell/Bash, configuración de Terraform (HCL), Dockerfiles, JSP para Java y Blazor para C#.
Para comprobar si CodeQL admite un idioma, consulte Análisis de código con CodeQL.
Categorías de detección
El examen de IA clasifica actualmente los resultados en las siguientes categorías. La cobertura puede cambiar a medida que evoluciona la funcionalidad.
- Inyección de cadenas — SQL, HTML, shell, JSON o YAML construidos de forma insegura mediante cadenas, sin el escape o la sanitización necesarios, o con ellos incorrectos.
- Criptografía débil : algoritmos débiles, claves pequeñas, aleatoriedad no segura, cifrado que falta o hash de contraseña débil.
- Pérdida de control de acceso: cruce de directorios, deficiencias de CSRF o redireccionamientos abiertos controlados por el usuario.
- Exposición de datos confidenciales : secretos, tokens, contraseñas o seguimientos de pila almacenados, registrados o enviados sin una protección adecuada.
- Configuración incorrecta de seguridad: valores predeterminados o valores de configuración de riesgo, como deshabilitar controles de seguridad o habilitar características de depuración.
- Fallos de autenticación — ausencia de TLS o de validación, flujos de autenticación no seguros o ausencia de limitación de solicitudes.
- Errores de integridad de datos: deserialización no segura, HTTP para acciones confidenciales, contaminación de prototipos o ejecución de contenido que no es de confianza.
- Falsificación de solicitudes del lado servidor (SSRF): el servidor captura direcciones URL, hosts o protocolos controlados por atacantes.
- Riesgos de la cadena de suministro : acciones, paquetes o imágenes de terceros desanclados o descargas sin comprobaciones de integridad.
Activación del escaneo con IA
Antes de habilitar AI Scan en solicitudes de incorporación de cambios para una organización, confirme la idoneidad del repositorio, revise los AI credits incluidos de la cuenta de facturación y configure los presupuestos para el uso medido.
La habilitación de la configuración de la organización habilita el examen de IA inmediatamente para todos los repositorios aptos en los que está habilitado code scanning. Los administradores del repositorio pueden optar por no participar, pero las solicitudes de incorporación de cambios aptas pueden consumir créditos de IA de seguridad de código antes de que lo hagan.
No es necesario seleccionar un modelo para habilitar el examen de IA.
- Empresa: los propietarios de la empresa pueden permitir o impedir que las organizaciones habiliten AI Scan. La directiva se establece en "No permitido" de forma predeterminada. Permitir el examen de IA no lo habilita automáticamente. Consulte Aplicación de directivas de seguridad y análisis de código de la empresa.
- Organización: los propietarios de la organización y los administradores de seguridad pueden habilitar AI Scan para las solicitudes de extracción para repositorios aptos. Los repositorios heredan la configuración de la organización. Consulte Configuración de seguridad global para su organización.
- Repositorio propiedad de la organización: los usuarios con acceso de administrador al repositorio pueden optar por no participar cuando la organización ha habilitado el examen de IA. No pueden inscribirse cuando la configuración de la organización está deshabilitada.
- Repositorio público propiedad de una cuenta personal: los usuarios con acceso de administrador al repositorio pueden habilitar o deshabilitar AI Scan directamente mediante el botón de alternancia AI Scan for pull requests en "Code scanning".
Los propietarios de la organización y los administradores de seguridad pueden revisar el estado de habilitación eficaz de AI Scan for pull requests en la vista "Cobertura" de información general de seguridad. Consulte Evaluación de la adopción de características de seguridad.
Las personas con acceso al resumen de seguridad también pueden supervisar los resultados de AI Scan en toda una organización o empresa:
- En la pestaña Prevención del panel de información general se muestran las tendencias en los hallazgos del examen de IA, cuántos hallazgos se resolvieron y con qué frecuencia los desarrolladores aceptaron una Copilot Autofix sugerencia.
- La pestaña AI Scan del informe "Análisis de código en solicitudes de extracción" muestra los hallazgos a lo largo del tiempo, la disponibilidad de Copilot Autofix sugerencias y los resultados de los hallazgos con y sin sugerencias.
Para obtener más información, vea Análisis de código en pull requests.
Puede usar la API REST para administrar la configuración de la organización o del repositorio ai-scan . Consulte Puntos de conexión de la API de REST para el análisis de código.