CI/CD dengan GitHub Actions & Saluran DevOps · Pelajaran

Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)

Lindungi pipeline anda daripada pakej pihak ketiga yang terdedah menggunakan Analisis Gubahan Perisian, Dependabot, semakan kebergantungan dan tindakan yang dipasak versinya.

Pelajaran 4 daripada 413 langkah

Keselamatan Kebergantungan dan Rantaian Bekalan (SCA) ialah pelajaran CI/CD dengan GitHub Actions & Saluran DevOps percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran CI/CD dengan GitHub Actions & Saluran DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus CI/CD dengan GitHub Actions & Saluran DevOps merangkumi sejumlah 4 pelajaran.

Risiko Rantaian Bekalan

Aplikasi moden kebanyakannya dibina daripada kebergantungan pihak ketiga. Satu pakej yang terdedah kepada kerentanan jauh di dalam pepohon kebergantungan anda boleh menjejaskan keseluruhan aplikasi.

Inilah risiko rantaian bekalan perisian, dan mengamankannya ialah bahagian penting DevSecOps.

Apakah SCA?

Analisis Komposisi Perisian (SCA) mengimbas kebergantungan projek anda dan membandingkannya dengan pangkalan data kerentanan yang diketahui (CVE).

Tidak seperti SAST yang memeriksa kod anda, SCA memberi tumpuan kepada pustaka yang anda import.

  • Mengesan versi yang diketahui terdedah kepada kerentanan
  • Menandai lesen yang berisiko atau tidak serasi
  • Mencadangkan versi naik taraf yang selamat

Amaran Dependabot

GitHub menyediakan Dependabot, yang mengimbas fail manifes anda secara berterusan dan mengeluarkan amaran apabila sesuatu kebergantungan mempunyai kerentanan yang diketahui.

Anda boleh mengaktifkannya dalam Settings > Code security and analysis. Amaran dipaparkan pada tab Security bersama penarafan keterukan.

Kemas Kini Kebergantungan Automatik

Dependabot juga boleh membuka permintaan tarik yang menaik taraf kebergantungan terdedah secara automatik. Konfigurasikannya menggunakan fail dependabot.yml.

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

Semakan Kebergantungan dalam PR

dependency-review-action dijalankan pada permintaan tarik dan menyekat penggabungan jika PR memperkenalkan kebergantungan yang mempunyai kerentanan yang diketahui.

Ini mengalihkan keselamatan ke kiri, dengan mengesan pakej berisiko sebelum pakej tersebut sampai ke cabang utama.

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

Menetapkan Versi Tindakan

Tindakan yang anda panggil dalam aliran kerja juga merupakan kebergantungan. Merujuk kepada @v4 bermakna anda mempercayai pihak yang mengawal teg tersebut.

Untuk keselamatan maksimum, tetapkan tindakan kepada SHA komit penuh yang tidak boleh berubah.

  - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

Kepentingan Fail Kunci

Fail kunci seperti package-lock.json atau poetry.lock menetapkan versi dan cincangan kebergantungan yang tepat.

Dalam CI, gunakan perintah pemasangan yang berketentuan supaya binaan boleh dihasilkan semula dan tidak boleh menarik versi yang telah diusik secara senyap.

  - name: Install (locked)
    run: npm ci

Menjana SBOM

Senarai Bahan Perisian (SBOM) ialah inventori lengkap bagi setiap komponen dalam binaan anda. SBOM semakin diperlukan untuk pematuhan.

GitHub boleh mengeksport SBOM dalam format SPDX, dan alat seperti Syft boleh menjana satu SBOM di dalam CI.

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

Pematuhan Lesen

SCA juga merangkumi risiko lesen. Memasukkan pustaka berlesen GPL ke dalam produk proprietari boleh mewujudkan kewajipan undang-undang.

Konfigurasikan pengimbas anda untuk menandai atau menolak lesen yang tidak dibenarkan supaya isu tersebut muncul dalam CI dan bukannya semasa audit.

Menggagalkan Binaan

Pengesanan hanya berguna jika ia menghentikan kod yang bermasalah. Konfigurasikan gerbang SCA untuk menggagalkan saluran paip apabila kerentanan kritikal ditemui.

Tetapkan ambang keterukan supaya penemuan berisiko rendah hanya mengeluarkan amaran, manakala penemuan kritikal menyekat penggabungan atau penerapan.

    with:
      fail-on-severity: critical

Pemantauan Berterusan

Kerentanan baharu didedahkan setiap hari, jadi satu imbasan sahaja tidak mencukupi. Jalankan SCA mengikut jadual dan juga pada setiap PR.

Ini mengesan pakej yang selamat ketika penggabungan tetapi kemudiannya menjadi terdedah kepada kerentanan.

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

Semakan Pantas

Uji pemahaman anda tentang keselamatan rantaian bekalan.

Ulang Kaji

Anda telah belajar mengamankan rantaian bekalan perisian.

  • SCA mengimbas kebergantungan untuk mencari kerentanan yang diketahui
  • Dependabot memberi amaran dan mengemas kini pakej berisiko secara automatik
  • Semakan kebergantungan menyekat PR yang berisiko
  • Tetapkan tindakan kepada SHA, gunakan fail kunci dan jana SBOM

Apabila digabungkan dengan SAST dan pengurusan rahsia, ini melengkapkan saluran paip yang selamat.

Percuma untuk bermula

Pelajari CI/CD dengan GitHub Actions & Saluran DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)” percuma?

Ya — teks penuh “Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus CI/CD dengan GitHub Actions & Saluran DevOps, tingkat taraf kepada CoddyKit PRO. Kursus CI/CD dengan GitHub Actions & Saluran DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)”?

Lindungi pipeline anda daripada pakej pihak ketiga yang terdedah menggunakan Analisis Gubahan Perisian, Dependabot, semakan kebergantungan dan tindakan yang dipasak versinya. Anda berlatih CI/CD dengan GitHub Actions & Saluran DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan CI/CD dengan GitHub Actions & Saluran DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran CI/CD dengan GitHub Actions & Saluran DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran CI/CD dengan GitHub Actions & Saluran DevOps ini?

Ya. Setiap pelajaran CI/CD dengan GitHub Actions & Saluran DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Amalan Terbaik Keselamatan dalam CI/CD
  2. Pengurusan Rahsia dengan GitHub
  3. Ujian Keselamatan Aplikasi Statik (SAST)
  4. Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)
← Kembali ke CI/CD dengan GitHub Actions & Saluran DevOps