바이브코딩 API 키, 어디에 저장하고 있나요?

AI에게 외부 서비스를 연결해 달라고 요청하고 발급받은 API 키를 코드에 붙여 넣으면 기능이 바로 동작할 수 있습니다. 하지만 그 코드가 브라우저로 전달되거나 저장소에 올라가면, 기능을 확인한 순간과 별개로 비밀 정보가 노출될 수 있습니다. 나만 쓰던 데모를 공개하기 전에 키가 어디에 저장되고 누구에게 전달되는지 살펴봐야 하는 이유입니다.
API 키 관리는 값을 감추는 작업에 그치지 않습니다. 저장 위치, 사용할 권한, 교체와 폐기 방법까지 이어지는 운영 절차입니다. 바이브코딩 프로젝트에서는 코드가 빠르게 바뀌므로 '환경변수를 썼다'는 말만으로 확인을 끝내지 말고 실제 실행 경로를 점검하는 편이 좋습니다.
1. 공개 설정과 비밀 키를 구분하세요
외부 서비스의 모든 키가 같은 성격인 것은 아닙니다. 브라우저에서 사용하도록 설계된 공개 식별자도 있고, 서버에서만 보관해야 하는 비밀 키도 있습니다. 이름이나 모양으로 판단하기보다 발급한 서비스의 공식 문서에서 공개 범위와 권한을 확인하세요.
비밀 키를 쓰는 작업은 원칙적으로 서버처럼 신뢰할 수 있는 실행 환경에서 처리해야 합니다. 브라우저 코드에 넣은 값을 다른 이름으로 바꾸거나 난독화하는 방식으로는 비밀을 지키기 어렵습니다. 브라우저에 전달된 자료는 사용자가 확인할 수 있다고 가정하고 구조를 검토하세요.
환경변수도 어디에서 읽는지에 따라 결과가 달라집니다. 빌드 과정에서 브라우저용 파일에 포함되도록 설정했다면 비밀 보관 수단이 아닙니다. 사용하는 프레임워크가 공개 변수와 서버 변수를 어떻게 구분하는지 확인하고, 배포 결과와 네트워크 요청에 비밀 값이 포함되지 않는지 점검하세요.
2. 저장소와 공유 자료에 남는 경로를 줄이세요
로컬 설정 파일은 Git 추적에서 제외하고, 필요한 변수 이름만 적은 예시 파일을 따로 둘 수 있습니다. 이미 추적 중인 파일은 무시 규칙을 추가해도 과거 기록에서 사라지지 않으므로, 설정 파일이 실제 커밋에 포함되는지도 확인해야 합니다.
코드뿐 아니라 오류 로그, 화면 캡처, 상담 자료에도 키가 남을 수 있습니다. AI에게 문제를 설명할 때는 키 자체를 붙여 넣기보다 변수 이름과 오류 메시지를 사용하세요. 로그에는 요청 결과를 확인하는 데 필요한 정보만 남기고 비밀 값은 기록하지 않도록 검토해야 합니다.
운영용 키와 개발용 키도 가능하면 분리하세요. 시험 환경의 작업이 실제 고객 데이터나 운영 비용에 영향을 주지 않도록 범위를 나누는 목적입니다. 팀원이 각자 어떤 경로로 설정을 받는지, 배포 환경의 값을 누가 관리하는지도 정해 두세요.
3. 필요한 권한과 교체 절차를 정하세요
한 키에 모든 권한을 주면 편리하지만 노출됐을 때 영향을 받는 범위도 커질 수 있습니다. 제공 도구가 지원하는 범위에서 필요한 기능과 대상에만 권한을 부여하고, 사용량과 제한 설정을 확인하세요. 알림이나 사용 한도는 대응을 돕는 장치이며 비밀 보관을 대신하지는 않습니다.
OWASP의 비밀 정보 관리 지침은 접근 통제와 함께 생성·교체·폐기 등 비밀 정보의 수명주기를 다룹니다. 키를 발급하는 절차만 있고 회수하는 방법이 없다면 운영 중 변경이나 사고 대응이 어려워질 수 있습니다.
키가 노출됐다면 화면이나 최신 코드에서 지우는 것만으로 끝내지 마세요. 해당 서비스에서 유효한 키를 폐기하거나 교체하고, 관련 사용 기록과 영향 범위를 확인해야 합니다. 정상적인 정기 교체는 새 값 적용과 기능 확인, 이전 값 폐기 순서를 설계하되, 실제 노출 상황에서는 악용을 막는 조치를 우선 판단해야 합니다.
값 대신 관리할 항목을 기록하세요
키 목록을 관리할 때는 비밀 값 자체를 문서에 모으기보다 용도, 사용 환경, 관리 담당자, 권한 범위, 교체 방법을 기록하세요. 비밀 값은 접근을 제한한 배포 설정이나 비밀 관리 도구 등 적절한 장소에서 관리하고, 필요한 사람과 실행 환경만 접근하도록 구성해야 합니다.
출시 전에 다음 항목을 확인해 보세요.
- 공개 식별자와 서버용 비밀 키를 구분했는가
- 브라우저 파일과 요청에 비밀 값이 포함되지 않는가
- 설정 파일이 저장소에 추적되고 있지 않은가
- 로그와 AI 요청, 공유 자료에 키를 복사하지 않는가
- 개발과 운영의 사용 범위를 나눴는가
- 노출 시 폐기·교체와 영향 확인 절차가 있는가
특정 파일 하나를 숨겼다고 관리가 끝나는 것은 아닙니다. 키가 발급되고 사용되고 사라지는 경로를 설명할 수 있어야 합니다. 바이브코딩 서비스의 외부 연동과 배포 설정이 불분명하다면 Ideal Web에서 비밀 정보가 지나가는 경로와 운영 절차를 함께 점검해 보세요.