Nền tảng lưu trữ code GitHub vừa cho ra mắt công cụ quét và phân tích code dựa trên machine learning hoàn toàn mới. Công cụ này có khả năng tự động phát hiện ra các lỗ hổng phổ biến trong code trước khi chúng được đưa vào những giai đoạn cuối cùng.
Hiện tại, công cụ này đang được thử nghiệm công khai (public beta) trong các repo JavaScript và TypeScript của GitHub.
"Với khả năng phân tích mới, công cụ quét code có thể hiển thị nhiều cảnh báo hơn cho bốn mẫu lỗ hỏng phổ biến như: cross-site scripting (XSS), path injection, NoSQL injection và SQL injection", các chuyên gia Tiferet Gazit và Alona Hloibna của GitHub chia sẻ.
"Dữ liệu tổng hợp cho thấy 4 loại lỗ hổng này là nguyên nhân của nhiều lỗ hổng (CVE) gần đây trong hệ sinh thái JavaScript/TypeScript và việc cải thiện khả năng quét code để phát hiện sớm các lỗ hổng này trong quá trình phát triển là chìa khóa để giúp các nhà phát triển viết code an toàn hơn".
Khi phát hiện ra lỗ hổng, công cụ sẽ hiển thị cảnh báo trong tab "Security" của các repo đã đăng ký. Các cảnh báo cũng được gắn nhãn "Experimental" và cũng có sẵn qua thẻ pull requests.
Thực tế, công cụ phân tích code có tên CodeQL đã được GitHub thêm vào nền tảng của họ sau khi tiến hành thâu tóm nền tảng phân tích code Semmle vào tháng 9/2019. Bản beta đầu tiên của CodeQL được công bố vào tháng 5/2020 và có sẵn cho mọi người thử nghiệm vào tháng 9/2020.
Trong quá trình thử nghiệm beta, CodeQL đã quét hơn 12.000 repo tới 1,3 triệu lần và phát hiện hơn 20.000 vấn đề bảo mật, bao gồm cả các lỗ hổng thực thi code từ xa (RCE), SQL injection và cross-site scripting (XSS).
CodeQL miễn phí cho các repo công cộng và có sẵn dưới dạng tính năng Bảo mật Nâng cao cho các repo riêng tư GitHub Enterprise.
Hiện tại, sau khi được bổ sung machine learning, độ chính xác và khả năng phân tích code của CodeQL sẽ ngày càng được nâng cao hơn nữa.