Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SEC11-BP04 Lakukan peninjauan kode
Terapkan peninjauan kode untuk membantu memverifikasi kualitas dan keamanan perangkat lunak yang sedang dikembangkan. Peninjauan kode mengharuskan anggota tim selain penulis kode asli meninjau kode untuk menemukan potensi masalah, kerentanan, dan kepatuhan terhadap standar dan praktik terbaik pengodean. Proses ini membantu menemukan kesalahan, inkonsistensi, dan kelemahan keamanan yang mungkin terlewat oleh developer asli. Gunakan alat otomatis untuk membantu peninjauan kode.
Hasil yang diinginkan: Anda menyertakan peninjauan kode selama pengembangan untuk meningkatkan kualitas perangkat lunak yang sedang ditulis. Anda meningkatkan keterampilan anggota tim yang kurang berpengalaman melalui pembelajaran yang diidentifikasi selama peninjauan kode. Anda mengidentifikasi peluang untuk otomatisasi dan mendukung proses peninjauan kode menggunakan alat dan pengujian otomatis.
Anti-pola umum:
-
Anda tidak meninjau kode sebelum deployment.
-
Orang yang sama menulis dan meninjau kode.
-
Anda tidak menggunakan otomatisasi untuk membantu atau melakukan orkestrasi peninjauan kode.
-
Anda tidak melatih builder agar memahami keamanan aplikasi sebelum mereka meninjau kode.
Manfaat menjalankan praktik terbaik ini:
-
Peningkatan kualitas kode.
-
Peningkatan konsistensi pengembangan kode sepanjang penggunaan ulang pendekatan umum.
-
Penurunan jumlah masalah yang ditemukan selama uji penetrasi dan tahap-tahap terakhir.
-
Peningkatan transfer ilmu di dalam tim.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang
Panduan implementasi
Peninjauan kode membantu memverifikasi kualitas dan keamanan perangkat lunak selama pengembangan. Peninjauan manual mengharuskan anggota tim selain penulis kode asli meninjau kode untuk menemukan potensi masalah, kerentanan, dan kepatuhan terhadap standar dan praktik terbaik pengodean. Proses ini membantu menemukan kesalahan, inkonsistensi, dan kelemahan keamanan yang mungkin terlewat oleh developer asli.
Pertimbangkan Keamanan Amazon CodeGuru untuk membantu melakukan peninjauan kode otomatis. Keamanan CodeGuru menggunakan machine learning dan penalaran otomatis untuk menganalisis kode Anda serta mengidentifikasi potensi kerentanan keamanan dan masalah pengodean. Integrasikan peninjauan kode otomatis dengan repositori kode yang ada serta pipeline integrasi berkelanjutan dan deployment berkelanjutan (CI/CD).
Langkah-langkah implementasi
-
Buat proses peninjauan kode:
-
Tentukan kapan peninjauan kode harus dilakukan, seperti sebelum menggabungkan kode ke cabang utama atau sebelum melakukan deployment ke produksi.
-
Tentukan siapa yang harus terlibat dalam proses peninjauan kode, seperti anggota tim, developer senior, dan ahli keamanan.
-
Tentukan metodologi peninjauan kode, termasuk proses dan alat yang akan digunakan.
-
-
Siapkan alat peninjauan kode:
-
Evaluasi dan pilih alat peninjauan kode yang sesuai dengan kebutuhan tim Anda, seperti GitHub Pull Requests atau Keamanan CodeGuru
-
Integrasikan alat yang dipilih dengan repositori kode yang ada dan pipeline CI/CD Anda.
-
Konfigurasikan alat untuk memberlakukan persyaratan peninjauan kode, seperti jumlah minimum peninjau dan aturan persetujuan.
-
-
Tentukan daftar periksa dan pedoman peninjauan kode:
-
Buat daftar periksa atau pedoman peninjauan kode yang menguraikan apa yang harus ditinjau. Pertimbangkan faktor-faktor seperti kualitas kode, kerentanan keamanan, kepatuhan terhadap standar pengodean, dan kinerja.
-
Bagikan daftar periksa atau pedoman kepada tim pengembangan, dan pastikan bahwa semua orang memahami ekspektasinya.
-
-
Latih developer tentang praktik terbaik peninjauan kode:
-
Berikan pelatihan kepada tim Anda tentang cara melakukan peninjauan kode yang efektif.
-
Edukasi tim Anda tentang prinsip keamanan aplikasi dan kerentanan umum yang harus dicari selama peninjauan.
-
Dorong praktik berbagi pengetahuan dan sesi pemrograman berpasangan untuk meningkatkan keterampilan anggota tim yang kurang berpengalaman.
-
-
Terapkan proses peninjauan kode:
-
Integrasikan langkah peninjauan kode ke dalam alur kerja pengembangan Anda, seperti membuat permintaan pull dan menetapkan peninjau.
-
Wajibkan agar perubahan kode menjalani peninjauan kode sebelum penggabungan atau deployment.
-
Dorong komunikasi terbuka dan umpan balik yang konstruktif selama proses peninjauan.
-
-
Pantau dan tingkatkan:
-
Tinjau secara teratur efektivitas proses peninjauan kode Anda dan kumpulkan umpan balik dari tim.
-
Identifikasi peluang untuk otomatisasi atau peningkatan alat guna menyederhanakan proses peninjauan kode.
-
Terus perbarui dan efektifkan daftar periksa atau pedoman peninjauan kode berdasarkan pembelajaran dan praktik terbaik industri.
-
-
Tumbuhkan budaya peninjauan kode:
-
Tekankan pentingnya peninjauan kode untuk menjaga kualitas dan keamanan kode.
-
Rayakan keberhasilan dan pembelajaran dari proses peninjauan kode.
-
Dorong lingkungan kolaboratif dan suportif di mana developer merasa nyaman dalam memberikan dan menerima umpan balik.
-
Sumber daya
Praktik-praktik terbaik terkait:
Dokumen terkait:
Contoh terkait:
Video terkait: