Avec le service gratuit « Has My Secret Leaked? », vérifiez si vos secrets ont fuité sur GitHub !
Un outil baptisé Has My Secret Leaked permet de vérifier si vos secrets ont été trouvés sur un dépôt GitHub, sans pour autant que vous ayez besoin d'indiquer vos secrets sur ce site. Ce service de vérification sécurisé mérite d'être connu et il pourrait empêcher certains incidents de sécurité.
Si vous avez l'habitude de publier des projets sur GitHub, êtes-vous certain de ne pas avoir laissé trainer un secret dans l'un de vos fichiers ? Probablement, non. Par secret, j'entends un mot de passe, une clé d'accès à un API, une clé privée, etc... Tout ce qui correspond à des informations sensibles et qui pourraient être utiles aux cybercriminels.
GitGuardian a eu l'excellente idée d'ouvrir à tout le monde son service en ligne gratuit baptisé "Has My Secret Leaked?", que l'on peut traduire en "Mon secret a-t-il été divulgué ?", et qui va permettre de vérifier si vos secrets sont à la portée de tout le monde. Pour cela, l'outil a ingéré une quantité de données importante, notamment en piochant dans l'historique des dépôts.
GitGuardian précise : "Grâce à l'accès à la vaste base de données de GitGuardian, qui contient plus de 20 millions d'enregistrements de secrets ayant fait l'objet d'une fuite détectée, y compris leur emplacement sur GitHub, les utilisateurs peuvent facilement interroger et protéger leurs informations sensibles. Cette base de données est compilée à partir de l'analyse de milliards de fichiers de code, de commits, de gists GitHub et de problèmes depuis 2017."
Effectuez une vérification sans divulguer votre secret
La façon dont le service effectue la vérification est très intéressante puisque vous n'avez pas besoin de copier-coller votre secret sur le site de GitGuardian : ce qui est rassurant.
À la place, vous devez utiliser la ligne de commande pour générer un hash de votre secret, et une partie du hash est transmise au serveur de GitGuardian pour effectuer l'analyse. En effet, GitGuardian a intégré un mécanisme pour faire en sorte que votre secret ne soit jamais transmis en clair à leur serveur et qu'ils ne puissent pas en avoir connaissance, tout en permettant la vérification dans l'énorme base de données.
Le schéma présent sur la page de l'outil est assez explicite et montre bien ce mécanisme. Un simple script Python de quelques lignes peut vous permettre d'utiliser ce service en toute sécurité et de faire vos vérifications.
Si vous avez plusieurs projets sur GitHub, il peut s'avérer utile de prendre du temps pour vérifier si vos secrets ont leakés. Si ce n'est pas le cas, tant mieux. Sinon, vous devez faire le nécessaire au plus vite : cette information pourrait tomber entre les mains d'un pirate et être exploitée.