Intensiv DevOps-uddannelse · Lektion

Sikkerhed i afhængigheder og forsyningskæden (SCA)

Beskyt Deres pipeline mod sårbare tredjepartspakker med Software Composition Analysis, Dependabot, dependency review og fastlåste actions.

Lektion 4 af 413 trin

Sikkerhed i afhængigheder og forsyningskæden (SCA) er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Risikoen i softwareforsyningskæden

Moderne applikationer bygges hovedsageligt af tredjepartsafhængigheder. En enkelt sårbar pakke dybt i dit afhængighedstræ kan kompromittere hele appen.

Det er risikoen i softwareforsyningskæden, og sikring af den er en central del af DevSecOps.

Hvad er SCA?

Analyse af softwarekomponenter (SCA) scanner dit projekts afhængigheder og sammenligner dem med databaser over kendte sårbarheder (CVE'er).

I modsætning til SAST, som undersøger din kode, fokuserer SCA på de biblioteker, du importerer.

  • Finder versioner med kendte sårbarheder
  • Markerer risikable eller inkompatible licenser
  • Foreslår sikre opgraderingsversioner

Dependabot-advarsler

GitHub leverer Dependabot, som løbende scanner dine manifestfiler og udsender advarsler, når en afhængighed har en kendt sårbarhed.

Du aktiverer det under Indstillinger > Kodesikkerhed og analyse. Advarsler vises på fanen Security med alvorlighedsgrader.

Automatiske opdateringer af afhængigheder

Dependabot kan også åbne pull requests, der automatisk opdaterer sårbare afhængigheder. Konfigurer det med en dependabot.yml-fil.

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

Gennemgang af afhængigheder i PR'er

dependency-review-action kører på pull requests og blokerer sammenfletningen, hvis en PR introducerer en afhængighed med en kendt sårbarhed.

Det flytter sikkerheden til venstre og opdager risikable pakker, før de når main-grenen.

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

Fastlåsning af actionversioner

De actions, du kalder i en arbejdsgang, er selv afhængigheder. Hvis du refererer til @v4, stoler du på den, der kontrollerer dette tag.

For maksimal sikkerhed skal du fastlåse actions til en fuld commit-SHA, som ikke kan ændres.

  - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

Lockfiler er vigtige

En lockfil (f.eks. package-lock.json eller poetry.lock) fastlåser de nøjagtige versioner og hashes for afhængighederne.

I CI skal du bruge en deterministisk installationskommando, så builds kan genskabes, og en manipuleret version ikke kan hentes ubemærket.

  - name: Install (locked)
    run: npm ci

Generering af en SBOM

En softwarestykliste (SBOM) er en komplet fortegnelse over alle komponenter i dit build. Den bliver i stigende grad krævet af hensyn til compliance.

GitHub kan eksportere en SBOM i SPDX-format, og værktøjer som Syft kan generere en i CI.

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

Licensoverholdelse

SCA dækker også licensrisiko. Hvis du inddrager et GPL-licenseret bibliotek i et proprietært produkt, kan det medføre juridiske forpligtelser.

Konfigurer din scanner til at markere eller afvise ikke-tilladte licenser, så problemet opdages i CI i stedet for ved en revision.

Få buildet til at fejle

Det hjælper kun at opdage problemer, hvis det stopper dårlig kode. Konfigurer SCA-kontroller til at få forløbet til at fejle, når der findes en kritisk sårbarhed.

Angiv en alvorlighedstærskel, så fund med lav risiko udløser en advarsel, mens kritiske fund blokerer sammenfletningen eller udrulningen.

    with:
      fail-on-severity: critical

Kontinuerlig overvågning

Der offentliggøres nye sårbarheder hver dag, så en enkelt scanning er ikke nok. Kør SCA efter en fast tidsplan og på hver PR.

Det fanger pakker, der var sikre på tidspunktet for sammenfletningen, men senere blev sårbare.

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

Hurtigt tjek

Test din forståelse af sikkerhed i softwareforsyningskæden.

Opsummering

Du har lært at sikre softwareforsyningskæden.

  • SCA scanner afhængigheder for kendte sårbarheder
  • Dependabot advarer om og opdaterer automatisk risikable pakker
  • Gennemgang af afhængigheder blokerer risikable PR'er
  • Fastlås actions til SHA'er, brug lockfiler, og generer en SBOM

Kombineret med SAST og håndtering af hemmeligheder giver dette et komplet sikkert forløb.

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Sikkerhed i afhængigheder og forsyningskæden (SCA)” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Sikkerhed i afhængigheder og forsyningskæden (SCA)”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Sikkerhed i afhængigheder og forsyningskæden (SCA)”?

Beskyt Deres pipeline mod sårbare tredjepartspakker med Software Composition Analysis, Dependabot, dependency review og fastlåste actions. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Sikkerhed i afhængigheder og forsyningskæden (SCA)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Bedste praksis for sikkerhed i CI/CD
  2. Håndtering af secrets med GitHub
  3. Static Application Security Testing (SAST)
  4. Sikkerhed i afhængigheder og forsyningskæden (SCA)
← Tilbage til Intensiv DevOps-uddannelse