본문으로 건너뛰기

v0.14.0 — 런타임 스코프 필터링, EOL 플래깅, iOS 스캔

기능 릴리스입니다. 대표 변경은 의도적으로 스캔 결과를 바꾸므로 아래 업그레이드 안내를 꼭 읽으십시오. 전체 머신 리더블 체인지로그는 CHANGELOG.md에 있습니다.

주요 변경 사항​

스캔 결과가 실제 배포물을 설명합니다 — 런타임 스코프 필터링 (기본 켬)​

소스 스캔이 저장·서명·취약점 매칭 전에 배포되지 않는 의존성을 SBOM에서 제외합니다: Maven test / provided 노드와 npm devDependencies. CVE 수와 라이선스 의무사항이 빌드 환경이 아니라 실제로 배포하는 산출물을 설명하게 됩니다. 스캔 요약에 제외된 컴포넌트 수가 표시됩니다.

첫 재스캔에서 컴포넌트·CVE 수가 줄어듭니다

업그레이드 후 해당 Maven/npm 프로젝트를 처음 재스캔하면 이전보다 컴포넌트와 CVE가 적게 보고됩니다 — 데이터 손실이 아니라 기능이 동작하는 것입니다. 이전의 전체 그래프 동작으로 되돌리려면 SCAN_SCOPE_FILTER_ENABLED=false(또는 생태계별 SCAN_SCOPE_FILTER_MAVEN_ENABLED / SCAN_SCOPE_FILTER_NODE_ENABLED)를 설정하십시오. ingest API로 업로드된 SBOM은 절대 필터링되지 않습니다 — 업로드된 SBOM은 공급자가 선언한 진실입니다.

수명 종료(EOL) 컴포넌트 플래깅​

선별된 endoflife.date 제품 목록(Spring Boot, Express, Django, Rails, Angular, Vue, Next.js, Symfony, Laravel, Spring Framework)에 해당하는 컴포넌트에 수명 주기 판정이 표시됩니다. Components 탭에 EOL 뱃지와 "EOL only" 필터, 드로어에 End-of-life 행, 프로젝트 Overview에 EOL 카운트가 생깁니다. 판정은 릴리스에 저장소에 포함된 스냅샷에서 나옵니다 — 스캔 시 네트워크 접근이 전혀 없어 에어갭 환경에서도 안전합니다. 주간 beat가 카탈로그를 다시 스탬프하고, admin/health에 endoflife.date 스냅샷 패널(데이터 나이, 표시 건수, 다음 실행)이 추가됩니다.

iOS 트리를 커밋된 lockfile로 스캔​

이전에는 Podfile이 있으면 소스 스캔 전체가 중단됐습니다. 이제 커밋된 Podfile.lock에서 pod(컴포넌트와 의존성 그래프, subspec 포함)를 오프라인으로 재구성하고, Package.resolved가 커밋된 저장소는 재해석 없이 Swift 환경으로 라우팅됩니다.

실패한 쓰기는 조용히 사라지지 않습니다 — 에러 UX 마감​

전역 mutation 에러 핸들러가 화면이 자체적으로 표시하지 않는 모든 쓰기 실패를 토스트로 알립니다(RFC 7807 detail, 언어별 대체 문구). 크래시 화면 ErrorBoundary는 EN/KO로 번역됐고 role="alert"로 스크린 리더에 알립니다.

외부 부수효과의 감사 추적​

이전에 기록이 남지 않던 두 동작이 이제 요청 컨텍스트 전체와 함께 감사 행을 남깁니다: 게이트 PR 코멘트 게시/수정(sca_pr_comment.posted / .updated)과 소스 아카이브 업로드(source_archive.uploaded).

수정​

  • 실제 오픈소스 업로드가 zip 폭탄 가드에 걸리지 않습니다. 멤버별 압축비 상한이 이제 압축 해제 크기 10 MiB 초과 멤버에만 적용됩니다 (SOURCE_ARCHIVE_RATIO_GUARD_MIN_BYTES). Juice Shop의 940x 시험용 희소 PDF 같은 작은 파일은 통과하고, 42.zip류 폭탄은 여전히 즉시 거부됩니다.
  • Quickstart가 다시 현실과 일치합니다. 문서의 시드 명령이 seed_demo --demo-only를 사용해, 프로젝트 목록이 가이드가 약속한 5개와 정확히 일치합니다.
  • v0.11.0~v0.13.1 릴리스 노트의 KO 번역을 보충했습니다.

보안​

  • 워커 Go 툴체인을 1.25.12로 올려 번들 Go 바이너리와 govulncheck의 Go stdlib CVE-2026-39822(HIGH)를 제거했습니다.

업그레이드 안내​

  • Maven/npm 프로젝트의 첫 재스캔에서 수치 감소를 예상하십시오(위 주의 참고). 공용 포털을 업그레이드하기 전에 팀에 미리 알리십시오.
  • 마이그레이션은 컨테이너 기동 시 자동 적용됩니다(AUTO_MIGRATE, 기본값): 0038_component_eol과 0039_eol_sync_state는 forward-only입니다.
  • EOL 플래깅은 기본 켬이지만 완전 오프라인입니다(EOL_ENABLED=false로 끄기, EOL_SNAPSHOT_PATH로 더 새로운 스냅샷 마운트, 라이브 수집은 EOL_REFRESH_ENABLED=true 전까지 꺼짐).

0.14.0 이미지를 받거나 0.14.0 이미지 태그로 helm upgrade 하십시오.