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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CI/CD with GitHub Actions & DevOps Pipelines 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: weeklyPeninjauan 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: highMenetapkan 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@b4ffde65f46336ab88eb53be808477a3936bae11Pentingnya 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 ciMembuat 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-jsonKepatuhan 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: criticalPemantauan 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 CI/CD with GitHub Actions & DevOps Pipelines, upgrade ke CoddyKit PRO. Kursus CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?
Tidak diperlukan pengalaman sebelumnya. CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines ini?
Ya. Setiap pelajaran CI/CD with GitHub Actions & DevOps Pipelines 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
- Praktik Terbaik Keamanan dalam CI/CD
- Pengelolaan Rahasia dengan GitHub
- Pengujian Keamanan Aplikasi Statis (SAST)
- Keamanan Dependensi dan Rantai Pasokan (SCA)