2.3 KiB
2.3 KiB
React/Next.js 취약점 점검 및 정리 (51123)
날짜: 2025-12-15
작성자: happybell80
관련 파일: frontend-customer/package.json, frontend-customer/package-lock.json, /etc/nginx/sites-enabled/default, nginx-infra/server-nginx-default
문제 상황
- React/Next.js 취약점 이슈(특히 Next App Router/RSC 계열 DoS) 관련해 서버(51123) 내 실제 사용 여부와 영향 범위를 확인해야 했음.
- 로컬
npm audit에서 프론트 의존성 취약점이 일부 검출됨.
해결 방안
1) Next.js 사용 여부 확인 → 미사용 백업 제거
- nginx는
/goosefarm을 정적 파일로 서빙:/etc/nginx/sites-enabled/default:87,:238(alias/var/www/html/goosefarm/) :3001리스닝/next start프로세스 없음 → Next 런타임 미사용으로 판단goosefarminvesting/frontend-nextjs-backup/디렉터리 삭제(미사용 백업, 용량 약 767MB)
2) frontend-customer 취약점 제거(의존성 업데이트)
- 초기:
npm audit --omit=dev에서glob(HIGH),mdast-util-to-hast(MODERATE) 검출 - 조치:
npm audit fix수행 후,esbuild(vite 하위) 경고가 남아vite/@vitejs/plugin-react를 업데이트frontend-customer/package.json:84-91
3) 다른 프론트 프로젝트도 npm audit 정리
space-times:npm audit fix로glob/js-yaml취약점 정리 후 빌드 성공goosefarminvesting/frontend:npm audit fix로 취약점 정리 후 빌드 성공
검증
frontend-customer:npm audit→found 0 vulnerabilities,npm run build성공frontend-ir-valuation:npm audit --omit=dev→found 0 vulnerabilitiesspace-times:npm audit→found 0 vulnerabilities,npm run build성공goosefarminvesting/frontend:npm audit→found 0 vulnerabilities,npm run build성공- nginx:
sudo -n nginx -t성공,curl -I http://localhost/goosefarm/→ 200 OK
교훈
npm audit --omit=dev만으로 “안전” 판단 금지: 운영과 무관해 보여도(devDependencies) CI/빌드 경로에선 실제로 실행될 수 있음.- Next.js 류 취약점은 “코드 존재”보다 “런타임 사용 여부(포트/프로세스/nginx 라우팅)”가 핵심이라, 배포 경로를 먼저 확인해야 함.