CVE 상태 확인과 재스캔: cve check
apollo-cli cve check는 입력에서 제품 릴리스 좌표를 모은 뒤 Apollo API로 다음 내용을 확인합니다.
SECURITY_VULNERABILITY사유로 회수된 릴리스인지.- 마지막 CVE 스캔이 언제 이루어졌는지.
- 릴리스에 영향을 주는 활성 CVE가 무엇인지.
apollo-cli cve check [flags]
입력 범위
다음 입력 중 하나 이상이 필요합니다. 여러 입력을 지정하면 릴리스 목록을 합쳐 확인합니다.
| 입력 | 포함하는 릴리스 |
|---|---|
-e, --environment | 배포 환경의 배포 개체들이 사용하는 모든 제품 릴리스 |
-f, --maven-coordinates-file | YAML 파일에 나열한 Maven 좌표 |
-p, --product-id | group:product로 지정한 제품의 모든 릴리스 |
-r, --release-channel로 채널을 제한할 수 있습니다. 배포 환경 입력에는 해당 채널을 따르는 배포 개체만 포함하고, 제품 ID 입력에는 해당 채널의 릴리스만 포함합니다.
옵션
| 옵션 | 의미 |
|---|---|
--details | 릴리스별 CVE를 포함한 상세 결과 표시 |
-e, --environment | 조사할 배포 환경 |
-f, --maven-coordinates-file | Maven 좌표 목록이 있는 YAML 파일 |
-p, --product-id | group:product 형식의 제품 ID |
-r, --release-channel | 조회 범위를 제한할 릴리스 채널 |
--rescan | 최근 7일 동안 스캔하지 않은 릴리스에 재스캔 요청 |
--force | 7일 기준을 무시하고 모든 대상 재스캔. --rescan과 함께 사용해야 함 |
-h, --help | 명령 도움말 |
--rescan을 사용하는 작업은 조회뿐 아니라 스캔 요청도 발생시킵니다. --rescan --force는 최근 스캔 시각과 관계없이 모든 대상을 다시 스캔합니다.
입력 파일 예시
다음은 가상의 릴리스 두 개를 지정한 coordinates.yaml입니다.
- "com.example:storage-controller:1.0.0"
- "com.example:service-a:2.0.0"
./apollo-cli cve check --maven-coordinates-file coordinates.yaml
./apollo-cli cve check --environment test-spoke
./apollo-cli cve check --product-id com.example:service-a
배포 환경과 파일 입력을 합쳐 재스캔할 수 있습니다.
./apollo-cli cve check \
--environment test-spoke \
--maven-coordinates-file coordinates.yaml \
--rescan
채널 필터와 상세 조회는 다음과 같이 지정합니다.
./apollo-cli cve check --environment test-spoke --release-channel RELEASE
./apollo-cli cve check --environment test-spoke --details