hospital
hospital_web(Next 16.0.7 · React 19.2 · 110 페이지 AI 건강관리 플랫폼). 8병렬 감사 + GitHub 최신자료 리서치. 309 findings (P1 61 · P2 116 · P3 132). 배포=docker 이미지(blue-green).
페이지를 8섹션으로 나눠 병렬 정밀 감사(admin·auth·commerce·dashboard·conscious·clinical·IoT·landing/legal) + Next16/React19·헬스대시보드·IoT·보안·i18n 리서치. tsc 0 에러(베이스라인), 보안헤더 양호(HSTS preload·CSP frame-ancestors none).
NEXT_PUBLIC_API_URL=http://localhost:3011/api/v1 이 클라이언트 번들에 baked → 브라우저 API 호출이 사용자 로컬호스트로 감(HTTPS mixed-content 차단) → 조용히 실패 → 페이지들이 가짜 데이터로 폴백. api.ts/auth-client.ts의 올바른 /api/v1 폴백을 env가 override. 수정: env → 상대경로 + 재빌드. (AI_API_URL=localhost:8007 동일)/dashboard/* 목업 11개 (ai-diagnosis·chatbot·health-data·insurance·iot·medication·monitoring·prescription·telemedicine·shop·food) — 참조 0건(어디서도 링크 안됨). 실제 기능 페이지는 루트(/medications·/health-monitoring·/diagnosis…)에 있고 API fetch함. 수정: orphan → 실 라우트 리다이렉트/삭제 (P1 ~20건 일괄 해소)./admin·/doctor·/pharmacist·/franchise·/partner가 access_token 쿠키 존재만 확인(역할 X). 백엔드는 데이터 403하므로 정보노출 수준이나, 역할 게이팅 필요.Math.random() 값을 실 바이탈로 표시 + IoT 실패시 가짜(BP-145 "높음") 폴백.dangerouslySetInnerHTML(XSS) / PHI를 콘솔 로그 / OCR·AI 분석 가짜.doctor/prescriptions/create 역할 게이트 전무(누구나 처방 POST) · diagnosis/[id]에서 환자가 처방생성 트리거(doctor-in-loop 없음) · diagnosis PHI 콘솔 로그.{})—실결제 없이 주문완료 · 주문이 결제 전 생성(고아 위험).user쿠키 userId를 경로에 사용(/analytics/users/{userId}).dashboard/family(가족 건강)·mypage/referral(랜덤 추천코드).死버튼 다수(등록/수정/삭제/취소/다운로드/업그레이드/기록/예약/전송) · 조용한 401 삼킴+가짜폴백(포인트 이중적립 위험) · 인증토큰 URL쿼리·응답body 노출 · forgot-password devToken 무조건 렌더 · raw 에러 노출(email enumeration) · 부분 i18n 미완(nav가 /en prefix 유실) · legal 'use client'→메타데이터 없음·전 로케일 한국어 title.
Next16 cacheComponents(PPR)·use cache · Server Actions+useActionState · Recharts 표준화+차트 WCAG a11y(색상단독금지·aria·data-table 폴백) · 바이탈 SSE 스트리밍 · 서버측 RBAC+MFA(admin)·PHI 로그금지·불변 감사로그 · next-intl 한국어우선(EN 확장대비).
hospital_web=docker 이미지(hospital-web, standalone) — 소스 baked. 배포=이미지 재빌드 + blue-green(docker-compose.blue-green.yml) 스왑. 라이브 의료 플랫폼이므로 재빌드/스왑 전 승인 필요.