Developer Menemukan Tools Coding AI Menciptakan Kerentanan Keamanan dan Mengurangi Pemahaman Kode

Tim Komunitas BigGo
Developer Menemukan Tools Coding AI Menciptakan Kerentanan Keamanan dan Mengurangi Pemahaman Kode

Eksperimen seorang developer dengan tools coding bertenaga AI telah memicu perdebatan sengit tentang apakah teknologi ini benar-benar meningkatkan produktivitas atau justru menciptakan masalah baru. Pengalaman tersebut, yang dibagikan dalam sebuah blog post terperinci, mengungkapkan bagaimana kode yang dihasilkan AI dapat memperkenalkan kelemahan keamanan serius sambil membuat developer kurang familiar dengan codebase mereka sendiri.

Developer tersebut awalnya menolak menggunakan tools AI namun akhirnya mencobanya karena tekanan di tempat kerja. Setelah menghasilkan 200 baris kode pemrosesan gambar hanya dalam 30 menit—tugas yang biasanya membutuhkan waktu jauh lebih lama—hasil awal tampak mengesankan. Namun, ketika tool AI yang sama diminta untuk meninjau kodenya sendiri untuk masalah keamanan, ia menemukan beberapa kerentanan serius termasuk serangan directory traversal dan potensi penimpaan file sistem.

Masalah Keamanan Umum pada Tool Coding AI:

  • Serangan directory traversal
  • Tidak adanya batasan ukuran file
  • Kerentanan penimpaan file sistem
  • Kurangnya validasi input
  • Kontrol akses yang tidak memadai

Masalah Blind Spot Keamanan

Penemuan yang paling mengkhawatirkan adalah bahwa AI tersebut mengetahui risiko keamanan ini sejak awal namun tidak menyertakan perlindungan dalam kode asli. Ini menciptakan situasi berbahaya di mana developer tanpa pengetahuan keamanan mendalam mungkin men-deploy kode yang rentan tanpa menyadarinya. Diskusi komunitas mengungkapkan bahwa ini bukan kejadian terisolasi—banyak developer melaporkan pengalaman serupa di mana tools AI menghasilkan kode yang fungsional namun cacat.

Ketika mencoba memperbaiki masalah keamanan, developer tersebut menghadapi masalah lain: karena mereka tidak menulis kode itu sendiri, mereka kekurangan model mental yang diperlukan untuk membuat perubahan secara efisien. Ini menyebabkan siklus meminta AI untuk membuat lebih banyak perbaikan, semakin menjauhkan mereka dari pemahaman codebase mereka sendiri.

Paradoks Produktivitas

Respons komunitas menyoroti perpecahan tajam dalam pengalaman dengan tools coding AI. Beberapa developer melaporkan peningkatan produktivitas yang signifikan, sementara yang lain menggambarkan waktu terbuang untuk debugging masalah yang dihasilkan AI. Sebuah studi terbaru yang disebutkan dalam diskusi menemukan bahwa developer berpengalaman sebenarnya menjadi 19% kurang produktif ketika menggunakan tools AI, bertentangan dengan banyak klaim produktivitas yang dilaporkan sendiri.

LLM telah memberiku kode yang buruk, membuatku tidak tahu tentang code base ku sendiri, dan terlalu malas untuk mencoba memperbaikinya sendiri. Dan pada saat yang sama, seluruh pengalaman terasa mulus, tanpa hambatan, memberdayakan.

Perdebatan sering berpusat pada prompt engineering—keterampilan membuat instruksi yang lebih baik untuk tools AI. Para pendukung berargumen bahwa hasil yang buruk berasal dari prompting yang tidak memadai, sementara kritikus menunjukkan bahwa persyaratan ini membuat tools tersebut kurang dapat diandalkan daripada yang diiklankan.

Hasil Studi Produktivitas Developer:

  • Developer berpengalaman: Penurunan produktivitas 19% dengan tools AI
  • Developer junior: Melaporkan peningkatan produktivitas dalam beberapa studi
  • Produktivitas yang dilaporkan sendiri vs. yang diukur sering menunjukkan hasil yang bertentangan

Kekhawatiran Kemunduran Keterampilan

Banyak developer berpengalaman khawatir bahwa terlalu bergantung pada tools AI dapat mengikis keterampilan pemrograman fundamental mereka. Penulis asli menyimpulkan bahwa risiko sebenarnya bukanlah AI menggantikan developer, tetapi AI membuat developer begitu bergantung sehingga mereka menjadi kurang mampu memecahkan masalah secara independen.

Namun, beberapa anggota komunitas berargumen untuk pendekatan yang seimbang, menggunakan AI sebagai pengali produktivitas sambil mempertahankan keterampilan inti melalui latihan yang disengaja. Mereka menyarankan memperlakukan tools AI seperti autocomplete canggih daripada problem-solver yang cerdas.

Diskusi tersebut mencerminkan kekhawatiran yang lebih luas tentang bagaimana tools AI mungkin mengubah sifat pekerjaan pengembangan perangkat lunak. Meskipun tools ini dapat mempercepat tugas-tugas tertentu, komunitas tetap terbagi tentang apakah mereka mewakili kemajuan yang sesungguhnya atau menciptakan bentuk baru technical debt yang perlu ditangani nanti.

Referensi: I tried coding with AI, I became lazy and stupid