Kiểm tra gói phụ thuộc API

Tìm lỗ hổng đã biết (OSV.dev), bản sửa lỗi, bản mới nhất và giấy phép của các gói trong lockfile hoặc manifest: npm, pip, Go, Composer…

POSThttps://apibox.io.vn/v1/dep-audit
Bảo mật & Mã hoá▶ Dùng thử online

Tải lên hoặc dán manifest / lockfile: package.json, package-lock.json (v1–v3), yarn.lock (bản classic và Berry), pnpm-lock.yaml, requirements.txt, poetry.lock, Pipfile.lock, composer.lock / composer.json, go.sum / go.mod, Gemfile.lock hoặc Cargo.lock. Định dạng được nhận diện từ filename hoặc nội dung. Từng gói và phiên bản được đối chiếu với OSV.dev (cơ sở dữ liệu lỗ hổng mở của Google, tổng hợp GitHub Advisory Database, PyPA, Go, RustSec…) theo lô tối đa 1.000 gói.

Mỗi gói có lỗ hổng liệt kê các cảnh báo với mã GHSA / CVE, tóm tắt, mức độ nghiêm trọng (tính từ vector CVSS v3, hoặc mức do cảnh báo tự đánh giá), các phiên bản đã sửa và fixed_in (bản sửa đầu tiên cao hơn bản bạn dùng); upgrade_to là phiên bản thấp nhất sửa được tất cả. Với latest=true, API lấy bản phát hành mới nhất từ npm, PyPI hoặc Packagist cho các gói trực tiếp (hoặc mọi gói nếu file nhỏ). Giấy phép lấy từ lockfile hoặc registry được chuẩn hoá theo SPDX (spdx-correct) và gắn cờ copyleft weak, strong hoặc network.

Với manifest chỉ có khoảng phiên bản (^1.2.3, >=3.0), API kiểm tra phiên bản thấp nhất được phép và đánh dấu version_from_range: hãy gửi lockfile để có kết quả chính xác. Chi tiết cảnh báo được lưu đệm một ngày và lấy tối đa 150 cảnh báo mỗi lần gọi (max_details, tối đa 300). Dữ liệu lỗ hổng: OSV.dev, được ghi nguồn trong mỗi kết quả.

Tham số

TênVị tríKiểuBắt buộcMặc định
contentbodystringkhôngNội dung manifest / lockfile (hoặc tải file, hoặc gửi body thô).
filebodyfilekhôngFile manifest / lockfile tải lên.
filenamebodystringkhôngTên file để nhận diện định dạng (ví dụ yarn.lock).
formatbodystringkhôngChỉ định định dạng: package.json, package-lock.json, yarn.lock, pnpm-lock.yaml, requirements.txt, poetry.lock, pipfile.lock, composer.lock, composer.json, go.sum, go.mod, gemfile.lock, cargo.lock.
latestbodybooleankhôngfalseLấy thêm phiên bản mới nhất và giấy phép từ npm / PyPI / Packagist.
include_devbodybooleankhôngtrueTính cả gói dùng cho phát triển (dev).
only_vulnerablebodybooleankhôngfalseChỉ liệt kê các gói có lỗ hổng.
vulnsbodybooleankhôngtrueĐặt false để bỏ qua kiểm tra OSV.dev (chỉ xem giấy phép / phiên bản).
max_detailsbodynumberkhông150Số cảnh báo tối đa được lấy chi tiết (0–300).

Ví dụ

curl -X POST "https://apibox.io.vn/v1/dep-audit" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"{\"dependencies\":{\"lodash\":\"4.17.20\"}}","filename":"package.json","latest":true}'

Kết quả trả về

{
  "format": "package.json",
  "packages_total": 1,
  "summary": {
    "vulnerable_packages": 1,
    "vulnerabilities": 4,
    "by_severity": {
      "high": 2,
      "medium": 2
    },
    "outdated_packages": 1,
    "latest_checked": 1,
    "licences": {
      "MIT": 1
    },
    "copyleft_packages": 0
  },
  "packages": [
    {
      "name": "lodash",
      "version": "4.17.20",
      "ecosystem": "npm",
      "declared": "4.17.20",
      "dev": false,
      "direct": true,
      "vulnerable": true,
      "vulnerabilities": [
        {
          "id": "GHSA-35jh-r3h4-6jhm",
          "aliases": [
            "CVE-2021-23337"
          ],
          "summary": "Command Injection in lodash",
          "severity": "high",
          "cvss_score": 7.2,
          "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H",
          "fixed_versions": [
            "4.17.21"
          ],
          "fixed_in": "4.17.21",
          "published": "2021-05-06T16:05:51Z",
          "url": "https://osv.dev/vulnerability/GHSA-35jh-r3h4-6jhm"
        },
        {
          "id": "GHSA-r5fr-rjxr-66jc",
          "aliases": [
            "CVE-2026-4800"
          ],
          "summary": "lodash vulnerable to Code Injection via `_.template` imports key names",
          "severity": "high",
          "cvss_score": 8.1,
          "fixed_versions": [
            "4.18.0"
          ],
          "fixed_in": "4.18.0",
          "url": "https://osv.dev/vulnerability/GHSA-r5fr-rjxr-66jc"
        },
        "…"
      ],
      "upgrade_to": "4.18.0",
      "latest": "4.18.1",
      "outdated": true,
      "licence": {
        "declared": "MIT",
        "spdx": "MIT",
        "ids": [
          "MIT"
        ],
        "copyleft": "none"
      }
    }
  ],
  "attribution": "Vulnerability data from OSV.dev (https://osv.dev), aggregating GitHub Advisory Database (CC-BY 4.0), PyPA, Go, RustSec and other sources under their licences."
}

Ứng dụng

  • Kiểm tra dự án do agency bàn giao trước khi đưa vào vận hành
  • Chặn lỗ hổng nhẹ trong CI mà không cần cài công cụ quét
  • Liệt kê giấy phép copyleft trong thư viện trước khi phát hành sản phẩm
  • Xem gói nào đã cũ và nâng lên bản nào thì hết lỗ hổng

Hỏi đáp

Dữ liệu lỗ hổng lấy từ đâu?

Từ OSV.dev, cơ sở dữ liệu mở do Google vận hành, gộp GitHub Advisory Database, PyPA, Go vulndb, RustSec, RubySec và các nguồn khác. Mỗi kết quả đều có dòng ghi nguồn.

version_from_range nghĩa là gì?

package.json, composer.json và requirements.txt dùng >= chỉ cho biết khoảng phiên bản. API kiểm tra bản thấp nhất mà khoảng đó cho phép; bản bạn cài thực tế có thể mới hơn. Hãy gửi lockfile để có phiên bản chính xác.

Có hỗ trợ pom.xml hay build.gradle không?

Chưa. Hiện hỗ trợ file của npm, yarn, pnpm, pip, Poetry, Pipenv, Composer, Go modules, Bundler và Cargo.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →