Exposition secrète CI/CD

Exposition secrète CI/CD

Un écho de débogage place votre clé de déploiement dans un journal de build public.

Qu'est-ce que Exposition secrète CI/CD?

Les pipelines de build gèrent les secrets et les journaux de build sont plus publics que ne le supposent les auteurs de workflows. Une étape de débogage qui fait écho à un secret d’environnement l’imprime en texte brut. Le même flux de travail présente souvent un deuxième problème : un titre de demande d'extraction interpolé directement dans une étape d'exécution, où il s'exécute en tant que shell. Vous allez copier une clé de déploiement à partir des journaux d'actions publics et la pousser, puis supprimer l'écho, arrêter d'interpoler les entrées non fiables, épingler les actions tierces en validant SHA et faire pivoter la clé, car le masquage des futurs journaux n'annule rien.

Ce que vous apprendrez dans Exposition secrète CI/CD

Exposition secrète CI/CD — Étapes de la formation

  1. Journaux de build publics

    Vellmoor construit son transcodeur Edge à l'air libre, de sorte que le pipeline du référentiel est public, tout comme tout ce qu'il imprime. Bob n'a pas besoin d'un compte, d'une invitation ou d'un seul exploit pour démarrer. Il ouvre l'historique des courses et lit.

  2. Ouvrir une exécution de version

    L'intégration exécute uniquement la construction et les tests. Le workflow Release est le plus intéressant, car une version doit atteindre la production, et atteindre la production nécessite un identifiant. Bob ouvre la version la plus récente.

  3. Développez l'étape de déploiement

    L'exécution est une liste d'étapes, chacune étant réduite. La vérification et la construction sont routinières. L'étape souhaitée par Bob est celle qui concerne la production, car c'est là qu'une accréditation doit être utilisée.

  4. Le jeton, en texte brut

    L'étape s'ouvre et l'identifiant est simplement là. Quelqu'un a ajouté une ligne pour imprimer le jeton tout en poursuivant un déploiement interrompu, le déploiement a été corrigé et la ligne est restée. Bob n'a rien à craquer. Il sélectionne la valeur et la copie.

  5. Depuis combien de temps est-il imprimé

    Une ligne de journal est une copie. Bob revient à l'historique d'exécution et recherche dans la sortie de chaque exécution le préfixe du jeton, pour savoir depuis combien de temps cela se produit. La réponse détermine combien de personnes pourraient déjà le détenir.

  6. Ce que le jeton peut atteindre

    Avant de l'utiliser, Bob demande au service de déploiement de Vellmoor ce que ces informations d'identification sont autorisées à faire. Il appelle le point de terminaison de l'environnement avec le jeton dans un en-tête Authorization. La réponse revient sans contestation, et elle ne se limite pas à un environnement de test.

  7. Expédier sa propre version

    Bob n'a pas besoin de toucher au référentiel, d'ouvrir une pull request ou d'attendre une révision. Le service de déploiement ne se soucie pas de l'origine d'une image, mais uniquement du fait que l'appelant détient un jeton valide. Il pointe la production vers une image figurant dans son propre registre.

  8. Contrôle des connaissances

    Vous venez de regarder un identifiant de production extrait d'un journal de build sans aucun exploit impliqué. Verrouillez comment il est arrivé là.

  9. L'alerte débarque

    Vous possédez les flux de travail CI de Vellmoor. Ce matin, la sécurité de la plateforme a connu les deux moitiés d'une mauvaise nuit : un identifiant trouvé dans la sortie publique et un déploiement en production que personne n'a planifié.

  10. Voyez-le sur votre propre pipeline

    Les rapports de fuite sont une chose. Vous ouvrez l'exécution des points d'alerte pour voir ce que votre pipeline a réellement publié.

Couverture des référentiels de sécurité

CWE

  • CWE-532 Insertion of Sensitive Information into Log File
  • CWE-540 Inclusion of Sensitive Information in Source Code

MITRE ATT&CK

  • T1552.001 Unsecured Credentials: Credentials In Files

CIS Controls

  • CIS 16 Application Software Security
  • CIS 8 Audit Log Management

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security
  • DE.AE Adverse Event Analysis