패키지 검색 개요

패키지 스캔은 Artifact Registry 저장소에 있는 언어 기반 패키지의 오픈소스 종속 항목에서 기존 및 새로운 취약점을 식별합니다.

패키지 스캔과 관련된 비용에 대해 자세히 알아보려면 가격 책정을 참고하세요.

이 개요에서는 사용자가 이미 Artifact Registry에서 Docker 저장소를 사용하는 데 익숙하다고 가정합니다.

개요

Artifact Analysis는 패키지가 Artifact Registry에 푸시될 때 패키지의 파일을 스캔합니다. 초기 스캔 후 Artifact Registry는 스캔한 패키지의 메타데이터를 계속 모니터링하여 새로운 취약점이 있는지 확인합니다.

Artifact Registry는 잠재적인 위험 영역을 평가하기 위해 패키지 구성 파일의 종속 항목을 알려진 취약점과 비교합니다. 아티팩트 분석에서 패키지의 잠재적 취약점을 검토할 수 있습니다.

패키지에서 취약점 검사

Artifact Analysis는 Artifact Registry 저장소의 패키지를 스캔하여 취약점을 식별하고 종속 항목과 라이선스를 식별하여 패키지 구성을 파악할 수 있도록 지원합니다.

Artifact Analysis는 새 패키지가 Artifact Registry에 푸시될 때 이를 스캔합니다. 이 프로세스를 자동 검사라고 합니다. 스캔은 패키지의 파일에 관한 정보를 추출합니다. 패키지를 스캔한 후 Artifact Analysis는 해당 패키지의 취약점 어커런스를 보여주는 취약점 보고서를 생성합니다. 취약점은 보안 취약점에서 공개적으로 모니터링되는 패키지에서만 감지됩니다.

지속적 분석

패키지를 스캔한 후 Artifact Analysis는 Artifact Registry에서 스캔한 패키지 메타데이터를 지속적으로 모니터링하여 새로운 취약점이 있는지 확인합니다.

Artifact Analysis는 취약점 소스에서 새로운 업데이트된 취약점 정보를 매일 여러 번 수신합니다. 새 취약점 데이터가 도착하면 Artifact Analysis는 기존 취약점 어커런스를 업데이트하고, 새 메모에 대한 새 취약점 어커런스를 생성하고, 더 이상 유효하지 않은 취약점 어커런스를 삭제합니다.

Artifact Analysis는 지난 30일 이내에 가져온 이미지와 패키지를 계속 스캔합니다. 30일이 지나면 스캔된 이미지와 패키지의 메타데이터가 더 이상 업데이트되지 않으며 결과가 오래됩니다.

Artifact Analysis는 90일 넘게 비활성 상태인 메타데이터를 보관처리합니다. 보관된 이 메타데이터는 API를 사용해야만 평가할 수 있습니다. 오래된 메타데이터 또는 보관처리된 메타데이터가 있는 이미지를 가져와 다시 스캔할 수 있습니다. 메타데이터를 새로고침하는 데 최대 24시간이 걸릴 수 있습니다. 오래되었거나 보관처리된 메타데이터가 있는 패키지는 다시 스캔할 수 없습니다.

지원되는 패키지 유형

패키지를 Artifact Registry로 푸시하면 Artifact Analysis에서 취약점을 스캔할 수 있습니다.

다음 표에는 Artifact Analysis에서 스캔할 수 있는 패키지 유형이 나와 있습니다.

Artifact Registry를 사용한 자동 스캔 주문형 스캔
자바 패키지
Python 패키지
Node.js 패키지

Artifact Analysis 인터페이스

Google Cloud 콘솔에서 Artifact Registry의 패키지에 대한 취약점과 메타데이터를 확인할 수 있습니다.

gcloud CLI를 사용하여 취약점 및 메타데이터를 볼 수 있습니다.

Artifact Analysis REST API를 사용하여 이러한 작업을 수행할 수도 있습니다. 다른 Cloud Platform API를 이용할 때처럼 OAuth2를 이용해 액세스를 인증해야 합니다.

Artifact Analysis API는 gRPC와 REST/JSON을 모두 지원합니다. 클라이언트 라이브러리나 REST/JSON용 curl을 사용하여 API를 호출할 수 있습니다.

취약점 소스

다음 섹션에는 아티팩트 분석에서 CVE 데이터를 가져오는 데 사용하는 취약점 소스가 나열되어 있습니다.

언어 패키지 스캔

Artifact Analysis는 패키지 내 파일의 취약점 스캔을 지원합니다. 취약점 데이터는 GitHub Advisory Database에서 가져옵니다.

대부분의 경우 각 취약점에는 CVE ID가 할당되며 이 ID가 해당 취약점의 기본 식별자가 됩니다. 취약점에 할당된 CVE ID가 없는 경우 GHSA ID가 대신 식별자로 할당됩니다. 나중에 해당 취약점에 CVE ID가 부여되면 취약점 ID가 CVE와 일치하도록 업데이트됩니다. 자세한 내용은 프로젝트에서 특정 취약점 확인하기를 참고하세요.

패키지 관리자 및 시맨틱 버전 관리

  • Java - Artifact Analysis는 Maven 이름 지정 규칙을 따르는 Maven 패키지를 지원합니다. 패키지 버전에 공백이 포함되어 있으면 스캔되지 않습니다.
  • Node.js - 패키지 버전 일치는 시맨틱 버전 관리 사양을 따릅니다.
  • Python - Python 버전 일치는 PEP 440 시맨틱을 따릅니다.

제한사항

  • 아티팩트 분석은 파일이 100개 이하인 패키지만 검사합니다.

  • 동일한 패키지를 여러 저장소에 푸시하면 각 푸시에 대해 요금이 청구됩니다. 자세한 내용은 아티팩트 분석 가격 책정을 참고하세요.

다음 단계

  • 패키지 취약점을 확인하고 취약점 발생을 필터링하는 방법에 관한 자세한 내용은 패키지 자동 스캔을 참고하세요.