Cerita ini sering terjadi: sebuah organisasi menganggarkan pentest, memilih vendor, menerima laporan setebal 80 halaman, lalu tim engineering menemukan bahwa isinya ekspor hasil scanner dengan logo diganti. Temuan "critical" ternyata false positive, rekomendasinya generik, dan tidak ada satu pun bukti eksploitasi.
Organisasi itu tidak membeli pentest. Mereka membeli vulnerability scan seharga pentest.
Keduanya bukan barang yang sama
Vulnerability scan adalah proses otomatis. Tool seperti Nessus, OpenVAS, atau Qualys membandingkan versi software dan konfigurasi sistem Anda dengan database celah yang sudah diketahui, lalu mengeluarkan daftar kemungkinan masalah. Prosesnya cepat, murah, dan memang berguna, sebagai hygiene rutin bulanan.
Penetration test adalah pekerjaan manusia. Penguji memakai hasil scan sebagai salah satu input, lalu melakukan hal yang tidak bisa dilakukan scanner:
- Memvalidasi. Celah yang terdeteksi dicoba dieksploitasi secara terkendali. Yang tidak terbukti, tidak masuk laporan sebagai temuan.
- Merangkai. Tiga temuan "medium" yang berdiri sendiri bisa jadi satu jalur serangan "critical" saat dirangkai. Scanner tidak bisa berpikir seperti itu.
- Menguji logika. Business logic flaw, misalnya alur transfer yang bisa dimanipulasi, atau otorisasi antar akun yang bocor, tidak ada di database CVE mana pun.
- Membuktikan dampak. "Port 445 terbuka" bukan cerita. "Dari port itu kami mencapai domain controller dalam dua jam". Iitu cerita yang bisa dibawa ke manajemen.
Cara cepat membedakan laporan keduanya
Kalau Anda sedang menilai hasil kerja vendor (atau proposal calon vendor), cek lima hal ini:
- Ada PoC atau tidak. Temuan serius harus punya langkah reproduksi yang bisa diulang tim Anda sendiri. Tanpa itu, temuan tidak bisa diverifikasi, dan tidak bisa dipastikan sudah tertutup setelah patch.
- Rasio false positive. Laporan scan mentah biasanya penuh temuan "informational" dan duplikat. Laporan pentest yang baik justru pendek: hanya yang terbukti.
- Severity berdasarkan konteks. Scanner menilai severity dari CVSS generik. Penguji menilai dari dampak nyata ke bisnis Anda: SQL injection di aplikasi internal tanpa data sensitif bukan prioritas yang sama dengan IDOR di API pembayaran.
- Ada narasi jalur serangan. Pentest yang benar menjelaskan bagaimana penyerang bergerak dari titik masuk ke aset penting, bukan hanya daftar celah lepas.
- Rekomendasi yang spesifik. "Update software ke versi terbaru" adalah rekomendasi
scanner. "Tambahkan validasi kepemilikan objek di endpoint
/api/transfersebelum eksekusi" adalah rekomendasi penguji yang benar-benar membaca sistem Anda.
Pertanyaan yang layak diajukan ke calon vendor
Sebelum tanda tangan, tanyakan ini; vendor yang serius akan senang menjawabnya:
- Berapa persen pengujian yang dilakukan manual, dan di bagian mana?
- Boleh lihat contoh laporan (yang sudah diredaksi)?
- Apakah temuan kritis dilaporkan segera, atau menunggu laporan final?
- Siapa persisnya yang mengerjakan pengujian, dan bisakah kami bicara dengannya?
- Apakah retest setelah remediasi termasuk dalam harga?
Kalau jawabannya mengambang di pertanyaan pertama dan kedua, kemungkinan besar Anda sedang ditawari scan berkemasan pentest.
Kapan scan saja memang cukup?
Supaya adil: tidak semua kebutuhan menuntut pentest. Scan rutin cukup kalau tujuannya memantau patch hygiene di aset yang banyak, atau memenuhi requirement compliance yang memang hanya meminta scan berkala. Pentest dibutuhkan saat Anda perlu tahu apakah sistem yang penting benar-benar bisa ditembus: sebelum go-live, sebelum audit, atau setelah perombakan besar.
Dua-duanya punya tempat. Yang jadi masalah hanya satu: membayar harga yang satu untuk mendapatkan yang lain.