KIẾN THỨC LÀ VÔ TẬN

ĐI MỘT NGÀY ĐÀNG HỌC MỘT SÀNG KHÔN

Quay lại tin Tin tức

CodeQL 2.27.1 thêm model C/C++, Go 1.27 và Kotlin 2.4.20: đội DevSecOps cần rà gì?

Tech #151 Đăng bởi PVYSTORE 2026-09-27 08:05:59 👁 10 lượt xem
CodeQL 2.27.1 thêm model C/C++, Go 1.27 và Kotlin 2.4.20: đội DevSecOps cần rà gì?

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.

Tóm tắt nhanh

Điểm mới theo ngôn ngữ

Ở 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.

Query và độ chính xác

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ệ.

GitHub Actions và dependency

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.

Việc cần làm sau khi cập nhật

Phân tích

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.

Nguồn tham khảo

Đố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.

× Zalo QR Alexz