CI/CD geheime blootstelling

CI/CD geheime blootstelling

Een debug-echo plaatst uw implementatiesleutel in een openbaar buildlogboek.

Wat is CI/CD geheime blootstelling?

Bouwpijplijnen verwerken geheimen en bouwlogboeken zijn openbaarder dan werkstroomauteurs aannemen. Een foutopsporingsstap die een omgevingsgeheim weerspiegelt, drukt dit in platte tekst af. Dezelfde workflow kent vaak een tweede probleem: een titel van een pull-aanvraag die rechtstreeks in een run-stap wordt geïnterpoleerd, waar deze als shell wordt uitgevoerd. Je kopieert een implementatiesleutel uit openbare actielogboeken en duwt ermee, verwijdert vervolgens de echo, stopt met het interpoleren van niet-vertrouwde invoer, zet acties van derden vast door SHA vast te leggen en roteert de sleutel, omdat het maskeren van toekomstige logboeken niets ongedaan maakt.

Wat je leert in CI/CD geheime blootstelling

CI/CD geheime blootstelling — Trainingsstappen

  1. Openbare buildlogboeken

    Vellmoor bouwt zijn edge-transcoder in de open lucht, zodat de pijplijn van de repository openbaar is, en dat geldt ook voor alles wat er wordt afgedrukt. Bob heeft geen account, uitnodiging of enkele exploit nodig om te starten. Hij opent de loopgeschiedenis en leest.

  2. Open een releaserun

    Integratie draait alleen op bouwen en testen. De Release-workflow is interessant, omdat een release de productie moet bereiken en voor het bereiken van de productie een referentie nodig is. Bob opent de meest recente releaserun.

  3. Vouw de implementatiestap uit

    De run is een lijst met stappen, elk samengevouwen. Afrekenen en bouwen zijn routine. De stap die Bob wil is degene die met de productie praat, want daar moet een credential worden gebruikt.

  4. Het token, in platte tekst

    De stap gaat open en de identificatie is er gewoon. Iemand heeft een regel toegevoegd om het token af ​​te drukken terwijl hij een kapotte implementatie achtervolgde, de implementatie werd gerepareerd en de lijn bleef bestaan. Bob hoeft niets te kraken. Hij selecteert de waarde en kopieert deze.

  5. Hoe lang is het al afgedrukt

    Eén logregel is één kopie. Bob gaat terug naar de rungeschiedenis en zoekt in de uitvoer van elke run naar het voorvoegsel van het token om erachter te komen hoe lang dit al gebeurt. Het antwoord bepaalt hoeveel mensen het al vast kunnen houden.

  6. Wat het token kan bereiken

    Voordat hij deze gebruikt, vraagt Bob aan de implementatiedienst van Vellmoor wat deze inloggegevens mogen doen. Hij roept het eindpunt van de omgeving aan met het token in een autorisatieheader. Het antwoord komt zonder enige uitdaging terug en beperkt zich niet tot een testomgeving.

  7. Verzend zijn eigen build

    Bob hoeft de repository niet aan te raken, een pull-verzoek te openen of op een beoordeling te wachten. Het maakt de implementatieservice niet uit waar een afbeelding vandaan komt, alleen dat de beller een geldig token heeft. Hij richt de productie op een afbeelding in zijn eigen register.

  8. Kennis check

    Je hebt zojuist een productiereferentie gezien die uit een buildlogboek werd opgehaald zonder dat er sprake was van een exploit. Ontdek hoe het daar terecht is gekomen.

  9. De waarschuwing komt binnen

    U bent eigenaar van de CI-workflows van Vellmoor. Vanochtend heeft platformbeveiliging beide helften van een slechte nacht gehad: een referentie gevonden in publieke output, en een productie-implementatie die niemand had gepland.

  10. Bekijk het op uw eigen pijplijn

    Meldingen van een lek zijn één ding. U opent de run waarop de waarschuwing wijst, om te zien wat uw pijplijn daadwerkelijk heeft gepubliceerd.

Dekking van beveiligingsframeworks

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