Documentación

Corregir solicitudes de extracción

Cómo Coroid convierte una dependencia vulnerable en una actualización revisada pull request, qué coste tiene, qué incluye dicha actualización y cómo se corrigen los hallazgos de código y secretos.

Encontrar una vulnerabilidad es la parte fácil. La labor de Seguridad consiste en fusionar y desplegar la corrección; por eso, para las dependencias vulnerables, Coroid abre la actualización pull request por sí mismo, y tu equipo la revisa y fusiona.

Cuando Coroid abre una...

Con Corregir dependencias vulnerables activado, un hallazgo de dependencia con gravedad igual o superior (por defecto alta) abre una tarea de corrección en su proyecto:

  • Una tarea y pull request por paquete, cubriendo todas las advertencias que lo afectan.
  • Primero los hallazgos críticos, luego los de alto nivel.
  • Como máximo 5 solicitudes de extracción de corrección abiertas por proyecto por defecto (hasta 50). La siguiente corrección espera a que haya un espacio disponible.

Los propietarios y administradores también pueden seleccionar Corregir en cualquier hallazgo de dependencia abierto cuya advertencia sea pública. Cuando no se haya lanzado una versión corregida, Corregir ofrece una tarea de mitigación: eliminar o reemplazar el paquete, fijar un fork parcheado o proteger la llamada vulnerable.

Las actualizaciones automáticas funcionan hoy para proyectos npm. Para otros ecosistemas, el hallazgo indica «Aún no hay corrección automática para este ecosistema», y Corregir ofrece la tarea de mitigación.

Qué coste tiene

Las tareas de Corregir utilizan un modelo de AI, por lo que consumen horas de agente como cualquier otro trabajo. Se ejecutan bajo el mandato integrado de Correcciones de seguridad que toda organización posee:

  • Alcance: actualizaciones de dependencias y mitigaciones de seguridad, nada más.
  • Presupuesto: solo horas de agente; por defecto, una cuarta parte de las horas de agente de tu plan mensual. Los propietarios modifican las horas y si se contabilizan por semana o mes en Seguridad → Configuración → Corregir dependencias vulnerables.
  • Sin caducidad de revisión. Es un valor predeterminado permanente, no algo que haya que renovar.
  • Prioridad: las correcciones de seguridad tienen prioridad sobre otro trabajo iniciado por los usuarios.

Desactivar Corregir dependencias vulnerables en la configuración predeterminada de la organización pausa el mandato. El mandato aparece listado junto a los demás en Control de Calidad → Mandatos.

Cuando una organización que ya tenía repositorios conectados adquiere Seguridad, sus propietarios reciben una notificación en el timbre: «Las correcciones de seguridad comenzarán en siete días». El trabajo de Corregir inicia siete días después de enviarse esa notificación, para que un propietario pueda desactivarlo antes del primer pull request. Las nuevas organizaciones comienzan de inmediato.

Por qué una corrección puede esperar

La sección de corrección de un hallazgo indica qué está esperando. Las razones habituales son:

  • se ha alcanzado el límite de pull request abiertos para el proyecto;
  • se han agotado el presupuesto del mandato o las horas de agente del plan (la detección continúa);
  • el trabajo de agente está en pausa en Mission Control, o no hay ningún espacio libre para el agente;
  • no ha finalizado el período de aviso de siete días;
  • no se ha lanzado una corrección compatible, o el ecosistema no dispone de corrección automática;
  • Corregir dependencias vulnerables está desactivado.

Cómo se elige la actualización

Para cada lugar donde se instala un paquete vulnerable, Coroid selecciona la versión más pequeña por encima de la instalada que corrija todas las advertencias que lo afectan, respetando el rango declarado y la versión mayor permitida. Nunca realiza downgrades. Un espacio de trabajo que necesite una versión mayor y otro que necesite otra obtienen sus propias versiones parcheadas dentro del mismo pull request. Un paquete transitivo se mueve mediante la actualización de su padre o la sobrescritura del gestor de paquetes. Cualquier cambio mayor o consolidación en una única versión incluye su justificación en el pull request. Cuando ninguna actualización única lo corrige todo, la solicitud de extracción corrige lo que puede y enumera el resto como no corregido.

Qué incluye pull request

  • Las advertencias que corrige, con su nivel de gravedad.
  • El inventario de paquetes antes y después del cambio, mostrando que la versión vulnerable ha desaparecido.
  • Las comprobaciones de tu proyecto: cuando el gráfico de Entrega del proyecto tenga comprobaciones que puedan ejecutarse, deben obtener la aprobación en el cambio enviado antes de que Coroid abra el pull request; de lo contrario, la tarea finaliza con su motivo. Si el proyecto no tiene comprobaciones configuradas, el pull request se abre igualmente y indica que Coroid no ejecutó comprobaciones del proyecto, que la propia CI de tu repositorio se ejecuta en el pull request, y dónde configurar las comprobaciones en Control de Calidad.
  • Los motivos de cualquier cambio mayor o de rango.
  • Cualquier advertencia que no pudo corregir, listada como no corregida.

Finaliza con: "Los usuarios revisan y fusionan los cambios. El estado de despliegue se determina únicamente mediante el escaneo de la revisión desplegada." El hallazgo se incorpora al código a partir del siguiente inventario completo, y se corrige por entorno a partir del escaneo de la revisión que ejecuta ese entorno. Consulte Hallazgos y su ciclo de vida.

Hallazgos de código

En el caso de un hallazgo de código, Corregir archiva una tarea para corregirlo en su proyecto. Los propietarios y administradores pueden utilizarla en cualquier hallazgo de código abierto. La tarea solicita al desarrollador que describa la corrección, no el ataque, en los mensajes de confirmación y en pull request, y que agregue una prueba de regresión. Se ejecuta bajo las mismas reglas que otras tareas y consume horas de agente.

En un repositorio público, o en uno cuya visibilidad Coroid no puede confirmar, una corrección para un hallazgo que aún no es público no se confirma allí. Coroid guarda el cambio preparado de forma privada para que un propietario o administrador lo publique. Consulte Divulgación.

Secretos filtrados

Una credencial filtrada se corrige mediante su rotación, algo que Coroid no puede hacer por usted. La opción de corregir un hallazgo de secreto crea una tarea de lista de verificación. Consulte Secretos filtrados.