-
Clone repository:
git clone https://github.com/lebathang/CveCli.git
-
Tạo và kích hoạt môi trường ảo:
python -m venv .venv # Trên Windows .\.venv\Scripts\activate # Trên macOS/Linux source .venv/bin/activate
-
Cài đặt các thư viện Python:
pip install -r requirements.txt
-
Cấu hình API Keys và Công cụ:
- AI (xAI Grok): Tạo một file tên là
.envtrong thư mục gốc, sao chép nội dung từ.env.examplevà thêm API key của bạn vào:XAI_API_KEY="Your-xAI-Secret-Key-Here" - Snyk: Chạy lệnh sau để xác thực Snyk CLI với tài khoản của bạn:
snyk auth
- Nuclei: Cập nhật bộ template mới nhất:
nuclei -update-templates
- AI (xAI Grok): Tạo một file tên là
Trước khi cài đặt, bạn cần đảm bảo các công cụ sau đã được cài đặt trên hệ thống và có thể được gọi từ dòng lệnh:
- Python (phiên bản 3.9 trở lên)
- Nmap: Công cụ quét mạng. (Trang chủ)
- Nuclei: Công cụ quét lỗ hổng dựa trên template. (Trang chủ)
- Trivy: Công cụ quét lỗ hổng. (Trang chủ)
- Snyk CLI: Công cụ quét phụ thuộc. (Trang chủ)
Tất cả các lệnh đều được chạy từ thư mục gốc của dự án.
python -m cve_cli.cli --help
Tìm theo ID cụ thể:
python -m cve_cli.cli search "CVE-2024-27198"Tìm theo từ khóa bất kỳ:
python -m cve_cli.cli search "API security"Tìm theo từ khóa với bộ lọc CVSS:
Kết quả sẽ được phân trang, sử dụng n (next), p (previous), và q (quit) để điều hướng.
python -m cve_cli.cli search "SQL Injection" --min-score 9.0Tìm tất cả CVE có từ khóa "API" và điểm CVSS chính xác là 9.8
python -m cve_cli.cli search "API" --exact-score 9.8tìm giải pháp CVE bằng trí tuệ nhân tạo theo cấu trúc câu hỏi sau:
- Tóm tắt Nguy cơ: Giải thích ngắn gọn nguy cơ chính của lỗ hổng này.
- Phân tích Tác động: Ai hoặc hệ thống nào có thể bị ảnh hưởng?
- Các bước Giảm thiểu & Khắc phục: Liệt kê các hành động cụ thể, ưu tiên các giải pháp chính thức như nâng cấp phiên bản.
python -m cve_cli.cli solution CVE-2023-34048
Note
Dưới đây là danh sách các công cụ quét CVE hiệu quả được tích hợp và điều khiển trực tiếp bằng thư viện subprocess của Python. Các công cụ này đều có giao diện dòng lệnh (CLI) mạnh mẽ, được thiết kế cho mục đích tự động hóa.
| Tên Công Cụ | Mục Đích Chính | Lệnh Ví dụ cho subprocess |
|---|---|---|
| Nmap | Khám phá mạng, quét cổng và phát hiện dịch vụ. Có thể dùng script (NSE) để tìm CVE. | ['nmap', '-sV', '--script=vuln', 'target.com'] |
| Tên Công Cụ | Mục Đích Chính | Lệnh Ví dụ cho subprocess |
|---|---|---|
| Trivy | Quét lỗ hổng trong container image, filesystem, và các thư viện mã nguồn mở. | ['trivy', 'image', 'python:3.9-slim'] |
| Snyk | Quét CVE trong mã nguồn, thư viện, file cấu hình IaC và container. | ['snyk', 'test', '--all-projects'] |
| Tên Công Cụ | Mục Đích Chính | Lệnh Ví dụ cho subprocess |
|---|---|---|
| Nuclei | Quét lỗ hổng web, API, và dịch vụ dựa trên các template có sẵn. Cực kỳ nhanh. | ['nuclei', '-u', 'https://example.com'] |
Nếu bạn chưa có Nmap, hãy cài đặt nó trước. Nmap có sẵn cho mọi hệ điều hành.
Trang chủ: https://nmap.org/download.html
Hãy chắc chắn rằng lệnh nmap có thể được gọi từ bất kỳ đâu trong terminal của bạn (tức là nó đã được thêm vào PATH hệ thống).
Quét nhanh (mặc định):
python -m cve_cli.cli nmap-scan scanme.nmap.org
Quét phiên bản dịch vụ:
python -m cve_cli.cli nmap-scan scanme.nmap.org --type version
Quét hệ điều hành (cần quyền root/admin):
sudo python -m cve_cli.cli nmap-scan scanme.nmap.org --type os-detect
Quét toàn diện (cần quyền root/admin):
sudo python -m cve_cli.cli nmap-scan scanme.nmap.org -t aggressive
# Thay bằng dải mạng của bạn`
python -m cve_cli.cli nmap-scan scanme.nmap.org --pingQuét sâu để tìm phiên bản dịch vụ:
python -m cve_cli.cli nmap-scan scanme.nmap.org --version
Quét TCP SYN (cần quyền root):
sudo python -m cve_cli.cli nmap-scan scanme.nmap.org -t tcp-syn
Quét các cổng UDP phổ biến:
sudo python -m cve_cli.cli nmap-scan scanme.nmap.org -t udp
Chạy các script mặc định của Nmap:
python -m cve_cli.cli nmap-scan scanme.nmap.org -t script-default
Nếu bạn chưa cài đặt, hãy làm theo hướng dẫn tại trang chủ của Trivy để cài đặt nó trên hệ thống của bạn: Trivy Installation Guide.
Trước hết, bạn cần cài đặt Nuclei và bộ template của nó.
Cài đặt Nuclei: Truy cập trang hướng dẫn chính thức và làm theo các bước cho hệ điều hành của bạn: Nuclei Installation Guide.
Cập nhật Templates: Sau khi cài đặt, hãy chạy lệnh sau để tải về bộ template quét mới nhất (rất quan trọng):
nuclei -update-templates
python -m cve_cli.cli nuclei-scan http://scanme.nmap.org
Tạo tài khoản Snyk: Đăng ký một tài khoản miễn phí tại https://snyk.io/.
Cài đặt Snyk CLI: Bạn cần có Node.js và npm. Sau đó chạy lệnh:
npm install -g snyk
Xác thực tài khoản: Chạy lệnh sau và làm theo hướng dẫn trên trình duyệt để kết nối CLI với tài khoản của bạn.
snyk auth
Chạy lệnh snyk-scan
# Quét thư mục hiện tại` python -m cve_cli.cli snyk-scan . # Hoặc chỉ định một thư mục khác # python -m cve_cli.cli snyk-scan /duong/dan/den/project/khac
🤝 Đóng Góp Mọi đóng góp đều được chào đón! Vui lòng tạo Pull Request hoặc mở một Issue để thảo luận về những thay đổi bạn muốn thực hiện.
📄 Giấy Phép Dự án này được cấp phép dưới Giấy phép MIT. Xem file LICENSE để biết thêm chi tiết.