Pour un projet informatique, l'intégration continue permet de faire des opérations automatiquement: tests, construction de binaires, déploiement. Le déploiement et certains tests utilisent des éléments secrets (clés privées, mots de passe) tandis que d'autres ne nécessitent aucune information privée.
Lors du développement, les tests sont utilisés pour contrôler la qualité de modifications proposées au logiciel. Si les propositions externes sont permises (développement ouvert), L'outil d'intégration continue se retrouve à exécuter le code ainsi soumis, potentiellement malveillant. Celui-ci ne doit pas avoir accès aux secrets, sous peine de voir un attaquant les exfiltrer par ce canal.
Les opérations de déploiement et de tests avec secrets sont donc réservées au code approuvé et seuls les tests n'utilisant pas de secrets peuvent être réalisés sur les propositions externes. De plus, les secrets utilisés dans le premier cas ne doivent pas être exposés dans le second.
Pendant une semaine, Travis CI exposait des secrets aux code qui n'était pas sensé y avoir accès, mettant en danger les nombreux projets utilisant cet outil.