개발 전에 알아야 할 최소 보안
AI가 만든 앱은 빠르게 공개되지만, API 키나 개인정보가 같이 올라가면 되돌리기 어렵습니다.
먼저 이것만 이해하면 됩니다
한 번에 외우지 말고, 표시된 흐름대로 읽고 바로 아래 프롬프트와 실습으로 넘어가세요.
보안은 배포 직전에만 하는 일이 아닙니다
초보자는 보안을 완성 후 점검으로 생각하기 쉽지만, 최소한의 보안 기준은 개발 전에 정해야 합니다. 어떤 데이터를 저장할지, API 키를 어디에 둘지, 사용자 입력을 어떻게 다룰지 정하지 않으면 나중에 고치기 어렵습니다.
특히 AI가 만든 코드는 빠르게 공개될 수 있습니다. GitHub에 올린 뒤 검색 엔진이나 다른 사람이 볼 수 있는 상태가 되면 비밀키를 되돌리기 어렵습니다. 공개 전에 막는 것이 가장 쉽습니다.
비밀키와 개인정보
API 키, 토큰, 비밀번호, 개인 이메일 목록, 전화번호 같은 정보는 코드에 직접 넣으면 안 됩니다. `.env` 같은 환경변수 파일을 쓰더라도 그 파일이 GitHub에 올라가지 않게 해야 합니다. 초보자 프로젝트에서는 가능하면 비밀키가 필요한 기능을 첫 버전에서 빼는 것도 좋은 선택입니다.
개인정보도 마찬가지입니다. 이름이나 이메일을 저장한다면 왜 필요한지, 어디에 저장되는지, 사용자가 지울 수 있는지 생각해야 합니다. 첫 MVP는 개인정보 없이도 가치가 있는 작은 도구로 만드는 편이 안전합니다.
사용자 입력을 믿지 않기
사용자가 입력한 값은 항상 예상과 다를 수 있습니다. 너무 긴 글, 빈 값, 특수문자, 스크립트처럼 보이는 문자열이 들어올 수 있습니다. 입력값을 그대로 화면에 넣거나 외부 요청에 사용하면 문제가 생길 수 있습니다.
처음에는 복잡한 보안 이론보다 체크리스트가 중요합니다. 비밀키가 코드에 없는지, 공개 저장소에 올리면 안 되는 파일이 제외됐는지, 개인정보를 저장하지 않는지, 사용자 입력을 검증하는지 확인하세요.
공개 전에 위험한 정보를 분리합니다
공부 기록 앱을 공개하기 전 비밀키, 사용자 입력, 개인정보, 공개 저장소를 각각 점검합니다.
- 01 비밀키
API 키와 토큰은 코드에 넣지 않습니다.
숨길 것을 분리 - 02 사용자 입력
입력값은 그대로 믿지 않고 확인합니다.
입력을 확인 - 03 개인정보
저장하거나 공개해도 되는지 구분합니다.
공개 전 점검 - 04 공개 저장소
올리면 안 되는 파일이 없는지 확인합니다.
핵심 정리
초보자가 먼저 알아야 할 보안은 세 가지입니다. 비밀키는 코드와 GitHub에 넣지 않고, 사용자 입력은 그대로 믿지 않으며, 공개해도 되는 데이터와 안 되는 데이터를 구분해야 합니다.
ChatGPT에게 이렇게 시키기
그대로 복사한 뒤, ChatGPT 입력창에 붙여넣고 내 상황에 맞는 단어만 바꾸세요.
ChatGPT는 질문을 입력하면 답을 주는 AI 채팅 서비스입니다. chatgpt.com 열기
- 현재 상황 만드는 것, 파일, 지금 막힌 점을 먼저 씁니다.
- 원하는 결과 AI가 끝내야 할 일을 한 가지로 좁힙니다.
- 확인 기준 완료 후 확인 방법과 바꾸면 안 되는 것을 붙입니다.
복사한 뒤 ChatGPT 입력창에 붙여넣으세요. Claude를 써도 되지만 처음엔 ChatGPT 하나로 따라오세요.
- 버튼을 누릅니다.
- ChatGPT 입력창에 붙여넣습니다.
- 내 상황에 맞게 단어만 바꿉니다.
나는 바이브코딩을 준비하는 초보자이고, 지금 "개발 전에 알아야 할 최소 보안" 단계를 배우는 중입니다. 내 목표는 작은 웹앱을 무리 없이 만들기 위해 AI가 만든 앱은 빠르게 공개되지만, API 키나 개인정보가 같이 올라가면 되돌리기 어렵습니다.
이 프로젝트를 공개하기 전에 보안 관점에서 확인할 체크리스트를 만들어줘. API 키, 개인정보, 사용자 입력, 공개 저장소에 올리면 안 되는 파일을 초보자 기준으로 나눠줘. 답변은 초보자가 바로 따라 할 수 있게 1단계부터 순서대로 써주세요. 어려운 용어가 나오면 괄호 안에 짧게 풀어서 설명해주세요.
한 번에 너무 많은 기능을 제안하지 말고, 이번 단계에서 꼭 필요한 것과 나중에 해도 되는 것을 나눠주세요. 코드나 명령어가 필요하다면 어디에 붙여 넣는지, 어떤 파일을 봐야 하는지도 함께 알려주세요.
마지막에는 내가 직접 확인할 체크리스트를 만들어주세요. 특히 API 키나 토큰이 코드와 GitHub에 들어가지 않았는지 찾습니다., 개인정보를 저장하거나 화면에 노출하지 않는지 확인합니다., 사용자 입력을 그대로 믿고 쓰는 부분이 없는지 표시합니다. 항목을 기준으로 결과가 맞는지 판단할 수 있게 해주세요.
내가 확인할 것
AI가 만든 결과를 그대로 믿지 말고, 아래 항목을 직접 보고 맞는지 확인하세요.
- API 키나 토큰이 코드와 GitHub에 들어가지 않았는지 찾습니다.
- 개인정보를 저장하거나 화면에 노출하지 않는지 확인합니다.
- 사용자 입력을 그대로 믿고 쓰는 부분이 없는지 표시합니다.
실습
.env, API key, 개인정보, 입력값 검증이라는 단어를 찾아보고 내 프로젝트에 해당하는 항목을 표시하세요.
이번 단계 결과물
공통 예제인 공부 기록 앱 기준으로, 다음 단계에 가져갈 내용을 남깁니다.
- 공부 기록 앱 첫 버전에는 API 키를 넣지 않는다
- 공부 기록 앱 첫 버전에는 이름, 이메일 같은 개인정보를 저장하지 않는다
- 공부 기록 앱 입력값은 화면에 표시하기 전에 안전하게 다룬다
답을 고른 뒤 `퀴즈 확인`을 눌러주세요. 이전에 통과했다면 선택했던 답과 점수가 그대로 복원됩니다.