17 Commits

Author SHA1 Message Date
wbsong111 f5b8e4b91f 자체 빌드 드리프트 스캔·재빌드 트리거를 제거하고 CI 파이프라인을 정리한다
hardened-containers가 이미 rescan.yml로 매일 자율 재스캔·재빌드하고, sbom.yml이
custom-values.yaml 기준으로 자체 빌드 이미지를 다른 카탈로그 이미지와 동일하게
스캔하고 있어 self-build-drift-check.yml의 트리거·전용 스캔이 순수 중복이었다
(SECURITY_IMAGES_DISPATCH_TOKEN도 등록된 적 없어 트리거 스텝은 항상 실패하던
죽은 코드). check-rebuild-needed.py가 더하던 fixable/no-fix 구분도 cve-gate.py
리포트에 이미 있어 흡수할 필요 없이 삭제했다. 근거는 ADR 0005.

곁들여 CI 위생 문제(trivy DB 캐시 없음, concurrency 없음, catalog-tag-update.yml의
브랜치 누적)를 함께 고치고, hardened-containers의 docs/image-authoring.md가
docs/image-authoring/ 로 분할된 것을 반영해 관련 링크를 정정했다.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-26 09:48:48 +09:00
wbsong111 cb7541647d sbom.yml/cve-edge-post.yml: 스크립트 경로 이전 반영 + 게이트 연결
doc/scripts/* -> scripts/pipeline/* 경로 수정 (두 워크플로 공통).
sbom.yml 에 cve-gate.py 판정 스텝 추가(--warn-only), SEVERITY 를 전
심각도로 덮어써 게이트가 필요한 데이터를 스캔이 누락하지 않게 한다.
cve-edge-post.yml 은 외부 대시보드 전송용이라 게이트 연결은 하지 않는다.
2026-08-03 09:59:43 +09:00
ychangkim e3e5ba9751 cve-edge-post schedule comment 2026-07-23 13:26:36 +09:00
ychangkim d2d20ce3b2 action summary 2026-07-22 17:43:34 +09:00
ychangkim d6183e98c7 action summary 2026-07-22 17:40:19 +09:00
ychangkim a992b2e12a sbom 기준 체크 2026-07-21 17:51:58 +09:00
ychangkim 392766442b fix: explicitly scan all severities in cve-edge-post trivy scan 2026-07-21 17:36:39 +09:00
ychangkim bec87f12bb feat: emit one CVE result per (catalog, version) instead of per image
Replace the per-image catalogs array with a flat structure: results
are now keyed by (catalog, version), with the same image's scan
counts duplicated across every chart/version that references it.
2026-07-21 17:00:41 +09:00
ychangkim d2e804b482 feat: include short description with each critical CVE in summary
summary now lists only CRITICAL vulnerabilities, formatted as
"CVE-ID: description" pairs joined by "; ". Description comes from
trivy's Title field, falling back to the first sentence of Description.
2026-07-21 13:39:26 +09:00
ychangkim f6eaf3c664 feat: add chart filter input to cve-edge-post workflow
Allow scanning a single catalog (manifests/helm/<chart>/) via the
workflow_dispatch chart input, filtering images_final.tsv by chart
name before the limit is applied. Empty value scans the full catalog
as before.
2026-07-21 10:21:19 +09:00
ychangkim 8b370be748 feat: add chart filter input to cve-edge-post workflow
Allow scanning a single catalog (manifests/helm/<chart>/) via the
workflow_dispatch chart input, filtering images_final.tsv by chart
name before the limit is applied. Empty value scans the full catalog
as before.
2026-07-21 10:20:13 +09:00
ychangkim a1e726b755 fix: use memory cache backend for parallel trivy scans
Parallel trivy image workers sharing the fs cache directory hit
"cache may be in use by another process: timeout" errors. Switch to
--cache-backend memory to avoid bolt-db lock contention, matching the
approach already used in generate-sbom.sh.
2026-07-20 18:12:19 +09:00
ychangkim 9a434bb27a fix: match dockerhub env var names in registry auth script
Python was still reading DOCKERHUB_PAASUP_USER/TOKEN while the env:
block sets DOCKERHUB_USER/TOKEN, silently disabling private registry
auth. Also restore the nvcr.io (NGC) auth entry that was dropped.
2026-07-20 18:10:24 +09:00
ychangkim 607772283d refactor: scan images directly with trivy, output per-image CVE JSON
Skip SBOM generation entirely since cve-edge-post.yml only needs
vulnerability counts, not CycloneDX artifacts — scan each image with
`trivy image` directly and aggregate with python3 (drop jq dependency).
Output is now a JSON array with one entry per image instead of a single
merged summary.
2026-07-20 18:08:06 +09:00
ychangkim 9b6d978e31 chore: pin sbom pipeline image, use paasup dockerhub secrets
Switch cve-edge-post.yml to a fixed docker.io/paasup/sbom-pipeline
image and paasup-specific Docker Hub credentials, dropping the nvcr.io
auth entry.
2026-07-20 17:35:57 +09:00
ychangkim 9b368e4cfc feat: add jq to sbom pipeline image, rename cve workflow
jq is required to aggregate trivy-reports/*.json into the CVE summary
JSON posted to the edge API.
2026-07-20 17:21:39 +09:00
김영창 25e05e0ba2 Create cve-edge-post.yml 2026-07-20 17:14:51 +09:00