Skip to main content

Colaboración en una bifurcación privada temporal para resolver una vulnerabilidad de seguridad del repositorio

Puedes crear una bifurcación privada temporal para colaborar de manera privada en la resolución de una vulnerabilidad de seguridad en tu repositorio.

Nota: Este artículo se aplica a la edición de avisos de nivel de repositorio como propietario del repositorio.

Los usuarios que no sean propietarios de repositorios pueden contribuir a los avisos de seguridad globales en GitHub Advisory Database en github.com/advisories. Las ediciones a las asesorías globales no cambiarán ni afectarán la forma en la que se muestra la asesoría en el repositorio. Para obtener más información, vea «Edición de avisos de seguridad en la base de avisos de GitHub».

Prerrequisitos

Antes de que puedas colaborar en una bifurcación privada temporal, debes crear un borrador de asesoría de seguridad. Para obtener más información, consulta "Creación de un aviso de seguridad de repositorio".

Crear una bifurcación privada temporal

Cualquier persona con permisos de administración para un aviso de seguridad puede crear una bifurcación privada temporal.

Para garantizar la seguridad de la información sobre vulnerabilidades, las integraciones, entre las que se incluye CI, no pueden acceder a las bifurcaciones privadas temporales.

  1. En GitHub.com, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral izquierda, en "Informes", haz clic en Avisos.

  4. En la lista "Avisos de seguridad", haz clic en el nombre del aquel en el que quieres crear una bifurcación privada temporal.

  5. Desplázate hasta la parte inferior del formulario de avisos y haz clic en Iniciar una bifurcación privada temporal.

    Captura de pantalla del área "Colaborar en una revisión en privado" del formulario. Un botón, con la etiqueta "Iniciar una bifurcación privada temporal", está resaltado en naranja oscuro.

    Se crea una bifurcación privada del repositorio y se muestra en la página del aviso.

    La convención de nomenclatura de la bifurcación privada es muy similar a la convención que se usa para los avisos en GitHub Advisory Database y sigue este formato: repo-ghsa-xxxx-xxxx-xxxx, donde:

    • repo es el nombre del repositorio. Para mantenerse por debajo del límite de 100 caracteres en los nombres de repositorio, truncamos el nombre del repositorio original en 80 caracteres.
    • xxxx-xxxx-xxxx es el identificador único del borrador de aviso de seguridad:
      • x es una letra o un número del siguiente conjunto: 23456789cfghjmpqrvwx.
      • Los números y letras se asignan aleatoriamente.
      • Todas las letras y los números están en minúsculas.

Por ejemplo, si crea una bifurcación privada temporal en un repositorio denominado octocat-repo y el identificador generado automáticamente para el borrador del aviso es GHSA-x854-cvjg-vx26, la bifurcación temporal se denominará octocat-repo-ghsa-x854-cvjg-vx26.

También puedes usar la API de REST para crear bifurcaciones privadas temporales. Para obtener más información, consulta "Crear una bifurcación privada temporal" en la documentación de la API de REST.

Añadir colaboradores a una bifurcación privada temporal

Cualquiera con permisos de administrador en una asesoría de seguridad puede añadir colaboradores adicionales a la misma, y estos pueden acceder a la bifurcación privada temporal. Para obtener más información, consulta "Incorporación de un colaborador a un aviso de seguridad de repositorio".

Agregar cambios a una bifurcación privada temporal

Cualquier persona con permisos de escritura para un aviso de seguridad puede colaborar en una revisión confirmando los cambios en una bifurcación privada temporal.

  1. En GitHub.com, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral izquierda, en "Informes", haz clic en Avisos.

  4. En la lista "Avisos de seguridad", haz clic en el nombre de aquel en el que quieres trabajar.

  5. Puedes hacer cambios en GitHub o de manera local:

    • Para hacer los cambios en GitHub, en "Colaborar en una revisión", haz clic en la bifurcación privada temporal. Luego, crea una nueva rama y edita los archivos. Para obtener más información, vea «Crear y eliminar ramas en tu repositorio» y «Editar archivos».
    • Para añadir cambios localmente, sigue las instrucciones descritas en "Clonar y crear una nueva rama" y "Haz tus cambios, posteriormente, súbelos".

    Captura de pantalla del área "Colaborar en una revisión" de un borrador de aviso de seguridad. El vínculo "la bifurcación privada temporal" está resaltado en naranja oscuro.

Crear una solicitud de extracción desde una bifurcación privada temporal

Cualquier persona con permisos de escritura para un aviso de seguridad puede crear una solicitud de extracción desde una bifurcación privada temporal.

  1. En GitHub.com, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral izquierda, en "Informes", haz clic en Avisos.

  4. En la lista "Avisos de seguridad", haz clic en el nombre del aquel en la que quieres crear una solicitud de incorporación de cambios.

  5. Desplázate hasta el final del formulario de aviso. A continuación, en "Colaborar en una revisión", haz clic en Comparar y solicitud de incorporación de cambios para crear una solicitud de incorporación de cambios para la rama asociada.

    Captura de pantalla del área "Colaborar en una revisión" de un borrador de aviso de seguridad. El botón "Comparar y solicitud de incorporación de cambios" está resaltado en naranja oscuro. La opción "Abrir una solicitud de incorporación de cambios" incluye un encabezado que muestra las ramas que se compararán en una comparación de diferencias de Git de tres puntos cuando se cree la solicitud de incorporación de cambios. Para obtener más información, consulta "Acerca de comparar ramas en solicitudes de extracción".

  6. Para crear una solicitud de incorporación de cambios que esté lista para revisión, haga clic en Crear solicitud de incorporación de cambios. Para crear un borrador de una solicitud de incorporación de cambios, use el menú desplegable y seleccione Crear solicitud de incorporación de cambios de borrador, y después haga clic en Solicitud de incorporación de cambios de borrador. Para más información sobre solicitudes de incorporación de cambios de borrador, consulta "Acerca de las solicitudes de incorporación de cambios".

No puedes fusionar solicitudes de fusión individuales en una bifurcación privada temporal. En vez de esto, fusionas todas las solicitudes de extracción al mismo tiempo en la asesoría de seguridad correspondiente. Para más información, vea "Combinación de cambios en un aviso de seguridad".

Fusionar cambios en una asesoría de seguridad

Cualquiera con permisos de administrador en una asesoría de seguridad puede fusionar los cambios en la misma.

No puedes fusionar solicitudes de fusión individuales en una bifurcación privada temporal. En vez de esto, fusionas todas las solicitudes de extracción al mismo tiempo en la asesoría de seguridad correspondiente.

Antes de que puedas fusionar cambios en una asesoría de seguridad, cada solicitud de extracción abierta en la bifurcación privada temporal debe ser fusionable. Para garantizar la seguridad de la información sobre las vulnerabilidades, las verificaciones de estado no ejecutan solicitudes de extracción en bifurcaciones privadas temporales. Para obtener más información, consulta "Acerca de las ramas protegidas".

Además, no puede haber conflictos de combinación, y GitHub no aplicará ninguna de las reglas de protección en las que hayas configurado la rama en la que estás intentando combinar los cambios.

  1. En GitHub.com, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral izquierda, en "Informes", haz clic en Avisos.

  4. En la lista "Avisos de seguridad", haz clic en el nombre de aquel que tiene los cambios que quieres fusionar.

  5. Desplázate hasta el final del formulario de aviso. A continuación, en "Este aviso está listo para combinarse", haz clic en Combinar solicitudes de incorporación de cambios para combinar todas las solicitudes de incorporación de cambios abiertas en la bifurcación privada temporal.

    Captura de pantalla del área "Colaborar en una revisión" de un borrador de aviso de seguridad. El botón "Combinar solicitudes de incorporación de cambios" está resaltado en naranja oscuro.

Nota: Solo puedes combinar una solicitud de incorporación de cambios en la rama main de una bifurcación privada temporal. Si más de una solicitud de incorporación de cambios tiene como destino la rama main, la combinación se bloquea.

Después de que fusiones cambios en una asesoría de seguridad, puedes publicarla para alertar a tu comunidad sobre las vulnerabilidades de seguridad en versiones previas de tu proyecto. Para obtener más información, consulta "Publicación de un aviso de seguridad de repositorio".

Información adicional