- OASIS là công cụ audit bảo mật mã nguồn mở dùng LLM qua Ollama — scan 15 loại lỗ hổng (SQLi, XSS, RCE, SSRF...), kiến trúc hai pha + adaptive multi-level, hoàn toàn chạy local, không gửi code lên cloud.
TL;DR
OASIS (Ollama Automated Security Intelligence Scanner) là công cụ audit bảo mật code dùng AI, chạy hoàn toàn local qua Ollama. Phát hiện 15 loại lỗ hổng, hỗ trợ mọi ngôn ngữ lập trình, xuất report PDF/HTML/Markdown, có dashboard web riêng. Miễn phí, GPL-3.0, 250 sao trên GitHub.
Điểm đáng chú ý: kiến trúc two-phase scanning (model nhẹ quét sơ + model mạnh đào sâu) và adaptive multi-level giúp giảm false positive mà vẫn tiết kiệm GPU. Phù hợp với team không thể đẩy code lên SAST cloud.

Có gì đáng chú ý
OASIS do psyray phát triển, phát hành lần đầu v0.1.0 ngày 15/01/2024. Phiên bản mới nhất v0.4.0 (21/03/2025) mang về ba thay đổi quan trọng:
- Two-phase scanning: dùng model nhẹ (4–7B) quét toàn codebase tìm đoạn nghi ngờ, sau đó model mạnh (>20B) chỉ deep-analyze những đoạn bị flag.
- Adaptive multi-level mode (
--adaptive): 4 cấp độ phân tích, điều chỉnh động theo risk score của từng chunk code. - Web interface có auth: dashboard `127.0.0.1:5000` với password tự sinh, có thể expose ra network qua
--web-expose.
Vì sao quan trọng
SAST truyền thống (Semgrep, Bandit, SonarQube) dựa trên rule, thường miss lỗi context-dependent và false positive cao. Commercial AI SAST thì lại buộc team phải đẩy source code lên SaaS của vendor — cực kỳ nhạy cảm với codebase enterprise hoặc dự án chịu compliance.
OASIS giải bài toán này: LLM chạy 100% local qua Ollama, code không rời khỏi máy. Với các team có air-gap, yêu cầu bảo mật cao, hoặc đơn giản là không muốn trả tiền license SAST hàng chục nghìn USD, đây là lựa chọn thực tế đầu tiên có chất lượng đáng dùng.
Kiến trúc kỹ thuật
15 loại lỗ hổng được phát hiện:
| Tag | Mô tả |
|---|---|
sqli | SQL Injection |
xss | Cross-Site Scripting |
rce | Remote Code Execution |
ssrf | Server-Side Request Forgery |
xxe | XML External Entity |
path | Path Traversal |
idor | Insecure Direct Object Reference |
csrf | Cross-Site Request Forgery |
auth | Authentication Issues |
crypto | Insecure Cryptographic Usage |
input / data / session / config / logging | Input validation, data exposure, session, misconfig, sensitive logging |
Model đề xuất:
- Scan nhanh (4–7B):
gemma3:4b,llama3.2:3b,phi3:mini - Deep analysis (>20B):
gemma3:27b,deepseek-r1:32b,qwen2.5-coder:32b,mixtral:instruct - Code-specific:
codellama,codestral,starcoder,phind-codellama - Embedding mặc định:
nomic-embed-text:latest
Dual-layer cache trong .oasis_cache/: embedding cache (giữ 7 ngày, tránh re-compute vector) + analysis cache (theo từng model + mode). Lần scan đầu chậm, scan lặp lại trên code không đổi thì gần như instant — chỉ rescan file đã thay đổi.
CLI linh hoạt: -i input (file/dir/list), -of format (pdf/html/md), -v vuln types, -t similarity threshold (default 0.5), -sm scan model, -m deep model, -x custom extensions.
So sánh Standard vs Adaptive
| Yếu tố | Standard Two-Phase | Adaptive Multi-Level |
|---|---|---|
| Tốc độ | Nhanh cho trường hợp trung bình | Nhanh trên code low-risk |
| Tài nguyên | Dự đoán được, fixed per phase | Biến động, scale theo risk |
| Độ chính xác | Tốt với lỗi rõ ràng | Tốt hơn với lỗi context-dependent |
| False positive | Cao hơn | Giảm nhờ context scoring |
Adaptive 4 levels: L1 static pattern → L2 lightweight screen → L3 medium-depth + risk score → L4 deep analysis chỉ cho chunk high-risk. Kết quả: GPU không bị burn vô ích trên code an toàn.
Use cases thực tế
- Pentester & security researcher: chạy Audit Mode (
--audit) trên codebase lạ để xem phân phối embedding vs vuln pattern, biết nên focus đào sâu đâu trước khi full scan. - Dev team: tích hợp pre-commit hoặc nightly scan, không ship code ra ngoài.
- Enterprise compliance: on-prem audit cho công ty tài chính, y tế, chính phủ — nơi cloud SAST bị cấm.
- OSS maintainer: free alternative thay Snyk/Semgrep Pro cho review dependency.

Hạn chế & yêu cầu hệ thống
Yêu cầu tối thiểu: Python 3.9+, Ollama, pipx. CPU 4+ core, 16 GB RAM, 100 GB storage. Chạy CPU-only được nhưng, trích nguyên văn từ README, really slow.
Khuyến nghị: 8+ core, 32–64 GB RAM, GPU NVIDIA ≥ 8 GB VRAM (RTX 3060 trở lên), SSD.
Scaling:
- Small (< 10k LOC): minimum đủ
- Medium (10k–100k LOC): 32 GB+ RAM
- Large (> 100k LOC): 64 GB+ RAM + GPU riêng
- Enterprise: 128 GB+ RAM, A100/H100 class
VRAM theo model size: 4–8B → 8 GB, 12–20B → 16 GB, 30B+ → 24 GB (RTX 3090/4090/A5000). Model download lần đầu 3–15 GB mỗi model.
Tradeoff: chậm hơn rule-based SAST; chất lượng detection phụ thuộc model bạn chọn — phi3:mini nhanh nhưng dễ miss, deepseek-r1:32b chính xác nhưng cần GPU mạnh.
Giá: miễn phí, GPL-3.0, không có SaaS, không cần API key.
Tương lai
Repo hiện có 250 sao, 19 fork, 2 contributor chính (psyray + sourcery-ai bot). Viết bằng Python (70%) + JS (16%). Roadmap qua changelog cho thấy hướng đi rõ: thêm vuln types, cải tiến cache, bổ sung interactive UX. Có Discord community để thảo luận.
Với đà phát triển local LLM (Gemma 3, Qwen 2.5-coder, DeepSeek R1), chất lượng scan của OASIS chỉ tăng theo thời gian mà không cần tool tự thay đổi gì — chỉ cần swap model mới vào. Đây là lợi thế cấu trúc lớn so với SAST commercial có engine đóng.
Nguồn: github.com/psyray/oasis, CHANGELOG, README.

