바이브 코딩 · 확인하기 · 08 / 10

보안·개인정보
기본 점검

“우리 서비스는 작아서 아무도 관심 없을 거야.” 하지만 인터넷에 공개된 서비스는 사람이 아니라 자동화된 프로그램이 쉬지 않고 두드립니다. 크기와 상관없이, 열려 있는 문은 언젠가 발견됩니다. 비전공자도 반드시 챙길 수 있는 기본만 모았습니다.

HandsMate 바이브 코딩 가이드 · 예상 읽기 8분
결론 먼저비밀값(API 키·비밀번호)은 코드와 저장소에 넣지 말고 환경설정으로 분리하세요. 개인정보는 꼭 필요한 항목만, 정해진 기간만 보관하세요. 권한은 서버에서 확인하고, 백업은 만들어 두는 것에 그치지 말고 복구까지 한 번 해 보세요. 결제·대량 개인정보는 반드시 전문가 검토를 받으세요.

1. 작은 서비스도 공격 대상이 됩니다.

공격은 대부분 사람을 노리는 것이 아니라 알려진 실수를 찾는 자동 검색으로 시작됩니다. 코드 저장소에 올라간 API 키, 기본 비밀번호, 열려 있는 관리자 주소가 대표적입니다.

보안의 출발점은 어려운 기술이 아니라 실수하지 않는 습관입니다. 아래 항목은 대부분 한 번 정해 두면 계속 지켜지는 것들입니다.

2. 비밀값은 코드 밖에 둡니다.

분리

환경설정 파일로 빼기

API 키, DB 비밀번호, 결제·문자 서비스 키는 코드에 직접 쓰지 않고 환경설정(.env 등)이나 플랫폼의 비밀값 설정에 둡니다.

제외

저장소에 올리지 않기

환경설정 파일은 코드 저장소에 올리지 않도록 제외 목록(.gitignore)에 넣습니다. 압축해서 전달할 때도 빼세요.

재발급

올라갔다면 즉시 바꾸기

실수로 올렸다면 파일을 지우는 것으로 끝나지 않습니다. 기록에 남아 있으므로 해당 키를 즉시 폐기하고 새로 발급하세요.

AI에게 확인하는 요청 예시
이 프로젝트 전체에서 코드에 직접 들어간 비밀번호, API 키, 토큰, 접속 주소를 찾아 목록으로 보여 줘. 그리고 환경설정으로 옮기는 방법과 저장소 제외 설정을 알려 줘.

3. 개인정보는 ‘필요한 만큼, 필요한 동안’만

질문예아니오
이 항목이 없으면 서비스가 안 되나?수집하되 목적을 적어 둠수집하지 않음
더 약한 정보로 대신할 수 있나?생년월일 대신 ‘성인 여부’ 등으로 대체필요한 범위만
언제까지 보관해야 하나?기간을 정하고 지나면 파기목적이 끝나면 바로 파기
누가 볼 수 있나?역할별로 제한(6편)전 직원 열람은 피함
주민등록번호처럼 법령에 근거가 없으면 처리할 수 없는 정보도 있습니다. 개인정보를 받는 서비스라면 개인정보 처리방침을 게시해야 하고, 업종·규모에 따라 추가 의무가 생길 수 있습니다. 법적 판단이 필요한 부분은 전문가에게 확인하세요.

4. AI 결과물에서 자주 보이는 보안 구멍

구멍위험기본 대응
관리자 주소만 숨겨 둠주소를 알면 누구나 접근로그인 + 관리자 역할 확인(6편)
파일 업로드 제한 없음악성 파일·용량 폭탄파일 종류·크기 제한, 실행 불가 위치에 저장
에러 화면에 내부 정보 노출구조·경로·쿼리 노출운영 환경에서는 일반 안내 문구만
입력값을 그대로 저장·출력스크립트·쿼리 주입검증된 프레임워크 기능으로 입력 처리
HTTPS 미적용로그인 정보 가로채기도메인에 인증서 적용(대부분 무료)
기본·테스트 계정 남음손쉬운 침입오픈 전 정리(6편)

5. 백업은 ‘복구해 봐야’ 백업입니다.

1무엇을

데이터베이스와 사용자가 올린 파일. 코드는 저장소에 있습니다.

2얼마나 자주

데이터가 바뀌는 만큼. 업무용이면 최소 하루 한 번 자동으로.

3어디에

운영 서버와 다른 곳(다른 서비스·다른 계정)에 보관.

4복구 연습

분기에 한 번, 백업으로 실제로 되살려 보기.

접근 기록(누가 언제 로그인하고 무엇을 바꿨는지)도 함께 남겨 두면 문제가 생겼을 때 범위를 빨리 파악할 수 있습니다.

6. AI에게 보안 점검을 받되, 한계를 알고 쓰세요.

요청 예시
이 프로젝트를 보안 관점에서 점검해 줘. ① 코드에 들어간 비밀값 ② 서버에서 권한을 확인하지 않는 곳 ③ 입력값 검증이 없는 곳 ④ 파일 업로드 제한 ⑤ 에러 메시지 노출 ⑥ 개인정보 저장 위치를 표로 정리하고, 위험도 높은 순으로 고치는 방법을 알려 줘.
AI 점검은 기본 실수를 거르는 데 유용하지만 보안 검증을 대신하지는 못합니다. 결제, 대량 개인정보, 의료·금융 정보를 다룬다면 오픈 전에 반드시 전문가 검토를 받으세요.

7. 오픈 전 보안 체크리스트

코드와 저장소에 비밀값이 없다.
환경설정 파일은 저장소 제외 목록에 있다.
개인정보 항목마다 목적과 보관 기간을 정했다.
개인정보 처리방침을 게시했다.
HTTPS가 적용되어 있고 테스트·기본 계정을 정리했다.
백업이 자동으로 되고, 한 번 복구해 봤다.
한 줄 원칙

보안은 기술보다 습관입니다.

비밀값은 코드 밖에, 개인정보는 최소로, 백업은 복구까지. 이 세 가지만 지켜도 작은 서비스에서 일어나는 사고의 상당 부분을 막을 수 있습니다. 다음 편에서는 만든 서비스를 내 명의로 지키는 법을 다룹니다.