Nota: Tu administrador de sitio debe habilitar el escaneo de secretos para tu instancia de GitHub Enterprise Server antes de que puedas utilizar esta característica. Para obtener más información, consulta "Configurar el escaneo de secretos en tu aplicativo."
Nota: El Escaneo de secretos como subida de protección se encuentra actualmente en beta y está sujeto a cambios. Para solicitar acceso al lanzamiento beta, contacta a tu equipo de administración de cuenta.
Acerca de la protección contra subidas para los secretos
Has ahora, el >- escaneo de secretos verifica secretos después de una subida y alerta a los usuarios sobre los secretos expuestos. Cuando habilitas la protección contra subidas, el escaneo de secretos también verifica las subidas para encontrar secretos altamente confidenciales (aquellos identificados con una tasa de falsos positivos baja). El Escaneo de secretos lista cualquier secreto que detecte para que el autor pueda revisar los secretos y eliminarlos o, de ser necesario, permitir que se suban dichos secretos.
Si un contribuyente omite un bloque de protección de subida para un secreto, GitHub:
- genera una alerta.
- crea una alerta en la pestaña de "Seguridad" del repositorio.
- agrega un evento de omisión en la bitácora de auditoría.
El Escaneo de secretos como protección contra subidas actualmente escanea los repositorios para encontrar secretos que hayan emitido los siguientes proveedores de servicios.
If access to a resource requires paired credentials, then secret scanning will create an alert only when both parts of the pair are detected in the same file. This ensures that the most critical leaks are not hidden behind information about partial leaks.
Proveedor | Secreto compatible | Tipo de secreto |
---|---|---|
Adafruit IO | Clave de IO de Adafruit | adafruit_io_key |
Alibaba Cloud | ID de Llave de Acceso a la Nube de Alibaba con Secreto de Llave de Acceso a la Nube de Alibaba | alibaba_cloud_access_key_id alibaba_cloud_access_key_secret |
Amazon | ID de Cliente OAuth de Amazon con Secreto de Cliente OAuth de Amazon | amazon_oauth_client_id amazon_oauth_client_secret |
Amazon Web Services (AWS) | ID de Llave de Acceso de AWS de Amazon con Llave de Acceso al Secreto de AWS de Amazon | aws_access_key_id aws_secret_access_key |
Amazon Web Services (AWS) | Token de Sesión de AWS de Amazon con ID de Llave de Acceso Temporal de AWS de Amazon y Llave de Acceso al Secreto de AWS de Amazon | aws_session_token aws_temporary_access_key_id aws_secret_access_key |
Asana | Token de Acceso Personal de Asana | asana_personal_access_token |
Atlassian | Token de Acceso Personal a Bitbucket Server | bitbucket_server_personal_access_token |
Azure | Secreto de aplicación de Azure Active Directory | azure_active_directory_application_secret |
Azure | Caché de Azure para la Llave de Acceso A Redis | azure_cache_for_redis_access_key |
Azure | Token de Acceso Personal de Azure DevOps | azure_devops_personal_access_token |
Habilitar el escaneo de secretos como una protección contra subidas
Para que puedas utilizar el escaneo de secretos como protección contra subidas, el repositorio u organización necesita tener habilitados tanto la GitHub Advanced Security como el escaneo de secretos. Para obtener más información, consulta las secciones "Administrar los ajustes de seguridad y análisis de tu organización", "Administrar los ajustes de seguridad y análisis de tu repositorio" y "Acerca de la GitHub Advanced Security".
Los propietarios de las organizaciones, administradores de seguridad y administradores de repositorio pueden habilitar la protección de subida para escaneo de secretos a través de la IU y de la API. Para obtener más información, consulta la sección "Repositorios" y expande la sección de "Propiedades del objeto security_and_analysis
" en la documentación de la API de REST.
Habilitar el escaneo de secretos como protección contra subida para una organización
- En tu instancia de GitHub Enterprise Server, navega hasta la página principal de la organización.
- Debajo del nombre de tu organización, da clic en
Ajustes.
-
En la sección de "Seguridad" de la barra lateral, haz clic en Análisis y seguridad de código.
-
Debajo de "Seguridad y análisis de código", encuentra "GitHub Advanced Security".
-
Debajo de "Escaneo de secretos" y debajo de "Protección contra subida", haz clic en Habilitar todo.
-
Opcionalmente, haz clic en "Habilitar automáticamente para los repositorios privados agregados al escaneo de secretos".
Habilitar el escaneo de secretos como protección de subida para un repositorio
-
En tu instancia de GitHub Enterprise Server, visita la página principal del repositorio.
-
Debajo de tu nombre de repositorio, da clic en Configuración.
-
En la sección de "Seguridad" de la barra lateral, haz clic en Análisis y seguridad de código.
-
Debajo de "Seguridad y análisis de código", encuentra "GitHub Advanced Security".
-
Debajo de "Escaneo de secretos" y debajo de "Protección contra subida", haz clic en Habilitar.
Utilizar el escaneo de secretos como protección de subida desde la línea de comandos
Cuando intentas subir un secreto compatible a un repositorio u organización con escaneo de secretos como una protección contra subida habilitada, GitHub bloqueará la subida. Puedes eliminar el secreto desde tu confirmación o seguir una URL proporcionada para permitir la subida.
Se mostrarán hasta cinco secretos detectados a la vez en la línea de comandos. Si ya se detectó un secreto en particular en el repositorio y la alerta ya existe, GitHub no lo bloqueará.
Si necesitas eliminar el secreto de tu última confirmación (es decir, HEAD
) en la rama que se está subiendo y cualquier confirmación anterior que lo contenga, puedes eliminarlo de HEAD
y luego combinar las confirmaciones que haya entre ellos cuando la confirmación se introdujo y la primera versión de HEAD
para la cual se eliminó el secreto.
Notas:
- Si tu configuración de git es compatible con las subidas a ramas múltiples y no solo a la rama predeterminada, tu subida podría bloquearse debido a que se están subiendo refs imprevistos y adicionales. Para obtener más información, consulta las opciones de
push.default
en los documentos de Git. - Si el escaneo de secretos excede el tiempo cuando se hace una subida, GitHub aún ejecutará el escaneo después de dicha subida.
Permitir que se suba un secreto bloqueado
Si GitHub bloquea un secreto que piensas se puede subir con seguridad, puedes permitirlo y especificar la razón por la cual se debería de permitir.
Si confirmas que un secreto es real y que pretendes corregirlo después, debes intentar remediarlo tan pronto como sea posible. Por ejemplo, podrías revocar el secreto y eliminarlo del historial de confirmaciones del repositorio. Para obtener más información, consulta la sección "Eliminar datos confidenciales de un repositorio".
When you allow a secret to be pushed, an alert is created in the "Security" tab. GitHub closes the alert and doesn't send a notification if you specify that the secret is a false positive or used only in tests. If you specify that the secret is real and that you will fix it later, GitHub keeps the security alert open and sends notifications to the author of the commit, as well as to repository administrators. Para obtener más información, consulta la sección "Administrar alertas del escaneo de secretos."
- Visita la URL que devolvió GitHub cuando se bloqueó tu subida.
- Choose the option that best describes why you should be able to push the secret.
- If the secret is only used in tests and poses no threat, click It's used in tests.
- If the detected string is not a secret, click It's a false positive.
- If the secret is real but you intend to fix it later, click I'll fix it later.
- Haz clic en Permitirme subir este secreto.
- Vuelve a intentar la subida en la línea de comandos al cabo de tres horas. Si no has realizado una subida a cabo de tres horas, necesitarás repetir este proceso.