Manajemen Dependensi yang Aman
Kunci versi dependensi, pantau CVE, gunakan file lock, dan otomatisasi SCA dalam pipeline CI.
Manajemen Dependensi yang Aman adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Mengapa Dependensi Berisiko
Aplikasi modern mengimpor ratusan paket pihak ketiga. Setiap dependensi — dan dependensi transitifnya — memperluas permukaan serangan. Kerentanan pada pustaka populer (seperti Log4Shell pada Log4j) dapat mengekspos ribuan aplikasi secara bersamaan.
Berkas Pengunci dan Penguncian Versi
Berkas pengunci (package-lock.json, yarn.lock, Pipfile.lock) mengunci setiap dependensi ke versi pasti, termasuk dependensi transitif. Simpan berkas pengunci ke dalam pengendalian versi. Hal ini memastikan rakitan yang dapat direproduksi dan mencegah pembaruan versi yang tidak disengaja sehingga menimbulkan kerentanan.
Analisis Komposisi Perangkat Lunak (SCA)
Alat SCA memindai pohon dependensi terhadap basis data CVE untuk mengidentifikasi paket yang rentan. OWASP Dependency-Check, Snyk, dan GitHub Dependabot secara otomatis mendeteksi kerentanan yang telah diketahui dan menyarankan versi yang telah ditambal beserta panduan perbaikannya.
Pembaruan Dependensi Otomatis
Dependabot dan Renovate Bot secara otomatis membuka permintaan penggabungan ketika versi baru yang tidak merusak tersedia. Keduanya memprioritaskan pembaruan keamanan. Konfigurasikan penggabungan otomatis untuk pembaruan perbaikan dengan integrasi berkelanjutan yang berhasil agar dependensi tetap terbaru dengan upaya manual minimal.
Mengevaluasi Dependensi Baru
Sebelum menambahkan dependensi, periksa jumlah unduhan, aktivitas commit terbaru, jumlah masalah terbuka, kompatibilitas lisensi, dan riwayat CVE yang diketahui. Pilih paket yang terawat baik dengan proses penanganan keamanan yang aktif daripada alternatif yang tidak terawat.
Risiko Dependensi Transitif
Dependensi langsung Anda dapat menarik dependensinya sendiri. Insiden event-stream: penyerang berhasil mengambil alih dependensi transitif yang digunakan oleh jutaan paket. Audit seluruh pohon dependensi, bukan hanya dependensi langsung.
Registri Paket Privat
Serangan kebingungan dependensi dilakukan dengan menerbitkan paket berbahaya ke registri publik menggunakan nama yang sama dengan paket internal. Kurangi risikonya dengan nama paket yang memiliki cakupan, autentikasi registri privat, dan daftar izin registri yang disetujui dalam .npmrc atau pip.conf.
Keamanan Rantai Pasok: SBOM
Software Bill of Materials (SBOM) adalah inventaris semua komponen dalam perangkat lunak Anda yang dapat dibaca mesin. Buat SBOM dengan Syft atau CycloneDX. SBOM memungkinkan penilaian dampak kerentanan secara cepat ketika CVE baru diterbitkan—identifikasi versi yang terdampak dalam hitungan menit.
Kepatuhan Lisensi
Lisensi OSS menetapkan kewajiban tertentu. GPL mungkin mengharuskan pengungkapan kode sumber. MIT dan Apache 2.0 bersifat permisif. FOSSA dan TLDR-Legal membantu menilai kompatibilitas lisensi. Sertakan pemindaian lisensi dalam CI untuk mencegah masuknya GPL secara tidak sengaja ke produk komersial.
Verifikasi Integritas
Subresource Integrity (SRI) untuk skrip yang dihosting di CDN menggunakan hash kriptografis dalam atribut integrity. npm package.json menyertakan bidang integrity. Verifikasi nilai pemeriksaan saat mengunduh paket dalam CI untuk mendeteksi manipulasi rantai pasok.
Menjaga Dependensi Tetap Mutakhir
Terapkan tambalan keamanan dalam 24–48 jam setelah publikasi CVE untuk kerentanan kritis. Gunakan skor CVSS dan data eksploitabilitas untuk menentukan prioritas. Dependensi yang telah ditambal tetapi menimbulkan perubahan yang merusak kompatibilitas tetap lebih baik daripada kerentanan yang dapat dieksploitasi di lingkungan produksi.
Uji Pemahaman
Apa yang dimaksud dengan serangan kebingungan dependensi?
Ringkasan
Manajemen dependensi yang aman memerlukan penguncian versi dalam berkas kunci, menjalankan pemindaian SCA dalam CI/CD, mengotomatiskan pembaruan tambalan, membuat SBOM untuk penilaian dampak, dan mengevaluasi postur keamanan dependensi baru sebelum digunakan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Manajemen Dependensi yang Aman” gratis?
Ya — teks lengkap “Manajemen Dependensi yang Aman” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Manajemen Dependensi yang Aman”?
Kunci versi dependensi, pantau CVE, gunakan file lock, dan otomatisasi SCA dalam pipeline CI. Kamu berlatih Cyber Security Academy 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 Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy 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 2 dari 4.
Berapa lama pelajaran “Manajemen Dependensi yang Aman” 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 Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy 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
- Validasi Input dan Pengodean Output
- Manajemen Dependensi yang Aman
- OWASP ASVS: Standar Verifikasi Keamanan Aplikasi
- Teknik Peninjauan Kode yang Aman