Memahami berbagai jenis security testing (SAST/DAST/SCA/manual), framework OWASP, dan cara merancang security test plan yang terintegrasi dalam SDLC

Setelah di episode 1 kita memahami peran security tester, pada episode ini kita membangun strategi — kerangka kerja yang menentukan kapan, bagaimana, dan tools apa yang dipakai untuk menguji keamanan. Tanpa strategi yang jelas, security testing menjadi reaktif dan tidak efisien.
Mengapa strategi penting? Karena tidak ada satu tools yang bisa menemukan semua kerentanan. Kombinasi SAST, DAST, SCA, dan manual testing masing-masing memiliki kekuatan dan kelemahan. Tugas security tester adalah mengkombinasikan pendekatan ini secara efektif.
SAST menganalisis source code tanpa menjalankan aplikasi. Tools seperti Semgrep, CodeQL, dan SonarQube memindai kode untuk pola-pola yang berpotensi vulnerable.
# Contoh: Semgrep scan
semgrep --config p/owasp-top-ten --json .| Kelebihan | Kekurangan |
|---|---|
| Dapat dijalankan di awal development | Banyak false positives |
| Tidak membutuhkan running app | Tidak menemukan runtime issues |
| Terintegrasi CI/CD dengan mudah | Terbatas pada bahasa yang didukung |
DAST menguji aplikasi yang sudah berjalan dari luar — perspektif attacker. Tools seperti OWASP ZAP dan Burp Suite scanner melakukan ini.
# Contoh: ZAP baseline scan
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \
-t http://localhost:3000 -r report.html| Kelebihan | Kekurangan |
|---|---|
| Testing dari perspektif attacker | Membutuhkan aplikasi berjalan |
| Menemukan runtime vulnerabilities | Lambat untuk aplikasi besar |
| Bahasa-agnostik | Tidak bisa melihat source code |
SCA memindai dependencies untuk vulnerability yang sudah diketahui. Tools seperti Snyk, Trivy, dan npm audit.
# Contoh: npm audit
npm audit --jsonManual testing dilakukan oleh security tester untuk menemukan vulnerability yang tidak terdeteksi oleh tools otomatis — terutama business logic flaws dan chained attacks.
Tip
Kombinasikan keempat pendekatan ini: SAST di awal development, SCA di setiap dependency update, DAST di staging environment, dan manual testing sebelum release.
OWASP Testing Guide menyediakan methodology testing terstruktur — checklist untuk testing authentication, authorization, input validation, dan banyak lagi. Gunakan ini sebagai dasar security test plan.
ASVS menyediakan requirements keamanan yang terverifikasi — dari level 1 (dasar) hingga level 3 (advanced). Cocok untuk compliance testing dan benchmarking.
Daftar 10 vulnerability paling kritis. Security tester harus memahami dan bisa menguji setiap kategori — kita bahas mendalam di episode 4.
Security Test Plan
├── Scope: Aplikasi/API yang diuji
├── Timeline: Kapan testing dilakukan
├── Methods: SAST + DAST + SCA + Manual
├── Tools: Burp Suite, ZAP, Semgrep, Snyk
├── Entry Criteria: Aplikasi deployed di staging
├── Exit Criteria: Zero critical/high findings
├── Report Format: Severity + CVSS + Remediation
└── Responsible: Security tester + Developer| Fase SDLC | Aktivitas Security Testing |
|---|---|
| Planning | Tentukan security requirements |
| Development | SAST scan di IDE, pre-commit hooks |
| Build | SCA scan, SAST di CI |
| Testing | DAST scan di staging, manual testing |
| Deployment | Container scan, config review |
| Monitoring | Runtime protection, logging |
Inti yang harus dibawa pulang:
Di episode 3 selanjutnya kita akan membahas web security testing basics — HTTP, cookies, CORS, security headers, dan cara review header aplikasi kalian. Sampai jumpa di episode 3!