SAST dan DAST dalam Saluran CI/CD
Sepadukan SonarQube, Semgrep atau Bandit untuk analisis statik serta OWASP ZAP untuk pengimbasan dinamik dalam saluran.
SAST dan DAST dalam Saluran CI/CD ialah pelajaran Cyber Security Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cyber Security Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cyber Security Academy merangkumi sejumlah 4 pelajaran.
Apakah itu Ujian Keselamatan Aplikasi
Ujian keselamatan aplikasi mengenal pasti kerentanan sebelum kod mencapai persekitaran produksi. Dua pendekatan yang saling melengkapi ialah SAST (statik, tanpa menjalankan kod) dan DAST (dinamik, menguji aplikasi yang sedang berjalan). Kedua-duanya boleh disepadukan ke dalam alur CI/CD untuk keselamatan yang dialihkan ke peringkat lebih awal.
SAST: Ujian Keselamatan Aplikasi Statik
SAST menganalisis kod sumber, kod bait, atau binari untuk mencari kerentanan keselamatan tanpa melaksanakan kod tersebut. Ia boleh dijalankan pada setiap komit, lalu memberikan maklum balas pantas.
Kelebihan: mengesan pepijat lebih awal, liputan kod penuh, tiada persekitaran berjalan diperlukan.
Kelemahan: kadar positif palsu tinggi, khusus kepada bahasa, terlepas isu konfigurasi semasa masa jalan.
Alat SAST Popular
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 dalam 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: Ujian Keselamatan Aplikasi Dinamik
DAST menguji aplikasi yang sedang berjalan dari luar dengan mensimulasikan penyerang. Ia hanya menemui kerentanan yang kelihatan semasa masa jalan: isu pengesahan, kelemahan pengurusan sesi, dan pepijat pengesahan input.
Kelebihan: positif palsu yang rendah, tidak bergantung pada bahasa, menemui isu konfigurasi semasa masa jalan.
Kelemahan: memerlukan persekitaran yang sedang berjalan, mungkin terlepas laluan kod.
Alat DAST Popular
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: Ujian Keselamatan Aplikasi Interaktif
IAST menambah instrumentasi pada aplikasi semasa masa jalan menggunakan ejen yang memantau pelaksanaan kod semasa ujian kefungsian. Ia menggabungkan ketepatan SAST dengan liputan DAST. Contoh: Contrast Security, Seeker. Memerlukan ejen khusus bahasa dan ujian yang sedang dijalankan.
Mengalihkan Keselamatan ke Peringkat Awal
Anjakan ke kiri bermaksud memindahkan ujian keselamatan ke peringkat lebih awal dalam kitar hayat pembangunan — sebaik-baiknya ke IDE pembangun dan peringkat komit, bukannya sebagai pintu kawalan berasingan sebelum keluaran. Pengesanan lebih awal = pembaikan lebih murah.
Pengganda kos: pepijat dalam pembangunan berharga 1x; dalam pementasan 10x; dalam produksi 100x.
Mengendalikan Positif Palsu
Alat SAST menghasilkan positif palsu. Cara menguruskannya:
- Gunakan
nosec(Bandit) atau ulasan penindasan sebaris untuk isu yang disahkan bukan masalah - Laraskan set peraturan mengikut konteks aplikasi
- Jejaki rasional penindasan dalam ulasan kod
- Semak penindasan secara berkala
Seni Bina Alur Keselamatan CI/CD
Alur keselamatan lengkap:
- Cangkuk prakomit: pengimbasan rahsia (gitleaks), SAST (semgrep)
- Semakan PR: hasil SAST, pengimbasan kebergantungan (Dependabot)
- Penggunaan pementasan: pengimbasan DAST (ZAP garis dasar)
- Produksi: pemantauan masa jalan (RASP, WAF)
Mengukur Keberkesanan AppSec
Metrik utama untuk AppSec dalam CI/CD:
- Purata masa untuk membaiki penemuan keselamatan
- Kadar penemuan bagi setiap 1000 baris kod
- Kadar positif palsu (mempengaruhi kepercayaan pembangun)
- Kadar kerentanan terlepas (ditemui dalam pementasan berbanding produksi)
Semakan Pantas: SAST berbanding DAST
Apakah jenis ujian keselamatan yang menganalisis kod sumber tanpa melaksanakannya, lalu memberikan maklum balas terus dalam alur CI pada setiap komit?
Ringkasan Pelajaran
SAST menganalisis kod secara statik (maklum balas awal, positif palsu tinggi); DAST menguji aplikasi yang sedang berjalan secara dinamik (ketepatan masa jalan, memerlukan persekitaran). Kedua-duanya tergolong dalam alur CI/CD. Mengalihkan ujian ke peringkat lebih awal membantu mengesan kerentanan apabila pembaikan paling murah. Alat popular: Semgrep, Bandit (SAST); OWASP ZAP, Nuclei (DAST). Laraskan set peraturan dan jejaki penindasan untuk mengurus positif palsu.
Pelajari Cyber Security Academy dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Soalan Lazim
Adakah pelajaran “SAST dan DAST dalam Saluran CI/CD” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Cyber Security Academy, termasuk “SAST dan DAST dalam Saluran CI/CD”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Cyber Security Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “SAST dan DAST dalam Saluran CI/CD”?
Sepadukan SonarQube, Semgrep atau Bandit untuk analisis statik serta OWASP ZAP untuk pengimbasan dinamik dalam saluran. Anda berlatih Cyber Security Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Cyber Security Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Cyber Security Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “SAST dan DAST dalam Saluran CI/CD” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- SAST dan DAST dalam Saluran CI/CD
- Analisis Komposisi Perisian (SCA)
- Pengimbasan Rahsia dan Bukti Kelayakan Berkod Keras
- Juara Keselamatan dan Pemodelan Ancaman