본문 바로가기
잡다한 문제 해결

opeaAI에서 api key가 disabled 되었다고 이메일이 와요.

by cuziam 2024. 2. 12.

<문제 상황>

뜬금없이 날라온 api key 유출 이메일

그냥 평소처럼 로컬환경에서 개발하다가 이런 이메일이 날라왔다. 대충 내용은 이렇다. api key가 유출되었으니, 우리가 그 api키를 무효화시켰고, 새로 api 키를 만들어서 사용하라는 것이다.


<문제 원인 분석 및 해결>

일단 나는 로컬환경에서만 이 api key를 사용하고 있었고, 생성한지도 얼마안 된 key였다. 다른 사람에게 실제로 넘어갔을 염려는 없을 것이라고 판단했다. 그럼 외부에 내 apikey를 저장한 적이 있나 생각해보니... 그런 적 있긴 했었다.

 

바로 github다. github의 원격 저장소에 apikey가 담긴 javascript파일을 저장한 적이 있는데 푸쉬 시간과 이메일을 받은 시간을 보니 거의 비슷했다. 그래서 검증을 위해 apikey를 빨리 하나 만들어서 push를 해봤다. 얼마 있다가 그 key도 무효화된 것을 확인할 수 있었다.

 

즉 github내에 openai의 api key를 감지하는 기능이 존재하고 있어서 이 api key를 무효화시킨 것으로 보인다.

 

어떻게 해결하면 될까?

간단하다. 그냥 api key가 들어간 파일을 github의 원격 저장소에 안 업로드 하면 된다. 정석적인 방법은 이렇다.

 

  1. 프로젝트 내에 환경변수 파일을 만든다. (node.js의 경우엔 dotenv패키지를 설치하면 환경변수를 사용하기 편하다. 사용법은 링크 참고.)
  2. 환경변수 파일에 apikey를 넣고, 코드 파일들에선 이 api key를 환경변수 파일에서 불러 오는 방식으로 사용한다.
  3. 핵심: 프로젝트에서 git을 사용한다면 .gitignore에 api key가 들어간 환경변수 파일 이름을 적어서 git에서 제외시킨다.

 

오늘도 문제 해결 끝!