Skip to content

fix(deps): high 등급 취약점 2건 해소 (nanoid, brace-expansion) - #250

Merged
k002bill2 merged 1 commit into
mainfrom
fix/security-npm-audit
Aug 9, 2026
Merged

fix(deps): high 등급 취약점 2건 해소 (nanoid, brace-expansion)#250
k002bill2 merged 1 commit into
mainfrom
fix/security-npm-audit

Conversation

@k002bill2

Copy link
Copy Markdown
Owner

요약

npm audit fix로 high 등급 취약점 2건을 해소합니다. package-lock.json만 변경되고
package.json은 그대로입니다 — 두 건 모두 기존 semver 범위 안에서 해결됩니다.

패키지 변화 Advisory
nanoid 3.3.16 → 3.3.18 GHSA-2v37-7h3g-55p8 — custom generator가 size=0일 때 무한 루프
brace-expansion 패치 GHSA-mh99-v99m-4gvg, GHSA-rgw5-rvv9-x895 — unbounded expansion으로 인한 OOM DoS

둘 다 transitive 의존성입니다 (vite → postcss → nanoid). 직접 의존성이 아니라서
Dependabot 주간 스케줄로는 PR이 올라오지 않았습니다.

부수 효과: vite 8.1.5 → 8.2.0

업그레이드가 아니라 lock이 manifest에 뒤처져 있던 상태를 바로잡은 것입니다.
package.json은 원래 ^8.2.0을 요구하는데 lock은 8.1.5에 묶여 있었고,
npm ls가 이를 invalid: "^8.2.0" from the root project로 표기하고 있었습니다.

이 레포에는 Vite 8(oxc) 전환 시 로컬 vitest가 전멸했던 이력(#135)이 있어
테스트 게이트를 중점 확인했습니다.

검증

게이트 결과
npm audit --audit-level=high found 0 vulnerabilities
tsc --noEmit exit 0
eslint exit 0
vitest run 205 파일 / 4365 테스트 통과 (변동 없음)
vite build 성공 (1.17s)

로컬 환경 메모 (이 PR과 무관)

로컬에서 npm run knipError: File 'expo/tsconfig.base' not found로 실패합니다.
원인은 개발 머신 홈의 ~/tsconfig.json(다른 Expo 프로젝트 잔재)이며, knip 내부 jiti가
CWD부터 상향 탐색하다 이를 만나기 때문입니다. CI 러너에는 해당 파일이 없어 재현되지
않습니다 (#249에서 Frontend Knip pass 확인). repo 변경으로 대응할 사안이 아니라
기록만 남깁니다.

테스트 계획

  • npm audit 0건
  • tsc / eslint / vitest / build
  • CI 8개 job 통과 확인 (특히 Frontend Knip — 로컬 실패가 환경 탓임을 확증)

🤖 Generated with Claude Code

https://claude.ai/code/session_017UEJENahpFQRnU6aYKkH7V

npm audit fix 로 package-lock.json 만 갱신한다. package.json 은 변경되지
않았다 — 두 건 모두 기존 semver 범위 안에서 해소된다.

- nanoid 3.3.16 → 3.3.18 (GHSA-2v37-7h3g-55p8: custom generator 가
  size=0 일 때 무한 루프). vite → postcss → nanoid 경로의 transitive 의존성
- brace-expansion (GHSA-mh99-v99m-4gvg, GHSA-rgw5-rvv9-x895: unbounded
  expansion 으로 인한 OOM DoS)

부수 효과로 vite 8.1.5 → 8.2.0. 업그레이드가 아니라 lock 이 package.json 의
`^8.2.0` 요구에 뒤처져 있던 상태(npm ls 가 `invalid` 로 표기)를 바로잡은 것이다.

검증: tsc / eslint / vitest 4365건 / vite build 전부 통과, npm audit 0건.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017UEJENahpFQRnU6aYKkH7V
@k002bill2
k002bill2 merged commit b8e5ba7 into main Aug 9, 2026
9 checks passed
@k002bill2
k002bill2 deleted the fix/security-npm-audit branch August 9, 2026 13:51
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.

1 participant