Enriquecimiento del código al tiempo de ejecución para obtener recomendaciones

Las aplicaciones en la nube modernas pasan por fases que pueden incluir código fuente, canalizaciones, registros y entornos en tiempo de ejecución. Un pequeño cambio de código puede crear muchas cargas de trabajo en la nube en todos los entornos. Cuando aparece un problema de seguridad en tiempo de ejecución, es posible que no sepa dónde se inicia el problema o cuántos recursos afecta.

El código en tiempo de ejecución te da visibilidad de extremo a extremo a lo largo del ciclo de vida del desarrollo de software (SDLC). El código en tiempo de ejecución te ayuda a encontrar el origen de un problema, evaluar su impacto y solucionarlo en la fuente.

Antes de continuar, echa un vistazo a los requisitos previos para el mapeo de imágenes del contenedor.

Dónde ve código en tiempo de ejecución

Puede acceder al código en tiempo de ejecución desde las recomendaciones en Microsoft Defender para la nube.

Note

Actualmente solo se admiten recomendaciones de evaluación de vulnerabilidades para contenedores e imágenes de contenedor.

Cuando el contexto sdLC está disponible, la página de recomendaciones muestra lo siguiente:

  • Un banner de contexto que indica el flujo de SDLC del problema
  • Una vista de cadena SDLC: Origen → Canalización de CI/CD → Registro → Tiempo de ejecución
  • Recuento dinámico de recursos afectados
  • Tarjetas que representan cada fase de SDLC
  • Vínculos a vistas más profundas y acciones de corrección

Cómo el código en tiempo de ejecución compila contexto de un extremo a otro

Para cualquier recomendación respaldada por código para ejecución en tiempo real, Defender correlaciona los datos en el SDLC para identificar:

  • Dónde se originó el problema, como en el código o en la pipeline de compilación.
  • Qué fases intermedias están implicadas. Estas fases incluyen la imagen en el registro y la canalización de CI/CD que formaba parte de la implementación.
  • Cuántos activos se ven afectados, así que puedes ver el impacto.
  • Qué acciones puede realizar en cada fase.

¿Por qué es importante esta característica?

El código en tiempo de ejecución es importante por varias razones:

  • Si solucionas el problema solo en tiempo de ejecución, puede reaparecer en la siguiente implementación.
  • Solucionar el problema en la fuente evita regresiones recurrentes.
  • Comprender el impacto te ayuda a planificar los despliegues y coordinar el trabajo.
  • Te ayuda a identificar al propietario de la reparación.

Recorrido por la cadena SDLC desde el tiempo de ejecución hasta el origen

La cadena SDLC proporciona una ruta de acceso lineal clara que explica cómo se creó la carga de trabajo afectada. Cada fase aparece como una tarjeta. Puedes ampliar cada carta de etapa para ver los metadatos y las acciones disponibles.

Comprende el impacto del problema

Antes de actuar, abre la cuadrícula de todos los activos afectados para más información:

  • En la lista se muestran los recursos afectados del mismo origen. Incluye recursos en el entorno de nube o en el entorno de código. Corregir el problema en el origen puede afectar a todos los recursos afectados por procesos automatizados de CI/CD o por la implementación manual de código nuevo.
  • Filtra la lista según tus preferencias. Por ejemplo, filtre los activos de tiempo de ejecución por el espacio de nombres de Kubernetes para asignar la incidencia a un equipo de desarrollo específico. También puedes filtrar por los metadatos relevantes de los recursos, como etiquetas de imagen y rótulos.
  • Al seleccionar una línea, el sistema muestra más detalles para esa instancia del problema.

La cuadrícula muestra:

  • Cada recurso afectado del mismo problema de seguridad y del mismo origen
  • Diferentes elementos de metadatos según el tipo de recurso
  • Opciones de filtrado y navegación

La cuadrícula de activos afectados te ayuda:

  • Dar prioridad a los problemas
  • Coordinar con equipos propietarios
  • Decida si necesita una implementación escalonada
  • Evitar interrupciones involuntarias de las cargas de trabajo dependientes

Control de datos que faltan o parciales

Algunas etapas de SDLC pueden no mostrar los datos completos. Entre las causas comunes se incluyen las siguientes:

  • Conectores deshabilitados
  • Faltan permisos
  • Señales de canalización ausentes
  • Configuraciones no soportadas

Para cada brecha, Defender muestra:

  • Por qué faltan los datos
  • Cómo activar o configurar las piezas que faltan
  • Próximos pasos para ampliar la cobertura de SDLC

Actuar sobre estas conclusiones

Una vez que comprendas el problema y su impacto, elige el siguiente paso adecuado:

Asignación de propiedad

Asigne la recomendación directamente a una persona o equipo dentro de Defender for Cloud.

Si activas la integración de repositorios, puedes:

  • Rellenar automáticamente una incidencia con el contexto de SDLC
  • Enrutarla directamente al solucionador pertinente
  • Proporcionar instrucciones precisas sobre lo que necesita cambiar

Descubre más sobre la integración de seguridad avanzada de GitHub con Microsoft Defender para la nube.

Note

Esta función está disponible actualmente solo en el portal de Azure.

Aplicar exenciones

Aplique exenciones de forma coherente.

Si exentas un hallazgo, temporal o permanentemente, puedes hacerlo:

  • En la fase del SDLC donde tiene más sentido
  • Una vez, en lugar de repetidamente en varias cargas de trabajo
  • Con exenciones parciales si desea visibilidad sobre los resultados seleccionados

Flujo de trabajo de ejemplo

Una investigación típica que usa código para tiempo de ejecución incluye estos pasos:

  1. Abra una recomendación de contenedor.
  2. Revise el banner de contexto de SDLC.
  3. Identifique la primera fase en la que se originó el problema.
  4. Expanda tarjetas SDLC para explorar los datos de origen, canalización, registro y tiempo de ejecución.
  5. Use la cuadrícula de impacto para comprender cuántas cargas de trabajo se ven afectadas.
  6. Asigne la responsabilidad o abra un problema de GitHub.
  7. (Opcional) Aplique una exención en la fase adecuada del ciclo de vida del desarrollo de software (SDLC).

Resumen

Code to Runtime te ofrece una visión unificada y contextual a lo largo del ciclo de vida del desarrollo de software (SDLC), por lo que puedes:

  • Búsqueda del origen real de un problema en tiempo de ejecución
  • Comprender su alcance
  • Soluciónalo de una vez en el lugar más eficaz
  • Proporcionar a los equipos de ingeniería un contexto accionable y preciso

Este enfoque ayuda a que los equipos de seguridad e ingeniería trabajen juntos y reduce las correcciones manuales repetidas.