Skip to main content

Acerca de la protección de inserción

Proteja los secretos para impedir que lleguen al repositorio con la protección contra inserción.

Qué es la protección de inserción

La protección de subida es una secret scanning característica diseñada para evitar que se suba información confidencial, como secretos o tokens, a su repositorio. A diferencia de secret scanning, que detecta secretos después de haberlos confirmado, la protección de empuje escanea proactivamente tu código en busca de secretos durante el proceso de empuje, y bloquea el empuje si se detecta alguno.

Funcionamiento de la protección de inserción

La protección contra inserción bloquea los secretos detectados en:

  • Inserciones desde la línea de comandos
  • Confirmaciones realizadas en la interfaz de GitHub usuario
  • Cargas de archivos en un repositorio GitHub
  • Solicitudes a la API REST
  • Interacciones con el GitHub servidor MCP (solo repositorios públicos)

Cuando la protección de inserción detecta un posible secreto durante un intento de inserción, bloqueará la inserción y proporcionará un mensaje detallado que explica el motivo del bloque. Deberá revisar el código en cuestión, quitar cualquier información confidencial y volver a intentar la inserción.

Tipos de protección de empuje

Hay dos tipos de protección contra empujes:

  •         [Protección de push para repositorios](#push-protection-for-repositories)
    
  •         [Protección contra notificaciones automáticas para usuarios](#push-protection-for-users)
    

Protección contra el envío de cambios para repositorios

Puede habilitar la protección contra inserción para repositorios en el nivel de repositorio, organización o empresa. Esta forma de protección contra inserción:

  • Requiere que se habilite GitHub Secret Protection
  • Está deshabilitado de forma predeterminada y puede habilitarlo un administrador del repositorio, el propietario de la organización, el administrador de seguridad o el propietario de la empresa.
  • Bloquea las inserciones que contienen secretos, evitando que lleguen a repositorios protegidos específicos.
  • Genera alertas para omisión de protección de inserción en la Security and quality pestaña del repositorio, la organización y la empresa.

Sugerencia

Independientemente del estado de activación de la protección push, las organizaciones en GitHub Team y GitHub Enterprise pueden ejecutar un informe gratuito para analizar su código en busca de secretos filtrados. El informe también muestra cuántas filtraciones de secretos se podrían haber evitado con la protección contra inserción. Consulta Acerca de la seguridad secreta con GitHub.

Protección de empuje para usuarios

La protección de empuje para los usuarios solo está disponible en GitHub.com y es específica de su GitHub cuenta. Esta forma de protección contra inserción:

  • Está habilitado de forma predeterminada
  • Impide que suba secretos a repositorios públicos en GitHub.
  • No se generan alertas al desactivar la protección de 'push' a menos que la protección de 'push' también esté habilitada a nivel de repositorio.

Omisiones y alertas de la protección contra inserción

Para la protección de push en los repositorios, por defecto, cualquiera que tenga acceso de escritura al repositorio puede pasar por alto la protección de push especificando un motivo para hacerlo. Cuando un colaborador omite un bloque de protección de inserción, GitHub:

  • Crea una alerta en la pestaña Seguridad del repositorio, la organización y la empresa.
  • Agrega el evento de omisión al registro de auditoría.
  • Envía una alerta de correo electrónico a los dueños de cuentas personales, organizaciones y empresas, gestores de seguridad y administradores de repositorios que supervisan el repositorio, con un vínculo al secreto y el motivo por el que se permitió.

En esta tabla se muestra el comportamiento de las alertas para cada motivo de omisión que un usuario puede especificar.

Razón del bypassComportamiento de alerta
Se usa en pruebas
          GitHub crea una alerta que se cierra y se resuelve como "utilizada en pruebas".  |

| Es un falso positivo | GitHub crea una alerta cerrada, resuelta como "falso positivo". | | Lo arreglaré más tarde | GitHub crea una alerta abierta |

Si desea un mayor control sobre qué colaboradores pueden omitir la protección de inserción y qué inserciones que contienen secretos deben permitirse, puede configurar la omisión delegada para la protección de inserción. Con la delegación de omisión, puede conceder a los actores: * Privilegios de omisión, lo que les permite omitir la protección de push, así como revisar y aprobar solicitudes de omisión de otros colaboradores * Exención de la protección de inserción, permitiendo a los usuarios insertar confirmaciones sin desencadenar la protección de inserción

Ventajas de la protección contra inserción

  •         **Seguridad preventiva:** la protección de inserción actúa como un mecanismo de defensa de primera línea mediante el examen del código de los secretos en el momento de la inserción. Este enfoque preventivo ayuda a detectar posibles problemas antes de combinarse en un repositorio.
    
  •         **Comentarios inmediatos:** los desarrolladores reciben comentarios instantáneos si se detecta un posible secreto durante un intento de inserción. Esta notificación inmediata permite realizar una corrección rápida, lo que reduce la probabilidad de que se exponga información confidencial.
    
  •         **Riesgo reducido de filtraciones de datos**: al bloquear confirmaciones que contienen información confidencial, la protección de inserción reduce significativamente el riesgo de filtraciones accidentales de datos. Esto le permite protegerse contra el acceso no autorizado a la infraestructura, los servicios y los datos.
    
  •         **Administración eficaz de secretos:** en lugar de tratar retrospectivamente la exposición de secretos, los desarrolladores pueden solucionar problemas en el origen. Esto hace que la administración de secretos sea más eficaz y lleve menos tiempo.
    
  •         **Funcionalidad de omisión para flexibilidad:** en los casos en los que ocurren falsos positivos o cuando se necesitan ciertos patrones, puede omitir la protección contra inserción para los usuarios, y los usuarios designados pueden usar la función de omisión delegada para omitir la protección contra inserción para los repositorios. 
            Además, puede excluir a los actores empresariales de la protección de inserción por completo. 
            Esto proporciona flexibilidad sin comprometer la seguridad general.
    
  •         **Capacidad de detectar patrones personalizados (para repositorios en organizaciones):** Las organizaciones pueden definir patrones personalizados para detectar secretos únicos en su entorno. Esta personalización garantiza que la protección contra inserción pueda identificar y bloquear de forma eficaz incluso secretos no estándar.
    

Personalización

Después de habilitar la protección de 'push' para repositorios, podrá personalizarla mediante:

  • Definiendo patrones personalizados para bloquear inserciones que contienen patrones secretos únicos
  • Designar colaboradores que puedan omitir la protección de inserción, aprobar solicitudes de omisión para otros colaboradores, o estar completamente exentos de la protección de inserción
  • Configuración de los patrones secretos que se incluyen en la protección al enviar a nivel empresarial u organizacional

Pasos siguientes

Para habilitar la protección contra empuje: * Para obtener un repositorio, consulte Habilitación de la protección contra inserción para el repositorio. * Para una organización o empresa, debe aplicar un security configuration. Consulta Creación de una configuración de seguridad personalizada y Creación de una configuración de seguridad personalizada.

Para obtener una lista de secretos y proveedores de servicios compatibles con la protección push, consulte Patrones de análisis de secretos admitidos.