https://www.threads.com/share/BAaSXPo1c_/
바이브코딩으로 만든 사이트, 올리기 전에 이것만은 확인하세요.
AI가 만들어준 코드는 잘 돌아갑니다.
문제는 잘 돌아가는 것과 안전한 건 다르다는 거예요.
바이브코딩 프로젝트에서 자주 나오는 실수 7가지입니다.
- API 키를 프론트 코드에 그대로 넣기
브라우저에서 소스 보기만 해도 다 보입니다. - .env 파일을 깃허브에 같이 올리기
공개 저장소에 올라간 키를 긁어가는 봇이 실제로 돌아다닙니다. - Supabase 같은 DB에 권한 설정(RLS) 안 켜기
로그인 안 한 사람도 남의 데이터를 읽을 수 있습니다. - 관리자 페이지 주소만 숨겨두기
주소를 모르게 하는 건 보안이 아닙니다. 로그인과 권한 확인이 있어야 해요. - 에러 메시지를 그대로 보여주기
DB 구조나 서버 경로가 그대로 노출됩니다. - 가입·문의 폼에 횟수 제한 없음
스팸 봇이 밤새 폼을 채웁니다. - 결제 금액을 화면에서 계산해서 넘기기
금액은 무조건 서버에서 다시 확인해야 합니다.
RLS는 켜는 것에서 끝내지 말고, 본인 서비스의 테스트 계정 A/B로 교차 확인하는 단계까지 넣으면 좋겠어요. A가 만든 데이터를 B가 읽거나 수정할 수 없는지, 로그아웃 상태에서도 막히는지요. AI에 기능 구현뿐 아니라 이 실패 케이스의 테스트도 같이 요청하면 배포 전 체크리스트가 더 구체적이 될 것 같습니다.
Q: .env파일을 깃허브에 개인만 보는 공간으로 올려도 안되는건가요?
A: 괜찮긴한데 실수라도 public으로 전환되면 봇이 긁어가서 왠만하면 .gitignore에 추가하시고 안올라는거 추천드려요
기능이 되는 것과 서비스로 내보낼 수 있는 건 정말 다른 문제죠
특히 인증과 권한은 눈에 잘 안 보여서 마지막 점검에서 더 꼼꼼히 봐야 해요
"회원가입 만들어줘" 하면 돌아가는 로그인은 나와요.
안전한 로그인은 요구해야 나와요.
이 한 줄 붙이세요.
"비밀번호는 PBKDF2·bcrypt·Argon2 중 하나로 salt와 함께 저장하고, 원문 저장은 금지해."
사이트 주소 뒤에 /.env 를 붙이면 설정 파일이 그대로 열리는 사이트가 있어.
아무것도 안 나오면 정상이야.
글자가 잔뜩 나오면 설정 전체가 공개돼 있는 거고.
DB 주소, 비밀번호, API 키까지.
AI로 만들고 그대로 올린 사이트에서 가끔 이렇게 열려 있더라고.
/.git/config 도 같이. 둘 다 안 나와야 돼.