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.2: thêm coverage C/C++, Go, Rust và JavaScript, đội DevSecOps cần rà gì?

Tech #186 Đăng bởi PVYSTORE 2026-10-10 08:05:41 👁 10 lượt xem
CodeQL 2.27.2: thêm coverage C/C++, Go, Rust và JavaScript, đội DevSecOps cần rà gì?

GitHub thông báo CodeQL 2.27.2 ngày 9/10/2026. Bản này mở rộng mô hình phân tích C/C++, Go, Rust và JavaScript/TypeScript, đồng thời thay đổi đáng kể thư viện control-flow graph của Go.

Phạm vi coverage

Default suite của CodeQL 2.27.2 chạy 498 security query, phủ 170 CWE. Extended suite bổ sung 131 query cho 32 CWE khác. Đây là số lượng rule của suite, không phải cam kết phát hiện mọi lỗ hổng: chất lượng kết quả vẫn phụ thuộc build, dependency, framework model và triage.

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

Điểm security cần chú ý

Query C# về missing X-Frame-Options giờ nhận diện ASP.NET Core response header và CSP frame-ancestors như cơ chế chống clickjacking. Query XSS không còn coi giá trị Razor tag-helper tạo bằng WriteLiteral là sink. Với GitHub Actions, predicate trustedActionsOwnerDataModel cho phép loại owner khỏi trusted set bằng tiền tố !, ví dụ !github, để báo cả unpinned tag của owner first-party.

Breaking change cho query Go tùy biến

Go CFG chuyển hoàn toàn sang shared CFG library. Node/edge/location/text representation/basic-block boundary có thể đổi; BasicBlocks::Cfg bị bỏ, IfStmt.getCond deprecated và IfStmt.getThen, LoopStmt.getBody trả về Stmt. Repository có custom QL pack phải chạy regression trước khi nâng bản production.

CLI và macOS

CLI báo lỗi rõ hơn cho qlpack:/from: không hợp lệ, từ chối integer data-extension ngoài signed 32-bit range, thêm prefix ERROR:/WARNING: trên stderr. GitHub cũng lưu ý autobuild/manual build cho compiled language không được hỗ trợ trên macOS 27 với mọi Xcode, hoặc macOS 26 khi chọn Xcode 27, do Apple không còn ship binary đa kiến trúc cần cho traced analysis.

Việc cần làm

Phân tích

2.27.2 hữu ích nhất ở các dự án đa ngôn ngữ và đội dùng custom query. Coverage rộng hơn chỉ tạo giá trị khi pipeline có baseline, SLA triage và rule suppression có lý do. Breaking CFG Go là rủi ro vận hành thực tế: nâng CodeQL mà không regression có thể làm query nội bộ lỗi hoặc thay kết quả. Nên rollout theo repo đại diện, đối chiếu alert mới/mất đi, rồi mới nâng diện rộng.

× Zalo QR Alexz