Arsenal DevSecOps: Dari Nol ke Pahlawan
Mari kita jujur: menjalankan trivy image bukanlah DevSecOps. Itu hanya menghasilkan kebisingan.
Rekayasa keamanan yang sebenarnya adalah tentang rasio sinyal-ke-kebisingan. Ini tentang membangun pipeline yang dihormati oleh pengembang Anda, bukan yang mereka hindari. Panduan ini menyediakan konfigurasi “kelas produksi” untuk 17 alat standar industri untuk menghentikan kerentanan tanpa menghentikan bisnis.
Fase 1: Pra-Kommit & Lokal (Shift Left atau Pulang)
Menangkap masalah di CI sudah terlambat. Anda baru saja membuang kredit komputasi dan waktu pengalihan konteks pengembang. Tangkap di laptop mereka.
1. Gitleaks (Penjaga Rahasia)
Jangan jadi perusahaan yang membocorkan kunci AWS di GitHub.
Kebanyakan orang menjalankan Gitleaks secara membabi buta. Para profesional menggunakan Baselines.
--baseline-path: Tiket emas. Jalankan pemindaian baru, simpan outputnya. Sekarang Gitleaks HANYA memberi peringatan pada rahasia baru.--redact: Masker rahasia yang ditemukan dalam log output (persentase 0-100). Jangan pernah membocorkan dua kali.--enable-rule: Fokus pada jenis rahasia tertentu (misalnya, hanya kunci AWS) berdasarkan ID.--follow-symlinks: Jangan biarkan rahasia bersembunyi di balik symlink.--ignore-gitleaks-allow: Larang penggunaan komentar “skip” inline. Tegakkan aturan.--max-target-megabytes: Hindari memindai blob biner yang besar.
2. Trufflehog (Pemeriksa)
Menemukan string yang terlihat seperti kunci adalah satu hal. Memeriksa apakah itu berfungsi adalah hal lain.
Trufflehog membedakan dirinya dengan memverifikasi kredensial terhadap penyedia.
--no-verification: Mode lebih cepat. Melewati “live-check” jika Anda hanya ingin analisis statis.--results: Saring output berdasarkanverified(bahaya nyata) atauunknown.--filter-entropy: Temukan string dengan entropi tinggi (kemungkinan kata sandi) bahkan tanpa kecocokan regex. Mulai dengan 3.0.--detector-timeout: Batasi waktu eksekusi per detektor untuk mencegah hang pada CI.--archive-max-depth: Jangan terjebak dalam zip-bomb bersarang.
3. Opengrep (Analisis Statis Cepat)
Grep sudah mati. Hidup pencarian struktural.
Mesin yang kompatibel dengan Semgrep untuk menemukan bug menggunakan pola kode, bukan hanya string.
--baseline-commit: Penting. Hanya memindai kode yang diubah sejak commit tertentu (Pemindaian Delta).--config: Muat aturan kustom dari batas YAML atau registri.--dataflow-traces: Tampilkan jalur penuh bagaimana data bergerak dari sumber ke tujuan.--exclude-minified-files: Lewati file.min.jsdan file padat lainnya yang tidak dapat dibaca manusia.--strict: Gagalkan build jika konfigurasi tidak valid atau terjadi kesalahan tingkat WARN.
4. Bandit (Keamanan Python)
Standar untuk analisis AST Python.
-t/--tests: Jalankan HANYA ID tes tertentu (daftar putih).-s/--skips: Lewati ID tes tertentu (daftar hitam).--severity-level: Hanya tampilkan hasil >=rendah,sedang, atautinggi.--confidence-level: Saring “perkiraan”—hanya tampilkan temuan dengan tingkat kepercayaan tinggi.--ignore-nosec: Lihat apa yang coba dilewati pengembang menggunakan# nosec.
5. Dustilock (Ketergantungan Kebingungan)
Cegah penyerang dari menyuntikkan paket pribadi yang berbahaya.
-a: Hanya audit. Periksa apakah Anda rentan terhadap pembajakan nama paket tanpa menghentikan pipeline.
6. Hadolint (Intelijen Docker)
Dockerfile Anda buruk. Hadolint tahu alasannya.
--trusted-registry: Keamanan rantai pasokan. Hanya izinkan gambar dariinternal.ecr.aws.--strict-labels: Tegakkan standar metadata (misalnya,maintainer,cost-center).--ignore: Diamkan aturan yang tidak berlaku untuk build Anda.--error/--warning: Peta ulang tingkat keparahan aturan untuk menyesuaikan dengan kebijakan Anda.--require-label: Tegakkan format label tertentu (Regex).
7. TFLint (Logika Terraform)
terraform validate adalah pemeriksaan sintaks. TFLint adalah pemeriksaan logika.
--enable-plugin: Muat aturan khusus penyedia (misalnya, AWS, Azure) untuk memeriksa terhadap spesifikasi API.--minimum-failure-severity: Kontrol ambang batas kegagalan build (Error, Warning, Notice).--call-module-type: Pindai modulall,local, ataunone.--var-file: Suntikkan variabel untuk mengevaluasi logika kondisional secara akurat.
Fase 2: Penjaga CI (Percaya, tetapi Verifikasi)
Ini adalah ruang perang. Analisis mendalam selama proses build.
8. Trivy (Si Pemukul Berat)
Pisau Tentara Swiss.
--ignore-unfixed: Wajib. Jika tidak ada patch, jangan gagal membangun. Pantau saja.--ignore-status: Saring kerentanan dengan status tertentu.--pkg-types: Fokuskan pemindaian pada paketosatau dependensilibrary.--offline-scan: Jalankan di lingkungan yang terisolasi.--include-dev-deps: Jangan abaikandevDependencies—mereka masih bisa membahayakan lingkungan pembangunan.--list-all-pkgs: Keluarkan semuanya. Penting untuk menghasilkan SBOM yang lengkap.
9. Syft (Generator SBOM)
Anda tidak bisa mengamankan apa yang tidak Anda ketahui Anda miliki.
--enrich: Tambahkan metadata online untuk konteks penggunaan yang lebih kaya (Golang, Java, dll.).-s/--scope: Pindai semua lapisan (all-layers) atau hanya gambar akhir (squashed).--select-catalogers: Targetkan manajer paket tertentu (npm, pip, apk).--platform: Targetkan arsitektur tertentu (misalnya,arm64).
10. Grype (Pemindai SBOM)
Mengambil alih dari Syft.
-f/--fail-on: Gagal membangun jika tingkat keparahan >=medium,high, dll.--only-fixed: Hanya laporkan kerentanan yang dapat ditindaklanjuti.--by-cve: Atur keluaran berdasarkan ID CVE untuk pelacakan.--ignore-states: Abaikan status “wontfix” atau “not-affected” yang umum.
11. Checkov (Tata Kelola IaC)
Cegah kesalahan konfigurasi cloud sebelum mereka menghabiskan uang Anda.
-s/--soft-fail: Beri peringatan tetapi tidak menghentikan. Terbaik untuk “mode observasi.”--check/--skip-check: daftar putih atau daftar hitam pemeriksaan spesifik (CKV_AWS_1).--skip-framework: Abaikan seluruh kerangka kerja (misalnya, pindai Terraform tetapi lewati CloudFormation).--enable-secret-scan-all-files: Perluas pemindaian rahasia di luar file konfigurasi standar.--block-list-secret-scan: Kecualikan file tertentu dari pemindai rahasia.
12. KICS (Keeping IaC Secure)
Alternatif untuk cakupan luas IaC.
--exclude-queries: Hilangkan kebisingan dengan menyaring ID kueri tertentu.--exclude-categories: Saring temuan berdasarkan domain keamanan.--fail-on: Tentukan tingkat keparahan mana yang mengembalikan kode keluar non-nol.--minimal-ui: Output CLI yang disederhanakan untuk log yang lebih bersih.--disable-secrets: Matikan pemindaian rahasia internal (gunakan Gitleaks sebagai gantinya).
13. Terrascan (Policy-as-Code)
Spesialisasi untuk penegakan kebijakan multi-cloud.
-i/--iac-type: Optimalkan dengan menentukan platform (k8s, helm, terraform).-t/--policy-type: Saring kebijakan berdasarkan penyedia (aws, azure, gcp).--severity: Tentukan tingkat keparahan minimum untuk dilaporkan.--non-recursive: Pindai hanya direktori saat ini.
14. OWASP Dependency-Check (Legacy & Compliance)
Pengangkat berat untuk Java dan .NET SCA.
--failOnCVSS: Hentikan build jika ada pustaka yang melebihi skor CVSS (misalnya, 7.0).--suppression: Gunakan file XML untuk “membisukan” kerentanan yang diketahui aman (VEX-lite).--enableExperimental: Gunakan penganalisis baru untuk bahasa yang kurang umum.
15. DevSkim (Kebersihan Polyglot)
Pemeriksaan IDE dan CI yang berpusat pada pengembang.
--rule-ids: Batasi analisis pada aturan tertentu.--ignore-globs: Gunakan pola glob standar untuk melewati file yang berisik.--skip-git-ignored-files: Sinkronisasi otomatis dengan.gitignore.--skip-excerpts: Jaga agar laporan tetap kecil dengan menghapus contoh kode.
Fase 3: Runtime & Artifacts (Garis Akhir)
Memindai artefak akhir atau lingkungan langsung.
16. Clamscan (Pertahanan Malware)
Karena terkadang orang mengunggah virus ke bucket S3 Anda.
--exclude/--exclude-dir: Lewati pola file/direktori untuk menghemat waktu.--detect-pua: Cari “Aplikasi yang Mungkin Tidak Diinginkan” (adware, penambang).--detect-structured: Pindai pola data sensitif seperti Kartu Kredit/SSN.--scan-pdf/--scan-html: Aktifkan inspeksi mendalam untuk jenis dokumen.--cross-fs: Izinkan pemindaian di berbagai sistem file (gunakan dengan hati-hati).
17. Nuclei (Pisau Hacker)
Pemindaian templated yang terasa ilegal.
-t/--templates: Jalankan file template atau direktori tertentu.-tags: Targetkan pemindaian berdasarkan teknologi (misalnya,wordpress,cve).-s/--severity: Saring template berdasarkan tingkat dampak.-fr/--follow-redirects: Ikuti pengalihan HTTP 301/302 untuk menemukan payload.-passive: Pindai dengan melihat header/respons yang ada tanpa mengirim “serangan” baru.-etags fuzz: Kecualikan template fuzzing dalam produksi.
Ringkasan: “Pipeline” yang Sempurna
- Lokal:
pre-commitmenjalankan Gitleaks (dasar), Trufflehog (terverifikasi), & Hadolint. - Build: Trivy memindai dependensi (
--ignore-unfixed). Syft menghasilkan SBOM. Dependency-Check untuk kepatuhan. - Test: Checkov & KICS memindai rencana Terraform. Opengrep memeriksa pola kode.
- Artefak: Clamscan memeriksa binary/aset akhir.
- Deploy: Nuclei memeriksa endpoint yang aktif.
Sesuaikan alat Anda, atau mereka akan menyesuaikan Anda.
Plexicus membuat semuanya lebih mudah
Dengan satu dasbor terpadu, dan akses ke semua integrasi alat kami, hanya perlu beberapa klik Plexicus


