- OSV-Scanner của Google quét lockfiles, container images và cả C/C++ vendored code, đối chiếu từng dependency với database OSV.dev.
- 11+ ecosystem, call analysis loại bỏ alert nhiễu, guided remediation gợi ý version upgrade tối ưu, chạy được offline.
TL;DR
Hầu hết dev ship code mà không biết một nửa dependency đang là bom nổ chậm. OSV-Scanner — công cụ open-source của Google — fix việc đó: quét lockfiles, container images và cả vendored C/C++ code, map từng dependency với database OSV.dev. Hỗ trợ 11+ ecosystem (npm, pip, cargo, maven, go modules, gem…), có call analysis để chỉ báo vuln nào code thực sự gọi tới, guided remediation gợi ý version upgrade fix nhiều issue nhất với ít rủi ro nhất, và chạy được offline. Apache-2.0, hoàn toàn miễn phí. Latest release: v2.3.5 (Mar 25, 2026).
Chuyện gì đang xảy ra
OSV-Scanner là frontend chính thức của OSV database và CLI trên thư viện OSV-Scalibr. Viết bằng Go, repo google/osv-scanner hiện 8.8k stars. Google công bố V2 ngày 17/03/2025 với bước nhảy lớn: thêm guided remediation, container image scanning, và detect vendored C/C++ code. Bản mới nhất v2.3.5 (25/03/2026) mở thêm transitive scanning cho Python requirements.txt qua deps.dev API — cuối cùng Python dev cũng thấy được các indirect dependency đang ẩn gì.
Vì sao quan trọng
Supply-chain attack đã trở thành dạng tấn công phổ biến nhất nhắm vào phần mềm modern. Log4Shell, event-stream, ua-parser-js, xz-utils backdoor — tất cả đều là vuln ẩn trong transitive dependency, không ai nhìn thấy đến khi nổ. Vấn đề ở các scanner miễn phí: chỉ cover một ecosystem, flood alert không có reachability filtering, bắt phải đẩy code/dependency tree lên cloud, hoặc bỏ qua hoàn toàn C/C++ vendored code (nơi nhiều CVE nặng ký sống).
OSV-Scanner gom tất cả vào một CLI duy nhất — Apache-2.0, offline-capable, multi-ecosystem — và thêm 2 thứ hiếm có trong tool miễn phí: call analysis (chỉ báo vuln trong function code thực sự gọi tới) và guided remediation (gợi ý upgrade path tối ưu theo độ sâu, severity, và ROI). Ít noise hơn = dev thực sự đọc alert thay vì mute toàn bộ. Database OSV.dev đứng sau — đây là schema CVE mà Google, GitHub Security Advisory, Python PSF, Rust RustSec, Go, Dart đã đồng ý chuẩn hoá — nên coverage rộng và update nhanh.
Fact kỹ thuật
- 11+ ecosystem: C/C++, Dart, Elixir, Go, Java, JavaScript, PHP, Python, R, Ruby, Rust
- 19+ lockfile types:
package-lock.json,yarn.lock,pnpm-lock.yaml,Pipfile.lock,poetry.lock,requirements.txt,Cargo.lock,Gemfile.lock,go.mod,pom.xml,build.gradle,composer.lock,packages.lock.json… - Vendored C/C++ scanning: detect source third-party copy-paste vào repo, không cần lockfile
- Container image scanning: scan base image + installed packages trên Linux OS layers
- Offline mode:
--download-offline-databasespull DB một lần, scan sau đó zero network - Call analysis (reachability): chỉ báo vuln trong function code thực sự gọi — cắt false positive đáng kể
- GitHub Action chính thức
google/osv-scanner-actionđể wire vào CI/CD - Viết 87.6% Go, query OSV.dev + deps.dev API
Install:
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latestHoặc tải prebuilt binary từ releases page.
So với các scanner khác
| Tiêu chí | OSV-Scanner | Snyk (free) | Dependabot | Trivy |
|---|---|---|---|---|
| Giá | Free, Apache-2.0 | Free tier có hạn | Free (GitHub only) | Free, open source |
| Multi-ecosystem | 11+ | Nhiều | Nhiều (GitHub) | Container-focused |
| Call analysis | Có | Có (paid) | Không | Không |
| Guided remediation | Có (npm, Maven, Gradle) | Có (paid) | Auto-PR cơ bản | Không |
| Offline mode | Có | Không | Không | Có |
| Vendored C/C++ | Có | Hạn chế | Không | Không |
Use cases
- Indie dev audit project cá nhân: một lệnh scan toàn thư mục
- CI/CD pipeline: dùng official GitHub Action cho gate mỗi PR
- Monorepo đa ecosystem: một tool xử lý Node + Python + Go + Rust
- Môi trường air-gapped / quy định khắt khe: offline DB
- Container registry gate: scan image trước khi deploy
- Codebase C/C++ legacy với vendored third-party libs
- Python team cuối cùng cũng thấy được transitive deps qua
requirements.txt
Một lệnh quét toàn project:
osv-scanner scan source -r ./Scan container image:
osv-scanner scan image my-image:tagOffline mode lần đầu:
osv-scanner --offline --download-offline-databases ./Giới hạn & pricing
Hoàn toàn miễn phí, Apache-2.0. Vài giới hạn cần biết:
- Guided remediation hiện chỉ support npm, Maven, Gradle — Go và Python đang trong roadmap
- Call analysis tốt nhất cho Go, đang mở rộng cho language khác
- CLI-first, không có hosted dashboard (Snyk / GitHub Security tab có UX đẹp hơn)
- Phụ thuộc coverage của OSV.dev — rất rộng nhưng không 100%
Sắp tới
Google đang expand guided remediation sang Go và Python, đồng thời làm call-graph reachability sâu hơn cho nhiều ngôn ngữ. V2.3.5 đã mở Python transitive scanning — bước đệm rõ ràng cho support Python đầy đủ hơn. Nếu đang ship code với lockfile mà chưa từng scan, command sau đáng chạy ngay lúc này:
osv-scanner scan source -r ./Nguồn: google/osv-scanner, Google Security Blog, osv.dev, @_vmlops.

