Qué hace
Code Quality Scanner analiza los archivos fuente para identificar problemas concretos que afectan a la calidad de la base de código a largo plazo. Equivale a contar con un ingeniero senior que revise cada archivo y detecte problemas que podrían pasar desapercibidos durante una revisión manual, centrándose siempre en mejoras prácticas.Capacidades clave
- Revisión automatizada de código: Realiza un análisis exhaustivo para detectar problemas habituales de calidad que afecten a la mantenibilidad
- Análisis consciente del lenguaje: Comprende el contexto y las convenciones de diferentes lenguajes de programación
- Detección de frameworks: Reconoce frameworks habituales y aplica las prácticas recomendadas para cada uno
- Clasificación por gravedad: Prioriza los hallazgos según su impacto (alto, medio o bajo)
- Asignación de CWE: Asocia los hallazgos con la enumeración Common Weakness Enumeration (CWE) para normalizar su clasificación
Lo que puede encontrar
Code Quality Scanner identifica una amplia variedad de problemas de calidad. Todos los hallazgos se asocian a para mantener una clasificación coherente.Problemas gramaticales y de claridad
Problemas gramaticales y de claridad
- Errores tipográficos y ortográficos en comentarios de código, nombres de variables y cadenas (CWE-1078)
- Comentarios inexactos o engañosos que contradigan el comportamiento real del código o que puedan estar desactualizados (CWE-1116)
example.js
Limpieza del código
Limpieza del código
- Bloques de código vacíos que no tienen propósito (CWE-1071)
- Variables no utilizadas, importaciones y código muerto que saturan la base de código (CWE-563, CWE-1041)
- Bloques de excepciones vacíos que silencian los errores (CWE-1069, CWE-390)
- Código inalcanzable que nunca puede ejecutarse (CWE-561)
example.py
Duplicación de código y reutilización
Duplicación de código y reutilización
- Código duplicado que debe refactorizarse en funciones compartidas (CWE-1041)
- Claves duplicadas o literales en objetos y números mágicos que deberían ser constantes (CWE-1078)
- Código que incumple el principio : lógica repetida que aumenta la carga de mantenimiento
Problemas de rendimiento
Problemas de rendimiento
- Concatenación de cadenas en bucles que degrada el rendimiento (CWE-1046)
- Operaciones ineficientes y consumo innecesario de recursos (CWE-1050)
- Cuellos de botella de rendimiento en rutas de código que se ejecutan frecuentemente
Example.java
Diseño y arquitectura
Diseño y arquitectura
- Funciones con demasiados parámetros (>5 parámetros) que indican un diseño pobre (CWE-1064)
- Firmas de funciones excesivamente complejas que son difíciles de usar correctamente
- Dependencias circulares entre módulos (CWE-1047)
- Violaciones de
Complejidad y legibilidad del código
Complejidad y legibilidad del código
- Expresiones complejas que deben desglosarse para mejorar la claridad (CWE-1120)
- Lógica profundamente anidada con ramificaciones excesivas que son difíciles de entender
- Funciones auxiliares excesivamente genéricas que oscurecen la intención
- Violaciones de
Denominación y convenciones
Denominación y convenciones
- Convenciones de nombres inconsistentes que dificultan el seguimiento del código (CWE-1099)
- Nombres genéricos de variables no descriptivas como ‘obj’, ‘x’, ‘data’
- Estilos de nombres mixtos (por ejemplo, camelCase y snake_case en la misma base de código)
Lógica y corrección
Lógica y corrección
- Errores lógicos que causan comportamientos incorrectos (CWE-670)
- Procesamiento incorrecto de datos que produce resultados incorrectos
- Código que no funcionará como se espera debido a errores de implementación
Trabajo incompleto
Trabajo incompleto
- Comentarios TODO y código provisional (CWE-1071)
- Características a medio terminar que pueden causar problemas
- Implementaciones incompletas que requieren atención
Cómo funciona
1. Análisis de archivos
El escáner procesa cada archivo de tu base de código individualmente, analizando el código fuente completo con el contexto completo de la estructura, el lenguaje y los frameworks detectados del archivo.2. Análisis con IA
Mediante modelos de lenguaje avanzados entrenados específicamente para revisar código, el escáner lo examina según principios y prácticas recomendadas de ingeniería de software. La IA comprende:- Expresiones idiomáticas y convenciones específicas de cada lenguaje
- Patrones y prácticas recomendadas de cada framework
- Métricas de complejidad y mantenibilidad del código
- Principios de diseño de software estándar en la industria
3. Identificación de hallazgos
Cuando se detecta un posible problema, el escáner:- Localiza exactamente las líneas de código implicadas
- Clasifica el tipo de hallazgo mediante las categorías CWE
- Asigna un nivel de gravedad adecuado
- Genera una explicación clara del problema y su impacto
4. Detección de alta confianza
- El escáner solo notifica problemas con una confianza mínima del 90 %. Este umbral elevado garantiza que los hallazgos sean precisos y permitan actuar, en lugar de ser meras conjeturas.
Supresión de falsos positivos
Code Quality Scanner incluye mecanismos avanzados de supresión de falsos positivos para que solo recibas hallazgos relevantes sobre los que puedas actuar:Filtros integrados
Exclusión de vulnerabilidades: El escáner excluye explícitamente vulnerabilidades como la inyección SQL, XSS o los fallos de autenticación, ya que los escáneres de seguridad específicos de Corgea se encargan de ellas. De este modo se evitan solapamientos y confusiones entre la calidad del código y la seguridad.
Filtrado de preferencias de estilo: No se notifican preferencias menores, como la colocación de llaves, la sangría o los espacios en blanco. El escáner se centra en problemas sustanciales de calidad, no en preferencias de formato.
Comprensión contextual
El escáner entiende el contexto del código para evitar falsos positivos:- Reconoce cuándo los bloques “vacíos” son intencionados (por ejemplo, implementaciones provisionales)
- Entiende patrones específicos de cada framework que de otro modo podrían parecer problemáticos
- Tiene en cuenta las expresiones idiomáticas aceptadas en cada lenguaje de programación
Remediación automatizada
Cuando se identifican problemas de calidad, Corgea ofrece funciones de remediación automatizada para corregirlos con rapidez y coherencia:Qué se remedia
El sistema automatizado de remediación puede solucionar muchos problemas comunes de calidad del código, entre ellos:- Correcciones rápidas
- Mejoras estructurales
- Mejores prácticas
- Eliminación de variables no utilizadas e importaciones
- Conversión de números mágicos en constantes con nombre
- Corrección de errores tipográficos en nombres de variables y comentarios
Cómo funciona la remediación
- Contexto del problema: El sistema analiza todo el contexto alrededor de cada problema, comprendiendo no solo el código problemático sino también su papel en la base de código más amplia
- Correcciones seguras: Las correcciones automáticas están diseñadas para ser seguras y mantener la funcionalidad existente
- Preservación del estilo de código: Las correcciones respetan el estilo y las convenciones de código existentes
- Revisar antes de aplicar: Mantienes el control total sobre qué correcciones aplicar
Separado del escaneo de vulnerabilidades
Diferencias clave
Por qué importan ambas cosas
- La seguridad mantiene tu aplicación segura frente a los atacantes
- Calidad del código mantiene tu base de código mantenible, eficiente y fiable
Explicación de los niveles de gravedad
- Gravedad alta
- Gravedad media
- Gravedad baja
Problemas que pueden provocar bloqueos, problemas graves de rendimiento o errores críticos:
- Bloques de captura vacíos que ocultan errores
- Bucles infinitos
- Lógica que siempre falla
- Cuellos de botella críticos en el rendimiento
Primeros pasos
El Code Quality Scanner se integra perfectamente en tu flujo de trabajo de desarrollo:1
Conecta tu repositorio
Vincula tu repositorio de código a Corgea usando GitHub, GitLab, Azure DevOps, o Bitbucket
2
Escaneo automático
El escáner analiza tus archivos automáticamente
3
Resultados de la revisión
Explora los hallazgos con explicaciones claras y niveles de gravedad en el panel del proyecto
4
Aplicar correcciones
Utiliza la remediación automatizada o corrige los problemas manualmente
5
Seguimiento del progreso
Supervisa las mejoras en la calidad del código a lo largo del tiempo
Documentación relacionada
SAST, nativo de AI
Infórmate sobre las capacidades de escaneo de vulnerabilidades de seguridad de Corgea
Correcciones automáticas
Explora cómo funciona la remediación automatizada en todos los tipos de escaneo
Gestión de falsos positivos
Gestionar y suprimir eficazmente los falsos positivos
Gestión de hallazgos
Haz un seguimiento de todos los hallazgos de tus proyectos y gestiónalos
