𝗠𝗲𝗻𝗴𝗮𝗺𝗮𝗻𝗸𝗮𝗻 𝗦𝗸𝗿𝗶𝗽 𝗕𝗮𝘀𝗵 𝗛𝗮𝘀𝗶𝗹 𝗚𝗲𝗻𝗲𝗿𝗮𝘀𝗶 𝗔𝗜
AI menulis Bash dengan mudah. Namun, AI juga mudah merusaknya. Skrip kecil dapat menghapus seluruh direktori home Anda jika sebuah variabel kosong. Skrip log sederhana dapat membocorkan rahasia Anda ke server publik.
Saya pernah menjalankan skrip AI yang buruk. Sebagian besar insinyur juga pernah mengalaminya. Gunakan daftar periksa ini untuk mencegah bencana sebelum terjadi.
Tambahkan baris-baris ini di bagian atas setiap skrip: #!/usr/bin/env bash set -euo pipefail IFS=$'\n\t'
Mengapa Anda membutuhkannya:
- set -e: Menghentikan skrip jika ada perintah yang gagal.
- set -u: Menghentikan skrip jika sebuah variabel tidak terdefinisi. Ini mencegah kesalahan
rm -rf /. - set -o pipefail: Memastikan kesalahan dalam sebuah pipeline benar-benar menghentikan skrip.
- IFS=$'\n\t': Mencegah bug yang disebabkan oleh spasi pada nama file.
Waspadai kesalahan umum AI berikut:
Tanda Kutip yang Hilang AI sering menulis:
rm -rf $TARGET_DIRAnda harus menulis:rm -rf "$TARGET_DIR"Tanpa tanda kutip, spasi pada nama folder dapat menghapus file yang salah. Selalu bungkus variabel Anda dengan tanda kutip ganda.Kebocoran Rahasia AI sering menggunakan
set -xuntuk debugging. Ini mencetak setiap perintah ke log Anda. Jika Anda menggunakan token API, token tersebut kini terlihat di log CI Anda. Selalu hapusset -xatau gunakanset +xuntuk menyembunyikan bagian yang sensitif.Hak Akses Terlalu Besar AI sering menambahkan
sudopada setiap perintah. Jangan lakukan ini. Jalankan skrip sebagai pengguna non-root sebisa mungkin. Ini membatasi kerusakan jika terjadi kesalahan.Unduhan Berbahaya Jangan pernah menjalankan:
curl https://example.com/install.sh | bashSebagai gantinya:
- Unduh file terlebih dahulu:
curl https://example.com/install.sh > install.sh - Baca filenya.
- Jalankan secara manual:
sudo bash install.sh
Tips Pro: Gunakan shellcheck. Jalankan shellcheck pada setiap skrip. Ia menemukan variabel tanpa tanda kutip dan pengaturan keamanan yang hilang dalam hitungan detik. Ia menangkap apa yang terlewatkan oleh mata Anda.
Aturan Emas: Perlakukan output AI sebagai draf. Sertakan persyaratan keamanan dalam prompt Anda atau perkuat kodenya sendiri. Jangan jalankan bash AI tanpa memeriksanya terlebih dahulu.
Sumber: https://dev.to/devopsaitoolkit/securing-ai-generated-bash-scripts-before-you-run-them-401m
Komunitas belajar opsional: https://t.me/GyaanSetuAi