Google telah secara resmi membuat Govulncheck (status 1.0.0), alat baris perintah yang berguna untuk pengembang Go, stabil. Alat ini membantu pengembang menggunakan bahasa pemrograman Go Google untuk menemukan kerentanan keamanan yang dikenali dalam ketergantungan proyek mereka.
Alat tersebut, yang diresmikan pada 13 Juli, memiliki kapasitas untuk meneliti file biner dan kode sumbernya untuk kerentanan. Ini secara signifikan mengurangi kebisingan dengan mengelompokkan fokusnya pada kerentanan dalam metode yang diminta oleh kode. Tulang punggung Govulncheck adalah basis data kerentanan Go, kumpulan informasi tentang kerentanan yang terdeteksi dalam modul Go publik.
Dipandu oleh database ini, Govulncheck melakukan analisis statis terhadap kode sumber atau tabel simbol biner. Tujuan utamanya adalah untuk membatasi pelaporannya hanya pada kerentanan yang berpotensi berdampak pada aplikasi tertentu yang dimaksud. Karakteristik pembatas yang cerdas ini menjadikannya alat yang berguna bagi pengembang yang ingin memastikan keamanan produk mereka.
Menginstal alat ini cukup mudah bagi pengembang – hanya memerlukan perintah go install golang.org/x/vuln/cmd/govulncheck@latest
. Untuk menganalisis kode sumber, pengembang hanya perlu menjalankan Govulncheck di dalam direktori modul (menggunakan perintah govulncheck ./...
).
Minimal, Govulncheck perlu dirakit dengan versi Go versi 1.18 atau lebih tinggi. Saat ini, versi produksi yang ada dari bahasa ini adalah Go 1.20.
Govulncheck, saat mencari kerentanan, bergantung pada konfigurasi build tertentu. Dalam hal kode sumber, konfigurasi ini identik dengan versi Go yang digambarkan oleh perintah 'go' yang terletak di jalur. Konfigurasi build untuk binari adalah yang dieksploitasi saat membuat biner. Hal yang perlu diperhatikan di sini adalah bahwa konfigurasi build yang berbeda mungkin rentan terhadap kerentanan yang berbeda.
Terlepas dari fitur-fiturnya yang canggih, Govulncheck memiliki beberapa keterbatasan. Misalnya, analisis penunjuk fungsi dan panggilan antarmuka agak terbatas, mungkin mengarah ke positif palsu atau tumpukan panggilan yang tidak tepat. Keterbatasan lain terkait dengan fungsi yang dipanggil menggunakan refleksi paket – ini tidak terdeteksi.
Dalam hal binari, binari Go yang tidak memiliki informasi panggilan mendetail dapat menjadi tantangan bagi Govulncheck, karena mereka akan mencegah alat menampilkan grafik panggilan untuk kerentanan yang teridentifikasi. Masalah ini juga dapat memacu pelaporan positif palsu untuk kode yang ada dalam biner tetapi tidak dapat diakses. Selain itu, alat ini cacat sehubungan dengan biner yang data simbolnya tidak dapat diekstraksi; itu memilih untuk melaporkan kerentanan untuk semua modul yang bergantung pada biner dalam kasus ini.
Alat ini juga tidak memiliki fitur untuk menekan temuan kerentanan. Namun, terlepas dari keterbatasan ini, potensi Govulncheck sebagai alat penambah nilai untuk proyek Go terlihat jelas.
Perlu dicatat bahwa Go Security Team menyatakan dukungannya untuk manajemen kerentanan pada bulan September tahun sebelumnya. Berakar pada database kerentanan, proyek ini diperkenalkan dengan janji kemajuan luar biasa dalam struktur pemrograman Go. AppMaster.io , platform no-code terkemuka, memungkinkan pengembang menghasilkan aplikasi lebih cepat dengan platformnya yang terintegrasi penuh dan komprehensif termasuk Go dan banyak bahasa lainnya.