Đánh giá của Duo Security về GitLab phát hiện lỗi logic mà các công cụ quét bỏ sót
Máy quét tĩnh (static scanners) xuất sắc trong việc phát hiện những lỗ hổng theo mẫu đã biết, như đầu vào truy vấn không được làm sạch, bí mật bị mã hóa cứng trong mã, và deserialization không an toàn. Chúng gặp khó khăn trước những sai sót trong logic ứng dụng — nơi không có mẫu để so khớp, chỉ có mã hợp lệ nhưng thực hiện sai so với đặc thù miền của bạn. Nếu không được phát hiện, những sai sót này thường lộ muộn và chi phí khắc phục cao hơn.
Security Review Flow, hiện đang ở giai đoạn public beta, xem xét các thay đổi mã theo cách một kỹ sư bảo mật sẽ làm. Nó theo dõi mục đích (intent) thay vì chỉ so khớp chữ ký, để phát hiện các lỗi logic trước khi chúng được đưa vào môi trường sản xuất. Đây là bước tiến quan trọng trong việc phát hiện những lỗ hổng nguy hiểm mà các bộ quét truyền thống thường bỏ sót.
Nơi các bộ quét dựa trên mẫu bị “mù”
Những lỗ hổng ứng dụng gây hại nhất thường trông đúng từng dòng nhưng vi phạm ngữ cảnh mà mã không chứa, như mô hình phân quyền của bạn, quy tắc nhạy cảm dữ liệu, và luồng công việc dự kiến. Hãy xem ba lớp lỗ hổng phổ biến nhất:
Truy cập và phân quyền: Việc một người dùng có thể đọc hoặc thay đổi tài nguyên được định nghĩa bởi mô hình phân quyền của bạn, không phải bởi bất kỳ cấu trúc ngôn ngữ nào. Broken object level authorization (truy cập dữ liệu người khác bằng cách thay đổi ID) đã đứng đầu danh sách OWASP API Security Top 10 từ năm 2019.
Lộ dữ liệu: Việc serialize một đối tượng và trả về nó có thể là mã đúng về mặt cú pháp. Việc nó có làm lộ dữ liệu hay không phụ thuộc vào trường nào là nhạy cảm và ai nhận được chúng — đó là những thông tin về miền nghiệp vụ của bạn, chứ không phải cú pháp.
Luồng điều khiển và quy trình làm việc: Lỗi business-logic và race-condition xảy ra khi các thao tác hợp lệ chạy sai thứ tự, lặp lại bất ngờ, hoặc bị thao túng. Ví dụ bao gồm bước thanh toán có thể bỏ qua, trạng thái bị tái nhập dưới điều kiện race, hoặc tham số bị chỉnh để thay đổi giá.
Việc phát hiện những lỗi này trước đây đòi hỏi xem xét bảo mật thủ công, tốn kém khi mở rộng sang mọi merge request (MR), hoặc kiểm thử xâm nhập (pen testing) và bug bounty, vốn đến quá muộn. Hệ quả là khoảng cách ngày càng lớn giữa tốc độ phát triển và tốc độ ứng dụng chuyên môn bảo mật.
Mang phán đoán bảo mật đến mọi MR
Security Review Flow, một foundational flow trên GitLab Duo Agent Platform, thu hẹp khoảng cách đó bằng cách lý giải mục đích mã — nó phát hiện chính xác các loại lỗ hổng đã mô tả phía trên: Broken object level authorization và function level authorization, thiếu phân quyền trên các thao tác thay đổi trạng thái, lộ thông tin, mass assignment, lỗi logic nghiệp vụ, và race condition trong các luồng công việc trạng thái.
Nó bổ sung cho các bộ quét truyền thống và phân tích thủ công thay vì thay thế, và thực hiện xem xét mã ngay tại điểm thay đổi, khi việc sửa lỗi rẻ nhất. Đội ngũ application security của GitLab đã sử dụng Security Review Flow trên các MR nội bộ trong suốt quá trình phát triển.
Xem Security Review Flow hoạt động:
Cách thức hoạt động
Khi MR của bạn sẵn sàng, hãy yêu cầu review từ Duo Security Review, giống như khi bạn yêu cầu một người. Nó phân tích diff trong bối cảnh: các file gốc, dòng thay đổi, thảo luận MR và mã liên quan. Lý luận của nó được tối ưu cho độ chính xác, và một bước xác thực độc lập kiểm tra từng phát hiện để lọc các dương tính giả có khả năng cao.
Các phát hiện xuất hiện như các luồng thảo luận (diff threads) trên các dòng liên quan, cùng với tóm tắt trong một ghi chú nội bộ. Trên các dự án công khai, các phát hiện được giới hạn trong ghi chú nội bộ để chi tiết bảo mật không bị phơi bày.
Mỗi phát hiện đi kèm với ngữ cảnh mà người đánh giá cần:
- Loại lỗ hổng, kèm tham chiếu CWE
- Mức độ nghiêm trọng: critical, high, medium, hoặc low
- Hạng mục (Tier): Tier 1 (Exploitable), Tier 2 (Logic Flaw), hoặc Tier 3 (Design Issue)
- Giải thích bằng ngôn ngữ thông thường về vấn đề
- Gợi ý sửa chữa, nếu có sẵn
Mức độ nghiêm trọng quyết định trạng thái người đánh giá: Một phát hiện critical hoặc high sẽ đặt trạng thái thành Request changes, trong khi phát hiện medium hoặc low dẫn đến Comment. Flow không bao giờ tự động chấp thuận, ngay cả khi không tìm thấy vấn đề — con người luôn giữ quyết định cuối cùng.
Từ đó, hãy đề cập tài khoản dịch vụ Duo Security Review của tổ chức bạn trong luồng thảo luận để đặt câu hỏi, thảo luận khắc phục, hoặc phản biện một phát hiện. Giải quyết từng phát hiện bằng cách áp dụng bản sửa như một gợi ý MR tiêu chuẩn, đánh dấu là dương tính giả, hoặc chấp nhận rủi ro. Sau khi commit các sửa, yêu cầu review mới để kiểm tra thay đổi.
Chạy Security Review Flow đầu tiên của bạn
Security Review Flow đang ở giai đoạn public beta dành cho khách hàng GitLab Ultimate. Nó có sẵn trên GitLab.com, GitLab Self-Managed và GitLab Dedicated.
Tìm hiểu cách bắt đầu trong tài liệu Security Review Flow.
Bạn có thể truy cập Security Review Flow thông qua dùng thử miễn phí GitLab Duo Agent Platform. Đã là thuê bao GitLab Ultimate? Bật Duo Agent Platform và sử dụng GitLab Credits đi kèm theo gói đăng ký của bạn.
Chi phí thay đổi tùy theo độ phức tạp của diff và mô hình mô hình bạn chọn, vì vậy hãy thử trên vài MR trước khi triển khai rộng. Giá có thể được cập nhật khi chuyển sang giai đoạn general availability.
Chia sẻ những gì bạn tìm thấy trong vấn đề phản hồi tính năng, để ý kiến của bạn góp phần định hình sản phẩm.
Liên hệ Softribution để được tư vấn chuyên sâu về Security Review Flow, hoặc để mua và triển khai giải pháp phù hợp với tổ chức của bạn.
