SBOM 생성 (CycloneDX)
generate_egovframe_sbomGenerates a CycloneDX 1.6 or SPDX 2.3 SBOM from Maven or Gradle projects without changing build files, attaching eGovFrame baseline judgments and optional OSV vulnerabilities for public-sector SBOM submission.
Instructions
Maven/Gradle 프로젝트의 SBOM 을 CycloneDX 1.6 JSON(기본) 또는 SPDX 2.3 JSON(bomFormat=spdx-json — 패키지·DEPENDS_ON 관계·purl·공급자·작성자·생성 시각)으로 만듭니다(빌드 파일 변경 없음). Maven 은 cyclonedx-maven-plugin(makeAggregateBom, 해시·라이선스 포함), Gradle 은 해석된 의존성 트리로 문서를 구성합니다. enrich=true(기본)면 component 마다 기준 판정(egovframe:status·basis·baseline)을 properties 로 붙이고, offline=false 면 OSV 로 알려진 취약점을 vulnerabilities[] 로 넣습니다. 출력은 프로젝트 안 경로(기본 sbom/bom.cdx.json)만 허용하고 기존 파일은 overwrite=true 가 아니면 거부하며, dryRun(기본)은 실행 없이 계획만 돌려줍니다. 2027년부터 단계화되는 공공기관 SBOM 등록·제출에 쓸 수 있는 표준 형식입니다.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | runtime(compile+runtime, 기본) | all(test·provided 포함) | runtime |
| author | No | SBOM 작성자(metadata.authors) — 없으면 supplier | |
| dryRun | No | true(기본)면 실행 없이 명령·출력 경로만 보고 | |
| enrich | No | component 마다 기준 판정 속성 부착 | |
| format | No | 응답 형식 | markdown |
| offline | No | false 면 OSV 조회 결과를 vulnerabilities[] 로 포함 | |
| supplier | No | 공급자(주 component·문서 metadata.supplier) — 없으면 pom <organization><name> | |
| bomFormat | No | SBOM 형식: cyclonedx-json(CycloneDX 1.6, 기본) | spdx-json(SPDX 2.3 — CycloneDX 로 만든 뒤 변환) | cyclonedx-json |
| overwrite | No | 기존 출력 파일 덮어쓰기 허용 | |
| timeoutMs | No | 생성 명령 타임아웃(ms) | |
| outputPath | No | 프로젝트 상대 출력 경로(기본 sbom/bom.cdx.json, spdx-json 이면 sbom/bom.spdx.json) | |
| projectDir | Yes | 프로젝트 디렉터리(절대경로 권장) | |
| componentName | No | 주 component 이름 덮어쓰기(기본 artifactId) | |
| fillSuppliers | No | 공급자가 없는 component 를 공급자 표(catalog/sbom-rules.json)로 보완(egovframe:supplierBasis=catalog) — 기본은 enrich 와 같음 | |
| componentVersion | No | 주 component 버전 덮어쓰기(기본 pom version) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bytes | Yes | ||
| notes | Yes | ||
| direct | Yes | ||
| dryRun | Yes | ||
| format | Yes | ||
| command | Yes | ||
| logTail | No | ||
| minimum | No | ||
| written | Yes | ||
| osvError | No | ||
| statuses | Yes | ||
| buildTool | Yes | ||
| generator | Yes | ||
| components | Yes | ||
| durationMs | No | ||
| outputPath | Yes | ||
| projectDir | Yes | ||
| transitive | Yes | ||
| overwritten | Yes | ||
| specVersion | Yes | ||
| absolutePath | Yes | ||
| vulnerabilities | Yes |