{"meta":{"title":"Riesgos de pérdida de secretos","intro":"Los secretos como las claves de API, las contraseñas y los tokens confirmados en los repositorios se pueden aprovechar mediante usuarios no autorizados, lo que crea seguridad, cumplimiento y riesgo financiero para su organización.","product":"Seguridad y calidad del código","breadcrumbs":[{"href":"/es/code-security","title":"Seguridad y calidad del código"},{"href":"/es/code-security/concepts","title":"Concepts"},{"href":"/es/code-security/concepts/secret-security","title":"Seguridad secreta"},{"href":"/es/code-security/concepts/secret-security/secret-leakage-risks","title":"Riesgos de pérdida de secretos"}],"documentType":"article"},"body":"# Riesgos de pérdida de secretos\n\nLos secretos como las claves de API, las contraseñas y los tokens confirmados en los repositorios se pueden aprovechar mediante usuarios no autorizados, lo que crea seguridad, cumplimiento y riesgo financiero para su organización.\n\n## ¿Qué son los secretos?\n\nLos secretos son credenciales que conceden acceso a datos y sistemas confidenciales. Algunos ejemplos comunes son:\n\n* Claves de API y tokens usados para autenticarse con servicios externos\n* Contraseñas de base de datos y cadenas de conexión\n* Credenciales del proveedor de nube y tokens de cuenta de servicio\n* Certificados y claves de cifrado\n\nCuando los secretos se confirman en repositorios, se convierten en **credenciales codificadas de forma rígida** que se insertan directamente en el código fuente o los archivos de configuración. Estos secretos hardcodeados forman parte del historial de Git y permanecen accesibles incluso después de haber sido eliminados del commit más reciente. Esto significa que abordar una fuga de credenciales requiere más que eliminar el archivo; también debe revocar y cambiarla para evitar el acceso no autorizado.\n\n## Cómo se exponen los secretos\n\n**La expansión de secretos** se produce cuando las credenciales proliferan entre repositorios, equipos y sistemas sin una administración o visibilidad centralizadas. Esto dificulta el seguimiento de los secretos que existen, dónde se usan y si se han expuesto. Los secretos suelen entrar en los repositorios a través de varios patrones comunes.\n\n### Flujos de trabajo de desarrollo\n\n* Credenciales codificadas agregadas durante las pruebas locales y comprometidas accidentalmente\n* Secretos en archivos de configuración, como archivos `.env` o plantillas de infraestructura como código\n* Credenciales de ejemplo que contienen claves o tokens de API reales en la documentación, wikis o archivos README.\n\n### Administración de repositorios\n\n* Repositorios heredados que contienen credenciales olvidadas pero todavía activas\n* Secretos compartidos en GitHub incidencias, comentarios de incorporación de cambios, discusiones o gists\n* Credenciales introducidas por colaboradores externos o contratistas\n\n### Propagación del control de versiones\n\n* Los secretos se conservan en el historial de Git incluso después de la eliminación del código actual.\n* Las credenciales se propagan a repositorios bifurcados, sistemas de copia de seguridad y registros de CI/CD.\n* Los repositorios públicos con secretos expuestos se indexan mediante motores de búsqueda y servicios de análisis especializados.\n\n## Riesgos de seguridad\n\nLos secretos expuestos pueden provocar varios tipos de incidentes de seguridad.\n\n### Acceso no autorizado\n\nLas pérdidas de credenciales proporcionan a los usuarios no autorizados acceso directo a los sistemas. Una vez expuestos, los secretos codificados de forma codificada se pueden aprovechar para:\n\n* Aprovisionamiento de infraestructura o servicios en su cuenta mediante credenciales de proveedor de nube filtradas\n* Acceso a datos confidenciales de clientes u organizaciones a través de credenciales de base de datos en peligro\n* Acceder a los sistemas de producción mediante tokens de cuenta de servicio expuestos\n\n### Infracciones de datos\n\nLas fugas de credenciales proporcionan a los usuarios no autorizados acceso directo a los sistemas, lo que conduce a infracciones de datos. Una vez que los atacantes obtienen acceso mediante credenciales expuestas, pueden filtrar datos confidenciales, modificar o eliminar información crítica y poner en peligro la confianza del cliente. Las infracciones de datos requieren una respuesta a incidentes inmediata, incluida la revocación de credenciales, la corrección del sistema y la evaluación del ámbito y el impacto de la infracción.\n\n### Ataques de cadena de suministro\n\nLos tokens expuestos del registro de paquetes se pueden usar para publicar versiones maliciosas de su software, lo que afecta a los usuarios y organizaciones downstream que dependen de sus paquetes.\n\n## Impacto financiero\n\nLos secretos expuestos pueden costar el dinero de su organización de varias maneras.\n\n* **Facturas inesperadas en la nube**: las claves de API filtradas permiten a los atacantes usar los recursos en la nube. Pueden ejecutar instancias de computación, almacenar datos o extraer criptomonedas en su cuenta, generando facturas elevadas.\n* **Respuesta a incidentes**: la investigación de infracciones, la rotación de credenciales y los sistemas de auditoría tardan mucho tiempo y recursos en la ingeniería.\n* **Costos legales: las** infracciones de datos pueden dar lugar a multas, honorarios legales y gastos de notificación.\n* **Daño a largo plazo**: clientes perdidos, mayores costos de seguros y oportunidades de negocio perdidas después de que los incidentes de seguridad se conviertan en públicos.\n\n## Seguridad secreta con GitHub\n\nGitHub proporciona herramientas para ayudarle a evitar, detectar y corregir la pérdida de secretos:\n\n### 1. Impedir que se confirmen nuevos secretos\n\nHabilite **protección Push** para examinar el código durante las `git push` operaciones y bloquear las confirmaciones que contienen secretos detectados antes de entrar en su repositorio. Esto evita que las credenciales codificadas de forma rígida se agreguen al código base y proporcione comentarios en tiempo real a los desarrolladores en el momento de riesgo, que abarcan los patrones de proveedor para servicios conocidos y patrones genéricos, como claves privadas y claves de API genéricas. Tenga en cuenta que no todos los tipos de secretos están protegidos de forma predeterminada y su organización debe configurarlo en función de la tolerancia al riesgo frente al ruido.\n\nAnime a los desarrolladores individuales a habilitar la protección de envío para sus cuentas personales, para proteger todos sus envíos en GitHub, independientemente de las directivas de la organización. Esto ayuda a evitar la expansión de secretos detectando credenciales filtradas antes de llegar a los repositorios.\n\n### 2. Detección de secretos existentes\n\nUse **secret scanning** para supervisar continuamente los repositorios de secretos codificados de forma permanente y generar alertas cuando se detecten credenciales, lo que le permite revocar y rotar las credenciales en peligro rápidamente. Además de la detección predeterminada de patrones de proveedor, puede expandir el examen a patrones genéricos y definir patrones personalizados para secretos específicos de la organización. Esto le ayuda a obtener visibilidad de la dispersión de secretos en toda su organización."}