LLM Hasilkan Kode Tak Aman

Riset Baru Backslash Security Menunjukkan GPT-4.1 dan LLM Umum Lainnya Menghasilkan Kode Tidak Aman Tanpa Instruksi Keamanan Eksplisit

Riset terbaru Backslash Security telah mengungkap tren yang mengkhawatirkan: Large Language Models (LLM) seperti GPT-4.1, bersama dengan model lain yang banyak digunakan, cenderung menghasilkan kode yang tidak aman secara default. Ini berarti bahwa tanpa instruksi atau panduan khusus yang berfokus pada keamanan, kode yang dihasilkan oleh sistem AI ini sering kali rentan terhadap kelemahan dan eksploitasi umum. Namun, riset juga menunjukkan bahwa keamanan kode yang dihasilkan dapat ditingkatkan secara signifikan dengan memberikan panduan keamanan tambahan atau menerapkan tata kelola berbasis aturan.

Untuk lebih mengeksplorasi masalah ini, Backslash Security telah mengumumkan peluncuran Model Context Protocol (MCP) Server, bersama dengan Rules dan Extensions yang dirancang untuk Agentic Integrated Development Environments (IDEs). Alat-alat ini bertujuan untuk mengatasi kerentanan keamanan yang teridentifikasi dalam kode yang dihasilkan LLM dan memberi pengembang sarana untuk membuat aplikasi yang lebih aman.

LLM dan Pembuatan Kode Tidak Aman: Skenario Default

Backslash Security melakukan serangkaian pengujian pada tujuh versi berbeda dari LLM populer, termasuk model GPT OpenAI, Claude Anthropic, dan Gemini Google. Tujuannya adalah untuk menilai bagaimana berbagai teknik prompting memengaruhi kemampuan model untuk menghasilkan kode yang aman. Keamanan keluaran kode dievaluasi berdasarkan ketahanannya terhadap sepuluh kasus penggunaan Common Weakness Enumeration (CWE), yang mewakili berbagai kerentanan perangkat lunak umum.

Hasil dari pengujian ini secara konsisten menunjukkan bahwa keamanan kode yang dihasilkan meningkat dengan teknik prompting yang lebih canggih. Namun, tema utamanya adalah bahwa semua LLM yang diuji umumnya menghasilkan kode yang tidak aman ketika dibiarkan sendiri. Ini menunjukkan bahwa model-model ini, dalam konfigurasi default mereka, tidak memprioritaskan keamanan dan sering kali gagal untuk mengatasi kelemahan pengkodean umum.

Prompt Naif: Resep untuk Kerentanan

Ketika disajikan dengan prompt sederhana, “naif” yang tidak secara eksplisit menyebutkan pertimbangan keamanan, semua LLM yang diuji menghasilkan kode tidak aman yang rentan terhadap setidaknya empat dari sepuluh CWE umum. Hal ini menyoroti kurangnya kesadaran keamanan yang melekat pada model-model ini ketika beroperasi tanpa panduan khusus.

Dampak Prompt yang Berfokus pada Keamanan

Prompt yang secara umum menentukan kebutuhan akan keamanan menghasilkan hasil yang lebih aman, yang mengindikasikan bahwa LLM mampu menghasilkan kode yang lebih aman ketika secara eksplisit diperintahkan untuk melakukannya. Selain itu, prompt yang meminta kode yang sesuai dengan praktik terbaik Open Web Application Security Project (OWASP) menghasilkan hasil yang lebih baik. OWASP adalah yayasan nirlaba yang bekerja untuk meningkatkan keamanan perangkat lunak. Namun, bahkan dengan prompt yang lebih canggih ini, beberapa kerentanan kode tetap ada dalam lima dari tujuh LLM yang diuji, yang menggarisbawahi tantangan dalam menghasilkan kode yang aman secara konsisten dengan LLM.

Prompt Berbasis Aturan: Jalan menuju Kode Aman

Pendekatan yang paling efektif untuk menghasilkan kode yang aman melibatkan prompt yang terikat pada aturan yang ditentukan oleh Backslash untuk mengatasi CWE tertentu. Prompt berbasis aturan ini menghasilkan kode yang aman dan tidak rentan terhadap CWE yang diuji. Ini menunjukkan bahwa memberikan LLM dengan panduan khusus dan terarah sangat penting untuk memastikan keamanan kode yang dihasilkan.

Variasi Kinerja Antar LLM

Secara keseluruhan, GPT-4o OpenAI menunjukkan kinerja terendah di semua prompt, mencapai hasil kode aman hanya 1 dari 10 ketika menggunakan prompt “naif”. Bahkan ketika diminta untuk menghasilkan kode yang aman, ia masih menghasilkan keluaran tidak aman yang rentan terhadap delapan dari sepuluh masalah. GPT-4.1 tidak berkinerja jauh lebih baik dengan prompt naif, mencetak 1,5 dari 10.

Sebaliknya, Claude 3.7 Sonnet muncul sebagai pemain terbaik di antara alat GenAI yang diuji. Ia mencetak 6 dari 10 menggunakan prompt naif dan 10 sempurna dari 10 ketika menggunakan prompt yang berfokus pada keamanan. Ini menunjukkan bahwa beberapa LLM lebih siap untuk menangani pertimbangan keamanan, bahkan tanpa instruksi eksplisit.

Solusi Backslash Security untuk Pengkodean Vibe yang Aman

Untuk mengatasi masalah yang diungkapkan oleh pengujian prompt LLM-nya, Backslash Security memperkenalkan beberapa fitur baru yang dirancang untuk memungkinkan pengkodean vibe yang aman. Pengkodean vibe mengacu pada praktik menghasilkan kode menggunakan alat AI seperti LLM.

Aturan & Kebijakan AI Backslash

Aturan & Kebijakan AI Backslash menyediakan aturan yang dapat dibaca mesin yang dapat dimasukkan ke dalam prompt untuk memastikan cakupan CWE. Aturan ini dapat digunakan dengan alat seperti Cursor, editor kode populer. Selain itu, kebijakan AI mengontrol aturan AI mana yang aktif di IDE melalui platform Backslash, yang memungkinkan organisasi untuk menyesuaikan pengaturan keamanan mereka.

Ekstensi IDE Backslash

Ekstensi IDE Backslash terintegrasi langsung ke dalam alur kerja pengembang yang ada, yang memungkinkan mereka untuk menerima tinjauan keamanan Backslash pada kode yang ditulis oleh manusia dan AI. Integrasi ini sangat penting untuk memastikan bahwa pertimbangan keamanan ditangani di seluruh proses pengembangan.

Server Model Context Protocol (MCP) Backslash

Server Model Context Protocol (MCP) Backslash adalah API sadar konteks yang sesuai dengan standar MCP. Ia menghubungkan Backslash ke alat AI, memungkinkan pengkodean, pemindaian, dan perbaikan yang aman. Standar MCP menyediakan kerangka kerja umum bagi alat AI untuk berkomunikasi dan berbagi informasi, memfasilitasi pengembangan aplikasi bertenaga AI yang aman.

Mengatasi Tantangan Kode yang Dihasilkan AI

Yossi Pik, salah satu pendiri dan CTO Backslash Security, menekankan tantangan yang ditimbulkan oleh kode yang dihasilkan AI terhadap tim keamanan. Ia mencatat bahwa ‘Kode yang dihasilkan AI - atau pengkodean vibe - dapat terasa seperti mimpi buruk bagi tim keamanan. Ini menciptakan banjir kode baru dan membawa risiko LLM seperti halusinasi dan sensitivitas prompt.’ Halusinasi mengacu pada contoh di mana LLM menghasilkan informasi yang salah atau tidak masuk akal, sementara sensitivitas prompt mengacu pada kecenderungan LLM untuk menghasilkan keluaran yang berbeda berdasarkan variasi halus dalam prompt masukan.

Namun, Pik juga percaya bahwa AI dapat menjadi alat yang berharga bagi tim AppSec ketika digunakan dengan kontrol yang tepat. Ia berpendapat bahwa ‘dengan kontrol yang tepat - seperti aturan yang ditentukan organisasi dan server MCP sadar konteks yang terhubung ke platform keamanan yang dibuat khusus - AI sebenarnya dapat memberi tim AppSec lebih banyak kontrol sejak awal.’ Backslash Security bertujuan untuk menyediakan kontrol ini melalui aturan berbasis kebijakan dinamisnya, server MCP sensitif konteks, dan ekstensi IDE, yang semuanya dirancang untuk era pengkodean baru.

Implikasi Kode yang Dihasilkan AI yang Tidak Aman

Temuan dari riset Backslash Security memiliki implikasi signifikan bagi industri pengembangan perangkat lunak. Karena alat pembuatan kode bertenaga AI menjadi semakin umum, sangat penting untuk memahami risiko yang terkait dengan mengandalkan alat-alat ini tanpa langkah-langkah keamanan yang tepat.

Peningkatan Kerentanan terhadap Serangan Siber

Kode yang dihasilkan AI yang tidak aman dapat menciptakan kerentanan baru yang dapat dieksploitasi oleh penjahat dunia maya. Kerentanan ini dapat menyebabkan pelanggaran data, kompromi sistem, dan insiden keamanan lainnya.

Kesulitan dalam Mengidentifikasi dan Memperbaiki Kerentanan

Volume kode yang dihasilkan AI yang sangat besar dapat mempersulit identifikasi dan perbaikan kerentanan. Tim keamanan mungkin kesulitan untuk mengimbangi laju pembuatan kode yang cepat, yang menyebabkan tumpukan masalah keamanan.

Kurangnya Kesadaran Keamanan di Kalangan Pengembang

Banyak pengembang mungkin tidak sepenuhnya menyadari risiko keamanan yang terkait dengan kode yang dihasilkan AI. Kurangnya kesadaran ini dapat menyebabkan pengembang secara tidak sengaja memasukkan kerentanan ke dalam aplikasi mereka.

Tantangan Kepatuhan Regulasi

Organisasi yang mengandalkan kode yang dihasilkan AI mungkin menghadapi tantangan kepatuhan regulasi. Banyak peraturan mengharuskan organisasi untuk menerapkan langkah-langkah keamanan yang memadai untuk melindungi data sensitif. Kode yang dihasilkan AI yang tidak aman dapat mempersulit pemenuhan persyaratan ini.

Praktik Terbaik untuk Pembuatan Kode Bertenaga AI yang Aman

Untuk mengurangi risiko yang terkait dengan kode yang dihasilkan AI yang tidak aman, organisasi harus mengadopsi praktik terbaik berikut:

Memberikan Pelatihan Keamanan kepada Pengembang

Pengembang harus menerima pelatihan tentang risiko keamanan yang terkait dengan kode yang dihasilkan AI. Pelatihan ini harus mencakup topik-topik seperti CWE umum, praktik pengkodean yang aman, dan cara menggunakan alat keamanan.

Menerapkan Kebijakan dan Prosedur Keamanan

Organisasi harus menerapkan kebijakan dan prosedur keamanan yang membahas penggunaan kode yang dihasilkan AI. Kebijakan ini harus mendefinisikan kasus penggunaan yang dapat diterima, persyaratan keamanan, dan proses untuk meninjau dan menyetujui kode yang dihasilkan AI.

Menggunakan Alat Keamanan untuk Memindai Kode yang Dihasilkan AI

Organisasi harus menggunakan alat keamanan untuk memindai kode yang dihasilkan AI untuk mencari kerentanan. Alat ini dapat membantu mengidentifikasi CWE umum dan masalah keamanan lainnya.

Menerapkan Siklus Hidup Pengembangan yang Aman (SDLC)

Organisasi harus menerapkan siklus hidup pengembangan yang aman (SDLC) yang memasukkan pertimbangan keamanan di seluruh proses pengembangan. Ini termasuk melakukan tinjauan keamanan kode yang dihasilkan AI, melakukan pengujian penetrasi, dan menerapkan pemantauan keamanan.

Membangun Program Bug Bounty

Organisasi harus membangun program bug bounty untuk mendorong peneliti keamanan untuk menemukan dan melaporkan kerentanan dalam kode yang dihasilkan AI. Ini dapat membantu mengidentifikasi kerentanan yang mungkin terlewatkan oleh tim keamanan internal.

Tetap Mendapatkan Informasi tentang Ancaman Keamanan Terbaru

Organisasi harus tetap mendapatkan informasi tentang ancaman dan kerentanan keamanan terbaru yang memengaruhi kode yang dihasilkan AI. Ini dapat membantu mereka mengatasi masalah keamanan potensial secara proaktif.

Berkolaborasi dengan Para Ahli Keamanan

Organisasi harus berkolaborasi dengan para ahli keamanan untuk menilai keamanan kode yang dihasilkan AI mereka dan mengembangkan strategi untuk mengurangi risiko.

Masa Depan Pembuatan Kode Bertenaga AI yang Aman

Karena alat pembuatan kode bertenaga AI terus berkembang, sangat penting untuk memprioritaskan keamanan. Dengan menerapkan praktik terbaik yang diuraikan di atas, organisasi dapat memanfaatkan manfaat dari pembuatan kode bertenaga AI sambil mengurangi risiko yang terkait dengan kode yang tidak aman.

Kemajuan dalam Keamanan AI

Upaya penelitian dan pengembangan yang berkelanjutan difokuskan pada peningkatan keamanan sistem AI. Upaya ini termasuk mengembangkan teknik baru untuk mendeteksi dan mencegah serangan adversarial, meningkatkan ketahanan model AI, dan membuat arsitektur AI yang lebih aman.

Integrasi Keamanan ke dalam Pengembangan AI

Keamanan menjadi semakin terintegrasi ke dalam proses pengembangan AI. Ini termasuk memasukkan pertimbangan keamanan ke dalam desain model AI, menggunakan praktik pengkodean yang aman, dan melakukan pengujian keamanan di seluruh siklus hidup pengembangan.

Kolaborasi Antara Ahli AI dan Keamanan

Kolaborasi antara ahli AI dan keamanan sangat penting untuk memastikan keamanan sistem AI. Kolaborasi ini dapat membantu mengidentifikasi potensi risiko keamanan dan mengembangkan strategi mitigasi yang efektif.

Peningkatan Kesadaran akan Risiko Keamanan AI

Peningkatan kesadaran akan risiko keamanan AI mendorong pengembangan alat dan teknik keamanan baru. Ini termasuk alat untuk mendeteksi serangan adversarial, menganalisis keamanan model AI, dan memantau sistem AI untuk aktivitas mencurigakan.

Dengan mengatasi tantangan keamanan yang terkait dengan kode yang dihasilkan AI, organisasi dapat membuka potensi penuh dari pengembangan bertenaga AI sambil melindungi sistem dan data mereka dari serangan siber.