Bài viết này do AI tạo ra, có thể mắc sai sót.
GitHub phát hành CodeQL 2.27.1 ngày 25/9/2026, thêm query và mô hình data flow cho nhiều ngôn ngữ. Đây là bản cập nhật đáng chú ý cho đội dùng GitHub code scanning: kết quả quét có thể thay đổi cả theo hướng tìm được thêm vấn đề lẫn giảm false positive, vì engine hiểu framework/API tốt hơn.
boost::asio::ip::basic_resolver::resolve, flow summary cho Bloomberg bdlbb::Blob và Protocol Buffers MessageLite.bytes.CutLast, database/sql.ConvertAssign, net/url.URL.Clone và gói encoding/json/jsontext có data-flow model mới/cải thiện.Foo::class.java trên K2 compiler, giảm false positive cho một số query Android.withTypeProvider() và setValidatorCompiler() được nhận diện tốt hơn, có thể ảnh hưởng kết quả js/missing-rate-limiting.Ở C/C++, việc thêm model cho resolver, buffer phân đoạn và Protocol Buffers giúp truy vết input đi qua API mà engine trước đó có thể coi là “mù”. Không có nghĩa mọi kết quả mới là lỗ hổng thật; nó mở rộng bề mặt code cần triage.
Với Go, model cho API thư viện chuẩn 1.27 và các hàm chuỗi giúp truy vết dữ liệu sát code hiện đại hơn. Với Rust, CodeQL thêm model cho core::fmt::Write, cải thiện phát hiện tình huống dữ liệu tainted được ghi vào formatted output buffer; Rust extractor cũng dùng rust-analyzer 0.0.347.
CodeQL 2.27.1 có query C/C++ cpp/ambiguous-assignment-of-comparison, nhận diện biểu thức dễ gây nhầm khi gán kết quả so sánh rồi dùng phép gán làm truth value. C# có query cs/linq/missed-firstordefault và các sửa đổi để suggestion không tạo lambda không biên dịch với tham số in, out, ref.
Ở ASP.NET Core, query cs/web/missing-token-validation nhận biết AutoValidateAntiforgeryTokenAttribute khi đăng ký global MVC filter. Đây là ví dụ quan trọng: cải thiện engine có thể giảm cảnh báo nhiễu, nhưng đội bảo mật vẫn phải xác nhận filter thật sự áp dụng ở endpoint cần bảo vệ.
Query actions/unpinned-tag không còn báo action đã được pin bằng entry hợp lệ trong .github/workflows/actions.lock. Nó cũng bỏ qua tham chiếu self-repository dạng uses: $/path/to/action, vì chúng chạy ở cùng commit và được coi là đã pin. Thay đổi này giúp backlog gọn hơn nếu repository dùng hai mẫu trên.
Ngoài query, CodeQL hỗ trợ private NuGet registry có tuỳ chọn Replaces base ở cấp tổ chức: registry này thay default NuGet feed khi CodeQL tải dependency, kể cả khi project có cấu hình default feed. Đội enterprise dùng registry nội bộ nên test pipeline để bảo đảm dependency resolution đúng kỳ vọng.
Giá trị lớn nhất của CodeQL 2.27.1 là coverage và fidelity, không phải một query “thần kỳ”. Mô hình data flow càng sát framework/API, kết quả càng hữu ích cho triage. Nhưng mỗi model mới cũng có thể làm số alert tăng, nên cần đưa thay đổi vào quy trình quản trị baseline thay vì biến nó thành cuộc chạy theo số lượng.
Với đội DevSecOps, lịch cập nhật CodeQL nên được coi như cập nhật compiler hoặc dependency scanner: thử ở nhánh kiểm thử, đo thời gian scan, kiểm tra false positive và thông báo developer về query mới. Làm vậy giúp lợi ích detection không đổi thành alert fatigue.
Đối chiếu từ GitHub Changelog và CodeQL changelog chính thức ngày 25/9/2026. Bài công khai không chèn liên kết nguồn ngoài theo quy định PVYSTORE.