Files
llm-wiki/raw/official-docs/trivy-java-language-coverage.md
T

7.3 KiB

title, source_type, url, archive_url, related_branches, related_projects, tags, created
title source_type url archive_url related_branches related_projects tags created
Trivy Java Language Coverage — Official Documentation official-doc https://trivy.dev/docs/latest/coverage/language/java/
feature-dependency-vulnerability-management-contract
official-doc
ca-tmpl
security
ci-cd
2026-06-15

Trivy Java Language Coverage — Official Documentation

Layer: raw/ — 외부 자료(공식 문서)의 원문 발췌·출처 기록. 검증된 요약은 /ingestwiki/concepts/에 별도 작성. 원본은 raw에 영구 보관.

Parent / 활용 branch (필수)

Branch 이 자료가 정당화하는 결정
raw/branch-notes/feature-dependency-vulnerability-management-contract D1 — Trivy를 SCA(의존성 CVE) 스캐너로 채택. 특히 *gradle.lockfile의 SBOM/Vulnerability/License 공식 지원 여부, Java 패키지 취약점 DB 소스(GitHub Advisory Database (Maven)), 그리고 Gradle 스캔이 인터넷 접근 없이 로컬 캐시만으로 동작한다는 사실

출처 / Source

왜 저장했는지 / Why archived

feature-dependency-vulnerability-management-contract 브랜치에서 Trivy를 Gradle 기반 Java 프로젝트의 SCA 스캐너로 채택하는 결정(D1)의 공식 근거가 필요했다. *gradle.lockfile 패턴에 대한 SBOM·Vulnerability·License 커버리지 표가 공식 문서에 명시되어 있고, Gradle 스캔이 오프라인(로컬 캐시)으로 동작한다는 사실을 verbatim 인용으로 확보하기 위해 보관한다.

핵심 인용 / Key quotes (verbatim)

[§Java — 도입부] "Trivy supports four types of Java scanning: JAR/WAR/PAR/EAR, pom.xml, *gradle.lockfile and *.sbt.lock files."

[§Java — Scanner Support Matrix] "| *gradle.lockfile | ✓ | ✓ | ✓ |" (컬럼 순: Artifact | SBOM | Vulnerability | License)

[§Gradle.lock — Note] "All necessary files are checked locally. Gradle file scanning doesn't require internet access."

[§Gradle.lock — 도입] "gradle.lock files only contain information about used dependencies."

[§pom.xml — remote repositories — Note] "Trivy only takes information about packages. We don't take a list of vulnerabilities for packages from the maven repository. Information about data sources for Java you can see here."

Claims Extracted / 추출된 주장

Claim ID Claim (이 자료가 직접 말하는 것) Evidence quote Strength Applies to Does not prove
C1 *gradle.lockfile은 SBOM, Vulnerability, License 세 스캐너 모두 지원된다 [§Scanner Support Matrix] "| *gradle.lockfile | ✓ | ✓ | ✓ |" official-vendor-doc Trivy latest 버전, *gradle.lockfile 파일 패턴이 존재하는 Gradle 프로젝트 lockfile이 실제로 생성·커밋되어 있어야 함을 보장하지 않음; Trivy 버전 핀닝 없는 경우 변동 가능
C2 Gradle lockfile 스캔은 인터넷 접근이 필요 없고 로컬 파일만으로 동작한다 [§Gradle.lock — Note] "All necessary files are checked locally. Gradle file scanning doesn't require internet access." official-vendor-doc *gradle.lockfile 스캔 경로에만 적용 pom.xml 스캔은 Maven repository 인터넷 접근이 필요(별도 조건); JAR 스캔은 trivy-java-db 다운로드 필요
C3 gradle.lock 파일은 사용된 의존성 정보만 포함한다 [§Gradle.lock] "`gradle.lock` files only contain information about used dependencies." official-vendor-doc Gradle dependency locking 기능으로 생성된 lockfile lockfile이 없거나 stale한 경우의 동작을 이 자료가 정의하지 않음
C4 Java 패키지 취약점 정보는 maven repository가 아닌 별도 data source에서 가져온다 [§pom.xml — remote repositories — Note] "We don't take a list of vulnerabilities for packages from the `maven repository`. Information about data sources for Java you can see here." official-vendor-doc pom.xml 스캔 경로 + gradle.lockfile 스캔 경로 공통 적용 별도 data source가 어떤 DB인지는 이 페이지에서 직접 명시하지 않음 (취약점 DB 페이지 별도 참조 필요)
C5 Java 취약점 data source는 GitHub Advisory Database (Maven)이다 [vulnerability scanner docs — §Data Sources] "| Java | GitHub Advisory Database (Maven) | | - |" official-vendor-doc Trivy latest의 Java/Maven 패키지 취약점 스캔 NVD 대비 우선순위 정책이 이 페이지에 명시되어 있지 않음; 이 자료만으로 "vendor score > NVD" 우선순위를 주장할 수 없음

Usage Boundaries / 적용 경계

  • 이 자료가 직접 증명하는 것:
    • C1: Trivy 공식 문서가 *gradle.lockfile에 대해 SBOM·Vulnerability·License 세 스캐너를 모두 지원함을 표로 명시
    • C2: Gradle lockfile 스캔 경로는 오프라인(로컬 캐시만)으로 동작하며 CI 환경에서 네트워크 의존성이 없음
    • C3: lockfile은 실제 사용된 의존성만 포함 (resolved dependency set)
    • C4: 취약점 데이터는 maven repository가 아닌 Trivy 전용 DB에서 가져옴
    • C5: Java/Maven 취약점 소스는 GitHub Advisory Database (Maven)
  • 이 자료가 증명하지 않는 것:
    • lockfile이 프로젝트에 이미 생성·커밋되어 있다는 전제 조건 (별도 Gradle 설정 필요)
    • NVD 대비 vendor/ecosystem advisory 점수의 우선순위 적용 여부 (취약점 scanner 페이지에서도 OS 패키지에 대해서만 설명, Java에 대한 명시 없음)
    • Trivy 특정 버전에서의 동작 보장 (latest 문서 기준)
    • *gradle.lockfile이 아닌 다른 Gradle 파일 형식(예: build.gradle, settings.gradle)의 스캔 지원
  • 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
    • ca-tmpl의 실제 Gradle 프로젝트에서 gradle.lockfile이 생성·커밋되어 있는지 확인 (./gradlew dependencies --write-locks 실행 필요)
    • Trivy GitHub Actions에서 사용하는 trivy 버전 핀 여부 확인

메모 / Notes

  • C5의 근거(GitHub Advisory Database (Maven))는 이 페이지가 아닌 https://trivy.dev/docs/latest/scanner/vulnerability/ 의 §Data Sources 테이블에서 확인됨. 해당 페이지도 별도 raw source로 보관 권장.
  • NVD vs vendor/ecosystem 점수 우선순위에 대한 공식 진술은 취약점 scanner 페이지에서 OS 패키지에 대해서만 명시 확인 ("The severity is taken from the selected data source since the severity from vendors is more accurate."). Java/language package에 동일 정책이 적용되는지는 현재 이 자료만으로 UNSUPPORTED — 추가 확인 필요.
  • Gradle dependency-tree 기능은 EXPERIMENTAL 표시 (*.pom 캐시 파일 기반). License 감지도 캐시 디렉터리($GRADLE_USER_HOME/caches 또는 $HOME/.gradle/caches) 유무에 의존.
  • 취약점 DB data source 상세: [[raw/official-docs/trivy-vulnerability-scanner-data-sources]] (미생성)
  • GitHub Actions 연동: raw/official-docs/trivy-action-github-actions
  • 이 자료를 인용한 wiki 요약: [[wiki/concepts/trivy-java-sca]] (생성 시)