SAST dan DAST dalam Pipeline CI/CD
Integrasikan SonarQube, Semgrep, atau Bandit untuk analisis statis serta OWASP ZAP untuk pemindaian dinamis dalam pipeline.
SAST dan DAST dalam Pipeline CI/CD adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.
Apa Itu Pengujian Keamanan Aplikasi
Pengujian keamanan aplikasi mengidentifikasi kerentanan sebelum kode masuk ke lingkungan produksi. Ada dua pendekatan yang saling melengkapi: SAST (statis, tanpa menjalankan kode) dan DAST (dinamis, menguji aplikasi yang sedang berjalan). Keduanya dapat diintegrasikan ke dalam alur CI/CD untuk menerapkan keamanan sejak tahap awal.
SAST: Pengujian Keamanan Aplikasi Statis
SAST menganalisis kode sumber, bytecode, atau biner untuk menemukan kerentanan keamanan tanpa mengeksekusi kode. SAST dapat dijalankan pada setiap komit sehingga memberikan umpan balik dengan cepat.
Kelebihan: menemukan bug lebih awal, cakupan kode menyeluruh, tidak memerlukan lingkungan yang sedang berjalan.
Kekurangan: tingkat positif palsu tinggi, spesifik terhadap bahasa, tidak menemukan masalah konfigurasi saat runtime.
Alat SAST Populer
Alat SAST sumber terbuka:
# Semgrep (multi-language, rule-based):
semgrep --config auto ./src
# Bandit (Python):
bandit -r ./src
# ESLint security plugin (JavaScript):
npx eslint --plugin security ./src
# SpotBugs + FindSecBugs (Java):
mvn spotbugs:checkMengintegrasikan SAST ke CI/CD
Contoh langkah SAST GitHub Actions:
# .github/workflows/security.yml
- name: Run Semgrep
uses: returntocorp/semgrep-action@v1
with:
config: p/owasp-top-ten
auditOn: push
# Fail build if HIGH severity findings presentDAST: Pengujian Keamanan Aplikasi Dinamis
DAST menguji aplikasi yang sedang berjalan dari luar dengan menyimulasikan penyerang. DAST menemukan kerentanan yang hanya terlihat saat runtime: masalah autentikasi, kelemahan pengelolaan sesi, dan bug validasi masukan.
Kelebihan: positif palsu rendah, tidak bergantung pada bahasa, menemukan masalah konfigurasi runtime.
Kekurangan: memerlukan lingkungan yang sedang berjalan, mungkin tidak menemukan jalur kode tertentu.
Alat DAST Populer
Alat DAST untuk CI/CD:
# OWASP ZAP (free, scriptable):
docker run -t owasp/zap2docker-stable zap-baseline.py -t https://staging.app.com
# Nikto:
nikto -h https://staging.app.com
# Nuclei (template-based):
nuclei -u https://staging.app.com -t cves/IAST: Pengujian Keamanan Aplikasi Interaktif
IAST menambahkan instrumentasi ke aplikasi saat runtime menggunakan agen yang memantau eksekusi kode selama pengujian fungsional. IAST menggabungkan ketepatan SAST dengan cakupan DAST. Contoh: Contrast Security, Seeker. IAST memerlukan agen khusus bahasa dan pengujian yang sedang berjalan.
Menggeser Keamanan ke Tahap Awal
Pergeseran ke tahap awal berarti memindahkan pengujian keamanan ke tahap yang lebih awal dalam siklus hidup pengembangan — idealnya ke IDE pengembang dan tahap komit, bukan ke gerbang prarilis yang terpisah. Deteksi lebih awal = perbaikan lebih murah.
Pengali biaya: bug saat pengembangan berbiaya 1x; di praproduksi 10x; di produksi 100x.
Menangani Positif Palsu
Alat SAST menghasilkan positif palsu. Cara mengelolanya:
- Gunakan
nosec(Bandit) atau komentar penekanan sebaris untuk masalah yang telah dikonfirmasi bukan masalah - Sesuaikan kumpulan aturan dengan konteks aplikasi
- Catat alasan penekanan dalam komentar kode
- Tinjau penekanan secara berkala
Arsitektur Alur Keamanan CI/CD
Alur keamanan yang lengkap:
- Pengait prakomit: pemindaian rahasia (gitleaks), SAST (semgrep)
- Pemeriksaan PR: hasil SAST, pemindaian dependensi (Dependabot)
- Penerapan ke praproduksi: pemindaian DAST (dasar ZAP)
- Produksi: pemantauan runtime (RASP, WAF)
Mengukur Efektivitas AppSec
Metrik utama AppSec dalam CI/CD:
- Waktu rata-rata untuk memperbaiki temuan keamanan
- Jumlah temuan per 1.000 baris kode
- Tingkat positif palsu (memengaruhi kepercayaan pengembang)
- Tingkat lolosnya kerentanan (ditemukan di praproduksi dibandingkan produksi)
Pemeriksaan Singkat: SAST vs DAST
Jenis pengujian keamanan apa yang menganalisis kode sumber tanpa mengeksekusinya dan memberikan umpan balik langsung di alur CI pada setiap komit?
Rangkuman Pelajaran
SAST menganalisis kode secara statis (umpan balik awal, positif palsu tinggi); DAST menguji aplikasi yang sedang berjalan secara dinamis (ketepatan saat runtime, memerlukan lingkungan). Keduanya termasuk dalam alur CI/CD. Menggeser pengujian ke tahap awal membantu menemukan kerentanan saat biaya perbaikannya paling rendah. Alat populer: Semgrep, Bandit (SAST); OWASP ZAP, Nuclei (DAST). Sesuaikan kumpulan aturan dan catat penekanan untuk mengelola positif palsu.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “SAST dan DAST dalam Pipeline CI/CD” gratis?
Ya — teks lengkap “SAST dan DAST dalam Pipeline CI/CD” 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 “SAST dan DAST dalam Pipeline CI/CD”?
Integrasikan SonarQube, Semgrep, atau Bandit untuk analisis statis serta OWASP ZAP untuk pemindaian dinamis dalam pipeline. 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 1 dari 4.
Berapa lama pelajaran “SAST dan DAST dalam Pipeline CI/CD” 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
- SAST dan DAST dalam Pipeline CI/CD
- Analisis Komposisi Perangkat Lunak (SCA)
- Pemindaian Rahasia dan Kredensial Hardcode
- Security Champion dan Pemodelan Ancaman