La société Truffle Security a publié les résultats d'une analyse des fuites de données d'identification dans les dépôts hébergés sur GitHub. Suite à l'analyse de 224 millions de dépôts contenant 58 milliards de fichiers, 543 000 données d'identification uniques (tokens, clés et mots de passe) toujours actifs ont été identifiées. Ces données d'identification étaient présentes dans les dépôts depuis au moins un an, car l'étude se basait sur un instantané de l'état de GitHub au 7 août de l'année dernière, et la vérification de leur actualité, réalisée par des appels d'API de test, des services web et des hôtes, a été effectuée fin juillet de cette année.
Le temps médian de conservation des données d'identification en accès public est estimé à 784 jours, les clés d'accès les plus anciennes encore actives ayant été datées de 2009. Environ 200 000 données d'identification trouvées ont été ajoutées aux dépôts après l'activation par défaut sur GitHub d'un mécanisme de blocage des fuites de données sensibles et des tokens d'accès, effectuant une vérification lors de l'envoi de requêtes push. Les fuites n'ont pas été reconnues en raison de leur présence dans des formats non pris en charge par la protection mise en place, bien que l'activation directe des filtres ait réduit d'environ deux fois les fuites de données d'identification détectées.
Il s'avère que GitHub détecte avec succès les fuites de tokens vers des services courants tels que GitHub, AWS, Slack, SendGrid, Stripe et GCP, mais ignore les paramètres de connexion de base de données laissés dans le code, les clés d'accès à l'API Google et les clés secrètes. Les paramètres de connexion de base de données et les clés secrètes ne sont pas bloqués par défaut pour éviter les faux positifs. Les clés d'accès à l'API Google ne sont pas bloquées car elles commencent par le préfixe AIzaSy, comme les clés publiques de Google Maps, destinées à l'intégration sur des pages web.
En ce qui concerne les données d'identification trouvées qui se sont révélées non fonctionnelles, la majeure partie d'entre elles concerne des tokens d'accès et des clés liés à des services offrant un mécanisme de révocation. Par exemple, sur 101886 tokens NPM, un seul était valide (0,001 %), parmi 73048 tokens GitHub, 260 étaient valides (0,35 %), et parmi 30437 tokens Hugging Face, 15 étaient valides (0,05 %). Pour les clés Stripe, le taux de survie était de 4 %, pour AWS de 8 %, pour GCP de 8 %, pour Slack de 2 %, et pour GitLab de 0,64 %. À titre de comparaison, parmi 12985 paramètres de connexion à la base de données PostgreSQL, 11465 sont restés actifs (88 %), parmi 2421 paramètres de connexion à MySQL, 1806 étaient actifs (74 %), parmi 126963 comptes de service Google Cloud, 69041 étaient actifs (54 %), parmi 3790 tokens pour Docker Hub, 1244 étaient actifs (33 %), et parmi 22800 clés pour SendGrid, 9189 étaient actives (40 %).
Auparavant, les chercheurs avaient analysé environ 7,5 PB de données pour former des modèles d'IA, diffusés via Hugging Face, et avaient révélé 221 000 identifiants valides.
Source : opennet.ru
