Skip to content

security: 빈 DATABASE_URL_TEST가 운영 DB 마이그레이션으로 fallback되는 문제 차단 #11

Description

@co2plant

우선순위: P1

현재 문제

scripts/migrate-test-database.mjs는 빈 DATABASE_URL_TEST도 자식 프로세스에 전달함. 이후 prisma.config.ts가 빈 값을 무시하고 운영 POSTGRES_URL_NON_POOLING 또는 POSTGRES_PRISMA_URL로 fallback할 수 있음.

관련 파일:

  • scripts/migrate-test-database.mjs
  • prisma.config.ts
  • package.json

영향

npm run test:db:migrate가 운영 Supabase DB에 마이그레이션을 실행해 스키마 변경이나 장애를 일으킬 수 있음.

기대 동작

  • 테스트 마이그레이션에서 운영 DB fallback 금지
  • 빈 테스트 URL은 안전한 로컬 기본값 사용 또는 즉시 실패
  • 허용된 테스트 호스트와 DB명 검증 후 실행
  • 검증 실패 시 fail-closed

검증 방법

  • unset, 빈 문자열, 공백 값을 각각 검증
  • 운영 POSTGRES_* 값으로 넘어가지 않는지 확인
  • 운영 형태 URL은 실행 전에 거부
  • 검증 실패 시 Prisma 프로세스가 호출되지 않는 테스트 추가

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions