Découvrez si votre dépôt GitHub contient des informations sensibles telles que des mots de passe, des clés secrètes, des informations confidentielles, etc.
GitHub est utilisé par des millions d’utilisateurs pour héberger et partager des codes. C’est fantastique, mais il peut arriver que vous, les développeurs ou les propriétaires de code, déversiez accidentellement des informations confidentielles dans un référentiel public, ce qui peut s’avérer désastreux.
Il existe de nombreux incidents au cours desquels 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 assurer que votre dépôt ne contient pas de mot de passe ou de clé ?
La réponse est 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.
Par ailleurs, si vous utilisez Git pour initialiser et déployer votre application, cela crée un dossier .git
qui, s’il est accessible sur l’internet, peut exposer des confirmations sensibles – ce que vous ne voulez pas et devriez envisager de bloquer l’ URI .git.
Les solutions suivantes vous aideront à trouver les erreurs dans votre référentiel.
Analyse des secrets
La fonction d’analyse des secrets de GitHub est un outil puissant qui détecte les secrets accidentels cachés dans votre code, vous protégeant ainsi contre les fuites de données et les compromissions. Elle 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 les secrets cachés.
Mais ses capacités ne s’arrêtent pas là. Dès qu’un secret est découvert, GitHub prend des mesures proactives en alertant les fournisseurs de services concernés, ce qui les incite à atténuer rapidement tout risque potentiel. En ce qui concerne les dépôts privés, GitHub va encore plus loin en avertissant les propriétaires ou les administrateurs de l’organisation, ce qui garantit que les bonnes personnes au sein de votre équipe sont immédiatement informées de la situation.
Pour assurer une visibilité continue, les avertissements sont affichés de manière visible dans le dépôt, ce qui vous signale clairement, à vous et à votre équipe, qu’il faut agir rapidement. La fonction d’analyse des secrets de GitHub agit comme un allié vigilant, travaillant avec diligence pour s’assurer qu’aucun secret ne passe inaperçu et que vos projets restent sécurisés.
Profitez de la puissance de l’analyse des secrets et codez en toute confiance, en sachant que vos informations sensibles sont protégées.
Secrets Git
Laissez-moi 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 commits, les messages de commit et les merges pour éviter les fuites de secrets dans notre code.
Pour commencer sous Windows, il suffit d’exécuter le script PowerShell install.ps1. Il copie les fichiers nécessaires dans un répertoire d’installation et les ajoute au PATH de l’utilisateur. Ainsi, git-secrets est facilement accessible depuis n’importe quel endroit de 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 aux modèles interdits que nous avons configurés. S’il détecte une correspondance, il rejette le commit, empêchant ainsi les informations sensibles de passer entre les mailles du filet.
Nous pouvons ajouter des expressions régulières à un fichier .gitallowed dans le répertoire racine du référentiel pour affiner git-secrets. Cela permet de filtrer les lignes qui pourraient déclencher un avertissement mais qui sont légitimes, en trouvant le bon équilibre entre la sécurité et la commodité.
Lors de l’analyse d’un fichier, git-secrets extrait toutes les lignes qui correspondent à des motifs interdits et fournit des informations détaillées, notamment les chemins d’accès aux fichiers, les numéros de ligne et les lignes correspondantes. Il vérifie également si les lignes correspondantes correspondent aux motifs autorisés que nous avons enregistrés. La livraison ou la fusion est considérée comme sûre si les motifs autorisés annulent toutes les lignes marquées. Cependant, git-secrets bloque le processus si l’une des lignes correspondantes ne correspond pas à un motif autorisé.
Lors de l’utilisation de git-secrets, nous devons être prudents. Les motifs interdits ne doivent pas être trop larges, et les motifs autorisés ne doivent pas être trop permissifs. Tester nos motifs en utilisant des appels ad-hoc à git secrets –scan $filename permet de s’assurer qu’ils fonctionnent comme prévu.
Si vous souhaitez approfondir git-secrets ou contribuer à son développement, vous trouverez le projet sur GitHub. Il s’agit d’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, en sachant que des secrets accidentels ne mettront pas en péril nos projets. Adoptons cet outil et gardons nos informations sensibles en sécurité.
Superviseur de repo
J’ai une excellente nouvelle à vous annoncer : 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 : il suffit d’ajouter un webhook à votre dépôt GitHub. Repo-supervisor propose deux modes : l’analyse des demandes d’extraction sur GitHub ou l’analyse des répertoires locaux à partir de la ligne de commande. Choisissez le mode qui vous convient le mieux.
Pour commencer votre voyage avec git-secrets, il vous suffit de visiter le dépôt GitHub et de télécharger la version la plus récente. Vous y découvrirez des bundles adaptés au déploiement d’AWS Lambda et un mode CLI convivial. Avec le mode CLI, vous pouvez plonger directement dans l’application sans configuration supplémentaire, tandis que le mode pull request nécessite un déploiement sur AWS Lambda. Choisissez l’option qui vous convient 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 comme argument, et Repo-supervisor analyse les types de fichiers pris en charge, en traitant chaque fichier avec un tokenizer spécifique à son type. Il effectue des contrôles de sécurité sur les chaînes extraites et fournit des rapports clairs au format texte ou JSON.
Pour le mode “pull request”, Repo-supervisor traite les charges utiles des webhooks, 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 de l’IC comme étant une erreur, avec un lien vers le rapport. L’absence de problème signifie que l’état de l’IC est satisfaisant.
Repo-supervisor est un formidable inspecteur de code qui assure la sécurité de nos secrets et de nos mots de passe. Il garantit l’intégrité de notre base de code, ce qui est crucial dans notre vie professionnelle.
Essayez Repo-supervisor ! Installez-le, configurez le webhook et laissez-le analyser les secrets et les mots de passe. Appréciez la couche de sécurité supplémentaire !
Truffle Hog
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’information sensible se cachant dans vos dépôts. Truffle Hog est passé maître dans l’art de plonger dans l’historique de votre projet, recherchant méticuleusement les fuites potentielles de secrets précieux tels que les clés d’API et les mots de passe.
Grâce à son arsenal de vérifications à forte entropie et de motifs 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. Elle compte désormais plus de 700 détecteurs d’informations d’identification qui procèdent à une vérification active de leurs API respectives. Il prend également en charge l’analyse de GitHub, GitLab, des systèmes de fichiers, de S3, de GCS et de Circle CI, ce qui le rend incroyablement polyvalent.
En outre, TruffleHog prend désormais en charge la vérification instantanée des clés privées auprès de millions d’utilisateurs GitHub et de milliards de certificats TLS à l’aide de sa technologie de pointe Driftwood. Il peut même analyser des binaires et d’autres formats de fichiers, garantissant ainsi que rien n’est laissé au hasard.
De plus, TruffleHog est disponible à la fois en tant qu’action GitHub et en tant que crochet de pré-commission, s’intégrant ainsi de manière transparente dans votre flux de développement. Conçu pour être pratique et convivial, TruffleHog offre une couche de sécurité supplémentaire sans causer de tracas inutiles.
Avec Truffle Hog dans votre boîte à outils, vous pouvez en toute confiance protéger votre code contre les expositions accidentelles et garder vos secrets sous clé. Essayez Truffle Hog et laissez-le opérer sa magie en protégeant vos projets.
Git Hound
GitHound dépasse les limites des autres outils en s’appuyant sur la recherche de code GitHub, le filtrage et la recherche dans l’historique des livraisons. Il peut effectuer des recherches sur l’ensemble de GitHub, et pas seulement sur des dépôts, des utilisateurs ou des organisations spécifiques. C’est vraiment génial !
Maintenant, plongeons dans ses fantastiques fonctionnalités. 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 si vous disposiez d’une carte au trésor pour découvrir des vulnérabilités potentielles.
Mais GitHound ne s’arrête pas là. Il détecte les données sensibles en utilisant le filtrage, les informations contextuelles et l’entropie des chaînes de caractères. Il va même jusqu’à fouiller dans l’historique des livraisons pour trouver les secrets supprimés de manière inappropriée, afin de ne laisser aucune pierre non retournée.
Pour vous simplifier la vie, GitHound intègre un système de notation qui filtre les faux positifs les plus courants et optimise sa recherche pour les fouilles intensives de référentiels. Il est conçu pour vous faire gagner du temps et des efforts.
Et devinez 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, ce qui vous donne un avantage supplémentaire dans votre chasse aux informations sensibles.
De plus, GitHound offre des options permettant de l’intégrer à des systèmes plus vastes. Vous pouvez générer une sortie JSON et personnaliser les expressions rationnelles en fonction de vos besoins spécifiques. Il s’agit avant tout d’une question de flexibilité qui vous permet de vous appuyer sur ses fondations.
Parlons maintenant de ses cas d’utilisation passionnants. Dans le monde de l’entreprise, GitHound s’avère inestimable pour rechercher les clés d’API des clients. Il permet de protéger les informations sensibles et d’assurer le plus haut niveau de sécurité.
Pour les chasseurs de bogues, Git Hound change la donne. Il vous permet de rechercher des jetons d’API d’employés ayant fait l’objet d’une fuite, ce qui vous aide à découvrir des vulnérabilités et à obtenir des primes bien méritées. Git Hound n’est-il pas extraordinaire ?
Gitleaks
Gitleaks est conçu pour vous faciliter la vie. Il s’agit d’une solution facile à utiliser et tout-en-un 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 d’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 d’implémentation flexibles. Vous pouvez le configurer comme un crochet de pré-commission directement dans votre dépôt ou profiter de Gitleaks-Action pour l’intégrer de manière transparente dans vos flux de travail GitHub. Il s’agit de trouver la configuration qui vous convient le mieux.
Parlons maintenant des commandes offertes par Gitleaks. Tout d’abord, nous avons la commande “detect”. Cette commande puissante vous permet d’analyser les dépôts, les répertoires et les fichiers individuels. Que vous travailliez sur votre propre machine ou dans un environnement de CI, Gitleaks vous couvre. Il veille à ce qu’aucun secret ne passe à travers les mailles du filet.
Mais ce n’est pas tout. Gitleaks propose également la commande “protect”. Cette commande analyse les changements explicitement non validés dans vos dépôts Git. Elle agit comme votre dernière ligne de défense, empêchant les secrets d’être livrés par inadvertance. Il s’agit d’une mesure de protection qui permet à votre code de rester propre et sécurisé.
Tines, un nom de confiance dans l’industrie, sponsorise Gitleaks. Grâce à leur soutien, Gitleaks continue d’évoluer et de s’améliorer, vous offrant les meilleures capacités de détection de secrets.
Alors, 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 dépôts
Scanner de sécurité des dépôts
Le repo security scanner est un outil de ligne de commande inestimable conçu pour aider à l’identification des données sensibles commises par inadvertance, telles que les mots de passe, les jetons, les clés privées et autres secrets, au sein de votre dépôt Git.
Ce puissant outil vous permet de détecter et de corriger de manière proactive les failles de sécurité potentielles résultant de l’inclusion involontaire d’informations confidentielles dans votre base de code. En utilisant le Repo Security Scanner, vous pouvez garantir l’intégrité de votre dépôt et protéger vos données sensibles contre tout accès non autorisé.
Repo Security Scanner explore sans effort l’ensemble de l’historique du référentiel et présente rapidement des résultats d’analyse complets. En effectuant des analyses approfondies, il vous permet d’identifier de manière proactive et de traiter rapidement les vulnérabilités potentielles en matière de sécurité qui peuvent résulter de secrets exposés dans les logiciels libres.
Git Guardian
GitGuardianest 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 à des secrets exposés tels que les jetons d’API, les certificats de sécurité, les identifiants de base de données, etc.
GitGuardian permet aux équipes d’appliquer des politiques de sécurité au code privé et public et à d’autres sources de données.
Les principales caractéristiques de GitGuardian sont les suivantes ;
- L’outil permet de trouver des informations sensibles, telles que des secrets dans le code source privé,
- Identifier et corriger les fuites de données sensibles sur GitHub public.
- Il s’agit d’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 la quasi-totalité des informations sensibles à risque.
- Des techniques sophistiquées de comparaison de modèles qui améliorent le processus de découverte et l’efficacité.
Conclusion
J’espère que cela vous donne une idée de la façon de trouver des données sensibles dans le dépôt GitHub. Si vous utilisez AWS, consultez cet article pour analyser la sécurité et les erreurs de configuration d’AWS. Restez à l’écoute pour découvrir d’autres outils passionnants qui amélioreront votre vie professionnelle. Bon codage, et gardez vos secrets bien au chaud ! 🔒