GitHub nâng cấp CodeQL với tính năng Mô hình bảo mật khai báo giúp phân tích nhanh và linh hoạt hơn
GitHub đã giới thiệu một bản cập nhật quan trọng cho động cơ CodeQL, cho phép các nhà phát triển định nghĩa các bộ làm sạch và trình xác thực tùy chỉnh thông qua phương pháp "models-as-data". Động thái này giúp đơn giản hóa việc mở rộng phân tích bảo mật trên các cơ sở mã mà không yêu cầu chuyên sâu về ngôn ngữ truy vấn phức tạp.

GitHub vừa công bố một bản cập nhật đáng chú ý cho động cơ CodeQL của mình, mang đến khả năng định nghĩa các bộ làm sạch (sanitizers) và trình xác thực (validators) tùy chỉnh trực tiếp thông qua phương pháp "models-as-data". Đây là bước tiến giúp các nhóm kỹ thuật dễ dàng mở rộng khả năng phân tích bảo mật trên toàn bộ hệ thống mã nguồn của họ hơn bao giờ hết.
Bản cập nhật này cho phép các kỹ sư cấu hình cách xử lý dữ liệu đáng tin cậy và đã được xác thực mà không cần phải viết các truy vấn CodeQL tùy chỉnh, đánh dấu một sự chuyển dịch sang các thực hành bảo mật ứng dụng dễ tiếp cận và có khả năng mở rộng hơn.
Đơn giản hóa quy trình phân tích tĩnh
Cải tiến mới giải quyết một hạn chế chính trong các quy trình phân tích tĩnh truyền thống, nơi việc mở rộng logic phát hiện thường đòi hỏi sự hiểu biết sâu sắc về ngôn ngữ truy vấn. Với cách tiếp cận mới, các nhóm giờ đây có thể định nghĩa các hành vi này một cách khai báo bằng các tiện ích mở rộng dữ liệu dựa trên YAML. Điều này giúp việc thích ứng CodeQL với các khung nội bộ, thư viện nội bộ và logic xác thực tùy chỉnh trở nên dễ dàng hơn rất nhiều.
Cải thiện khả năng kiểm soát Taint Tracking
Trọng tâm của bản cập nhật là khả năng kiểm soát tốt hơn đối với taint tracking (theo dõi dữ liệu độc hại) — một phương pháp được sử dụng để theo dõi cách dữ liệu không đáng tin cậy chảy qua ứng dụng. CodeQL hiện cho phép các nhà phát triển định nghĩa các bộ làm sạch (các hàm làm sạch hoặc trung hòa dữ liệu) và trình xác thực (các kiểm tra xác nhận tính an toàn của dữ liệu) dưới dạng "rào cản" (barriers) và "lính canh rào cản" (barrier guards). Các cấu trúc này sẽ xác định nơi dữ liệu không an toàn tiềm ẩn nên ngừng lan truyền trong hệ thống.
Hai vị từ mở rộng mới là barrierModel và barrierGuardModel đã kích hoạt chức năng này. Vị từ đầu tiên sẽ ngăn chặn luồng dữ liệu độc hại khi một hàm được biết đến là làm sạch đầu vào, trong khi vị từ thứ hai sẽ dừng lan truyền khi điều kiện xác thực được đáp ứng. Trước đây, việc triển khai điều này yêu cầu viết logic CodeQL tùy chỉnh phức tạp, nhưng giờ đây có thể thực hiện một cách khai báo, giúp giảm độ phức tạp và giảm rào cản gia nhập cho các nhóm áp dụng phân tích bảo mật nâng cao.
Hỗ trợ đa ngôn ngữ và lợi ích thực tế
Bản cập nhật này áp dụng cho nhiều ngôn ngữ lập trình, bao gồm C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby và Rust. Sự hỗ trợ rộng rãi này đảm bảo rằng các tổ chức có cơ sở mã đa ngôn ngữ có thể chuẩn hóa cách họ mô hình hóa và thực thi các quy tắc bảo mật mà không cần sao chép công sức qua các công cụ hoặc ngôn ngữ khác nhau.
Bằng cách cho phép các nhóm mã hóa kiến thức về hệ thống của riêng mình, chẳng hạn như các hàm làm sạch nội bộ hoặc mẫu xác thực, CodeQL có thể tạo ra kết quả chính xác và có ngữ cảnh hơn, giảm thiểu dương tính giả và cải thiện việc phát hiện các lỗ hổng thực tế. Điều này đặc biệt quan trọng trong môi trường phát triển hiện đại, nơi các khung và trừu tượng hóa tùy chỉnh có thể che khuất các phân tích truyền thống.
Xu hướng chuyển dịch từ tùy chỉnh dựa trên mã sang cấu hình dựa trên dữ liệu đang ngày càng rõ rệt trong lĩnh vực bảo mật ứng dụng. Thay vì viết và duy trì các truy vấn phức tạp, các nhóm giờ đây có thể quản lý logic bảo mật dưới dạng dữ liệu có cấu trúc, giúp việc phiên bản hóa, chia sẻ và mở rộng trong tổ chức trở nên thuận tiện hơn.
Điều này phù hợp với nỗ lực liên tục của GitHub trong việc tích hợp bảo mật sâu hơn vào quy trình làm việc của các nhà phát triển, cho phép các nhóm mở rộng các công cụ tích hợp sẵn thay vì phụ thuộc vào các giải pháp bên ngoài hoặc riêng lẻ. Nó cũng hỗ trợ việc áp dụng các thực hành bảo mật nhanh hơn, vì các nhà phát triển có thể áp dụng và điều chỉnh các mô hình mà không cần đào tạo chuyên biệt về ngôn ngữ truy vấn của CodeQL.
Bài viết liên quan

Phần mềm
Cách để Claude Code Tự kiểm tra và Xác thực Công việc của Chính mình
05 tháng 5, 2026

Phần mềm
Kaspersky phát hiện cửa sau trong Daemon Tools, nghi vấn do hacker Trung Quốc thực hiện
05 tháng 5, 2026

Phần mềm
Khám phá Chế độ Tự động trong Claude Code: Hệ thống lập trình tự trị từ Anthropic
05 tháng 5, 2026
