Datadog open source AI-native SAST

Datadog vừa mở mã nguồn một công cụ AI-native SAST và công bố cách tiếp cận mới để phát hiện lỗ hổng ngay trong quá trình review code. Không chỉ vì Datadog là một tên tuổi lớn trong mảng observability và cloud security, mà còn vì họ đang đi thẳng vào một bài toán khiến SAST bị tranh cãi suốt nhiều năm.

Phía sau câu chuyện đó là một vấn đề rất quen thuộc: SAST truyền thống thường tạo ra quá nhiều false positive, khiến developer mất dần niềm tin vào kết quả quét. Khi cảnh báo ra nhiều nhưng khó để kiểm chứng, phần việc khó nhất lại bị đẩy về cho con người. Điều đó làm cho quy trình review code chậm hơn, nặng hơn và kém hiệu quả hơn thay vì thực sự giúp đội phát triển xử lý rủi ro sớm.

Datadog open source AI-native SAST

Datadog AI-native SAST hero

Mới đây, Datadog đã mở mã nguồn một công cụ AI-native SAST với mục tiêu đưa khả năng phát hiện lỗ hổng theo context vào ngay trong quá trình review code. Công cụ này quét incremental trên phần code thay đổi, phát hiện rủi ro gần như theo thời gian thực và cho recall tốt hơn đáng kể so với cách tiếp cận truyền thống trên OWASP Benchmark.

AI-native SAST là gì?

SAST truyền thống chủ yếu dựa vào rule tĩnh và so khớp mẫu trên mã nguồn. Mỗi rule thường nhắm vào một nhóm lỗ hổng cụ thể như SQL injection, XSS hay command injection. Cách làm này có ưu điểm là rõ ràng, dễ mở rộng theo tập rule và dễ kiểm soát hành vi của engine. Nhưng điểm yếu lớn là nó khó bao quát đầy đủ ngữ cảnh thực thi của chương trình.

Một nghiên cứu của Google từ năm 2018 từng chỉ ra rằng false positive và việc thiếu hướng dẫn khắc phục đủ rõ ràng là hai rào cản lớn khiến SAST khó được áp dụng rộng rãi trong quy trình phát triển thực tế.

AI-native SAST đi theo hướng khác. Thay vì chỉ bám vào pattern matching, công cụ dùng LLM để phân tích code theo ngữ nghĩa và ngữ cảnh. Cách tiếp cận này cho phép hệ thống xem xét sâu hơn các yếu tố như call stack, quan hệ giữa các hàm, dịch vụ liên quan, hay luồng dữ liệu đi qua nhiều file trước khi kết luận một lỗ hổng có thực sự tồn tại hay không. Đây là điểm đặc biệt hữu ích với các loại lỗ hổng phụ thuộc mạnh vào ngữ cảnh, nơi SAST dựa trên rule rất dễ tạo ra cảnh báo giả.

Tất nhiên, đổi lại thì chi phí cũng tăng lên. Mỗi phiên phân tích có thể cần nhiều lần gọi LLM, khiến token usage và chi phí suy luận tăng rất nhanh nếu phải quét liên tục toàn bộ repository. Vì vậy, giá trị thực tế của AI-native SAST không chỉ nằm ở chất lượng phân tích, mà còn nằm ở cách hệ thống được thiết kế để kiểm soát chi phí khi triển khai ở quy mô lớn.

Cách Datadog triển khai AI-native SAST

Ở mức triển khai, Datadog mô tả pipeline này theo bốn bước chính.

1. Xác định file cần quét

Ngay từ bước đầu, công cụ không ném toàn bộ repository vào LLM. Thay vào đó, nó chọn ra các file ứng viên dựa trên heuristics để xác định nơi có khả năng chứa rủi ro.

Ví dụ với bài toán SQL injection, hệ thống có thể tìm các dấu hiệu như thư viện truy cập cơ sở dữ liệu, câu truy vấn có cấu trúc giống SQL và dữ liệu đầu vào do người dùng kiểm soát. Mục tiêu của bước này là khoanh vùng đúng chỗ cần phân tích sâu, thay vì đốt tài nguyên lên toàn bộ codebase.

2. Thu thập

Sau khi có file mục tiêu, hệ thống tiếp tục kéo thêm các file, function hoặc đoạn logic liên quan để dựng lại đủ ngữ cảnh phục vụ phân tích.

Bước này rất quan trọng, vì nhiều lỗ hổng không thể xác minh chính xác nếu chỉ nhìn một file tách biệt. Có những case phải lần theo luồng dữ liệu qua nhiều hàm, nhiều lớp, thậm chí qua nhiều file thì mới biết dữ liệu do người dùng kiểm soát có thực sự đi tới một thao tác nguy hiểm hay không.

3. Phân tích

Đến bước này, file mục tiêu cùng phần ngữ cảnh liên quan sẽ được gửi vào LLM để phân tích.

Mô hình sẽ xem xét các nguồn dữ liệu không tin cậy, chẳng hạn đầu vào do người dùng kiểm soát, rồi đánh giá xem luồng dữ liệu đó có thực sự đi tới thao tác nguy hiểm mà không được sanitize hoặc kiểm soát đúng cách hay không. Điểm đáng chú ý là hệ thống không dừng ở việc thấy một tín hiệu khả nghi rồi báo động, mà cố gắng xác minh phát hiện đó trong đúng ngữ cảnh của code.

4. Xử lý kết quả

Sau bước phân tích, kết quả còn đi qua hai lớp xử lý tiếp theo.

Lớp đầu dùng heuristics để phân loại nhóm lỗ hổng dựa trên từ khóa, mẫu diễn đạt và đặc điểm của kết quả phân tích. Lớp sau tiếp tục dùng LLM để gạn bớt false positive và loại các phát hiện chưa đủ cơ sở.

Sau toàn bộ pipeline này, người dùng nhận được danh sách lỗ hổng kèm đoạn code liên quan, giải thích vì sao đó là rủi ro thật, cách lỗ hổng có thể bị khai thác và gợi ý hướng khắc phục.

Datadog open source AI-native SAST

Potential SQL injection detected with AI

Bài toán chi phí và cách Datadog tối ưu bằng incremental analysis

Một bài toán lớn của AI-native SAST là chi phí. Nếu mỗi file đều phải gọi LLM nhiều lần, thì việc quét toàn bộ repository sẽ vừa chậm vừa tốn kém, nhất là khi dùng các model mạnh hơn nhưng độ trễ cũng cao hơn.

Datadog xử lý bài toán này bằng cách chạy full repository scan ở lần khởi tạo ban đầu, sau đó chỉ tiếp tục phân tích theo cơ chế incremental khi nội dung file hoặc phần ngữ cảnh liên quan của file đó thay đổi.

Cách làm này giúp giảm đáng kể số lần phải quét lại toàn bộ codebase, từ đó cải thiện tốc độ và kiểm soát chi phí tốt hơn. Hiện tại, incremental analysis mới chỉ khả dụng cho người dùng Datadog Code Security. Còn codebase của dự án đã được public trên GitHub dưới dạng preview với repo DataDog/datadog-saist.

Ngoài ra, Datadog còn dùng LLM Observability để theo dõi các chỉ số như latency, token usage, số lần gọi LLM và chi phí ước tính của chính hệ thống AI-native SAST này. Điều này cho thấy bài toán xây công cụ bảo mật có AI hỗ trợ không chỉ là phát hiện tốt hơn, mà còn là khả năng quan sát và kiểm soát chi phí vận hành của cả pipeline AI phía sau.

Datadog open source AI-native SAST

LLM Observability overview

Độ chính xác trên OWASP Benchmark

Để đánh giá hiệu quả, Datadog so sánh AI-native SAST với giải pháp SAST truyền thống của họ đã được tăng cường thêm lớp lọc false positive bằng LLM. Thước đo được dùng ở đây là recall, tức true positive rate, trên các nhóm lỗ hổng trong OWASP Benchmark.

Theo số liệu Datadog công bố, AI-native SAST vượt lên ở hầu hết hạng mục:

Nhóm lỗ hổng Traditional SAST + LLM AI-native SAST
Command Injection 59% 90%
Cross-Site Scripting (XSS) 65% 93%
Insecure Cookie 87% 100%
LDAP Injection 70% 85%
Path Traversal 64% 90%
SQL Injection 63% 86%
Trust Boundary 46% 81%
Weak Encryption Algorithm 100% 100%
Weak Hashing Algorithm 69% 54%
Weak Randomness 100% 99%
XPath Injection 68% 95%
Số liệu của Datadog về AI-native SAST

Khác biệt lớn nhất nằm ở các nhóm lỗ hổng phụ thuộc mạnh vào ngữ cảnh như command injection, SQL injection hay path traversal. Trong các bài toán phải lần theo luồng dữ liệu qua nhiều file, nhiều hàm hoặc nhiều lớp xử lý trước khi kết luận, AI-native SAST cho kết quả vượt trội rõ rệt.

Ngược lại, với các lỗi ít phụ thuộc ngữ cảnh hơn như weak randomness hay weak encryption algorithm, chênh lệch giữa hai cách tiếp cận gần như không đáng kể, thậm chí có nhóm mà SAST truyền thống vẫn đang làm rất tốt.

Vì vậy, AI-native SAST chưa phải để thay hẳn SAST truyền thống. Hợp lý hơn là xem nó như một hướng bổ trợ rất mạnh cho những nhóm lỗ hổng mà rule engine thường khó đánh giá chính xác.

Vì sao Datadog chọn open source dự án này?

Datadog mở mã nguồn dự án này với hai mục tiêu khá rõ.

Thứ nhất là tăng tính minh bạch với khách hàng và cộng đồng. Thứ hai là để cộng đồng security cùng kiểm chứng, đóng góp và cải tiến công cụ. Đây là cách làm khá thực tế: thay vì chỉ nói về hiệu quả của AI-native SAST trên slide hay trong các bài viết marketing, họ mở luôn mã nguồn để cộng đồng có thể tự nhìn vào cách tiếp cận kỹ thuật phía sau.

Trên GitHub, dự án được giới thiệu là một AI-native SAST tool có thể chạy độc lập trên máy local và hỗ trợ xuất báo cáo theo định dạng SARIF. Repo hiện được public dưới tên DataDog/datadog-saist.

Hướng đi tiếp theo

Phiên bản hiện tại của AI-native SAST vẫn chủ yếu dựa trên structured prompting, chứ chưa đi theo mô hình agentic đầy đủ. Cách tiếp cận này giúp kiểm soát tài nguyên tốt hơn và giữ chi phí thực thi ở mức có thể dự đoán được.

Trong thời gian tới, Datadog dự kiến tiếp tục thử nghiệm các kỹ thuật agentic scanning để cải thiện khả năng suy luận theo ngữ cảnh và đào sâu hơn vào quá trình phát hiện lỗ hổng.

Chi tiết này phản ánh một xu hướng rộng hơn trong DevSecOps: thay vì chỉ dùng AI như một lớp lọc để giảm false positive, các nhà cung cấp đang bắt đầu thiết kế lại pipeline phân tích bảo mật theo hướng để LLM đứng ở giữa khâu suy luận và xác minh lỗ hổng.

Dù vậy, Datadog hiện vẫn giữ incremental analysis như một tính năng dành cho khách hàng của họ, còn phần mở mã nguồn chủ yếu tập trung vào engine phân tích và cách tiếp cận kỹ thuật phía sau.

Kết luận

Datadog cho thấy SAST đang được nhìn lại theo một hướng thực tế hơn: không còn chỉ là quét ra thật nhiều cảnh báo, mà là tạo ra những phát hiện đủ chính xác để developer tin và xử lý ngay trong quy trình review code. Với cách kết hợp giữa rule-based scanning, context retrieval, LLMincremental analysis, đây là một hướng đi đáng chú ý cho thế hệ công cụ AppSec tiếp theo.

Song song với câu chuyện công nghệ, việc Datadog chọn open source dự án này cũng giúp cộng đồng có cơ hội nhìn rõ hơn cách một nhà cung cấp lớn đang triển khai AI vào bài toán phát hiện lỗ hổng. Không chỉ vì nó mới, mà vì nó phản ánh khá rõ SAST sẽ phải thay đổi như thế nào nếu còn muốn tiếp tục hữu ích trong quy trình phát triển phần mềm hiện đại.

Thông tin nổi bật

Sự kiện phát trực tiếp​

Event Thumbnail

Báo cáo quan trọng

Article Thumbnail
Article Thumbnail
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Tiêu điểm chuyên gia