Contexte et objectifs
Le chercheur en sécurité Ben Zimmermann a ciblé Gitee, la plateforme de code source publique la plus utilisée en Chine. L’objectif était de mesurer l’exposition de secrets dans les dépôts publics, un problème déjà documenté sur GitHub mais peu étudié sur Gitee à cause de ses API limitées. Le scan a porté sur 7 256 531 dépôts et a abouti à la découverte de 26 400 identifiants vérifiés comme actifs.
Méthodologie d'énumération
Pour contourner l’absence de pagination dans l’API officielle, l’équipe a combiné plusieurs sources : le point d’accès
GET /api/v5/search/users?q= avec des préfixes de trois caractères, le flux « Explore », les pages d’utilisateurs et de projets étoilés, ainsi que le widget Elasticsearch interne (so.gitee.com/v1/search/widget/wong1slagnlmzwvsu5ya). Le widget limite chaque requête à 200 résultats ; le chercheur a fractionné les réponses par langue puis par licence pour dépasser ce plafond. Après déduplication, le corpus final contenait plus de sept millions de dépôts uniques.Architecture du pipeline de scan
Le traitement a été orchestré sur Modal, une plateforme serverless. Le script Python a découpé le corpus en 50 lots d’environ 150 000 dépôts et a lancé 350 conteneurs simultanément. Chaque conteneur a cloné le dépôt via SSH, puis exécuté TruffleHog et Kingfisher en parallèle. Le coût total s’est élevé à 3 097,64 $, entièrement couvert par un crédit de 5 000 $ fourni par Modal. Le temps d’exécution cumulé a été d’environ un mois.
Analyse des résultats
Les deux scanners ont détecté des secrets complémentaires : TruffleHog a identifié la majorité des paires d’accès Alibaba Cloud (9 428 contre 993 pour Kingfisher), tandis que Kingfisher a trouvé la plupart des clés OpenAI, DeepSeek, HuggingFace et Zhipu. La fréquence la plus élevée était celle des paires Alibaba Cloud, présentes dans environ 1 dépôt sur 766. Tous les secrets ont été validés en temps réel via les API des fournisseurs, ce qui exclut les faux positifs basés uniquement sur la forme.