https://www.threads.com/share/BAaSXPo1c_/


바이브코딩으로 만든 사이트, 올리기 전에 이것만은 확인하세요.

AI가 만들어준 코드는 잘 돌아갑니다.
문제는 잘 돌아가는 것과 안전한 건 다르다는 거예요.

바이브코딩 프로젝트에서 자주 나오는 실수 7가지입니다.

  1. API 키를 프론트 코드에 그대로 넣기
    브라우저에서 소스 보기만 해도 다 보입니다.
  2. .env 파일을 깃허브에 같이 올리기
    공개 저장소에 올라간 키를 긁어가는 봇이 실제로 돌아다닙니다.
  3. Supabase 같은 DB에 권한 설정(RLS) 안 켜기
    로그인 안 한 사람도 남의 데이터를 읽을 수 있습니다.
  4. 관리자 페이지 주소만 숨겨두기
    주소를 모르게 하는 건 보안이 아닙니다. 로그인과 권한 확인이 있어야 해요.
  5. 에러 메시지를 그대로 보여주기
    DB 구조나 서버 경로가 그대로 노출됩니다.
  6. 가입·문의 폼에 횟수 제한 없음
    스팸 봇이 밤새 폼을 채웁니다.
  7. 결제 금액을 화면에서 계산해서 넘기기
    금액은 무조건 서버에서 다시 확인해야 합니다.

RLS는 켜는 것에서 끝내지 말고, 본인 서비스의 테스트 계정 A/B로 교차 확인하는 단계까지 넣으면 좋겠어요. A가 만든 데이터를 B가 읽거나 수정할 수 없는지, 로그아웃 상태에서도 막히는지요. AI에 기능 구현뿐 아니라 이 실패 케이스의 테스트도 같이 요청하면 배포 전 체크리스트가 더 구체적이 될 것 같습니다.


Q: .env파일을 깃허브에 개인만 보는 공간으로 올려도 안되는건가요?

A: 괜찮긴한데 실수라도 public으로 전환되면 봇이 긁어가서 왠만하면 .gitignore에 추가하시고 안올라는거 추천드려요


기능이 되는 것과 서비스로 내보낼 수 있는 건 정말 다른 문제죠
특히 인증과 권한은 눈에 잘 안 보여서 마지막 점검에서 더 꼼꼼히 봐야 해요


"회원가입 만들어줘" 하면 돌아가는 로그인은 나와요.
안전한 로그인은 요구해야 나와요.

이 한 줄 붙이세요.
"비밀번호는 PBKDF2·bcrypt·Argon2 중 하나로 salt와 함께 저장하고, 원문 저장은 금지해."


사이트 주소 뒤에 /.env 를 붙이면 설정 파일이 그대로 열리는 사이트가 있어.

아무것도 안 나오면 정상이야.
글자가 잔뜩 나오면 설정 전체가 공개돼 있는 거고.
DB 주소, 비밀번호, API 키까지.

AI로 만들고 그대로 올린 사이트에서 가끔 이렇게 열려 있더라고.
/.git/config 도 같이. 둘 다 안 나와야 돼.

← 다른 기록 보기