CVE/SBOM 게이트 문서화: CLAUDE.md 3번째 서브시스템 + MEMORY.md 신설

CLAUDE.md 에 CVE/SBOM 게이트 서브시스템 절 추가(기존 7개 설계 원칙·구현
현황은 변경 없음). doc/sbom-pipeline.md 에 게이트 판정 절 + 커버리지
자가진단 미이식 제약 명시. MEMORY.md 신설 — warn-only 상태, 45+ 차트
미검증, 자체 빌드 프레임워크 미사용, SBOM_PIPELINE_IMAGE 재빌드 보류 등
후속 결정 사항 기록.
This commit is contained in:
wbsong111
2026-08-03 10:06:48 +09:00
parent cb7541647d
commit 5e1422e0e4
3 changed files with 122 additions and 12 deletions
+30 -2
View File
@@ -2,12 +2,13 @@
## 프로젝트 개요
DIP Catalog는 개의 독립 서브시스템으로 구성된다.
DIP Catalog는 개의 독립 서브시스템으로 구성된다.
| 서브시스템 | 설명 | 경로 |
|-----------|------|------|
| **정적 카탈로그** | 45+ 엔터프라이즈 Helm 차트 버전 보관소 (Kafka, Airflow, MLflow, KServe, OpenMetadata 등) | `manifests/helm/` |
| **자동화 에이전트** | Helm 차트 신규 버전 감지 → Diff 분석 → 문서 생성 → GitHub PR 자동화 | `agent/update_catalog/` |
| **CVE/SBOM 게이트** | 카탈로그 이미지 SBOM·취약점 스캔 + 게이트 판정 (현재 warn-only) | `scripts/pipeline/`, `scripts/build/`, `doc/sbom-pipeline.md` |
카탈로그는 운영 클러스터 직접 변경과 무관하다. **모든 변경은 Git PR을 통해서만 이루어진다.**
@@ -29,7 +30,12 @@ dip-catalog/
│ ├── design/ # 컴포넌트별 상세 설계 (00~05)
│ ├── decisions/ # ADR (아키텍처 결정 기록)
│ └── status.md # 구현 현황
── doc/ # 차트 리소스 프로파일 (CPU/Memory/Storage 정의)
── scripts/
│ ├── pipeline/ # SBOM 생성 + CVE 스캔 + 게이트 판정 (sbom.yml/cve-edge-post.yml 이 쓴다)
│ └── build/ # 자체 빌드 이미지 프레임워크 (build-image.yml 이 쓴다 — 아직 실사용 이미지 없음)
└── doc/ # 차트 리소스 프로파일(CPU/Memory/Storage) + CVE/SBOM 파이프라인 문서
├── sbom-pipeline.md # SBOM 생성·스캔·게이트 메커니즘
└── cve-exceptions.json # 게이트 승인 예외 목록
```
---
@@ -103,6 +109,27 @@ python3 agent/update_catalog/skills/helm_diff/scripts/run.py \
---
## CVE/SBOM 게이트 작업
`manifests/helm/` 카탈로그가 참조하는 컨테이너 이미지의 SBOM·취약점을 스캔하고
게이트로 판정한다. 정적 카탈로그·자동화 에이전트와 독립적으로 동작한다.
```
extract-helm-images.sh → generate-sbom.sh → scan-sbom.sh → cve-gate.py
(scripts/pipeline/, .github/workflows/sbom.yml·cve-edge-post.yml 이 실행)
```
- **현재 warn-only**: 게이트가 실패해도 CI/PR 을 막지 않는다. 45+ 개 카탈로그 차트가
이 게이트로 트리아지된 적이 없다.
- 자체 빌드 프레임워크(`scripts/build/`, `.github/workflows/build-image.yml`)는
도입만 됐고 실사용 이미지가 없다(`images/` 디렉토리 자체가 없음). 게이트가 상위
태그·베이스 OS 교체로 해소 안 되는 차단 CVE 를 찾으면 이 프레임워크로 자체 빌드를
검토한다 — 절차는 [.claude/image-authoring.md](.claude/image-authoring.md).
- 상세: [doc/sbom-pipeline.md](doc/sbom-pipeline.md) · 승인 예외: `doc/cve-exceptions.json`
· 현재 미결 사항: [MEMORY.md](MEMORY.md)
---
## 설계 원칙
아래 원칙을 위반하는 코드를 제안하거나 작성하지 않는다.
@@ -145,3 +172,4 @@ python3 agent/update_catalog/skills/helm_diff/scripts/run.py \
| [agent/update_catalog/docs/design/05-on-cluster-agent.md](agent/update_catalog/docs/design/05-on-cluster-agent.md) | On-Cluster Agent 설계 (Step 2~3) |
| [agent/update_catalog/docs/decisions/001-agentic-first.md](agent/update_catalog/docs/decisions/001-agentic-first.md) | 파이프라인 오케스트레이션 건너뛰기 결정 배경 |
| [agent/update_catalog/docs/status.md](agent/update_catalog/docs/status.md) | 구현 현황 상세 |
| [doc/sbom-pipeline.md](doc/sbom-pipeline.md) | SBOM 생성·CVE 스캔·게이트 파이프라인 상세 |