API 키는 "내 이름으로 유료 서비스를 쓸 수 있는 신용카드"와 같습니다. OpenAI 키, 지도 키, 결제 키가 코드 안에 글자로 적혀 있으면 그 코드를 본 누구나 대표님 카드로 결제할 수 있습니다. 하룻밤 사이 수백만 원이 청구된 사례는 드물지 않습니다.
AI로 만들면 왜 이 사고가 자주 나나요?
AI는 "일단 돌아가는 코드"를 우선하기 때문입니다. 키를 코드에 직접 넣으면 즉시 동작하니 그렇게 만들어 주는 경우가 많고, 화면에서는 아무 문제가 없어 보이기 때문에 그대로 배포됩니다. 문제는 사용자가 아니라 자동 탐색 봇이 먼저 발견한다는 점입니다.
내 코드에 키가 있는지 어떻게 확인하나요?
- 프로젝트 폴더 전체에서 sk-, key, secret, password 를 검색해 보세요.
- 코드 파일 안에 실제 키 값이 따옴표로 감싸여 있으면 위험 신호입니다.
- 키는 반드시 .env 파일에만 있어야 하고, .env는 .gitignore에 들어 있어야 합니다.
- 브라우저에서 F12를 눌러 소스를 열었을 때 키가 보이면 이미 공개된 상태입니다.
이미 유출됐다면 무엇부터 해야 하나요?
코드에서 지우는 것보다 키를 폐기하고 새로 발급하는 것이 먼저입니다. 저장소 기록에는 지운 뒤에도 예전 내용이 남기 때문에, 유출된 키는 코드에서 지워도 여전히 살아 있습니다. 폐기, 재발급, 그다음에 코드 정리 순서로 진행하세요. 그리고 해당 서비스의 사용량과 결제 내역을 반드시 확인하세요.
키 관리는 코딩 실력의 문제가 아니라 습관의 문제입니다. 키는 코드가 아니라 설정에 둔다는 원칙 하나만 지키면 사고의 절반이 사라집니다.
키를 안전하게 보관하고 서버에서만 쓰이게 만들려면 브라우저 밖에서 도는 서버가 필요합니다. 이 부분이 AI에게 시켜도 잘 나오지 않는 대표적인 구간입니다.