DevOps-bootcamp · Lektion

Säkerhet för beroenden och leveranskedjan (SCA)

Skydda Er pipeline mot sårbara tredjepartspaket med Software Composition Analysis, Dependabot, beroendegranskning och låsta actions-versioner.

Lektion 4 av 413 steg

Säkerhet för beroenden och leveranskedjan (SCA) är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Risken i leveranskedjan

Moderna applikationer byggs till största delen av beroenden från tredje part. Ett enda sårbart paket långt ned i beroendeträdet kan äventyra hela appen.

Detta är risken i programvarans leveranskedja, och att säkra den är en central del av DevSecOps.

Vad är SCA?

Software Composition Analysis (SCA) genomsöker projektets beroenden och jämför dem med databaser över kända sårbarheter (CVE:er).

Till skillnad från SAST, som granskar er kod, fokuserar SCA på biblioteken som ni importerar.

  • Identifierar versioner med kända sårbarheter
  • Markerar riskfyllda eller inkompatibla licenser
  • Föreslår säkra uppgraderingsversioner

Dependabot-varningar

GitHub tillhandahåller Dependabot, som kontinuerligt genomsöker era manifestfiler och skapar varningar när ett beroende har en känd sårbarhet.

Det aktiveras under Settings > Code security and analysis. Varningarna visas på fliken Security med allvarlighetsgrader.

Automatiska beroendeuppdateringar

Dependabot kan även skapa pull requests som automatiskt uppdaterar sårbara beroenden. Konfigurera det med filen dependabot.yml.

version: 2
updates:
  - package-ecosystem: npm
    directory: /
    schedule:
      interval: weekly

Beroendegranskning i PR:er

dependency-review-action körs på pull requests och blockerar sammanslagningen om en PR introducerar ett beroende med en känd sårbarhet.

Detta flyttar säkerheten åt vänster genom att fånga upp riskfyllda paket innan de når huvudgrenen.

  - name: Dependency Review
    uses: actions/dependency-review-action@v4
    with:
      fail-on-severity: high

Låsa action-versioner

De actions som ni anropar i ett arbetsflöde är själva beroenden. Att referera till @v4 innebär att ni litar på den som kontrollerar taggen.

För maximal säkerhet ska actions låsas till en fullständig commit SHA, som inte kan ändras.

  - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

Lockfiler är viktiga

En lockfil (som package-lock.json eller poetry.lock) låser exakta beroendeversioner och hashvärden.

I CI ska ni använda ett deterministiskt installationskommando så att byggen kan återskapas och inte omärkligt hämtar en manipulerad version.

  - name: Install (locked)
    run: npm ci

Generera en SBOM

En programvaruförteckning (SBOM) är en fullständig inventering av varje komponent i ert bygge. Den krävs allt oftare för att uppfylla regelverk.

GitHub kan exportera en SBOM i SPDX-format, och verktyg som Syft kan generera en i CI.

  - name: Generate SBOM
    uses: anchore/sbom-action@v0
    with:
      format: spdx-json

Licensefterlevnad

SCA omfattar även licensrisk. Att ta in ett GPL-licensierat bibliotek i en proprietär produkt kan skapa juridiska skyldigheter.

Konfigurera er skanner så att den markerar eller nekar otillåtna licenser, så att problemet upptäcks i CI i stället för vid en revision.

Stoppa bygget vid fel

Identifiering hjälper bara om den stoppar dålig kod. Konfigurera SCA-grindar så att pipelinen misslyckas när en kritisk sårbarhet upptäcks.

Ange en tröskel för allvarlighetsgrad så att fynd med låg risk ger en varning medan kritiska fynd blockerar sammanslagningen eller driftsättningen.

    with:
      fail-on-severity: critical

Kontinuerlig övervakning

Nya sårbarheter offentliggörs dagligen, så en engångsgenomsökning räcker inte. Kör SCA enligt ett schema och vid varje PR.

Detta fångar upp paket som var säkra när de slogs samman men senare blev sårbara.

on:
  schedule:
    - cron: '0 6 * * 1'

Snabbkontroll

Testa er förståelse av säkerhet i leveranskedjan.

Sammanfattning

Ni har lärt er att säkra programvarans leveranskedja.

  • SCA genomsöker beroenden efter kända sårbarheter
  • Dependabot varnar för och uppdaterar riskfyllda paket automatiskt
  • Beroendegranskning blockerar riskfyllda PR:er
  • Lås actions till SHA-värden, använd lockfiler och generera en SBOM

Tillsammans med SAST och hantering av hemligheter gör detta pipelinen komplett ur säkerhetssynpunkt.

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Säkerhet för beroenden och leveranskedjan (SCA)” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Säkerhet för beroenden och leveranskedjan (SCA)”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Säkerhet för beroenden och leveranskedjan (SCA)”?

Skydda Er pipeline mot sårbara tredjepartspaket med Software Composition Analysis, Dependabot, beroendegranskning och låsta actions-versioner. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Säkerhet för beroenden och leveranskedjan (SCA)”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Bästa säkerhetspraxis i CI/CD
  2. Hemlighetshantering med GitHub
  3. Statisk säkerhetstestning av applikationer (SAST)
  4. Säkerhet för beroenden och leveranskedjan (SCA)
← Tillbaka till DevOps-bootcamp