Senin, 25 Mei 2026 | 9 min read | Andhika R
Dari Coding ke Breach: Rantai Kegagalan dalam Software Development Lifecycle
Sebagian besar insiden kebocoran data bukan lahir dari serangan hacker yang canggih. Ia lahir dari keputusan yang tampak kecil — sebuah field input yang tidak divalidasi, sebuah library lama yang tidak diperbarui, sebuah rapat perencanaan yang tidak menyisakan ruang untuk pertanyaan, "Bagaimana kalau ini disalahgunakan?" Ketika breach akhirnya terjadi, semua jari menunjuk ke tim developer. Padahal, jauh sebelum baris kode pertama ditulis, rantai itu sudah mulai retak.
Inilah yang selama ini luput dari diskusi tentang keamanan siber di Indonesia: kerentanan bukan hanya masalah teknis, melainkan masalah proses. Dan proses itu bernama Software Development Lifecycle (SDLC).

Coding Bukan Titik Mulanya — Ini Titik dimana Semuanya Meledak
Ada asumsi yang mengakar kuat di industri perangkat lunak: bahwa keamanan adalah urusan fase akhir. Setelah fitur selesai dibangun, barulah security team masuk untuk "mengamankan" apa yang sudah ada. Logika ini terdengar masuk akal sampai seseorang menghitung biayanya.
Riset dari Systems Sciences Institute di IBM telah lama mendokumentasikan sebuah pola yang konsisten: biaya memperbaiki bug yang ditemukan pada fase implementasi enam kali lebih mahal dibandingkan jika ditemukan saat desain. Lebih jauh lagi, bug yang baru terdeteksi setelah produk dirilis ke publik bisa menghabiskan biaya hingga seratus kali lipat dibandingkan jika ditangani di fase awal pengembangan. Angka ini bukan sekadar statistik biaya; ini adalah cerminan dari seberapa dalam sebuah kerentanan sudah tertanam ke dalam arsitektur sistem sebelum ada yang menyadarinya.
Pertanyaannya bukan "mengapa developer menulis kode yang tidak aman?" Pertanyaan yang lebih tepat adalah: "Mengapa organisasi terus membangun sistem di mana keamanan baru dipikirkan setelah segalanya selesai?"
Autopsi Per Fase: Di Mana Rantai Itu Mulai Retak
Penelitian yang dipublikasikan dalam Journal of Cybersecurity (Oxford University Press) menunjukkan bahwa kerentanan perangkat lunak tidak muncul dari satu titik kegagalan, melainkan dari akumulasi keputusan yang salah di berbagai fase pengembangan. Berikut adalah gambaran jujur dari setiap fase tersebut.
Fase Requirements: Ketika Ancaman Tidak Masuk Agenda
Di fase ini, tim produk mendefinisikan apa yang akan dibangun. Diskusi berpusat pada fitur, user stories, dan tenggat waktu. Keamanan, jika disebutkan sama sekali, biasanya hadir sebagai satu baris generik: "sistem harus aman." Tidak ada yang bertanya secara spesifik tentang model ancaman, siapa aktor jahat potensialnya, atau data apa yang paling rentan.
Analisis ini sering kami temukan saat melakukan penetration testing pada perusahaan di Indonesia — sistem yang sudah berjalan bertahun-tahun ternyata tidak pernah memiliki threat model yang terdokumentasi sejak awal pembangunannya.
Tanpa threat modeling di fase requirements, tim developer bergerak tanpa peta risiko. Mereka membangun fitur berdasarkan apa yang diminta, bukan berdasarkan apa yang bisa disalahgunakan.
Fase Design: Arsitektur yang Dibangun untuk Kecepatan, Bukan Pertahanan
Fase desain menentukan fondasi sistem — bagaimana komponen saling berinteraksi, bagaimana data mengalir, di mana titik otentikasi berada. Keputusan yang dibuat di sini akan sulit diubah tanpa merombak sebagian besar sistem.
Namun dalam praktiknya, architectural review sering kali tidak memasukkan perspektif keamanan. Tidak ada pertimbangan tentang prinsip least privilege dalam desain database, tidak ada diskusi tentang enkripsi data at-rest, dan tidak ada pemetaan titik-titik di mana penyerang dapat mencoba memasukkan data berbahaya. Semuanya diputuskan berdasarkan apa yang paling efisien secara fungsional.
Fase Coding: Beban yang Terlalu Berat untuk Developer Sendirian
Ini adalah fase yang paling sering disalahkan, dan paling sering disalahpahami. Ketika developer menulis kode yang memiliki celah — input yang tidak disanitasi, secrets yang di-hardcode di repositori, atau penggunaan library pihak ketiga tanpa audit — hampir selalu ada konteks yang menjelaskannya: tenggat yang ketat, tidak adanya secure coding guidelines, dan tidak adanya mekanisme otomatis yang memberikan peringatan sebelum kode masuk ke repositori.
Data dari laporan OWASP konsisten menunjukkan bahwa kerentanan yang paling umum ditemukan di aplikasi web — injeksi, broken authentication, dan security misconfiguration — semuanya adalah masalah yang bisa dicegah pada fase coding jika developer dilengkapi dengan alat dan panduan yang tepat.
Fase Testing: QA yang Hanya Bertanya "Apakah Ini Bekerja?"
Quality Assurance secara tradisional dirancang untuk memastikan fungsionalitas. Sebuah fitur login diuji dengan pertanyaan: "Apakah pengguna yang memiliki kredensial yang benar dapat masuk?" Bukan dengan pertanyaan: "Apakah sistem ini rentan terhadap brute force, credential stuffing, atau SQL injection melalui field username?"
Penetration testing — yang justru mengajukan pertanyaan kedua — sering kali hanya dilakukan sekali setahun, atau bahkan hanya saat tim keamanan internal memiliki waktu luang. Dalam ekosistem pengembangan yang berjalan cepat, model seperti ini tidak cukup. Celah keamanan yang terlewat di fase testing adalah celah yang akan ditemukan oleh penyerang di production.
Fase Deployment: Pintu yang Terbuka Karena Konfigurasi yang Salah
Sebuah kode yang aman bisa menjadi tidak aman dalam hitungan menit jika dijalankan di infrastruktur yang salah dikonfigurasi. Security misconfiguration secara konsisten masuk dalam daftar teratas OWASP Top 10 bukan karena ini masalah yang kompleks, melainkan karena ini masalah yang terlalu sering diabaikan.
Port yang seharusnya ditutup dibiarkan terbuka. Akun administrator default tidak diubah. Error messages yang mengungkap detail sistem dibiarkan aktif di lingkungan production. Setiap item ini, secara individual, mungkin terlihat kecil. Secara kumulatif, mereka membentuk permukaan serangan yang jauh lebih luas dari yang disadari tim.
Fase Maintenance: Di Mana Sebagian Besar Breach Benar-Benar Terjadi
Laporan dari Cybersecurity and Infrastructure Security Agency (CISA) Amerika Serikat menyebutkan bahwa pada tahun 2023, mayoritas kerentanan yang paling sering dieksploitasi oleh pelaku kejahatan siber adalah zero-day — kerentanan yang diketahui publik sebelum patch tersedia. Artinya, jendela waktu antara pengungkapan kerentanan dan eksploitasi aktif terus menyempit.
Namun kenyataan di lapangan menunjukkan sebaliknya: banyak organisasi masih menjalankan sistem dengan dependency yang sudah kadaluarsa, patch yang tertunda berbulan-bulan, dan tidak ada sistem monitoring yang mendeteksi aktivitas anomali. Fase maintenance bukan sekadar "menjaga sistem tetap berjalan" — ini adalah garis pertahanan terakhir yang sering kali tidak dijaga.
Security Debt: Hutang yang Tidak Pernah Muncul di Sprint Planning
Ada istilah dalam rekayasa perangkat lunak yang disebut technical debt — biaya jangka panjang dari keputusan jangka pendek yang diambil demi kecepatan. Security debt adalah varian paling berbahaya dari technical debt, karena ia tidak hanya memperlambat pengembangan; ia membuka pintu bagi penyerang.
Setiap sprint yang berlalu tanpa security review menambah lapisan hutang. Setiap library pihak ketiga yang tidak diaudit adalah potensi vektor serangan yang belum diketahui. Setiap fitur yang diluncurkan tanpa threat model adalah asumsi optimistis tentang bagaimana pengguna tidak akan menyalahgunakan sistem.
Industri sudah mengetahui ini. Literatur akademis tentang secure software development sudah sangat matang. NIST telah menerbitkan Secure Software Development Framework (SSDF) yang memberikan panduan terperinci. Namun pengetahuan tersebut tidak selalu berhasil mengubah cara tim bekerja sehari-hari, terutama ketika tekanan pasar mendorong kecepatan di atas segalanya.
Data dari laporan keamanan aplikasi tahun 2023 menyebutkan bahwa 91% organisasi mengalami setidaknya satu insiden keamanan dalam rantai pasokan perangkat lunak mereka. Angka ini menunjukkan bahwa ini bukan masalah perusahaan yang tidak tahu — ini masalah perusahaan yang tahu, tetapi belum menemukan cara untuk mengubah pengetahuan menjadi praktik konsisten.
Shift Left Adalah Jawabannya — Tapi Tidak Sesederhana Memindahkan Kolom di Trello
"Shift left security" adalah konsep yang sudah cukup dikenal: integrasikan keamanan lebih awal dalam SDLC, alih-alih membiarkannya menjadi langkah terakhir sebelum deployment. Secara teori, konsep ini sempurna. Secara implementasi, ia sering gagal dengan cara yang sangat spesifik.
Kegagalan pertama adalah menafsirkan "shift left" sebagai penambahan beban kepada developer. Tim security memberikan daftar panjang panduan coding, mengharuskan setiap developer memahami seluruh spektrum OWASP, dan menyalahkan individu ketika kerentanan ditemukan. Ini bukan shift left; ini hanya memindahkan titik konflik ke tahap yang lebih awal.
Implementasi yang efektif dari shift left security memerlukan pendekatan yang berbeda. Static Application Security Testing (SAST) yang terintegrasi dalam pipeline CI/CD memberikan umpan balik otomatis kepada developer tanpa menuntut mereka menjadi pakar keamanan. Software Composition Analysis (SCA) yang berjalan otomatis memantau dependency pihak ketiga dan memberikan peringatan ketika ada versi yang diketahui memiliki kerentanan. Threat modeling yang dilakukan bersama — bukan oleh security team secara terpisah — memastikan bahwa perspektif risiko sudah ada sejak fase requirements.
Yang terpenting, shift left security memerlukan perubahan budaya yang lebih dalam: keamanan bukan gatekeeper yang memperlambat delivery, melainkan enabler yang memastikan apa yang di deliver tidak akan kembali menimbulkan masalah setelah enam bulan.
DevSecOps: Kontrak Baru Antara Kecepatan dan Keselamatan
DevSecOps bukan sekadar penambahan huruf "Sec" di antara "Dev" dan "Ops." Ia adalah pernyataan tentang bagaimana organisasi memandang tanggung jawab keamanan — bukan sebagai fungsi satu departemen, melainkan sebagai tanggung jawab bersama yang tertanam dalam setiap fase pengembangan.
Dalam model DevSecOps yang matang, security automated gates mencegah kode dengan kerentanan kritis masuk ke branch utama. Security champions — developer dengan pemahaman keamanan yang diperdalam — hadir di setiap tim produk sebagai penghubung antara tim engineering dan tim keamanan. Monitoring pasca-deployment berjalan terus-menerus, bukan hanya saat ada insiden yang dilaporkan.
Studi yang dipublikasikan dalam IEEE Transactions on Software Engineering secara konsisten menunjukkan bahwa organisasi yang mengadopsi pendekatan DevSecOps mengalami penurunan signifikan dalam jumlah kerentanan yang lolos hingga fase production — bukan karena mereka memiliki developer yang lebih baik, melainkan karena mereka memiliki sistem yang lebih baik dalam menangkap kesalahan sebelum kesalahan itu berkembang menjadi celah.
Pertanyaan yang Harus Anda Jawab Sekarang
Kalau breach terjadi pada sistem Anda besok, di fase mana Anda bisa jujur bahwa tidak ada yang benar-benar memeriksa keamanannya? Apakah requirements Anda pernah melewati threat modeling? Apakah pipeline CI/CD Anda menyertakan security scanning? Apakah dependency production Anda diperbarui secara rutin?
Kerentanan dalam SDLC bukan nasib buruk. Ia adalah hasil dari pilihan — pilihan tentang apa yang diprioritaskan, apa yang diukur, dan apa yang dianggap selesai. Mengubah pilihan tersebut dimulai dari memahami dimana, tepatnya, rantai itu sudah retak dalam sistem Anda hari ini.
Bangun Sistem yang Aman Bersama Fourtrezz
Memahami rantai kegagalan dalam SDLC adalah langkah pertama. Langkah berikutnya adalah menemukan dimana celah itu sudah ada dalam sistem Anda sebelum penyerang yang menemukannya lebih dulu.
Fourtrezz (PT Tiga Pilar Keamanan) adalah perusahaan keamanan siber Indonesia yang menghadirkan solusi perlindungan digital yang komprehensif. Dengan layanan unggulan yang mencakup Penetration Testing, dan Vulnerability Assessment tim ahli Fourtrezz membantu organisasi mengidentifikasi celah keamanan secara menyeluruh — mulai dari lapisan aplikasi, API, hingga infrastruktur jaringan.
Lebih dari itu, Fourtrezz juga menyediakan layanan IT Development yang memungkinkan Anda membangun sistem baru dengan prinsip keamanan yang tertanam sejak fase pertama, bukan ditambahkan setelah segalanya selesai.
Jika Anda ingin memulai dengan audit keamanan atau membangun perangkat lunak yang dirancang aman sejak awal, hubungi tim Fourtrezz:
Website: www.fourtrezz.co.id
Telepon/WhatsApp: +62 857-7771-7243
Email: [email protected]
Keamanan bukan biaya tambahan. Ia adalah fondasi dari sistem yang bisa Anda percayai.
Andhika RDigital Marketing at Fourtrezz
Artikel Terpopuler
Tags: Keamanan SDLC, DevSecOps, Penetration Testing, Secure Coding, Vulnerability Assessment
Baca SelengkapnyaBerita Teratas
Berlangganan Newsletter FOURTREZZ
Jadilah yang pertama tahu mengenai artikel baru, produk, event, dan promosi.


