SBOM 생성 (CycloneDX)
generate_egovframe_sbomGenerate a CycloneDX 1.6 JSON SBOM for Maven/Gradle projects without modifying build files; optionally enrich components with eGovFrame status and OSV vulnerabilities.
Instructions
Maven/Gradle 프로젝트의 SBOM 을 CycloneDX 1.6 JSON 으로 만듭니다(빌드 파일 변경 없음). 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-json |
| overwrite | No | 기존 출력 파일 덮어쓰기 허용 | |
| timeoutMs | No | 생성 명령 타임아웃(ms) | |
| outputPath | No | 프로젝트 상대 출력 경로 | sbom/bom.cdx.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 |