CVE Scanner - 오픈소스 취약점 분석 스킬
개요
CVE Scanner는 오픈소스 소프트웨어의 보안 취약점(CVE)을 분석하고 리포트를 생성하는 스킬입니다.
사용법
단일 패키지 분석
# 기본 사용법
cve-scanner "패키지명" "버전"
# 예시
cve-scanner "log4j-core" "2.14.0"
cve-scanner "openssl" "1.1.1k" --severity HIGH,CRITICAL
cve-scanner "spring-framework" "5.3.18" --output excel
파일 분석
# 의존성 파일 분석
cve-scanner --file package.json
cve-scanner --file requirements.txt --output json
cve-scanner --file pom.xml --severity CRITICAL,HIGH
옵션
| 옵션 | 설명 | 기본값 |
|---|---|---|
--severity | 심각도 필터 (CRITICAL,HIGH,MEDIUM,LOW) | 전체 |
--output | 출력 형식 (markdown, excel, json, csv) | markdown |
--ecosystem | 생태계 지정 (npm, pypi, maven, golang 등) | 자동 감지 |
--file | 의존성 파일 경로 | - |
--quiet, -q | 경고 메시지 억제 (JSON 출력 시 권장) | - |
--no-cache | 캐시 사용 안 함 | - |
--max-retries | API 호출 재시도 횟수 | 3 |
--nvd-key | NVD API 키 (Rate Limit 증가) | - |
--github-token | GitHub 토큰 (Rate Limit 증가) | - |
지원 파일 형식
package.json/package-lock.json(npm)requirements.txt/Pipfile.lock(PyPI)pom.xml/build.gradle(Maven)go.mod/go.sum(Go)Cargo.lock(Rust)composer.lock(PHP)Gemfile.lock(Ruby)
데이터 소스
- NVD (NIST) - 미국 국가 취약점 데이터베이스
- OSV.dev (Google) - 오픈소스 전용 취약점 DB
- GitHub Advisory - GitHub 보안 권고
출력 예시
마크다운
# CVE Scanner 취약점 분석 리포트
## 📦 log4j-core
| 항목 | 내용 |
|------|------|
| 현재 버전 | 2.14.0 |
| 최신 버전 | 2.23.1 |
| 발견 CVE 수 | 3건 |
### 취약점 목록
| CVE ID | 심각도 | CVSS | 설명 |
|--------|--------|------|------|
| CVE-2021-44228 | 🔴 CRITICAL | 10.0 | Log4Shell |
API 키 설정 (선택)
# NVD API Key (Rate Limit 증가)
export NVD_API_KEY="your-api-key"
# GitHub Token (Rate Limit 증가)
export GITHUB_TOKEN="your-token"
요구사항
pip install -r requirements.txt
주의사항
- API Rate Limit이 있어 대량 조회 시 시간이 소요될 수 있습니다
- 일부 패키지는 생태계 지정이 필요할 수 있습니다
- 버전 형식은 SemVer를 권장합니다