[ blog · tutorial ]10 min read

Xây dựng tác tử tình báo CVE & lỗ hổng: CISA KEV, NVD, EPSS và MITRE ATT&CK trong một API duy nhất

Sarah ChoyĐăng ngày 16 tháng 6, 202610 phút đọc
Xây dựng tác tử tình báo CVE & lỗ hổng: CISA KEV, NVD, EPSS và MITRE ATT&CK trong một API duy nhất

Mọi đội bảo mật đều chìm trong CVE. Tín hiệu không phải là mức độ nghiêm trọng — mà là liệu một lỗ hổng có đang bị khai thác hay không và khả năng đó lớn đến đâu. Đây là cách xây dựng một tác tử hợp nhất NVD, CISA KEV, EPSS và ATT&CK để trả lời câu hỏi 'tôi nên vá gì trước?'

Tóm tắt

  • Chỉ riêng mức độ nghiêm trọng CVSS thì đếm dư: phần lớn CVE 'critical' chẳng bao giờ bị khai thác. Việc ưu tiên thực sự cần xếp chồng CISA KEV (đã biết bị khai thác) + EPSS (xác suất bị khai thác) lên trên.
  • Bốn nguồn: NVD (bản ghi CVE + CVSS), CISA KEV (danh sách có thẩm quyền về những lỗ hổng bị khai thác trong thực tế), EPSS (điểm xác suất khai thác hằng ngày 0–1), MITRE ATT&CK (chiến thuật/kỹ thuật để tạo ngữ cảnh).
  • Cybersecurity Search của API Pick bọc cả bốn nguồn sau một endpoint POST duy nhất — 10 tín dụng mỗi lần gọi, chỉ-khi-thành-công — nhờ vậy tác tử nhận được tình báo lỗ hổng đã hợp nhất mà không cần bốn scraper.
  • Mẫu hình của tác tử: kéo CVE về, kiểm tra xem có trong KEV không, đọc điểm EPSS, ánh xạ sang các kỹ thuật ATT&CK, rồi xếp hạng theo bị-khai-thác-trước, sau đó EPSS, rồi CVSS.
  • Đây là truy xuất, không phải máy quét: nó cho bạn biết những gì đã biết và những gì có khả năng xảy ra về một lỗ hổng, để ưu tiên việc phân loại của con người — chứ không phải để cho phép hành động tự động.

Mức độ nghiêm trọng là khóa sắp xếp sai

Một chương trình lỗ hổng vá theo điểm CVSS thì bận rộn mà kém hiệu quả. National Vulnerability Database liệt kê hàng chục nghìn CVE High và Critical; tuyệt đại đa số chẳng bao giờ bị khai thác. Trong khi đó, một "Medium" với một exploit hoạt động trong thực tế lại nằm im trong backlog. Câu hỏi mà một tác tử bảo mật nên trả lời không phải là "điều này có thể tệ đến đâu" — mà là "hôm nay tôi nên vá gì trước."

Trả lời câu hỏi đó cần bốn nguồn dữ liệu hợp nhất lại với nhau. Mỗi nguồn đều miễn phí và công khai; mỗi nguồn có định dạng và nhịp cập nhật riêng.

Bốn nguồn

NVD — bản ghi CVE

National Vulnerability Database của NIST. Danh sách CVE chuẩn mực với các vector CVSS, sản phẩm bị ảnh hưởng (CPE) và tham chiếu. Lớp nền "lỗ hổng này là gì". Điểm mạnh: có thẩm quyền và đầy đủ. Điểm yếu: chỉ riêng CVSS thì đếm dư mức độ nghiêm trọng.

CISA KEV

Danh mục Known Exploited Vulnerabilities — danh sách có thẩm quyền của CISA về các CVE được xác nhận bị khai thác trong thực tế, kèm thời hạn khắc phục cho các cơ quan liên bang Hoa Kỳ. Nếu một CVE nằm trong KEV, nó được ưu tiên vượt hàng. Điểm mạnh: cờ tín hiệu cao nhất trong toàn bộ quản lý lỗ hổng.

EPSS

Exploit Prediction Scoring System của FIRST.org: một xác suất hằng ngày 0–1 cho việc một CVE sẽ bị khai thác trong 30 ngày tới. Biến "có thể bị khai thác" thành "khả năng đến đâu". Điểm mạnh: một cách xếp hạng theo xác suất ánh xạ hành vi thực tế của kẻ tấn công.

MITRE ATT&CK

Cơ sở tri thức về chiến thuật và kỹ thuật của kẻ địch. Ánh xạ một lỗ hổng tới vai trò của nó trong kill-chain. Điểm mạnh: biến một CVE thành một câu chuyện vận hành mà các phép phát hiện và kế hoạch ứng phó của bạn có thể dùng.

Một endpoint, tình báo hợp nhất

Cybersecurity Search bọc NVD, CISA KEV, EPSS và MITRE ATT&CK sau một endpoint POST duy nhất — 10 tín dụng mỗi lần gọi, chỉ-khi-thành-công. Truyền vào một ID CVE hoặc một truy vấn bằng ngôn ngữ tự nhiên; kết quả trả về đã hợp nhất và được định hình sẵn cho một LLM. Ghép nó với Web Search cho các thông báo của nhà cung cấp và Extract để kéo về một trang thông báo đầy đủ.

import httpx, os
API, HEADERS = "https://api.apipick.com/v1", {"x-api-key": os.environ["APIPICK_KEY"]}

def vuln_intel(query: str):
    r = httpx.post(f"{API}/search/cybersecurity",
                   headers=HEADERS, json={"query": query})
    r.raise_for_status()
    return r.json()["results"]

# "what should I patch first across NVD + KEV + EPSS + ATT&CK?"
records = vuln_intel("actively exploited Apache and VMware vulnerabilities this month")

# Rank: KEV-listed first, then by EPSS, then CVSS. Feed the ranked,
# cited list to your LLM to summarize the worklist for an analyst.

Tự dựng vs. mua

Tự đấu nốiAPI Pick
NguồnNVD + KEV + EPSS + ATT&CK, riêng rẽCả bốn, đã hợp nhất
Định dạng4 schema + CSV của EPSS1 dạng JSON
Độ tươi mớiBạn lên lịch 4 lần đồng bộTrực tiếp theo từng lần gọi
Sẵn sàng cho LLMBạn chuẩn hóa từng cáiĐược định hình sẵn + URL nguồn
Chi phíHạ tầng + bảo trì10 tín dụng/lần gọi, chỉ khi thành công

Bạn có thể xây dựng gì

Vượt ra ngoài một trợ lý ưu tiên vá lỗi: một tác tử theo dõi KEV hằng ngày cảnh báo khi một CVE trong stack của bạn lọt vào danh sách bị khai thác; một bot phân loại biến một bản xuất từ máy quét thành một danh sách công việc đã xếp hạng và có trích dẫn nguồn; một trợ lý phân tích giải thích bằng ngôn ngữ giản dị các hệ quả ATT&CK của một CVE. Vẫn là mẫu hình đó — truy xuất hợp nhất, xếp hạng theo bị-khai-thác-trước, tổng hợp kèm các nguồn đính kèm. Lấy một khóa miễn phí (100 tín dụng, không cần thẻ) và trỏ tác tử của bạn vào đó.

Câu hỏi thường gặp

Vì sao mức độ nghiêm trọng CVSS không đủ để ưu tiên vá lỗi?

Vì mức độ nghiêm trọng đo lường tác động tiềm tàng, chứ không phải khả năng bị khai thác. Hàng chục nghìn CVE được xếp loại High hoặc Critical, nhưng chỉ một phần nhỏ từng bị khai thác trong thực tế. Nếu bạn vá chỉ dựa trên CVSS, bạn dồn công sức vào những lỗ hổng mà kẻ tấn công chẳng bao giờ chạm tới trong khi bỏ lỡ cái xếp loại trung bình đang bị khai thác tích cực. Cách tiếp cận hiện đại xếp chồng CISA KEV (có được biết là bị khai thác không?) và EPSS (xác suất là bao nhiêu?) lên trên CVSS để xếp hạng những gì thực sự quan trọng.

EPSS là gì và tôi dùng nó như thế nào?

EPSS (Exploit Prediction Scoring System), từ FIRST.org, gán cho mỗi CVE một điểm cập nhật hằng ngày từ 0 đến 1 ước tính xác suất nó sẽ bị khai thác trong 30 ngày tới. Một chính sách phổ biến: vá ngay bất kỳ thứ gì có trong CISA KEV, rồi đến bất kỳ thứ gì có EPSS trên ~0.1 (hoặc ngưỡng điều chỉnh theo rủi ro của bạn), rồi phân loại phần còn lại theo CVSS. Vì EPSS cập nhật hằng ngày, một tác tử nên kéo lại nó thay vì lưu cache.

MITRE ATT&CK bổ sung điều gì?

Ngữ cảnh. ATT&CK ánh xạ các chiến thuật và kỹ thuật của kẻ địch (truy cập ban đầu, leo thang đặc quyền, trích xuất dữ liệu, v.v.). Gắn một CVE với các kỹ thuật khai thác nó giúp một nhà phân tích hiểu hệ quả trong kill-chain — không chỉ là 'cái này có thể khai thác' mà là 'cái này cho phép di chuyển ngang', điều này thay đổi cách bạn ưu tiên và những phép phát hiện bạn bổ sung.

Tác tử có thể tự động áp dụng bản vá hoặc chặn lưu lượng không?

Không — và bạn không nên đấu nối nó để làm điều đó. Đây là một lớp truy xuất tình báo: nó hợp nhất những gì đã biết về một lỗ hổng để ưu tiên việc phân loại của con người. Khắc phục tự động cần kiểm soát thay đổi, kiểm thử và một người chịu trách nhiệm. Dùng tác tử để tạo ra một danh sách công việc đã xếp hạng và có trích dẫn nguồn; hãy để pipeline vá lỗi/SOAR của bạn và một kỹ sư thực thi.

Dữ liệu cập nhật đến mức nào?

NVD và CISA KEV cập nhật liên tục khi các CVE được công bố và việc khai thác được xác nhận; EPSS tính lại hằng ngày. Endpoint truy vấn các nguồn trực tiếp, nên một lần chạy của tác tử phản ánh trạng thái hiện tại. Để có dấu vết kiểm toán, hãy lưu điểm EPSS và trạng thái KEV cùng với một dấu thời gian tại thời điểm ra quyết định.

Các API dùng trong bài viết này

Sarah Choy
Viết bởi
Sarah Choy
CEO, API Pick

Sarah Choy là CEO của API Pick. Cô viết về việc xây dựng các API sẵn sàng cho production cho AI agent và quy trình LLM.