GitHub hôm thứ Tư đã thông báo rằng họ đang cung cấp một tính năng gọi là tự động quét mã trong bản beta công khai cho tất cả khách hàng của Advanced Security để cung cấp các đề xuất được nhắm mục tiêu trong nỗ lực tránh đưa ra các vấn đề bảo mật mới.
"Được hỗ trợ bởi GitHub Copilot và CodeQL, tự động quét mã bao gồm hơn 90% các loại cảnh báo trong JavaScript, Typescript, Java và Python và cung cấp các đề xuất mã được hiển thị để khắc phục hơn hai phần ba các lỗ hổng được tìm thấy với ít hoặc không có chỉnh sửa", Pierre Tempel và Eric Tooley của GitHub cho biết.
Khả năng này, được xem trước lần đầu tiên vào tháng 11/2023, tận dụng sự kết hợp giữa CodeQL, API Copilot và OpenAI GPT-4 để tạo ra các đề xuất mã. Công ty con thuộc sở hữu của Microsoft cũng cho biết họ có kế hoạch bổ sung hỗ trợ cho nhiều ngôn ngữ lập trình hơn, bao gồm C # và Go, trong tương lai.
Những đề xuất này có thể vượt ra ngoài tệp hiện tại để bao gồm các thay đổi đối với một số tệp khác và các phụ thuộc cần được thêm vào để khắc phục sự cố.
"Tự động quét mã làm giảm rào cản gia nhập cho các nhà phát triển bằng cách kết hợp thông tin về các phương pháp hay nhất với chi tiết về cơ sở mã và cảnh báo để đề xuất bản sửa lỗi tiềm năng cho nhà phát triển", công ty cho biết.
"Thay vì bắt đầu với việc tìm kiếm thông tin về lỗ hổng, nhà phát triển bắt đầu với một đề xuất mã thể hiện một giải pháp tiềm năng cho cơ sở mã của họ."
GitHub cũng nhấn mạnh những hạn chế hiện tại của các đề xuất mã tự động sửa, khiến các nhà phát triển bắt buộc phải xem xét cẩn thận các thay đổi và phụ thuộc trước khi chấp nhận chúng -
- Đề xuất các bản sửa lỗi không phải là thay đổi mã đúng cú pháp
- Đề xuất các bản sửa lỗi là mã đúng cú pháp nhưng được đề xuất tại vị trí không chính xác
- Đề xuất các bản sửa lỗi hợp lệ về mặt cú pháp nhưng thay đổi ngữ nghĩa của chương trình
- Đề xuất các bản sửa lỗi không giải quyết được nguyên nhân gốc rễ hoặc đưa ra các lỗ hổng mới
- Đề xuất các bản sửa lỗi chỉ giải quyết một phần lỗ hổng cơ bản
- Đề xuất các phần phụ thuộc không được hỗ trợ hoặc không an toàn
- Đề xuất sự phụ thuộc tùy tiện, dẫn đến các cuộc tấn công chuỗi cung ứng có thể xảy ra
"Hệ thống có kiến thức không đầy đủ về các phụ thuộc được công bố trong hệ sinh thái rộng lớn hơn", công ty lưu ý. "Điều này có thể dẫn đến các đề xuất thêm sự phụ thuộc mới vào phần mềm độc hại mà những kẻ tấn công đã xuất bản dưới tên phụ thuộc có thể xảy ra về mặt thống kê."