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 utama: 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
