Skip to main content

Detección responsable de secretos genéricos con el análisis de secretos de Copilot

Obtenga información sobre cómo usa el Digitalización secreta de Copilot la IA de forma responsable para analizar y crear alertas de secretos no estructurados, como contraseñas.

¿Quién puede utilizar esta característica?

Digitalización secreta de Copilot is available for the following repositories:

  • Public, private, and internal repositories in organizations using GitHub Enterprise Cloud with GitHub Advanced Security enabled

Información sobre la detección de secretos genéricos con Digitalización secreta de Copilot

La detección de secretos genéricos del Digitalización secreta de Copilot es una expansión con tecnología de IA de secret scanning que identifica secretos no estructurados (contraseñas) en el código fuente y genera una alerta.

Los usuarios de GitHub Advanced Security ya pueden recibir alertas de examen de secretos por patrones asociados o personalizados detectados en su código fuente, pero los secretos no estructurados no son fáciles de descubrir. El Digitalización secreta de Copilot usa modelos de lenguaje grandes (LLM) para identificar este tipo de secreto.

Cuando se detecta una contraseña, se muestra una alerta en la lista “Experimental” de alertas de secret scanning (en la pestaña Seguridad del repositorio, organización o empresa), para que los responsables de mantenimiento y seguridad puedan revisar la alerta y, en caso necesario, eliminar la credencial o aplicar una corrección.

Para usar la detección de secretos genéricos, primero un propietario de la empresa debe configurar una directiva a nivel de empresa que controle si se puede habilitar o inhabilitar la característica para los repositorios de una organización. De manera predeterminada, esta directiva se configura en "permitida". La característica debe estar habilitada para repositorios y organizaciones.

Procesamiento de entradas

La entrada se limita al texto (normalmente código) que un usuario ingresa en un repositorio. El sistema proporciona este texto al LLM junto con un meta prompt que pide al LLM que encuentre contraseñas dentro del ámbito de la entrada. El usuario no interactúa directamente con el LLM.

El sistema busca contraseñas mediante el LLM. El sistema no recopila datos adicionales, aparte de los que ya recoge la función existente secret scanning.

Salida y visualización

El LLM busca cadenas que se parezcan a contraseñas y verifica que las cadenas identificadas incluidas en la respuesta existan realmente en la entrada.

Estas cadenas detectadas aparecen como alertas en la página de alertas secret scanning, pero se muestran en una lista adicional separada de las alertas de examen de secretos normales. La intención es que esta lista separada se revise con mayor detalle para verificar la validez de los resultados. Cada alerta indica que se detectó mediante IA.

Mejora del rendimiento de detección de secretos genéricos

Para mejorar el rendimiento de detección de secretos genéricos, se recomienda cerrar las alertas de falsos positivos adecuadamente.

Verificar la precisión de las alertas y cerrarlas según proceda

Dado que la detección de secretos genéricos del Digitalización secreta de Copilot puede generar más falsos positivos que la característica secret scanning existente para los patrones de asociados, es importante revisar la precisión de estas alertas. Cuando compruebes que una alerta es un falso positivo, asegúrate de cerrar la alerta y marcar el motivo como "Falso positivo" en la GitHub UI. El equipo de desarrollo de GitHub usará la información sobre las ubicaciones de detección y el volumen de falsos positivos para mejorar el modelo. GitHub no tiene acceso a los literales secretos.

Limitaciones de detección de secretos genéricos

Al usar la detección de secretos genéricos del Digitalización secreta de Copilot, debe tener en cuenta las siguientes limitaciones.

Ámbito limitado

Actualmente, la Detección de secretos genéricos solo busca instancias de contraseñas en el contenido git. La característica no busca otros tipos de secretos genéricos, y no busca secretos en contenido no git, como GitHub Issues.

Posibilidad de falsas alertas positivas

La Detección de secretos genéricos puede generar más alertas de falsos positivos en comparación con la función de secret scanning existente (que detecta patrones de asociados y tiene una tasa de falsos positivos muy baja). Para mitigar este exceso de ruido, las alertas se agrupan en una lista separada de las alertas de patrones de socios, y los administradores de seguridad y mantenedores deben evaluar cada alerta para verificar su exactitud.

Posibilidad de informes incompletos

Es posible que la Detección de secretos genéricos salte instancias de credenciales verificadas en un repositorio. El LLM mejorará con el tiempo. Eres el único responsable de garantizar la seguridad de tu código.

Limitaciones por diseño

La Detección de secretos genéricos tiene las siguientes limitaciones por diseño:

  • El Digitalización secreta de Copilot no detectará secretos que obviamente sean falsos o contraseñas de prueba o contraseñas con una entropía baja.
  • El Digitalización secreta de Copilot solo detectará un máximo de 100 contraseñas por inserción.
  • Si cinco o más secretos detectados dentro de un único archivo se marcan como falsos positivos, el Digitalización secreta de Copilot dejará de generar nuevas alertas para ese archivo.
  • El Digitalización secreta de Copilot no detecta secretos en archivos generados o de proveedores.
  • El Digitalización secreta de Copilot no detecta secretos en archivos cifrados.
  • El Digitalización secreta de Copilot no detecta secretos en los tipos de archivo: SVG, PNG, JPEG, CSV, TXT, SQL o ITEM.
  • El Digitalización secreta de Copilot no detecta secretos en código de prueba. El Digitalización secreta de Copilot omite las detecciones cuando:
    • La ruta de acceso del archivo contiene "test", "mock" o "spec".
    • La extensión del archivo es .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift o .ts.

Evaluación de la detección de secretos genéricos

La Detección de secretos genéricos está sujeta a un "Red Teaming" de IA responsable y GitHub continuará supervisando la eficacia y seguridad de la función a lo largo del tiempo.

Información adicional