SAST bằng AI với kiểm chứng lỗ hổng.
Kiểm thử bảo mật ứng dụng tĩnh cấp Enterprise: lần theo luồng dữ liệu không đáng tin cậy từ source đến sink, giảm tình trạng quá tải cảnh báo nhờ xác minh taint trên AST và đẩy nhanh việc khắc phục của lập trình viên.
src/controllers/user_controller.py:16
request.args.get('user_id')
Đầu vào truy vấn HTTP không đáng tin cậy đi vào qua handler của controller
query = "SELECT * FROM users WHERE id=" + user_id
Phép nối chuỗi lan truyền chuỗi nhiễm taint, không có nút AST làm sạch
cursor.execute(query)
Có thể tiếp cận sink thực thi SQL chưa được làm sạch, không có ràng buộc tham số
- 16 query = "SELECT * FROM users WHERE id=" + user_id
- 17 cursor.execute(query)
+ 16 query = "SELECT * FROM users WHERE id = %s"
+ 17 cursor.execute(query, (user_id,))
Cách Cyfendo thực hiện SAST có kiểm chứng
Các công cụ SAST truyền thống tạo ra hàng trăm cảnh báo về cú pháp. Cyfendo kết hợp phân tích luồng dữ liệu tĩnh chuyên sâu trên AST với kiểm chứng khả năng tiếp cận để mang lại các phát hiện có độ tin cậy cao và có thể xử lý ngay.
Phân tích mã nguồn & luồng dữ liệu
Phân tích toàn bộ mã nguồn ứng dụng thành các cây cú pháp trừu tượng (AST) có độ chính xác cao. Xây dựng đồ thị luồng điều khiển (CFG) liên thủ tục để theo dõi đầu vào nhiễm taint của người dùng từ các điểm vào qua phép gán biến, phép biến đổi và các sink trên nhiều tệp.
- Phân tích cú pháp & ngữ nghĩa AST đầy đủ
- Theo dõi luồng dữ liệu & biến xuyên tệp
- Tự động nhận diện nút làm sạch
Điều tra & cung cấp bằng chứng
Mỗi mẫu bị gắn cờ đều được đánh giá về khả năng tiếp cận thực tế. Cyfendo xây dựng một dấu vết có thể xác minh, nối source không đáng tin cậy với sink có lỗ hổng. Khi tiêu chí thực thi cho phép, các engine kiểm chứng thứ cấp xác minh xem các ranh giới đầu vào có thể kích hoạt lỗi hay không.
- Xác minh khả năng tiếp cận từ source đến sink
- Loại bỏ dead code & các đường đã được giảm thiểu
- Dấu vết bằng chứng minh bạch để lập trình viên xem xét
Phát hiện có thể xử lý ngay & bản sửa sẵn sàng để xem xét
Các phát hiện gồm dòng mã chính xác, phân loại CWE, điểm CVSS v3.1 và lý do khắc phục. Các gói trả phí có bản vá unified Git diff theo ngữ cảnh mà lập trình viên có thể xem xét, kiểm thử và merge vào kho mã nguồn qua pull request tiêu chuẩn.
- Đầy đủ chi tiết phát hiện & bản vá mẫu trên gói Miễn phí
- Unified Git diff theo ngữ cảnh trên các gói trả phí
- Bắt buộc lập trình viên phê duyệt nghiêm ngặt trước khi merge
Ma trận phù hợp kỹ thuật & năng lực
Câu trả lời trực tiếp về hỗ trợ ngôn ngữ, phương thức tiếp nhận mã, định dạng bằng chứng và giới hạn vận hành, dành cho người đánh giá kỹ thuật.
| Khía cạnh đánh giá | Cách triển khai của Cyfendo SAST | Ghi chú xác minh cho người đánh giá |
|---|---|---|
| Ngôn ngữ được hỗ trợ | Production (10 họ ngôn ngữ): Python, Java, JavaScript/TypeScript, Go, C/C++, Rust, PHP, Ruby, Shell/Bash, Kotlin / Android. Beta/Lộ trình: C#, Swift, Scala. Xem ma trận hỗ trợ. | AST đa ngôn ngữ 10 họ ngôn ngữ ở mức production và 3 ở mức beta; phân tích taint xuyên tệp chuyên sâu trên các stack production; đã chạy benchmark cho Java & Python |
| Phương thức tiếp nhận mã |
3 cách tiếp nhận được hỗ trợ:
|
Đã phát hành Không cần tiện ích IDE xâm lấn |
| Quy trình kích hoạt quét | Quét thủ công theo yêu cầu qua giao diện web, chạy CLI tự động trên terminal, hoặc tự động hóa pipeline trong môi trường CI/CD (GitHub Actions, GitLab CI, Jenkins) bằng các mã thoát CLI tiêu chuẩn. | CLI tiêu chuẩn Luôn trả mã thoát khác không khi có lỗi Nghiêm trọng |
| Độ sâu phân tích & bằng chứng | Các đường taint AST liên thủ tục nối source không đáng tin cậy với sink. Mỗi phát hiện cung cấp tệp và số dòng chính xác, loại lỗ hổng (CWE), điểm CVSS v3.1 và phần giải thích lý do. | Ưu tiên bằng chứng Dấu vết khả năng tiếp cận từ source đến sink |
| Khả năng cung cấp bản vá khắc phục |
Tùy theo gói:
|
Do lập trình viên kiểm soát Không có merge tự động nào chưa qua xem xét |
| Quyền riêng tư & lưu giữ mã | Không lưu giữ & không huấn luyện: Các tệp được quét được xử lý trong sandbox gVisor tạm thời, cô lập và bị hủy ngay khi quét xong. Cam kết Zero Data Retention (ZDR) cấp Enterprise bảo đảm mã không bao giờ được dùng để huấn luyện hay tinh chỉnh mô hình. | ZDR theo hợp đồng Có CLI riêng tư để khách hàng tự giữ mã |
| Private Scan / Chủ quyền dữ liệu |
Cyfendo CLI hỗ trợ chạy cục bộ (cyfendo scan --private .), trong đó không có mã nguồn nào được gửi tới máy chủ Cyfendo. Khi kết hợp với mô hình cục bộ (Ollama, vLLM), không có mã nào rời khỏi mạng của bạn; siêu dữ liệu bản quét và số lượng phát hiện vẫn được gửi tới Cyfendo, việc cài thư viện phụ thuộc cho bằng chứng khái niệm có dùng mạng, và --no-deps bỏ qua bước tra cứu thư viện phụ thuộc công khai. Khi kết hợp với API mô hình bên ngoài (OpenAI, Anthropic, Gemini), một phần mã của bạn, kể cả nguyên tệp mã nguồn, được chuyển trực tiếp tới nhà cung cấp của bạn theo điều khoản của khách hàng.
|
Chế độ Private Scan Với mô hình cục bộ, không có mã nào rời khỏi mạng của bạn; có hỗ trợ AI bên ngoài |
Kiểm tra một hồ sơ phát hiện đã xác minh
Xem cách Cyfendo ghi lại một lỗ hổng đã xác nhận, từ điểm khởi đầu của taint đến bản vá khắc phục đề xuất. Mô phỏng theo các ca kiểm thử benchmark chuẩn hóa.
SQL Injection qua tham số HTTP chưa được làm sạch
Mô tả lỗ hổng & tác động
Ứng dụng lấy đầu vào do người dùng kiểm soát (user_id) trực tiếp từ một tham số truy vấn của yêu cầu HTTP gửi đến và chèn vào chuỗi truy vấn SQL thô bằng phép nối chuỗi. Kẻ tấn công từ bên ngoài có thể gửi các payload được chế tác chứa ký tự đặc biệt của SQL (chẳng hạn ' OR 1=1 --) để vượt qua kiểm soát truy cập, trích xuất bản ghi cơ sở dữ liệu hoặc thực thi các lệnh cơ sở dữ liệu tùy ý.
def get_user_profile(request, db_cursor):
user_id = request.args.get('user_id')
query = "SELECT * FROM users WHERE id=" + user_id
db_cursor.execute(query)
user = db_cursor.fetchone()
return render_template('profile.html', user=user)
Dấu vết taint AST từ source đến sink
Cyfendo theo dõi luồng dữ liệu qua các nút AST để xác lập rằng đầu vào không đáng tin cậy của người dùng đi tới sink thực thi cơ sở dữ liệu mà không đi qua bộ làm sạch phù hợp hay ranh giới tham số hóa.
request.args.get('user_id')src/controllers/user_controller.py:15 • Nút AST: Call[Attribute(request.args.get)]TAINT_EXTERNAL_INPUT được gán cho symbol user_id.query = "SELECT * FROM users WHERE id=" + user_idsrc/controllers/user_controller.py:16 • Nút AST: BinOp[Add]query. Không phát hiện thao tác escape, ép kiểu hay làm sạch nào.
db_cursor.execute(query)src/controllers/user_controller.py:17 • Nút AST: Call[Attribute(db_cursor.execute)]query làm đối số câu lệnh SQL trực tiếp, không có tuple tham số. Đã xác minh đầu vào nhiễm taint có thể tiếp cận. (Luồng dữ liệu tĩnh xác lập rằng đầu vào chưa được kiểm chứng đi tới sink này; khả năng khai thác động phụ thuộc vào cấu hình DBMS, quyền truy cập và hành vi của driver cơ sở dữ liệu.)Bản vá khắc phục mã đề xuất
Bản vá đề xuất thay thế phép nối chuỗi động bằng các placeholder có tham số của driver cơ sở dữ liệu (%s), tách lệnh SQL khỏi dữ liệu không đáng tin cậy của người dùng.
Kết quả benchmark chuẩn hóa
Cyfendo đánh giá độ chính xác phát hiện trên các bộ kiểm thử bảo mật chuẩn hóa và công bố chính xác các chỉ số recall, precision, tỷ lệ dương tính giả và điểm Youden's Index.
OWASP Benchmark Java v1.2
2,740 ca kiểm thử chuẩn hóa • Đánh giá tháng 9 năm 2026Đã phát hiện 1,331 trên 1,415 lỗ hổng thực sự với độ chính xác (precision) 96.38% (1,331 / 1,381 ca bị gắn cờ). Điểm Youden's J gộp đo được là 90.29% (trung bình theo danh mục 90.55% trên 11 danh mục OWASP).
OWASP Benchmark Python v0.1
1,230 ca kiểm thử chuẩn hóa • Bản phát hành sơ bộĐã xác định 407 trên 452 ca có lỗ hổng với độ chính xác (precision) 93.78% và độ đặc hiệu 96.53% trên các mẫu đối chứng âm (751 trên 778 ca benchmark an toàn đã không bị gắn cờ, đúng như mong đợi).
Quy trình của lập trình viên & quyền riêng tư của mã
Cách Cyfendo hòa nhập vào pipeline kỹ thuật của bạn, và cách Cyfendo bảo vệ mã nguồn riêng của bạn bằng cơ chế cô lập được gia cố và các bảo đảm theo hợp đồng.
Kết nối & gửi mã
Kết nối kho mã nguồn bằng clone Git qua HTTPS, tải tệp nén dự án lên qua trình duyệt, hoặc kích hoạt quét trực tiếp trong pipeline CI bằng cyfendo scan ..
Phân tích taint trên AST
Mã nguồn được phân tích thành các cây cú pháp trừu tượng trong các micro-sandbox tạm thời. Luồng dữ liệu được ánh xạ từ các điểm vào không đáng tin cậy đến sink cơ sở dữ liệu, lệnh và web.
Bằng chứng & kiểm chứng
Các đường có thể tiếp cận được tách riêng và đóng gói kèm đầy đủ dấu vết bằng chứng AST. Các phát hiện tiềm năng không có đường tiếp cận hoặc đã được giảm thiểu bởi các biện pháp kiểm soát hiện có sẽ bị loại bỏ.
Xem xét & merge
Lập trình viên kiểm tra các phát hiện đã xác minh cùng với Git unified diff theo ngữ cảnh. Bản vá đề xuất được xem xét và merge qua quy trình pull request Git tiêu chuẩn.
Cô lập tạm thời (không lưu giữ)
Các bản quét chạy trong sandbox tạm thời đã được gia cố (cô lập container bằng gVisor). Mã nguồn chỉ được giữ trong bộ nhớ trong khi phân tích tĩnh và bị xóa hoàn toàn khi quét xong. Không lưu giữ bản sao vĩnh viễn nào của mã khách hàng.
Bảo đảm không huấn luyện mô hình
Tài sản trí tuệ riêng của bạn được bảo vệ theo các thỏa thuận Zero Data Retention (ZDR) cấp doanh nghiệp. Mã nguồn, tên biến và các phát hiện của khách hàng tuyệt đối không bao giờ được dùng để huấn luyện, tinh chỉnh hay đánh giá các mô hình AI nền tảng.
Private Scan bằng CLI & chạy cục bộ
Với các nhóm cần chạy tại chỗ (on-premise), Cyfendo CLI cung cấp chế độ Private Scan (cyfendo scan --private .), trong đó không có mã nguồn nào được gửi tới Cyfendo. Khi được cấu hình với engine suy luận cục bộ (Ollama, vLLM), mã không bao giờ rời khỏi máy cục bộ hoặc phạm vi mạng của công ty bạn. Khi dùng API LLM bên ngoài (OpenAI, Anthropic, Gemini), các yêu cầu được chuyển trực tiếp tới nhà cung cấp đó theo thỏa thuận doanh nghiệp của bạn.
Đánh giá miễn phí và các gói trả phí minh bạch
Cyfendo định giá minh bạch dựa trên số dòng mã được bảo vệ (LOC) và hạn mức quét hằng tháng, không tính theo giấy phép từng người dùng hay phí giả tạo theo từng phát hiện.
Cách tính LOC được bảo vệ
LOC được bảo vệ đo khối lượng mã nguồn ứng dụng đang hoạt động trong không gian làm việc của bạn. Bạn chỉ trả tiền cho mã của riêng mình, không bao giờ trả cho gói phần mềm của bên thứ ba hay đầu ra được tạo tự động.
- Được tính: Mã ứng dụng thực thi được, logic nghiệp vụ, template và cấu hình.
- Tự động loại trừ: Dòng trống, dòng chỉ có khoảng trắng và chú thích (một dòng, khối, docstring).
- Thư mục bị loại trừ: Gói phần mềm của bên thứ ba (
node_modules/,vendor/,.venv/,site-packages/). - Sản phẩm bị loại trừ: Bundle đã minify (
.min.js), đầu ra build/dist (build/,dist/,target/), dữ liệu mock cho kiểm thử và tệp nhị phân đã biên dịch.
Nếu mã nguồn tải lên vượt giới hạn của gói Miễn phí (10,000 LOC), mã sẽ được lưu an toàn ở trạng thái chờ xử lý. Cyfendo tính số LOC chính xác của bạn và đưa ra các lựa chọn rõ ràng: nâng cấp lên gói có đủ dung lượng (ví dụ Starter giá $99/tháng cho tối đa 100K LOC), hoặc chọn một thư mục con hay module cụ thể để quét. Mã của bạn không bao giờ bị xóa hoặc chạy một phần nếu chưa có sự đồng ý của bạn.
Miễn phí
Đánh giá trên mã nguồn của bạn
- 10,000 LOC được bảo vệ
- 5 bản quét mỗi tháng
- 1 dự án được bảo vệ
- Chi tiết phát hiện có thể xử lý ngay
- Đánh giá bản vá mẫu có giới hạn
- Không cần thẻ tín dụng
Starter
Dành cho các nhóm bảo vệ mã đang chạy thực tế
- 100,000 LOC được bảo vệ
- 10 bản quét mỗi tháng
- Không giới hạn dự án & thành viên
- Đầy đủ bản vá sẵn sàng để xem xét
- Tích hợp CI/CD & CLI
Câu hỏi thường gặp
Câu trả lời trực tiếp, dựa trên thực tế về năng lực SAST, cơ chế kiểm chứng, phương pháp benchmark, bảo đảm quyền riêng tư và giới hạn của các gói.
Kiểm thử bảo mật ứng dụng tĩnh (SAST) phân tích lỗ hổng trong mã nguồn mà không thực thi chương trình. Cyfendo dùng SAST bằng cách phân tích mã nguồn ứng dụng thành các cây cú pháp trừu tượng (AST) và mô hình hóa đồ thị luồng điều khiển (CFG) liên thủ tục. Nhờ đó, Cyfendo có thể lần theo đầu vào nhiễm taint của người dùng từ các điểm vào (source) đến các thủ tục thực thi nhạy cảm (sink), xác định các điểm yếu rủi ro cao (như SQL Injection, Cross-Site Scripting, Command Injection và Path Traversal) ngay từ sớm trong quá trình phát triển.
Phân tích tĩnh truyền thống thường khiến lập trình viên quá tải vì dương tính giả gây nhiễu, do các quy tắc regex đơn giản và việc khớp mẫu cú pháp bỏ qua ngữ cảnh thực thi thực tế. Cyfendo bổ sung cho phân tích tĩnh một lớp kiểm chứng để xác minh xem đường dữ liệu nhiễm taint có thực sự tiếp cận được hay không, và bộ làm sạch hay phép ép kiểu có vô hiệu hóa rủi ro hay không. Cách tiếp cận dựa trên bằng chứng này bảo đảm kỹ sư xem xét các lỗi đã xác minh, được củng cố bằng dấu vết khả năng tiếp cận cụ thể từ source đến sink.
Ma trận hỗ trợ của Cyfendo là nguồn thông tin chuẩn duy nhất trên 5 khía cạnh vận hành: 1) Quét cơ bản, 2) Phân tích taint xuyên tệp ở mức production, 3) Kiểm chứng khai thác trong sandbox tạm thời, 4) Tạo bản vá sẵn sàng để xem xét, và 5) Hỗ trợ beta / lộ trình. Hỗ trợ ở mức production bao gồm 10 họ ngôn ngữ cốt lõi: Python, Java, JavaScript/TypeScript, Go, C/C++, Rust, PHP, Ruby, Shell/Bash và Kotlin / Android. Phân tích cú pháp truy cập sớm và quét cơ bản (Beta / Lộ trình) có sẵn cho C#, Swift và Scala (xem đầy đủ Ma trận hỗ trợ ngôn ngữ). Bạn có thể gửi mã qua:
- Tải lên qua trình duyệt: Kéo thả thư mục dự án hoặc tải lên tệp nén
.ziphay.tar.gz. - Clone Git qua HTTPS: Clone kho mã nguồn qua HTTPS cho GitHub, GitLab, Bitbucket, Azure DevOps hoặc máy chủ Git tùy chỉnh.
- Cyfendo CLI: Chạy
cyfendo scan .từ máy trạm của lập trình viên hoặc pipeline CI/CD tự động.
Có. Dù Cyfendo đạt độ chính xác benchmark đã xác minh ở mức cao (cụ thể là Youden's J gộp 90.29% với độ chính xác (precision) 96.38% trên OWASP Benchmark Java v1.2, và Youden's J gộp 86.57% với tỷ lệ dương tính giả 3.47% trên OWASP Benchmark Python v0.1), không trình quét mã tĩnh nào có thể bảo đảm không có dương tính giả hoặc xác định được 100% lỗi bảo mật trong các ngữ cảnh thực thi động. Phân tích tĩnh là một lớp quan trọng trong phòng thủ nhiều lớp, nhưng không loại bỏ nhu cầu thiết kế kiến trúc an toàn và kiểm thử lúc chạy.
Tất cả điểm benchmark do Cyfendo đo vào tháng 9 năm 2026 trên các bộ đánh giá chuẩn hóa: toàn bộ OWASP Benchmark Java v1.2 (2,740 ca kiểm thử) và bộ OWASP Benchmark Python v0.1 (1,230 ca kiểm thử). Các chỉ số được tính bằng Youden's Index J gộp (Recall trừ tỷ lệ dương tính giả). Các bộ benchmark kiểm thử những mẫu lỗ hổng tổng hợp, chuẩn hóa trong điều kiện có kiểm soát; chúng giúp so sánh một cách chặt chẽ nhưng không phải là chứng nhận hay sự xác nhận chính thức của OWASP.
Mã được phân tích trên đám mây được xử lý trong các sandbox gVisor tạm thời, cô lập và bị xóa ngay khi quét xong. Theo các thỏa thuận Zero Data Retention (ZDR) cấp doanh nghiệp, mã nguồn của bạn tuyệt đối không bao giờ được dùng để huấn luyện hay tinh chỉnh mô hình AI. Với các tổ chức có chính sách nhạy cảm, Cyfendo CLI hỗ trợ quét riêng tư cục bộ (cyfendo scan --private .), trong đó không có mã nguồn nào được gửi tới Cyfendo. Khi kết hợp với mô hình cục bộ (Ollama, vLLM), mã không bao giờ rời khỏi máy cục bộ hoặc phạm vi mạng của công ty bạn. Khi dùng API LLM bên ngoài (OpenAI, Anthropic, Gemini), các yêu cầu được chuyển trực tiếp tới nhà cung cấp đó theo thỏa thuận doanh nghiệp của bạn.
Gói Miễn phí gồm 10,000 dòng mã được bảo vệ (LOC), 5 bản quét bảo mật hằng tháng và 1 dự án, không cần thẻ tín dụng. Người dùng gói Miễn phí nhận đầy đủ chi tiết lỗ hổng, phân loại mức độ nghiêm trọng và bằng chứng khả năng tiếp cận từ source đến sink, cùng với đánh giá bản vá mẫu. Tính năng tạo bản vá tự động, sẵn sàng để xem xét cho mọi phát hiện có trong các gói trả phí từ $99/tháng (gói Starter cho 100K LOC).
Không. Cyfendo tạo các bản vá dạng unified Git diff để con người xem xét, nhưng không bao giờ tự động commit hay merge mã vào kho mã nguồn của bạn. Lập trình viên kiểm tra diff bản vá đề xuất, xác minh bản sửa theo tiêu chuẩn lập trình nội bộ và phê duyệt merge qua quy trình pull request tiêu chuẩn.
Trải nghiệm SAST bằng AI với bằng chứng đã được kiểm chứng.
Phát hiện các lỗ hổng thật trong mã nguồn, kiểm tra bằng chứng khả năng tiếp cận của taint liên thủ tục, và đánh giá các bản vá khắc phục sẵn sàng để xem xét theo cách của riêng bạn.
Bắt đầu miễn phí