Den kæde, der tager kode fra kildekodeplatformen og lægger den i produktion, har adgang til produktion. Den, der kan ændre kæden, kan ændre det, der kører. Gennemgangen ser derfor på kæden som en adgangsvej: hvem kan ændre kode og kæde, hvor ligger hemmelighederne, og efterlader hver udrulning et spor?
Artiklen handler om driftens opsætning af kæden. Softwareproducentens pligter over for kunderne er et andet emne, beskrevet under krav til softwareprodukter efter Cyber Resilience Act.
OWASP’s ti risici som disposition
OWASP har en liste over ti risici i kæder til kontinuerlig integration og udrulning. Vi har læst titlerne og bruger dem som disposition. Risikobeskrivelserne på OWASP’s enkelte sider har vi ikke læst, og forklaringerne nedenfor er vores egne, ikke OWASP’s ord.
Titlerne er, oversat:
- CICD-SEC-1 utilstrækkelig styring af flowet,
- CICD-SEC-2 utilstrækkelig identitets- og adgangsstyring,
- CICD-SEC-3 misbrug af afhængighedskæden,
- CICD-SEC-4 forgiftet udførelse af kæden,
- CICD-SEC-5 utilstrækkelig adgangskontrol pr. kæde,
- CICD-SEC-6 utilstrækkelig håndtering af loginoplysninger,
- CICD-SEC-7 usikker systemopsætning,
- CICD-SEC-8 ustyret brug af tredjepartstjenester,
- CICD-SEC-9 utilstrækkelig validering af artefakters integritet,
- CICD-SEC-10 utilstrækkelig logning og synlighed.
Listen er en disposition. Det er ikke en målestok med indstillinger, og den rangerer ikke risiciene efter, hvor alvorlige de er i jeres miljø.
Andre målestokke
Den europæiske gennemførelsesforordning 2024/2690 har to relevante krav i sit bilag. Punkt 6.2.2, litra c, siger, at der fastsættes sikkerhedskrav vedrørende udviklingsmiljøer, og i litra d processer til sikkerhedstest i hele udviklingsprocessen. Kravene gælder de digitale tjenesteudbydere, forordningen nævner. For andre er de en målestok efter vores tolkning.
Ifølge CISA og NSA i AA23-278A kan standardloginoplysninger på værktøjer til softwareudrulning blive misbrugt. Det gør standardkonti på kædens værktøjer til et selvstændigt kontrolpunkt. CISA’s liste er ikke prioriteret.
Flow og godkendelse
Det første spørgsmål er, om kode kan nå produktion uden en anden persons godkendelse. Gennemgangen læser reglerne for beskyttede grene i kildekodeplatformen: Kræves der gennemsyn, før kode flettes ind? Kan administratorer gå uden om reglen? Og kan kæden startes manuelt med en vilkårlig version?
Det er praksis, ikke en læst regel, at produktionsudrulning bør kræve mere end én person. Gennemgangen kan konstatere, om det er sådan, og om undtagelserne er beskrevet.
Identiteter og rettigheder
Det andet spørgsmål er, hvem der har adgang. Udtrækket er en liste over brugere og grupper med rettigheder i kildekodeplatformen og i kædens værktøj, med deres rolle. Typiske fund er tidligere medarbejdere og konsulenter, der stadig har adgang, personlige konti uden MFA og for mange administratorer.
Kæden har også sine egne identiteter: de konti, kæden bruger til at nå servere, skyer og pakkeregistre. Hvad hver af dem må, er lige så vigtigt som personernes rettigheder.
Hemmeligheder
Det tredje spørgsmål er, hvor kædens hemmeligheder ligger. Ligger de i kædens eget hemmelighedslager, eller står de i koden eller i opsætningsfiler? Hvem kan læse dem, og kan en ændring i kæden få dem skrevet ud i loggen?
En gennemgang kan søge i kodens historik efter hemmeligheder, der er lagt ind ved en fejl. En hemmelighed, der én gang har stået i historikken, skal skiftes. Det er praksis, og den sletter sig ikke ved at blive fjernet fra den nyeste version.
Tredjepart og afhængigheder
Kæden henter ofte komponenter, udvidelser og billeder fra andre. OWASP’s punkt 3 og 8 handler om det. Kontrollen er, om der er en liste over de tredjepartstjenester og udvidelser, kæden bruger, og hvem der har godkendt dem.
Kædens maskiner
Kæden kører sine opgaver på maskiner, der bygger og afprøver koden. Er de delt mellem projekter, kan en opgave i ét projekt efterlade filer eller hemmeligheder, som en opgave i et andet kan læse. Er de faste og kører længe, kan de samle sig rettigheder og gamle filer op. Kontrollen er at se, om maskinerne er delt eller dedikerede, om de startes forfra for hver opgave, og hvilke net de kan nå. Det er praksis, og det hører under OWASP’s titel om usikker systemopsætning.
Spor
Det sidste spørgsmål er, om hver udrulning kan føres tilbage til en ændring, en person og en godkendelse. Loggen fra kædens værktøj og kildekodeplatformens revisionslog skal vise det. Hvor længe loggene gemmes, er en indstilling, der kan læses.
Hvad det kræver, og hvad det koster at lade være
Det kræver læseadgang til kildekodeplatformen og kædens værktøj og en person, der kan forklare, hvordan kæden er bygget. Udviklerne kan som regel trække det meste selv.
Uden kontrollen er kæden en adgang til produktion, som ingen gennemgang af servere eller lejer ser. En konto med ret til at ændre kæden kan lægge hvad som helst i drift, og med en hemmelighed fra historikken kan det ske uden om kæden.
Det skal I lade være med
- At lade administratorer gå uden om reglerne for beskyttede grene som standard · gør undtagelsen synlig.
- At gemme hemmeligheder i opsætningsfiler i koden · brug kædens hemmelighedslager.
- At regne en hemmelighed for sikker, når den er fjernet fra nyeste version · skift den.
Det skal gennemgangen kunne vise
- ☐ Reglerne for beskyttede grene og hvem der kan gå uden om dem.
- ☐ Brugere og identiteter med rettigheder i platform og kæde.
- ☐ Hvor kædens hemmeligheder ligger, og hvem der kan læse dem.
- ☐ En liste over tredjepartstjenester og udvidelser i kæden.
- ☐ En udrulning ført tilbage til ændring, person og godkendelse.
Kilder
- OWASP, Top 10 CI/CD Security Risks, projektsiden, læst 13. november 2026.
- Gennemførelsesforordning (EU) 2024/2690, bilaget, punkt 6.2.2, læst 13. november 2026.
- CISA og NSA, AA23-278A, Top Ten Cybersecurity Misconfigurations (5. oktober 2023), punkt 1, læst 13. november 2026.
Senest gennemgået: november 2026.
Næste skridt
Træk listen over brugere med rettigheder i kildekodeplatformen og kædens værktøj, og marker dem, der ikke længere arbejder hos jer.
Læs også: Infrastruktur som kode · Integrationer mellem systemer
→ Kontakt · Tlf. 70 13 63 23 · Teknisk sikkerhedsgennemgang hos Nielco IT

