Este producto no es compatible con el sitio Datadog seleccionado. ().
Code Security no está disponible para el sitio .
Información general
Static Code Analysis es la capacidad de Prueba Estática de Seguridad de Aplicaciones (SAST) de Datadog. SAST es una técnica de prueba de software de caja blanca que analiza el código de preproducción de un programa sin necesidad de ejecutarlo.
Static Code Analysis te ayuda a identificar las vulnerabilidades de seguridad y los problemas de mantenimiento en una fase temprana del ciclo de vida de desarrollo del software (SDLC) para garantizar que sólo el código más seguro y de mayor calidad llegue a la producción. Proporciona a las organizaciones las siguientes ventajas:
Las aplicaciones son menos vulnerables a las brechas de seguridad con el paso del tiempo, debido a que las nuevas vulnerabilidades se detectan a través de las exploraciones SAST antes de que el código llegue a la producción.
Elimina las conjeturas a la hora de adherirte a los estándares de código de una organización, lo que permite a tu equipo de desarrollo enviar código conforme sin impactos significativos en la velocidad de desarrollo.
Incorpora desarrolladores más rápidamente, ya que Static Code Analysis permite a una organización mantener una base de código más legible a lo largo del tiempo.
Configurar Static Code Analysis
Static Code Analysis permite buscar vulnerabilidades de seguridad y malas prácticas de codificación en los siguientes lenguajes y tecnologías:
Durante las revisiones de código, Datadog puede marcar automáticamente infracciones de Static Code Analysis en solicitudes de incorporación de cambios añadiendo comentarios de revisión en línea en las líneas de código pertinentes. Cuando corresponda, Datadog también brinda correcciones sugeridas que se pueden aplicar directamente en la solicitud de incorporación de cambios.
Puedes identificar vulnerabilidades del código en tiempo real mientras editas un archivo en tu Entorno de desarrollo integrado (IDE). Consulta la documentación de integración específica para obtener más información:
Después de configurar Static Code Analysis, se ejecuta una exploración en cada confirmación de un repositorio explorado. Las infracciones se resumen por repositorio en la page (página) Code Security Repositories (Repositorios de Code Security). Haz clic en un repositorio para analizar los resultados de Code Vulnerabilities (Vulnerabilidades del Código) y Code Quality (Calidad del código) desde Static Code Analysis.
La pestaña Code Vulnerabilities (Vulnerabilidades del código) contiene las violaciones encontradas por las reglas de Datadog en la categoría Seguridad.
Para filtrar tus resultados, utiliza las facetas situadas a la izquierda de la lista o realiza una búsqueda. Los resultados pueden filtrarse por facetas de servicio o equipo.
Cada fila representa una infracción. Cada infracción está asociada a la confirmación y rama específicas seleccionadas en los filtros de la parte superior de la page (página) (en forma predeterminada, los resultados se muestran para la última confirmación en la rama predeterminada del repositorio que estás viendo).
Haz clic en una infracción para abrir un panel lateral que contiene información sobre el alcance de la infracción y dónde se originó.
El contenido de la infracción se muestra en pestañas:
Detalles: Una descripción de la infracción y las líneas de código que la causaron. Para ver el fragmento de código infractor, configura la integración del código source (fuente) correspondiente para tu proveedor (GitHub4, GitLab5).
Solución: Una o más correcciones de código que pueden resolver la infracción, con opciones de corrección.
Evento: Metadatos JSON relativos a la infracción.
Filtrar los falsos positivos
Para un subconjunto de vulnerabilidades de pruebas de seguridad de aplicaciones estáticas (SAST), Bits AI puede revisar el contexto del resultado y evaluar si es más probable que sea un verdadero o falso positivo, junto con una breve explicación del razonamiento. Selecciona el conmutador “Filtrar falsos positivos” en el Explorer de vulnerabilidades de las pruebas de seguridad de aplicaciones estáticas (SAST) para reducir rápidamente tu lista inicial para el triaje.
Para cada resultado, puedes proporcionar a Bits AI comentarios sobre su evaluación.
Advertencias admitidas
El filtrado de falsos positivos es compatible con los siguientes CWE:
Para personalizar qué reglas de Static Code Analysis se configuran en tus repositorios o en toda tu organización, consulta la documentación de configuración.
Vincular resultados a servicios y equipos de Datadog
Vincular resultados a servicios
Datadog asocia los resultados del análisis del código y de la biblioteca con los servicios pertinentes mediante los siguientes mecanismos:
Si un método tiene éxito, no se realizan más intentos de asignación. A continuación se detalla cada método de asignación.
Identificación de la localización del código en el Catálogo de software
La versión del esquema v3 y posteriores del Catálogo de software te permiten añadir la asignación del código de localización de tu servicio. La sección codeLocations especifica la localización del repositorio que contiene el código y sus rutas asociadas.
El atributo paths es una lista de globs que deben coincidir con las rutas del repositorio.
Datadog asocia los resultados de la exploración con el equipo asociado a un servicio. Por ejemplo, si el archivo domains/ecommerce/apps/myservice/foo.py
está asociado a myservice, entonces el equipo myservice se asociará a cualquier infracción
detectada en este archivo.
Si no se encuentra ningún servicio o equipo, Datadog utiliza el archivo CODEOWNERS de tu repositorio. El archivo CODEOWNERS determina a qué equipo pertenece un archivo en tu proveedor Git.
En Datadog Static Code Analysis, hay dos tipos de correcciones sugeridas:
Corrección determinista sugerida: Para infracciones simples, como problemas de linting, el analizador de reglas proporciona automáticamente plantillas de corrección.
Corrección sugerida por la IA. En el caso de infracciones complejas, las correcciones no suelen estar disponibles de antemano. En su lugar, puedes utilizar las correcciones sugeridas por la IA, que utilizan la GPT-4 de OpenAI para generar una corrección sugerida. Puedes elegir entre correcciones de “Texto” y “Diferencia unificada”, que generan instrucciones de texto sin formato o un cambio de código para resolver la infracción, respectivamente.
Solucionar una vulnerabilidad o un problema de calidad directamente desde Datadog
Si GitHub es tu gestor de código source (fuente), puede enviar un cambio de código para solucionar un problema de pruebas de seguridad de aplicaciones estáticas (SAST) directamente desde Datadog de dos maneras.
Abrir una solicitud pull
Si el permiso Solicitudes de extracción de tu aplicación GitHub está configurado como Lectura y escritura, se habilita la corrección en un clic para todos los hallazgos de Static Code Analysis con una corrección sugerida disponible.
Sigue estos pasos para corregir una vulnerabilidad y abrir una solicitud de extracción:
Visualiza un resultado SAST específico en Code Security.
Haz clic en *Fix Violation (Solucionar infracción) en el panel lateral del resultado.
Selecciona Abrir una solicitud pull.
Introduce el título de la solicitud y el mensaje de confirmación.
Haz clic en Create PR (Crear solicitud pull).
Confirmar directamente en la rama actual
También puedes corregir una vulnerabilidad confirmándola directamente en la rama en la que se encontró el resultado.
Para confirmar una corrección sugerida:
Visualiza un resultado SAST específico en Code Security.
Haz clic en *Fix Violation (Solucionar infracción) en el panel lateral del resultado.
Haz clic en Commit to current branch (Confirmar en la rama actual).
Notificar falsos positivos
Si crees que una infracción específica es un falso positivo, puedes marcarla como falso positivo con un motivo de marcado, lo que envía un informe directamente a Datadog. Los envíos se revisan periódicamente para mejorar la calidad del conjunto de normas a lo largo del tiempo.