Skip to content

[OziinG][Security] 미패치 의존성 위험을 배포 전에 차단 - #46

Merged
OziinG merged 1 commit into
mainfrom
OziinG/39-remove-high-advisories
Aug 24, 2026
Merged

[OziinG][Security] 미패치 의존성 위험을 배포 전에 차단#46
OziinG merged 1 commit into
mainfrom
OziinG/39-remove-high-advisories

Conversation

@OziinG

@OziinG OziinG commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

목적

WARP #39에서 확인된 운영·배포 의존성 High advisory를 강제 downgrade나 무검증 override 없이 통제하고, 새 위험이 이미지 빌드와 운영 배포에 진입하지 못하게 합니다.

upstream 확인

  • Prisma 7.9.1도 deepmerge-ts@7.1.5를 포함해 compatible patched graph가 없습니다.
  • PptxGenJS 4.0.1도 image-size@1.2.1을 포함해 ICNS/JXL/HEIF advisory의 patched release가 없습니다.
  • 따라서 이슈의 완료 조건에 명시된 Owner 승인 대체 통제를 적용합니다.

구현

  • Prisma CLI, Client, libSQL adapter를 7.9.1로 정렬
  • 기존 Hono와 Valibot Moderate advisory 경로 제거
  • release의 image build 전에 npm run security:audit 실행
  • Critical과 새로운 High advisory는 즉시 차단
  • 기존 미패치 advisory 세 개만 exact ID로 제한
  • WARP 운영 코드의 PptxGenJS 이미지 참조를 금지하고 import surface를 고정
  • Prisma dependency topology와 repository-owned config digest를 고정
  • 2026-10-01에 대체 통제가 자동 만료되도록 설정

검증

  • fresh npm ci
  • security audit gate 통과
  • deployment tests 29건 통과
  • 고정 PNG와 text를 포함한 실제 PPTX 생성 통과
  • Prisma generate 7.9.1 통과
  • Account Control 14건, external lookup 7건, BUILDUP import 15건 통과
  • 직접 연동 계약 6 endpoints 통과
  • typecheck 및 production build 통과

보안 경계

  • raw npm audit의 High package entries 5개를 숨기지 않습니다.
  • 허용되는 leaf advisory는 1138808, 1138809, 1145093뿐입니다.
  • package topology, PPTX 사용면, Prisma config 또는 만료일이 바뀌면 release가 fail closed 됩니다.
  • 운영 비밀값, 고객 문서와 실제 payload는 사용하거나 출력하지 않았습니다.

Closes #39

Compatible upstream releases still carry the three High advisory leaves, so the release now permits only exact, unreachable, time-bounded exceptions and fails closed on any surface change.

Constraint: PptxGenJS 4.0.1 and Prisma 7.9.1 have no compatible fully patched dependency graph as of 2026-08-24
Rejected: npm audit fix --force or unverified transitive overrides | Both would trade known reachability controls for downgrade or compatibility risk
Confidence: high
Scope-risk: moderate
Directive: Remove each exception when upstream patches land; never extend the 2026-10-01 review date without fresh reachability evidence
Tested: fresh npm ci; security audit; 29 deployment tests; controlled PNG PPTX smoke; Prisma generate; Account Control; external lookup; BUILDUP import; integration contract; typecheck; production build
Not-tested: Production release and rollback state until the PR is merged
@OziinG
OziinG marked this pull request as ready for review August 24, 2026 07:50
@OziinG
OziinG merged commit 4af9e5d into main Aug 24, 2026
2 checks passed

OziinG commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

운영 검증까지 완료했습니다.

미패치 upstream advisory는 제거된 것으로 주장하지 않으며, 정확한 버전·도달면·설정 해시·예외 만료일을 배포 계약으로 고정했습니다.

@OziinG
OziinG deleted the OziinG/39-remove-high-advisories branch August 24, 2026 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WARP 운영·배포 의존성 High advisory 제거

1 participant