0Pricing
DevOps Bootcamp · Pelajaran

Keamanan Dependensi dan Rantai Pasokan (SCA)

Lindungi alur kerja Anda dari paket pihak ketiga yang rentan menggunakan Software Composition Analysis, Dependabot, peninjauan dependensi, dan aksi yang dipatok versinya.

Keamanan Dependensi dan Rantai Pasokan (SCA) adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Risiko Rantai Pasokan

Aplikasi modern sebagian besar dibangun dari dependensi pihak ketiga. Satu paket rentan yang berada jauh di dalam pohon dependensi Anda dapat membahayakan seluruh aplikasi.

Inilah risiko rantai pasokan perangkat lunak, dan mengamankannya merupakan bagian inti dari DevSecOps.

Apa Itu SCA?

Analisis Komposisi Perangkat Lunak (SCA) memindai dependensi proyek Anda dan membandingkannya dengan basis data kerentanan yang diketahui (CVE).

Berbeda dari SAST, yang memeriksa kode Anda, SCA berfokus pada pustaka yang Anda impor.

  • Mendeteksi versi yang diketahui rentan
  • Menandai lisensi yang berisiko atau tidak kompatibel
  • Menyarankan versi pemutakhiran yang aman

Peringatan Dependabot

GitHub menyediakan Dependabot, yang terus-menerus memindai berkas manifes Anda dan memberikan peringatan ketika suatu dependensi memiliki kerentanan yang diketahui.

Anda dapat mengaktifkannya di Setelan > Keamanan kode dan analisis. Peringatan muncul di tab Keamanan bersama tingkat keparahannya.

Pembaruan Dependensi Otomatis

Dependabot juga dapat membuka permintaan tarik yang secara otomatis memperbarui dependensi rentan. Konfigurasikan dengan berkas dependabot.yml.

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

Peninjauan Dependensi dalam PR

dependency-review-action dijalankan pada permintaan tarik dan memblokir penggabungan jika PR memperkenalkan dependensi dengan kerentanan yang diketahui.

Hal ini memindahkan pemeriksaan keamanan ke tahap awal, sehingga paket berisiko terdeteksi sebelum mencapai cabang utama.

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

Menetapkan Versi Aksi

Aksi yang Anda panggil dalam alur kerja juga merupakan dependensi. Mereferensikan @v4 berarti mempercayai pihak yang mengendalikan tag tersebut.

Untuk keamanan maksimum, tetapkan aksi ke SHA komit lengkap yang tidak dapat diubah.

  - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

Pentingnya Berkas Pengunci

Berkas pengunci seperti package-lock.json atau poetry.lock menetapkan versi dependensi dan hash yang tepat.

Di CI, gunakan perintah instalasi deterministik agar pembuatan dapat direproduksi dan tidak diam-diam mengambil versi yang telah dimanipulasi.

  - name: Install (locked)
    run: npm ci

Membuat SBOM

Daftar Komponen Perangkat Lunak (SBOM) adalah inventaris lengkap setiap komponen dalam pembuatan Anda. SBOM semakin sering diwajibkan untuk kepatuhan.

GitHub dapat mengekspor SBOM dalam format SPDX, dan alat seperti Syft dapat membuatnya di dalam CI.

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

Kepatuhan Lisensi

SCA juga mencakup risiko lisensi. Menyertakan pustaka berlisensi GPL ke dalam produk berpemilik dapat menimbulkan kewajiban hukum.

Konfigurasikan pemindai Anda untuk menandai atau menolak lisensi yang tidak diizinkan agar masalah muncul di CI, bukan saat audit.

Menggagalkan Pembuatan

Deteksi hanya berguna jika dapat menghentikan kode yang buruk. Konfigurasikan gerbang SCA untuk menggagalkan alur kerja ketika kerentanan kritis ditemukan.

Tetapkan ambang tingkat keparahan agar temuan berisiko rendah memunculkan peringatan, sedangkan temuan kritis memblokir penggabungan atau penerapan.

    with:
      fail-on-severity: critical

Pemantauan Berkelanjutan

Kerentanan baru diumumkan setiap hari, sehingga pemindaian satu kali tidaklah cukup. Jalankan SCA berdasarkan jadwal dan pada setiap PR.

Dengan demikian, paket yang aman saat digabungkan tetapi kemudian menjadi rentan dapat terdeteksi.

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

Pemeriksaan Cepat

Uji pemahaman Anda tentang keamanan rantai pasokan.

Ringkasan

Anda telah mempelajari cara mengamankan rantai pasokan perangkat lunak.

  • SCA memindai dependensi untuk menemukan kerentanan yang diketahui
  • Dependabot memberikan peringatan dan memperbarui paket berisiko secara otomatis
  • Peninjauan dependensi memblokir PR yang berisiko
  • Tetapkan aksi ke SHA, gunakan berkas pengunci, dan buat SBOM

Jika digabungkan dengan SAST dan pengelolaan rahasia, hal ini melengkapi alur kerja yang aman.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Keamanan Dependensi dan Rantai Pasokan (SCA)” gratis?

Ya — teks lengkap “Keamanan Dependensi dan Rantai Pasokan (SCA)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Keamanan Dependensi dan Rantai Pasokan (SCA)”?

Lindungi alur kerja Anda dari paket pihak ketiga yang rentan menggunakan Software Composition Analysis, Dependabot, peninjauan dependensi, dan aksi yang dipatok versinya. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Keamanan Dependensi dan Rantai Pasokan (SCA)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Praktik Terbaik Keamanan dalam CI/CD
  2. Pengelolaan Rahasia dengan GitHub
  3. Pengujian Keamanan Aplikasi Statis (SAST)
  4. Keamanan Dependensi dan Rantai Pasokan (SCA)
← Kembali ke DevOps Bootcamp