Acerca de secret scanning
Si tu proyecto se comunica con un servicio externo, puedes utilizar un token o llave privada para autenticación. Los tokens y llaves privadas son ejemplos de secretos que puede emitir un proveedor de servicios. Si registras un secreto en un repositorio, cualquiera que tenga acceso de lectura al mismo puede utilizarlo para acceder al servicio externo con tus privilegios. Te recomendamos que almacenes los secretos en una ubicación dedicada y segura fuera del repositorio de tu proyecto.
Secret scanning examinará todo el historial de Git en todas las ramas presentes en el repositorio de GitHub para buscar secretos.
Secret scanning está disponible en GitHub.com de dos formas:
-
Alertas de examen de secretos para asociados. Se ejecuta automáticamente en todos los repositorios públicos y los paquetes npm públicos. Cualquier secuencia que coincida con los patrones que hayan proporcionado los socios del escaneo de secretos se reportarán directamente al socio relevante. Para más información, consulta la sección "Acerca de alertas de examen de secretos para asociados" a continuación.
-
Alertas de examen de secretos para usuarios. Los usuarios siguientes pueden habilitar y configurar exámenes adicionales:
- Propietarios de los repositorios de GitHub.com, en los repositorios públicos que posean.
- Organizaciones que poseen repositorios públicos , en cualquiera de estos repositorios.
- Organizaciones que usan GitHub Enterprise Cloud, en cualquier repositorio público (gratuito) y en cualquier repositorio privado e interno cuando tienes licencia de GitHub Advanced Security.
Las cadenas que coinciden con los patrones proporcionados por los asociados de exámenes de secretos, por otros proveedores de servicios o definidos por usted o su organización, se notifican como alertas en la pestaña Seguridad de los repositorios. Si una cadena en un repositorio público coincide con un patrón de asociado, también se notificará a dicho asociado. Para más información, consulta la sección "Acerca de alertas de examen de secretos para usuarios" a continuación.
Puedes auditar las acciones realizadas en respuesta a las alertas de secret scanning mediante las herramientas de GitHub. Para obtener más información, vea «Auditoría de alertas de seguridad».
Los proveedores de servicio pueden asociarse con GitHub para proporcionar sus formatos de secreto para el escaneo de los mismos. Para información sobre nuestro programa de asociados, consulta "Programa asociado del escaneo de secretos".
También puede habilitar secret scanning como protección de inserción para un repositorio o una organización. Al habilitar esta característica, secret scanning impide que los colaboradores inserten código con un secreto detectado. Para continuar, los colaboradores deben quitar los secretos de la inserción o, si es necesario, omitir la protección. Los administradores también pueden especificar un vínculo personalizado que se muestra al colaborador cuando se bloquea una inserción; el vínculo puede incluir recursos específicos de la organización para ayudar a los colaboradores. Para obtener más información, consulta "Protección de inserciones con análisis de secretos".
Acerca de alertas de examen de secretos para asociados
Cuando haces público a un repositorio o cuando subes cambios a un repositorio público, GitHub siempre escanea el código en busca de los secretos que coinciden con los patrones socios. También se examinan los paquetes públicos del registro npm. Si secret scanning detecta un posible secreto, lo notificamos al proveedor del servicio que emitió el secreto. El proveedor de servicios valida la secuencia y luego decide si debería revocar el secreto, emitir uno nuevo o contactarte directamente. Su acción dependerá de los riesgos asociados contigo o con ellos. Para obtener más información, vea «Patrones de análisis de secretos».
No puedes cambiar la configuración de secret scanning de los patrones de asociados en los repositorios públicos.
Acerca de alertas de examen de secretos para usuarios
Alertas de examen de secretos para usuarios está disponible de forma gratuita en todos los repositorios públicos. Al habilitar secret scanning para un repositorio, GitHub examina el código de los patrones que coinciden con los secretos usados por muchos proveedores de servicios. Cuando se completa el examen, GitHub envía una alerta por correo electrónico a los propietarios de la empresa y de la organización, incluso si no se encontraron secretos.
Cuando se filtra un secreto admitido, GitHub genera una alerta de secret scanning. GitHub también ejecutará periódicamente un examen completo de historial de Git del contenido existente en los reposicións públicos donde secret scanning está habilitado, y enviará notificaciones de alerta conforme a lo establecido en la configuración de notificación de alertas de secret scanning Para más información, consulta los patrones de "Secretos admitidos para alertas de usuario".
Si es administrador del repositorio, puede habilitar alertas de examen de secretos para usuarios para cualquier repositorio público. Los propietarios de la organización también pueden habilitar alertas de examen de secretos para usuarios para todos los repositorios públicos o para todos los repositorios públicos dentro de una organización. Para obtener más información, vea «Administración de la configuración de seguridad y análisis para el repositorio» y «Administrar la configuración de seguridad y análisis de su organización».
También puedes definir patrones personalizados de secret scanning para un repositorio, organización o empresa. Para obtener más información, consulta: "Definición de patrones personalizados para el examen de secretos" en la documentación de GitHub Enterprise Cloud.
GitHub almacena los secretos detectados mediante cifrado simétrico, tanto en tránsito como en reposo.
Acceso a alertas de examen de secretos
Cuando el secret scanning se habilita en un repositorio o se insertan confirmaciones en un repositorio con secret scanning habilitado, GitHub examina el contenido de esas confirmaciones en busca de secretos que coincidan con los patrones definidos por proveedores de servicios. GitHub también ejecuta un examen de todo el contenido de código histórico de los repositorios públicos que tengan habilitado secret scanning cuando se agrega o actualiza un nuevo patrón de asociado .
Si el secret scanning detecta un secreto, GitHub generará una alerta.
- GitHub envía una alerta por correo electrónico a los administradores del repositorio y a los propietarios de la organización. Recibirás una alerta si estás viendo el repositorio , si has habilitado notificaciones para las alertas de seguridad o para toda la actividad en el repositorio , y si, en la configuración de notificación, has seleccionado recibir notificaciones por correo electrónico para los repositorios que estás viendo.
- Si el colaborador que ha confirmado el secreto no ignora el repositorio, GitHub también enviará una alerta por correo electrónico al colaborador. Los correos electrónicos contienen un vínculo a la alerta de secret scanning relacionada. El autor de la confirmación puede entonces ver la alerta en el repositorio y resolverla.
- GitHub muestra una alerta en la pestaña Seguridad del repositorio.
Para obtener más información sobre el visionado y la resolución de alertas de examen de secretos, consulta "Administración de alertas del examen de secretos".
Para obtener más información sobre cómo configurar notificaciones para alertas de examen de secretos, consulta "Configuración de notificaciones para alertas de análisis de secretos".
Los administradores de repositorio y propietarios de las organizaciones pueden otorgar a los usuarios y equipos acceso a alertas de examen de secretos. Para obtener más información, vea «Administración de la configuración de seguridad y análisis para el repositorio».
También puedes usar la API REST para supervisar los resultados de secret scanning de todos los repositorios. Para obtener más información sobre los puntos de conexión de API, consulta "Análisis de secretos".