Preflight logoPreflight
제품 블로그

출시 전 점검 · 2026년 6월 26일 · 7분

바이브코딩, 배포 전 보안 체크리스트 12개 (순서대로)

AI로 만든 앱을 배포하기 전에 순서대로 확인할 12가지. 각 항목에 가장 빠른 확인법을 한 줄로 붙였습니다.

체크리스트배포 전바이브코딩보안 경계

요약

  • 배포 직전에 봐야 할 확인 순서입니다. 터지면 크게 터지는 것부터 봅니다.
  • 12개를 손으로 직접 점검할 수 있습니다. 각 항목에 가장 빠른 확인법을 한 줄로 붙였습니다.
  • Preflight는 같은 점검을 스택에 맞춰 자동으로 돌리고 우선순위로 정리합니다.

AI로 앱을 빠르게 만들면 기능은 금방 붙지만, 배포 직전 “보안은 뭘 먼저 봐야 하지”에서 막힙니다. 이 글에서는 그 우선순위를 제안합니다.

위에서부터, 터지면 가장 크게 터지는 것부터 내려갑니다. 각 항목에는 가장 빠르게 확인하는 법을 한 줄로 붙였습니다.

지금 당장 — 새면 즉시 악용되는 것

  1. .env가 git 히스토리에 올라간 적 있는가. git log --all --full-history -- .env* 에 결과가 있으면, 지금 .gitignore에 넣었어도 과거 커밋에 평문 키가 남아 있습니다. 노출된 키를 회전하고 history를 정리하세요.
  2. 시크릿 키가 클라이언트 번들에 새는가. pnpm build 후 빌드 결과물에서 키 앞자리를 grep해 봅니다. NEXT_PUBLIC_ 가 안 붙은 변수를 클라이언트 컴포넌트에서 import하면 번들에 섞여 나갑니다.
  3. 내 데이터만 보이는가를 익명 세션으로 직접 확인. 로그아웃 상태나 anon key로 남의 데이터 목록을 조회해 봅니다. Supabase의 RLS, Firebase의 Rules는 켜는 것과 검증하는 것이 다릅니다.
  4. 인증 게이트가 서버에서 막는가, 화면에서만 막는가. 보호된 API를 로그인 없이 직접 호출(curl)해 봅니다. 클라이언트 라우팅만으로 가린 페이지는 막힌 것이 아닙니다.

출시 전 — 사용자가 생기기 전 닫는 것

  1. 남의 id로 남의 자원에 접근되는가. 요청의 리소스 id를 남의 것으로 바꿔 호출해 봅니다. 소유권 검사가 모든 변경 작업에 있어야 합니다.
  2. 결제·웹훅의 서명 검증과 금액 신뢰 경계. 웹훅이 서명을 검증하는지, 결제 금액을 클라이언트가 보낸 값이 아니라 서버 권위로 다시 확인하는지 봅니다.
  3. 파일 업로드의 종류·크기·SVG. 이미지가 아닌 파일, 거대한 파일, 스크립트가 든 SVG를 올려 봅니다. MIME 화이트리스트와 크기 상한, SVG 정제가 필요합니다.
  4. AI 호출에 비용·권한 경계가 있는가. 로그인하지 않은 사용자가 LLM 엔드포인트를 무한히 부를 수 있는지 봅니다. rate limit을 두고, 키는 서버에서만 씁니다.
  5. 세션·토큰의 만료·회전·저장 위치. 토큰을 localStorage 에 두지 않았는지, refresh 회전이 켜져 있는지 확인합니다.
  6. 공개 엔드포인트와 CORS 범위. 의도치 않게 열린 API나 와일드카드 CORS가 없는지 봅니다.
  7. 에러·로그에 민감정보가 찍히는가. 프로덕션 에러 화면이나 로그에 스택트레이스나 개인정보가 노출되는지 확인합니다.

나중에 — 지금 막지 않아도 적어둘 것

  1. 사고가 났을 때 추적할 감사 로그가 있는가. 로그인·삭제·결제 같은 민감 작업이 어디에 기록되는지 봅니다. 없으면 사후 분석이 사실상 불가능합니다.

왜 더 찾기보다 순서인가

보안 이슈는 더 많이 찾는 것보다 먼저 고칠 것을 정하는 게 어렵습니다. 위 12개를 손으로 훑었다면 이미 상위권입니다.

스택에 맞춰 같은 점검을 자동으로 돌리고 “지금 당장 / 출시 전 / 나중에”로 우선순위까지 정리된 형태로 보고 싶다면, 무료 리포트로 시작하거나 샘플 리포트를 먼저 볼 수 있습니다.

이어서 볼 만한 것