Averigüe si su repositorio de GitHub contiene información sensible como contraseñas, claves secretas, información confidencial, etc.

GitHub es utilizado por millones de usuarios para alojar y compartir códigos. Es fantástico, pero a veces usted/desarrolladores/dueños de código pueden volcar accidentalmente información confidencial en un repositorio público, lo que puede ser un desastre.

Hay muchos incidentes en los que se filtraron datos confidenciales en GitHub. No se puede eliminar el error humano, pero se pueden tomar medidas para reducirlo.

¿Cómo asegurarse de que su repositorio no contiene una contraseña o clave?

Respuesta sencilla: no almacene.

Como mejor práctica, se debería utilizar un software de gestión de secretos para almacenar toda la información sensible.

Pero en realidad, no se puede controlar el comportamiento de los demás si se trabaja en equipo.

BTW, si utiliza Git para inicializar y desplegar su aplicación, se crea la carpeta .git, y si es accesible a través de Internet, puede exponer confirmación sensible – que usted no quiere y debe considerar el bloqueo de .git URI.

Las siguientes soluciones le ayudarán a encontrar errores en su repositorio.

Escaneo secreto

La función de escaneo de secretos de GitHub es una potente herramienta que detecta secretos accidentales ocultos en su código, protegiéndolo contra fugas de datos y compromisos. Funciona a la perfección tanto para repositorios públicos como privados, peinando meticulosamente cada rincón y grieta para descubrir cualquier secreto deslizado.

Secret-Scanning

Pero sus capacidades continúan. Una vez que se descubre un secreto, GitHub toma medidas proactivas alertando a los respectivos proveedores de servicios, incitándoles a mitigar rápidamente cualquier riesgo potencial. En lo que respecta a los repositorios privados, GitHub va más allá notificando a los propietarios o administradores de la organización, asegurándose de que las personas adecuadas dentro de su equipo son inmediatamente informadas de la situación.

Para proporcionar una visibilidad continua, las advertencias se muestran de forma destacada dentro del repositorio, sirviendo como una señal clara para que usted y su equipo tomen medidas rápidas. La función de escaneo secreto de GitHub actúa como su aliado vigilante, trabajando diligentemente para garantizar que ningún secreto pase desapercibido y que sus proyectos permanezcan seguros.

Aproveche el poder del escaneo de secretos y codifique con confianza, sabiendo que su información sensible está protegida.

Secretos de Git

Permítame presentarle git-secrets, una herramienta que puede salvarnos de la vergüenza de añadir accidentalmente secretos a nuestros repositorios Git. Analiza las confirmaciones, los mensajes de confirmación y las fusiones para evitar la filtración de secretos en nuestro código.

Para empezar en Windows, simplemente ejecutamos el script PowerShell install.ps1. Este copia los archivos necesarios a un directorio de instalación y los añade a nuestro PATH de usuario. Esto hace que git-secrets sea fácilmente accesible desde cualquier lugar de nuestro entorno de desarrollo.

Una vez instalado, git-secrets se convierte en nuestro guardián vigilante, comprobando si alguna confirmación, mensaje de confirmación o historial de fusiones coincide con nuestros patrones prohibidos configurados. Si detecta una coincidencia, rechaza el commit, evitando que la información sensible se cuele por las grietas.

Git-Secrets

Podemos añadir patrones de expresiones regulares a un archivo .gitallowed en el directorio raíz del repositorio para afinar git-secrets. Esto ayuda a filtrar las líneas que podrían activar una advertencia pero que son legítimas, consiguiendo el equilibrio adecuado entre seguridad y comodidad.

Al escanear un archivo, git-secrets extrae todas las líneas que coinciden con patrones prohibidos y proporciona información detallada, incluyendo las rutas de los archivos, los números de línea y las líneas coincidentes. También comprueba si las líneas coincidentes coinciden con nuestros patrones permitidos registrados. La confirmación o fusión se considera segura si los patrones permitidos anulan todas las líneas marcadas. Sin embargo, git-secrets bloquea el proceso si alguna línea coincidente no coincide con un patrón permitido.

AWS-Labs-Git-Secrets

Al utilizar git-secrets, debemos ser cautelosos. Los patrones prohibidos no deben ser demasiado amplios, y los patrones permitidos no deben ser demasiado permisivos. Probar nuestros patrones usando llamadas ad-hoc a git secrets –scan $filename asegura que funcionan como se pretende.

Si desea profundizar en git-secrets o quiere contribuir a su desarrollo, encontrará el proyecto en GitHub. Es un proyecto de código abierto que fomenta las contribuciones de la comunidad. ¡Únase a la comunidad y marque la diferencia!

Con git-secrets, podemos codificar con confianza, sabiendo que los secretos accidentales no pondrán en peligro nuestros proyectos. Adoptemos esta herramienta y mantengamos segura nuestra información sensible.

Supervisor de repositorios

Tengo una noticia emocionante: Repo-supervisor es una potente herramienta que detecta secretos y contraseñas en su código. Instalarlo es pan comido-simplemente añada un webhook a su repositorio de GitHub. Repo-supervisor ofrece dos modos: escanear pull requests en GitHub o escanear directorios locales desde la línea de comandos. Elija el modo que más le convenga.

Para embarcarse en su viaje git-secrets, simplemente visite el repositorio de GitHub y descargue la versión más reciente. Allí descubrirá paquetes adaptados al despliegue de AWS Lambda y un modo CLI fácil de usar. Con el modo CLI, puede sumergirse directamente sin ninguna configuración adicional, mientras que el modo pull request requiere el despliegue en AWS Lambda. Elija la opción que se adapte a sus necesidades y comience a aprovechar el poder de git-secrets para reforzar la seguridad de su código base

Repo-Supervisor

En el modo CLI, proporcione un directorio como argumento, y Repo-supervisor escanea los tipos de archivos compatibles, procesando cada archivo con un tokenizador específico para su tipo. Ejecuta comprobaciones de seguridad en las cadenas extraídas y proporciona informes claros en formato de texto plano o JSON.

Para el modo pull request, Repo-supervisor procesa las cargas útiles de los webhooks, extrae los archivos modificados y realiza comprobaciones de seguridad en las cadenas extraídas. Si se encuentran problemas, establece el estado CI en error, enlazando con el informe. La ausencia de problemas significa un estado CI correcto.

Repo-supervisor es un increíble inspector de código que mantiene nuestros secretos y contraseñas seguros. Garantiza la integridad de nuestro código base, que es crucial en nuestra vida profesional.

¡Pruebe Repo-supervisor! Instálelo, configure el webhook y deje que escanee en busca de secretos y contraseñas. ¡Disfrute de la capa extra de seguridad!

Truffle Hog

Permítame presentarle una herramienta increíble llamada Truffle Hog. Considérela su fiel compañera de código, olfateando diligentemente cualquier rastro de información sensible que aceche en sus repositorios. Truffle Hog es un maestro a la hora de profundizar en el historial de su proyecto, escaneando meticulosamente en busca de posibles fugas de secretos valiosos como claves API y contraseñas.

Con su arsenal de comprobaciones de alta entropía y patrones regex, esta herramienta está preparada para desenterrar estos tesoros ocultos y garantizar que su código permanezca seguro. ¡Diga adiós a las filtraciones secretas y adopte la protección vigilante de Truffle Hog!

Y aquí está la mejor parte: La última versión de Truffle Hog está repleta de nuevas y potentes funciones. Ahora cuenta con más de 700 detectores de credenciales que verifican activamente contra sus respectivas API. También es compatible con el escaneo de GitHub, GitLab, sistemas de archivos, S3, GCS y Circle CI, lo que lo hace increíblemente versátil.

Truffle-Hog

No sólo eso, TruffleHog ahora tiene soporte nativo para la verificación instantánea de claves privadas contra millones de usuarios de GitHub y miles de millones de certificados TLS utilizando su tecnología de vanguardia Driftwood. Incluso puede escanear binarios y otros formatos de archivo, garantizando que no quede piedra sin remover.

Es más, TruffleHog está disponible tanto como una acción de GitHub como un gancho de precompromiso, integrándose perfectamente en su flujo de trabajo de desarrollo. Está diseñado para ser cómodo y fácil de usar, proporcionando una capa extra de seguridad sin causar molestias innecesarias.

Con Truffle Hog en su kit de herramientas, puede proteger con confianza su código de exposiciones accidentales y mantener sus secretos bajo llave. Así que déle una oportunidad a Truffle Hog y deje que haga su magia para salvaguardar sus proyectos.

Git Hound

GitHound va más allá de las limitaciones de otras herramientas aprovechando la búsqueda de código en GitHub, la concordancia de patrones y la búsqueda en el historial de confirmaciones. Puede buscar en todo GitHub, no sólo en repositorios específicos, usuarios u organizaciones. ¿No es genial?

Ahora, vamos a sumergirnos en sus fantásticas características. Git Hound utiliza la búsqueda de código GitHub/Gist, lo que le permite localizar información sensible dispersa en la vasta extensión de GitHub, subida por cualquiera. Es como disponer de un mapa del tesoro para descubrir posibles vulnerabilidades.

Pero GitHound no se detiene ahí. Detecta datos sensibles empleando la concordancia de patrones, la información contextual y la entropía de cadenas. Incluso profundiza en el historial de commits para encontrar secretos borrados indebidamente, asegurándose de que no quede piedra sin remover.

Para simplificarle la vida, GitHound incorpora un sistema de puntuación que filtra los falsos positivos comunes y optimiza su búsqueda para la excavación intensiva de repositorios. Está diseñado para ahorrarle tiempo y esfuerzo.

¿Y adivine qué? Git Hound está equipado con capacidades de detección y decodificación base64. Puede desvelar secretos ocultos codificados en formato base64, dándole una ventaja extra en su caza de información sensible.

Git-Hound

Es más, GitHound ofrece opciones para integrarlo en sistemas más grandes. Puede generar una salida JSON y personalizar las expresiones regulares según sus necesidades específicas. Se trata de flexibilidad y de permitirle construir sobre sus cimientos.

Ahora, hablemos de sus apasionantes casos de uso. En el mundo corporativo, GitHound adquiere un valor incalculable en la búsqueda de claves API de clientes expuestas. Ayuda a salvaguardar la información sensible, garantizando el máximo nivel de seguridad.

Para los cazadores de recompensas por fallos, Git Hound cambia las reglas del juego. Le permite buscar tokens de API de empleados filtrados, ayudándole a descubrir vulnerabilidades y ganar esas merecidas recompensas. ¿No es increíble Git Hound?

Gitleaks

Gitleaks está diseñado para hacerle la vida más fácil. Es una solución todo en uno fácil de usar que detecta secretos, tanto si están enterrados en el pasado como en el presente de su código. Diga adiós al riesgo de exponer contraseñas, claves API o tokens en sus proyectos.

Instalar Gitleaks es pan comido. Puede utilizar Homebrew, Docker o Go, según sus preferencias. Además, ofrece opciones de implementación flexibles. Puede configurarlo como un gancho pre-commit directamente en su repositorio o aprovechar Gitleaks-Action para integrarlo sin problemas en sus flujos de trabajo de GitHub. Se trata de encontrar la configuración que más le convenga.

Git-Leaks

Ahora, hablemos de los comandos que ofrece Gitleaks. En primer lugar, tenemos el comando «detectar». Este potente comando le permite escanear repositorios, directorios y archivos individuales. Tanto si trabaja en su propia máquina como en un entorno CI, Gitleaks le tiene cubierto. Garantiza que ningún secreto se escape.

Pero eso no es todo. Gitleaks también proporciona el comando «proteger». Este comando escanea explícitamente los cambios no comprometidos en sus repositorios Git. Actúa como su última línea de defensa, evitando que los secretos sean confirmados inadvertidamente. Es una salvaguarda que mantiene su código limpio y seguro.

Tines, un nombre de confianza en la industria, patrocina Gitleaks. Con su apoyo, Gitleaks continúa evolucionando y mejorando, proporcionándole las mejores capacidades de detección de secretos.

Así que, mis jóvenes profesionales, no dejen que los secretos comprometan sus proyectos. Instálelo, configúrelo y deje que haga el duro trabajo de escanear y proteger sus repositorios

Escáner de seguridad de repositorios

El escáner de seguridad de repositorios es una inestimable herramienta de línea de comandos diseñada para ayudarle en la identificación de datos sensibles comprometidos inadvertidamente, como contraseñas, tokens, claves privadas y otros secretos, dentro de su repositorio Git.

Esta potente herramienta le permite detectar y abordar de forma proactiva las posibles vulnerabilidades de seguridad derivadas de la inclusión involuntaria de información confidencial en su base de código. Empleando el escáner de seguridad de repositorios, puede garantizar la integridad de su repositorio y salvaguardar sus datos confidenciales de accesos no autorizados.

Repo-Security-Scanner

El escáner de seguridad de repositorios profundiza sin esfuerzo en todo el historial del repositorio, presentando rápidamente resultados de análisis exhaustivos. Al realizar escaneos exhaustivos, le permite identificar de forma proactiva y abordar rápidamente las posibles vulnerabilidades de seguridad que puedan surgir de los secretos expuestos en el software de código abierto.

GitGuardian

GitGuardianes una herramienta que permite a los desarrolladores y a los equipos de seguridad y cumplimiento supervisar la actividad de GitHub en tiempo real e identificar vulnerabilidades debidas a secretos expuestos como tokens de API, certificados de seguridad, credenciales de bases de datos, etc.

GitGuardian permite a los equipos aplicar políticas de seguridad en el código privado y público y en otras fuentes de datos.

Las principales características de GitGuardian son;

  • La herramienta ayuda a encontrar información sensible, como secretos en el código fuente privado,
  • Identificar y corregir fugas de datos sensibles en GitHub público.
  • Es una herramienta de detección de secretos eficaz, transparente y fácil de configurar.
  • Cobertura más amplia y base de datos exhaustiva para cubrir casi cualquier información sensible en riesgo.
  • Sofisticadas técnicas de concordancia de patrones que mejoran el proceso de descubrimiento y su eficacia.

Conclusión

Espero que esto le dé una idea de cómo encontrar datos sensibles en el repositorio de GitHub. Si está utilizando AWS, entonces eche un vistazo a este artículo para escanear la seguridad y la mala configuración de AWS. Manténgase en sintonía para más herramientas interesantes que mejorarán su vida profesional. Feliz codificación, ¡y mantenga esos secretos bajo llave! 🔒