GitHub merilis CodeQL 2.27.1 dengan pembaruan pada model aliran data, query keamanan, dan dukungan bahasa. Versi ini menambah dukungan Kotlin 2.4.20, memperbarui pemahaman CodeQL terhadap sejumlah API Go, serta memperbaiki beberapa sumber false positive pada analisis Java/Kotlin dan JavaScript/TypeScript.
Pembaruan tersebut diumumkan GitHub pada 25 September 2026. Pengguna GitHub code scanning di GitHub.com tidak perlu mengganti konfigurasi secara manual karena GitHub menyebut setiap versi CodeQL baru akan dikirimkan otomatis ke layanan tersebut. Untuk GitHub Enterprise Server, fungsi yang sama akan masuk ke GHES 3.24; pengguna versi yang lebih lama perlu mengikuti jalur upgrade manual bila ingin memakai bundle terbaru.
Yang berubah di C/C++, Go, dan Kotlin
Pada C/C++, CodeQL 2.27.1 menambahkan model taint flow untuk boost::asio::ip::basic_resolver::resolve. Model ini membantu analisis mengikuti perpindahan data yang berasal dari API resolusi alamat tersebut. GitHub juga menambahkan flow summary untuk buffer tersegmentasi BloombergLP::bdlbb::Blob dan API google::protobuf::MessageLite dari Protocol Buffers. Perubahan ini bukan fitur yang terlihat sebagai tombol baru di antarmuka, tetapi memengaruhi seberapa lengkap CodeQL memahami aliran data di proyek yang memakai pustaka tersebut.
Untuk Go, pembaruan mencakup sejumlah API dari standar library Go 1.27, termasuk bytes.CutLast, beberapa fungsi pada database/sql, net/url.URL.Clone, net/url.Values.Clone, strings.CutLast, dan paket baru encoding/json/jsontext. Model untuk paket strings juga diperluas ke fungsi seperti Clone, Cut, CutPrefix, CutSuffix, Fields, FieldsFunc, Join, Builder, Reader, dan Replacer.
Kotlin mendapat dukungan untuk versi 2.4.20. GitHub juga memperbaiki ekstraksi argumen Foo::class.java saat proyek menggunakan compiler Kotlin K2. Menurut catatan rilisnya, perubahan ini mengurangi false positive pada query seperti java/android/implicit-pendingintents.
Query baru tidak selalu berarti lebih banyak alarm
CodeQL 2.27.1 menambahkan query C/C++ bernama cpp/ambiguous-assignment-of-comparison. Query ini mencari ekspresi yang memberikan hasil perbandingan ke sebuah variabel lalu memakai hasil tersebut sebagai nilai truthy. Pola seperti itu bisa sah dalam sebagian kode, tetapi juga mudah menjadi sumber salah baca atau bug ketika operator penugasan dan perbandingan tertukar.
Di C#, GitHub menambahkan cs/linq/missed-firstordefault, yang menandai loop foreach yang dapat ditulis lebih jelas menggunakan FirstOrDefault. Ada pula perubahan pada keluarga query cs/linq/missed-* agar tidak menyarankan penulisan ulang lambda yang menangkap parameter in, out, atau ref dengan cara yang tidak dapat dikompilasi.
Query cs/web/missing-token-validation sekarang mengenali AutoValidateAntiforgeryTokenAttribute ketika atribut tersebut didaftarkan sebagai filter MVC global melalui AddControllersWithViews dan metode terkait. Dampaknya adalah berkurangnya laporan keliru pada action ASP.NET Core yang sebenarnya sudah dilindungi.
GitHub Actions juga mendapat penyesuaian. Query actions/unpinned-tag tidak lagi melaporkan action yang dipatok melalui entri .github/workflows/actions.lock yang valid. Referensi self-repository seperti uses: $/path/to/action juga tidak lagi dianggap tidak dipatok karena rujukan itu menyelesaikan ke repository yang sama pada commit yang sedang dijalankan.
Dampaknya untuk tim
CodeQL bekerja dengan membuat database representasi kode, lalu menjalankan query untuk mencari pola yang berisiko. Pada default setup, GitHub membuat konfigurasi berdasarkan bahasa yang ada di repository dan menjalankan pemindaian pada push ke branch tertentu, pull request, serta jadwal mingguan. Query suite default dirancang lebih presisi dan menghasilkan lebih sedikit false positive dibanding security-extended, sementara suite extended menambahkan pemeriksaan dengan tingkat keyakinan yang lebih longgar.
Karena itu, pembaruan versi tidak otomatis berarti semua tim akan menerima banyak alert baru. Sebagian perubahan justru membuat CodeQL memahami framework dan API dengan lebih baik sehingga laporan yang sebelumnya keliru bisa berkurang. Di sisi lain, query baru dapat menemukan pola yang selama ini belum diperiksa, terutama pada codebase C/C++ dan konfigurasi GitHub Actions.
Langkah praktisnya sederhana: periksa versi github/codeql-action yang dipakai workflow, lihat hasil pemindaian setelah bundle baru diterapkan, lalu tinjau perubahan alert berdasarkan bahasa dan query. Tim yang menjalankan CodeQL dengan versi CLI yang dikunci sendiri perlu memastikan versi tersebut kompatibel dengan workflow mereka. Untuk pengguna GitHub.com, pembaruan ini berjalan sebagai bagian dari distribusi CodeQL yang dikelola GitHub, bukan sebagai migrasi repository yang terpisah.
Sumber https://github.blog/changelog/2026-09-25-codeql-2-27-1-adds-c-and-c-query-and-kotlin-2-4-20-support Sumber teknis: https://github.com/github/codeql-action/blob/main/CHANGELOG.md Konteks: https://docs.github.com/en/code-security/concepts/code-scanning/codeql/codeql-query-suites Konteks: https://docs.github.com/en/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning