Comment analyser le référentiel GitHub pour les informations d’identification ?

Découvrez si votre référentiel GitHub contient des informations sensibles telles que mot de passe, clés secrètes, informations confidentielles, etc.

GitHub est utilisé par des millions d’utilisateurs pour héberger et partager des codes. C’est fantastique, mais parfois vous/les développeurs/les propriétaires de code pouvez accidentellement vider des informations confidentielles dans un référentiel public, ce qui peut être un désastre.

Il existe de nombreux incidents où des données confidentielles ont été divulguées sur GitHub. Vous ne pouvez pas éliminer l’erreur humaine, mais vous pouvez prendre des mesures pour la réduire.

Comment vous assurez-vous que votre référentiel ne contient pas de mot de passe ou de clé ?

Réponse simple – ne stockez pas.

La meilleure pratique consiste à utiliser un logiciel de gestion des secrets pour stocker toutes les informations sensibles.

Mais en réalité, vous ne pouvez pas contrôler le comportement des autres si vous travaillez en équipe.

BTW, si vous utilisez Git pour initialiser et déployer votre application, il crée un dossier .git et, s’il est accessible sur Internet, il peut exposer une confirmation sensible – ce que vous ne voulez pas et devriez envisager de bloquer l’URI .git.

Les solutions suivantes vous aident à trouver des erreurs dans votre référentiel.

Numérisation secrète

La fonction d’analyse secrète de GitHub est un outil puissant qui détecte les secrets accidentels cachés dans votre code, vous protégeant contre les fuites de données et les compromis. Il fonctionne de manière transparente pour les dépôts publics et privés, passant méticuleusement au peigne fin tous les coins et recoins pour découvrir tous les secrets cachés.

Mais ses capacités continuent. Une fois qu’un secret est découvert, GitHub prend des mesures proactives en alertant les fournisseurs de services respectifs, les invitant à atténuer rapidement tout risque potentiel. En ce qui concerne les référentiels privés, GitHub fait un effort supplémentaire en informant les propriétaires ou les administrateurs de l’organisation, en veillant à ce que les bonnes personnes au sein de votre équipe soient immédiatement informées de la situation.

Pour fournir une visibilité continue, les avertissements sont affichés en évidence dans le référentiel, servant de signal clair pour que vous et votre équipe preniez des mesures rapides. La fonction d’analyse secrète de GitHub agit comme votre allié vigilant, travaillant avec diligence pour s’assurer qu’aucun secret ne passe inaperçu et que vos projets restent sécurisés.

Exploitez la puissance de l’analyse secrète et codez en toute confiance, sachant que vos informations sensibles sont protégées.

Secrets Git

Permettez-moi de vous présenter git-secrets, un outil qui peut nous éviter l’embarras d’ajouter accidentellement des secrets à nos dépôts Git. Il analyse les validations, les messages de validation et les fusions pour éviter les fuites secrètes dans notre code.

Pour démarrer sous Windows, nous exécutons simplement le script PowerShell install.ps1. Il copie les fichiers nécessaires dans un répertoire d’installation et les ajoute à notre utilisateur PATH. Cela rend les git-secrets facilement accessibles depuis n’importe où dans notre environnement de développement.

Une fois installé, git-secrets devient notre gardien vigilant, vérifiant si un commit, un message de commit ou un historique de fusion correspond à nos modèles interdits configurés. S’il détecte une correspondance, il rejette la validation, empêchant les informations sensibles de passer entre les mailles du filet.

Nous pouvons ajouter des modèles d’expressions régulières à un fichier .gitallowed dans le répertoire racine du référentiel pour affiner les git-secrets. Cela aide à filtrer toutes les lignes qui pourraient déclencher un avertissement mais qui sont légitimes, en trouvant le bon équilibre entre sécurité et commodité.

Lors de l’analyse d’un fichier, git-secrets extrait toutes les lignes qui correspondent aux modèles interdits et fournit des informations détaillées, y compris les chemins de fichier, les numéros de ligne et les lignes correspondantes. Il vérifie également si les lignes correspondantes correspondent à nos modèles autorisés enregistrés. La validation ou la fusion est considérée comme sûre si les modèles autorisés annulent toutes les lignes signalées. Cependant, git-secrets bloque le processus si des lignes correspondantes ne correspondent pas à un modèle autorisé.

Lors de l’utilisation de git-secrets, nous devons être prudents. Les modèles interdits ne doivent pas être trop larges et les modèles autorisés ne doivent pas être trop permissifs. Tester nos modèles à l’aide d’appels ad hoc à git secrets –scan $filename garantit qu’ils fonctionnent comme prévu.

Si vous souhaitez approfondir vos connaissances sur git-secrets ou si vous souhaitez contribuer à son développement, vous trouverez le projet sur GitHub. C’est un projet open-source qui encourage les contributions de la communauté. Rejoignez la communauté et faites la différence !

Avec git-secrets, nous pouvons coder en toute confiance, sachant que les secrets accidentels ne mettront pas en péril nos projets. Adoptons cet outil et protégeons nos informations sensibles.

Superviseur des dépôts

J’ai cette nouvelle passionnante : Repo-supervisor est un outil puissant qui détecte les secrets et les mots de passe dans votre code. L’installer est un jeu d’enfant – ajoutez simplement un webhook à votre référentiel GitHub. Repo-supervisor propose deux modes : scanner les pull requests sur GitHub ou scanner les répertoires locaux depuis la ligne de commande. Choisissez le mode qui vous convient le mieux.

Pour vous lancer dans votre voyage git-secrets, visitez simplement le référentiel GitHub et téléchargez la version la plus récente. Vous y découvrirez des offres groupées conçues pour le déploiement d’AWS Lambda et un mode CLI convivial. Avec le mode CLI, vous pouvez plonger directement sans aucune configuration supplémentaire, tandis que le mode pull request nécessite un déploiement sur AWS Lambda. Choisissez l’option qui correspond à vos besoins et commencez à exploiter la puissance de git-secrets pour renforcer la sécurité de votre base de code !

En mode CLI, fournissez un répertoire en tant qu’argument, et Repo-supervisor analyse les types de fichiers pris en charge, traitant chaque fichier avec un tokenizer spécifique à son type. Il exécute des contrôles de sécurité sur les chaînes extraites et fournit des rapports clairs en texte brut ou au format JSON.

Pour le mode pull request, Repo-supervisor traite les charges utiles du webhook, extrait les fichiers modifiés et effectue des contrôles de sécurité sur les chaînes extraites. Si des problèmes sont détectés, il définit l’état du CI sur erreur, en créant un lien vers le rapport. Aucun problème signifie un statut CI réussi.

Repo-supervisor est un incroyable inspecteur de code qui protège nos secrets et nos mots de passe. Il assure l’intégrité de notre base de code, qui est cruciale dans nos vies professionnelles.

Essayez Repo-supervisor ! Installez-le, configurez le webhook et laissez-le rechercher les secrets et les mots de passe. Profitez de la couche de sécurité supplémentaire !

Porc à la truffe

Permettez-moi de vous présenter un outil incroyable appelé Truffle Hog. Considérez-le comme votre fidèle compagnon de code, reniflant avec diligence toute trace d’informations sensibles qui se cachent dans vos référentiels. Truffle Hog est passé maître dans l’art d’approfondir l’historique de votre projet, en analysant méticuleusement les fuites potentielles de secrets précieux tels que les clés API et les mots de passe.

Avec son arsenal de vérifications à haute entropie et de modèles de regex, cet outil est prêt à déterrer ces trésors cachés et à garantir la sécurité de votre code. Dites adieu aux fuites secrètes et adoptez la protection vigilante de Truffle Hog !

Et voici le meilleur : la dernière version de Truffle Hog est dotée de nombreuses nouvelles fonctionnalités puissantes. Il compte désormais plus de 700 détecteurs d’informations d’identification qui vérifient activement leurs API respectives. Il prend également en charge l’analyse de GitHub, GitLab, des systèmes de fichiers, S3, GCS et Circle CI, ce qui le rend incroyablement polyvalent.

De plus, TruffleHog dispose désormais d’un support natif pour la vérification instantanée des clés privées par rapport à des millions d’utilisateurs GitHub et des milliards de certificats TLS en utilisant sa technologie de pointe Driftwood. Il peut même numériser des fichiers binaires et d’autres formats de fichiers, garantissant que rien n’est laissé au hasard.

De plus, TruffleHog est disponible à la fois en tant qu’action GitHub et en tant que hook de pré-commit, s’intégrant de manière transparente dans votre flux de travail de développement. Il est conçu pour être pratique et convivial, offrant une couche de sécurité supplémentaire sans causer de tracas inutiles.

Avec Truffle Hog dans votre boîte à outils, vous pouvez protéger votre code en toute confiance contre les expositions accidentelles et garder vos secrets sous clé. Alors essayez Truffle Hog et laissez-le opérer sa magie pour protéger vos projets.

Git Hound

GitHound va au-delà des limites des autres outils en tirant parti de la recherche de code GitHub, de la correspondance de modèles et de la recherche dans l’historique des commits. Il peut rechercher l’intégralité de GitHub, pas seulement des référentiels, des utilisateurs ou des organisations spécifiques. À quel point cela est cool?

Maintenant, plongeons dans ses fonctionnalités fantastiques. Git Hound utilise la recherche de code GitHub/Gist, ce qui lui permet d’identifier les informations sensibles dispersées dans la vaste étendue de GitHub, téléchargées par n’importe qui. C’est comme avoir une carte au trésor pour découvrir les vulnérabilités potentielles.

Mais GitHound ne s’arrête pas là. Il détecte les données sensibles en utilisant la correspondance de modèles, les informations contextuelles et l’entropie de chaîne. Il fouille même profondément dans l’historique des commits pour trouver des secrets supprimés de manière incorrecte, garantissant qu’aucune pierre n’est laissée de côté.

Pour vous simplifier la vie, GitHound intègre un système de notation qui filtre les faux positifs courants et optimise sa recherche de creusement intensif du référentiel. Il est conçu pour vous faire gagner du temps et des efforts.

Et devine quoi? Git Hound est équipé de capacités de détection et de décodage base64. Il peut dévoiler des secrets cachés encodés au format base64, vous donnant un avantage supplémentaire dans votre recherche d’informations sensibles.

De plus, GitHound offre des options pour l’intégrer dans des systèmes plus grands. Vous pouvez générer une sortie JSON et personnaliser les regex en fonction de vos besoins spécifiques. Il s’agit de flexibilité et de vous donner les moyens de vous appuyer sur ses fondations.

Parlons maintenant de ses cas d’utilisation passionnants. Dans le monde de l’entreprise, GitHound devient inestimable dans la recherche de clés API client exposées. Il aide à protéger les informations sensibles, garantissant le plus haut niveau de sécurité.

Pour les chasseurs de primes de bogues, Git Hound change la donne. Il vous permet de rechercher les jetons d’API des employés divulgués, vous aidant à découvrir les vulnérabilités et à gagner ces primes bien méritées. Git Hound n’est-il pas incroyable ?

Gileaks

Gitleaks est conçu pour vous faciliter la vie. Il s’agit d’une solution tout-en-un facile à utiliser qui détecte les secrets, qu’ils soient enfouis dans le passé ou le présent de votre code. Dites adieu au risque d’exposer des mots de passe, des clés API ou des jetons dans vos projets.

L’installation de Gitleaks est un jeu d’enfant. Vous pouvez utiliser Homebrew, Docker ou Go, selon vos préférences. De plus, il offre des options de mise en œuvre flexibles. Vous pouvez le configurer en tant que hook de pré-commit directement dans votre référentiel ou profiter de Gitleaks-Action pour l’intégrer de manière transparente dans vos workflows GitHub. Le tout est de trouver la configuration qui vous convient le mieux.

Parlons maintenant des commandes proposées par Gitleaks. Tout d’abord, nous avons la commande « détecter ». Cette commande puissante vous permet d’analyser les référentiels, les répertoires et les fichiers individuels. Que vous travailliez sur votre propre machine ou dans un environnement CI, Gitleaks vous couvre. Il garantit qu’aucun secret ne passe entre les mailles du filet.

Mais ce n’est pas tout. Gitleaks fournit également la commande « protect ». Cette commande analyse explicitement les modifications non validées dans vos référentiels Git. Il agit comme votre dernière ligne de défense, empêchant que des secrets ne soient commis par inadvertance. C’est une protection qui maintient votre code propre et sécurisé.

Tines, un nom de confiance dans l’industrie, parraine Gitleaks. Avec leur soutien, Gitleaks continue d’évoluer et de s’améliorer, vous offrant les meilleures capacités de détection de secrets.

Alors, mes jeunes professionnels, ne laissez pas les secrets compromettre vos projets. Installez-le, configurez-le et laissez-le faire le travail difficile d’analyse et de protection de vos référentiels

Scanner de sécurité des référentiels

Le scanner de sécurité du référentiel est un outil de ligne de commande inestimable conçu pour faciliter l’identification des données sensibles validées par inadvertance, telles que les mots de passe, les jetons, les clés privées et d’autres secrets, dans votre référentiel Git.

Cet outil puissant vous permet de détecter et de résoudre de manière proactive les vulnérabilités de sécurité potentielles résultant de l’inclusion involontaire d’informations confidentielles dans votre base de code. En utilisant le scanner de sécurité du référentiel, vous pouvez garantir l’intégrité de votre référentiel et protéger vos données sensibles contre tout accès non autorisé.

Repo Security Scanner plonge sans effort dans l’historique de tout le référentiel, présentant rapidement des résultats d’analyse complets. En effectuant des analyses approfondies, il vous permet d’identifier de manière proactive et de résoudre rapidement les vulnérabilités de sécurité potentielles pouvant découler de secrets exposés dans des logiciels open source.

Gardien Git

GitGuardian est un outil qui permet aux développeurs, aux équipes de sécurité et de conformité de surveiller l’activité de GitHub en temps réel et d’identifier les vulnérabilités dues aux secrets exposés tels que les jetons d’API, les certificats de sécurité, les informations d’identification de la base de données, etc.

GitGuardian permet aux équipes d’appliquer des politiques de sécurité dans le code privé et public et d’autres sources de données.

Les principales fonctionnalités de GitGuardian sont ;

  • L’outil aide à trouver des informations sensibles, telles que des secrets dans le code source privé,
  • Identifiez et corrigez les fuites de données sensibles sur GitHub public.
  • C’est un outil de détection de secrets efficace, transparent et facile à configurer.
  • Une couverture plus large et une base de données complète pour couvrir presque toutes les informations sensibles à risque.
  • Techniques sophistiquées de correspondance de modèles qui améliorent le processus de découverte et son efficacité.

Conclusion

J’espère que cela vous donne une idée de la recherche de données sensibles dans le référentiel GitHub. Si vous utilisez AWS, consultez cet article pour analyser la sécurité et les erreurs de configuration d’AWS. Restez à l’écoute pour plus d’outils passionnants qui amélioreront votre vie professionnelle. Bon codage et gardez ces secrets sous clé ! 🔒