SecuSense — Phân loại và giải thích kết quả quét bảo mật
Mô Tả Dự Án
Dự án nhóm AI20K tại VinUni, mình phụ trách phát triển ứng dụng: backend FastAPI và giao diện React/TypeScript kết nối các phát hiện Semgrep với luồng phân tích LLM hai bước — phân loại true/false positive/uncertain rồi sinh giải thích và gợi ý khắc phục.
Tổng quan
Dự án nhóm trong AI20K tại VinUni; mình phụ trách phát triển ứng dụng. SecuSense kết nối các phát hiện từ Semgrep với luồng phân tích LLM hai bước: (1) phân loại kết quả là cảnh báo đúng (true positive), cảnh báo sai (false positive) hoặc chưa chắc (uncertain); (2) sinh giải thích và gợi ý khắc phục, giúp người làm bảo mật triage kết quả quét nhanh và nhất quán hơn.
Kiến trúc & quyết định kỹ thuật
Backend FastAPI tách bạch luồng ingest kết quả quét khỏi luồng phân tích LLM; giao diện React/TypeScript hiển thị từng finding kèm kết luận và độ tin cậy. LLM được gọi qua LiteLLM; kết luận và mức độ tin cậy được chuẩn hóa, và đầu ra JSON không hợp lệ được xử lý để pipeline không đổ vỡ giữa chừng.
Tính năng nổi bật
- Phân loại tự động finding Semgrep: true positive / false positive / uncertain
- Giải thích và gợi ý khắc phục sinh bởi LLM cho từng kết quả
- Chuẩn hóa kết luận và mức độ tin cậy; xử lý đầu ra JSON không hợp lệ
- Backend FastAPI + giao diện React/TypeScript trực quan
Trạng thái
Dự án nhóm khóa 2 AI20K (C2-Team-001) tại VinUni, hoàn thành ngày 13/07/2026; mình phụ trách phát triển ứng dụng. Không có triển khai production — sản phẩm chỉ có sẵn qua link showcase AI20K Cohort 2 và repo GitHub. README repo còn nhắc multi-tenant, PayOS và MCP, nhưng đó không phải phần đã xác minh do mình thực hiện nên không nêu tại đây.