바이브코딩 앱 보안: API키·개인정보 안전하게 (.env·Vercel 환경변수, F12 노출, 깃허브 금지, exe 업로드)
'exe 파일은 바이러스에 감염된 것들이 있을 가능성이 높다'는 얘기를 들은 적이 있는데요. 저희 커뮤니티에 exe 파일이 업로드될 때 바이러스 검사 같은 과정은 없나요? 제가 만들던 걸 설치파일로 업로드하려다 보니, 다른 분들이 그런 걱정을 하실 수도 있을 것 같아서요.
선생님들의 답 5개
API나 비밀번호 같은 건 깃허브 같은 곳에 올리면 안 됩니다. .env 확장자의 환경변수 파일을 만들어서 거기에 API키를 텍스트로 입력해두고, 그걸 불러오는 식으로 해야 해요. 다만 컴퓨터가 악성코드에 털리면 또 .env부터 털어본다고 하더라고요. 티빙 개인정보 유출도, 티빙 관계자가 쓰던 깃허브 계정이 털렸는데 거기에 우리 개인정보(CI·비밀번호)가 날것으로 저장돼 있어서 그대로 털린 거예요. 쓰는 만큼 노출될 확률도 높아지니 개인 선택이겠죠. (해킹 관련해서는 노말틱님 유튜브 영상도 참고했어요.)
해커들이 깃헙에 하드코딩된 API를 찾는 매크로를 돌린다고 하더라구요. 그래서 Vercel로 배포하실 땐 배포 단계에서 API키를 (환경변수로) 쓸 수 있어요. 그리고 프론트엔드나 백엔드에 하드코딩되어 있으면 F12 눌러서 개발자도구만 들어가도 API키를 볼 수가 있대요. api는 제가 만들 도구에 외부 서비스를 갖다 붙일 때 연결하는 키라고 생각하시면 돼요.
Vercel 환경설정 쪽에 넣으라더라고요. 깃헙 자체엔 절대 올리면 안 된다고요. 인증받은 사이트를 써야 한다는데 쉽진 않고요. 왠만하면 개인정보는 안 올리게 하는 게 답이겠죠.
보안은 일단 0%는 이 세상에 없는 것 같아요. 그래서 저는 애초에 털릴 게 없는 구조가 필요하다고 생각합니다. 바이브코딩 결과물이라면 코드에 대한 인지 부채가 없을 수 없으니 더더욱, 털려도 의미 없는 정보와 털릴 게 없는 구조가 맞다고 봐요. 아이디·비밀번호는 애초에 구조적으로 털릴 수 없게, 저희가 쓰는 모든 외부 클라우드가 암호화되어 DB 주인도 조회가 안 됩니다. 구글 로그인처럼 그나마 모두가 신뢰할 수 있는 플랫폼에 기대는 것도 방법이고요. 정리하면 ①개인정보처리방침을 구체적으로 명시하고 ②털릴 게 없는 구조를 최우선으로 고려하고 ③외부 플랫폼의 보안을 차용할 수 있는 구조를 고민하자는 거예요. 그럼에도 불가피하게 개인정보가 올라가야 하는 서비스라면 보안성 검토 체크리스트를 충족해야겠죠. (API키 하드코딩, RLS 권한 탈취 등 기본 원칙은 다음 연수 때 정리해 설명드릴게요.)