Belajar DevSecOps Engineer - Vulnerability Management Automation
Episode 10 of 28

Belajar DevSecOps Engineer - Vulnerability Management Automation

Scanner yang baik menghasilkan banjir temuan dan banjir itu mematikan program security; di episode ini kalian menyusun pipeline vulnerability management yang utuh — deteksi berkelanjutan, prioritas berbasis EPSS dan KEV, SLA per severity, remediation otomatis via Dependabot/Renovate, hingga verifikasi fix

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Sampai episode ini kalian sudah memasang banyak scanner: SAST, SCA, image scan, IaC scan. Hasil sampingannya pasti: ribuan temuan. Di sinilah banyak program DevSecOps mati bukan karena serangan, melainkan karena alert fatigue — tim kewalahan, semua severity diperlakukan sama, tidak ada yang benar-benar diperbaiki.

Vulnerability management adalah disiplin menjadikan banjir temuan menjadi antrean kerja yang terprioritas dan bisa dituntaskan. Episode ini merancang pipeline lengkapnya: deteksi → prioritas → remediasi otomatis → verifikasi, plus metrik untuk membuktikannya bekerja.

Siklus Hidup Vulnerability Management

100%

Setiap tahap harus punya jawaban tegas:

  1. Deteksi — CI gate untuk kode baru; scan berkala (harian) untuk aset existing. Tanpa scan berkala, CVE baru pada dependency lama tak terdeteksi.
  2. Prioritas — tidak semua CRITICAL layak panik; lihat bagian EPSS di bawah.
  3. Assignment — setiap temuan punya owner (repo owner via CODEOWNERS); temuan tanpa owner = temuan yang akan hidup selamanya.
  4. Remediasi & verifikasi — fix lalu rescan; status hanya berubah setelah scanner konfirmasi bersih.

Masalah CVSS Murni

Praktik umum: "patch semua CRITICAL dulu". Masalahnya, CVSS mengukur severity teoretis, bukan kemungkinan dieksploitasi. Contoh nyata: Log4Shell (CVSS 10.0) dieksploitasi dalam hitungan hari, sementara ribuan CVE lain dengan skor 9.x tidak pernah punya exploit publik sampai bertahun-tahun. Memperlakukan keduanya sama = sumber daya salah alamat.

Prioritas Berlapis

Tiga sinyal yang digabungkan industri modern:

SinyalSumberArti
CVSSNVD/advisory vendorSeberapa parah jika dieksploitasi
EPSSFIRST (epss.cyentia.com)Probabilitas dieksploitasi dalam 30 hari
KEVCISA Known Exploited VulnsSudah dipakai serangan nyata

Aturan prioritas praktis:

Matriks prioritas
KEV listed                      -> P0: patch sekarang, bypass change window
EPSS >= 0.5 + CRITICAL          -> P1: SLA 7 hari
CRITICAL tanpa exploit publik   -> P2: SLA 30 hari
HIGH dengan fix tersedia        -> P3: ikut siklus rilis rutin
Tanpa fix (no patch available)  -> mitigasi compensating control

Query cepat EPSS untuk satu CVE:

Cek skor EPSS
curl -s "https://api.first.org/data/v1/epss?cve=CVE-2024-3400" \
  | jq '.data[0] | {epss, percentile}'

CVE dengan EPSS 0.98 berarti ~98% peluang dieksploitasi bulan ini — perlakukan beda dari CVE CRITICAL dengan EPSS 0.001, meski CVSS-nya mirip.

Remediation Otomatis

Untuk dependency — kategori dengan volume temuan terbesar — otomasilah penuh:

  1. Dependabot/Renovate membuka PR bump versi otomatis saat advisory baru keluar.
  2. CI menjalankan full test suite pada PR tersebut.
  3. Auto-merge dengan syarat: patch/minor update + semua test hijau + tidak ada breaking change flag.
.github/dependabot.yml
version: 2
updates:
  - package-ecosystem: npm
    directory: "/"
    schedule:
      interval: daily
    groups:
      minor-and-patch:
        update-types:
          - "minor"
          - "patch"
    open-pull-requests-limit: 10

Grouping mencegah 30 PR kecil menyerbu repo sekaligus. Untuk auto-merge, tambahkan rule workflow yang menggabung PR Dependabot ketika checks hijau — kombinasi test suite kuat + grouping inilah pengganti keberanian.

Important

Auto-merge aman hanya jika test suite-nya layak dipercaya. Jika coverage test kalian tipis, auto-merge bump versi = deploy kode pihak ketiga tanpa verifikasi. Perkuat test dulu (unit + contract), baru buka kran otomasi.

Untuk image base, pola serupa: rebuild otomatis mingguan (atau saat base image baru) sehingga CVE OS ter-patch tanpa aksi manual — inilah alasan build reproducible dari episode 6 penting.

SLA dan Exception Process

SLA tanpa mekanisme hanya harapan. Praktiknya:

  • SLA per severity tertulis dan diukur (P1: 7 hari, P2: 30 hari, dst.) — angkanya sesuaikan dengan regulasi kalian.
  • Exception berwaktu habis — waiver harus punya expiry dan justifikasi; exception permanen adalah celah yang dilupakan.
  • Escalation otomatis — SLA lewat → tiket naik level → dashboard leadership. Otomasikan lewat workflow engine atau fitur bawaan tool (misal GitHub Security overview).

Metrik yang Menunjukkan Program Sehat

Dua metrik inti yang akan kalian pasang resmi di episode 25:

  • MTTR per severity — median waktu dari deteksi sampai fix terverifikasi.
  • Backlog trend — jumlah temuan open per minggu; turun = sehat, naik = capacity problem.

Satu metrik anti-pola yang wajib dihindari: jumlah temuan total sebagai KPI individu. Begitu metrik ini jadi target, orang akan menekan scanner atau menandai false positive massal — data kalian rusak.

Penutup

Inti yang harus dibawa pulang:

  • Banjir temuan butuh pipeline manajemen: deteksi berkala, prioritas, ownership, remediasi, verifikasi.
  • Prioritas modern = CVSS + EPSS + KEV; KEV langsung P0 tanpa diskusi.
  • Dependabot/Renovate + grouping + auto-merge menutup mayoritas temuan dependency tanpa manusia.
  • Rebuild image berkala menutup gap CVE OS; SLA dan exception harus berwaktu habis.
  • MTTR dan backlog trend adalah denyut nadi program kalian.

Di episode 11 selanjutnya kita masuk wilayah yang tidak bisa dicapai scanner statis mana pun: Runtime Security & Detection — mendeteksi perilaku mencurigakan saat container benar-benar berjalan dengan Falco, drift detection, dan alerting yang tidak membuat tim deaf. Sampai jumpa!

Belajar DevSecOps Engineer - Vulnerability Management Automation | Belajar DevSecOps Engineer