OpenCode API 키 유출, 내 키도 바꿔야 할까? 영향 확인부터 비용 통제까지 4단계

AI 코딩 도구에 붙여 넣은 API 키 하나가 내 유료 계정의 사용 권한입니다. 유출이 의심될 때 앱을 닫거나 비밀번호만 바꾸고 끝내서는 안 됩니다. 확인할 곳은 키를 발급한 회사의 관리 화면입니다.
내 키도 바꿔야 할까요? OpenCode에서 영향 통지를 받았다면 아래 공급자별 폐기·교체 절차를 확인하세요. 이메일을 받지 않은 사용자는 미영향이라는 것이 OpenCode의 공식 입장입니다. 다른 서비스에 재사용한 키의 점검은 이번 사고의 영향 판정과 별개인 예방 조치입니다.
OpenCode는 터미널·코드 편집기·데스크톱에서 코드 작성을 돕는 오픈소스 AI 코딩 에이전트입니다. Claude·GPT·Gemini 등 여러 공급자의 모델을 연결해 사용할 수 있습니다.
OpenCode 키 유출 소식을 보고 들어왔다면 네 가지만 확인하세요. 내가 키를 어디에 저장했는지, 의심되는 키를 차단했는지, 모르는 사용량이 있는지, 비용 한도가 실제 호출을 멈추는지입니다. OpenAI·Claude·Gemini 공식 안내를 기준으로 지금 할 일을 정리했습니다.
1. OpenCode API 키 유출 영향 범위 확인
첫 질문은 간단합니다. OpenCode Console에 외부 AI 공급자의 API 키를 연결했나요? 계정의 연결 설정과 가입 이메일을 확인하세요. 개발자가 설정했다면 어떤 공급자의 어느 프로젝트 키를 등록했는지 요청하면 됩니다. 키 전체를 메신저로 보내 달라고 할 필요는 없습니다.
OpenCode 공식 공지는 외부 공급자를 연결한 일부 사용자, 즉 Console 사용자 1.4%가 영향을 받았으며 대상자 전원에게 이메일을 보냈다고 설명합니다. 이메일을 받지 않은 사용자는 영향받지 않았다는 것이 OpenCode의 공식 입장입니다.
같은 공지는 사고가 진행 중이며 세부 내용을 공개할 수 없고 Anthropic·OpenAI·Google과 복구 중이라고 설명합니다. 이 글은 2026년 10월 18일 19:35 KST 기준 공지 내용을 다룹니다. 이후 공식 안내가 추가되면 함께 확인하세요.
공지의 범위는 ‘OpenCode를 설치한 모든 사람’이나 ‘모든 API 키’로 확대할 수 없습니다. 로컬 CLI 이용 여부만으로 별도의 영향 범위를 추정하지 말고 공식 안내와 내 연결 이력을 대조하세요.
다른 서비스에도 같은 키를 썼다면 사용 내역을 확인하는 것은 AIB의 일반 예방 권고입니다. 이번 OpenCode 사건의 피해자로 분류한다는 뜻은 아닙니다. 사건의 영향 확인과 평소의 키 관리 점검을 나눠 진행하세요.
2. API 키 폐기·교체 방법: OpenAI·Claude·Gemini
악용이 진행 중이면 비용 차단과 서비스 중단 위험을 먼저 판단하세요. AIB는 계속되는 악용을 막기 위한 키 폐기(무효화)를 우선 권고합니다. 다만 공급자의 공식 절차는 같지 않습니다. Claude는 유출 의심 시 즉시 폐기, Google은 유출 대응에서도 새 키 적용 후 옛 키 삭제를 안내합니다. OpenCode 연결 화면에서 지우는 것만으로 발급된 키 자체가 무효화됐다고 판단하면 안 됩니다.
- OpenAI: API 키 관리 화면에서 의심 키를 교체하고 사용량을 확인합니다
- Claude: Console의 API Keys에서 해당 키를 찾아 삭제합니다. 공식 문서는 유출이 의심되면 즉시 폐기하도록 안내합니다
- Gemini: 공식 절차는 새 키 생성, 앱 적용·확인, 옛 키 비활성화·삭제 순서입니다. Cloud Console에서 해당 프로젝트의 키를 관리합니다
새 키를 만들었다고 옛 키가 자동으로 사라지지는 않습니다. 업무 앱, 서버의 비밀정보 설정, 자동화 도구 중 어디가 옛 키를 쓰는지도 함께 확인하세요. 이미 악용이 의심되는 키를 서비스 중단이 걱정된다는 이유로 계속 살려두지 마세요.
Google의 안내는 교체 중 서비스 중단을 줄이는 순서입니다. 악용이 진행 중이면 계속 발생하는 비용과 서비스 중단 위험을 담당자가 함께 판단해 우선 차단하세요. 교체 확인은 관리 화면의 채팅 성공이 아니라, 새 키를 사용하는 실제 앱의 동작으로 해야 합니다.
교체 후 오류가 나면 무작정 한도부터 올리지 마세요. 인증 오류인지, 사용량 제한인지, 잔액 문제인지 오류 내용을 먼저 구분해야 합니다.
3. 비정상 사용량·과금 확인
공급자의 Usage(사용량)·Cost(비용)·Billing(청구) 화면에서 평소와 다른 시간대와 사용량을 확인하세요. 연결한 프로젝트나 워크스페이스를 기준으로 범위를 좁히면 정상 업무와 비교하기 쉽습니다.
확인할 항목은 세 가지입니다. 내가 실행하지 않은 시간의 호출, 사용하지 않는 모델의 소비, 평소와 다른 비용 증가입니다. 이상 징후를 발견하면 해당 기간과 시간대, 프로젝트 이름, 금액, 확인 가능한 요청 식별자를 기록하고 공식 지원 경로로 문의하세요. API 키 원문은 문의나 공개 게시물에 붙이지 마세요.
금액이 늘었다는 사실만으로 부정 사용이라고 확정하지는 않습니다. 예약 작업이나 팀원의 정상 실행도 대조해야 합니다. 또한 교체 직후 대시보드에 추가 비용이 표시됐다고 곧바로 새 키까지 유출됐다고 결론 내리지 마세요. 과금 집계에는 지연이 있습니다. 호출 시각과 표시 시각을 구분해야 대응이 정확해집니다.
핵심은 ‘걱정된다’에서 끝내지 않는 것입니다. 언제, 어느 프로젝트에서, 어떤 사용이 낯선지를 정리하면 운영 담당자나 공급자가 조사할 수 있는 자료가 됩니다. 비용 환불이나 피해 보상은 이 글이 보장하지 않습니다.
4. API 지출 한도 설정: 알림과 실제 차단
‘월 예산을 설정했다’는 말만으로는 부족합니다. 알림만 보내는 설정과 호출을 차단하는 설정을 구분하세요. 공급자마다 관리 단위도 다릅니다.
OpenAI는 조직 또는 프로젝트에 월 지출 한도를 설정하고 Enforce a hard limit(지출 한도 강제)을 켜서 한도 도달 시 관련 요청을 차단할 수 있습니다. 지출 알림만 설정하면 호출은 계속됩니다. 실제 차단 반영에는 지연이 있어 설정 금액을 조금 초과할 수 있습니다.
Claude는 워크스페이스의 Limits에서 지출 한도와 이메일 알림을 구분합니다. 워크스페이스 한도는 조직 한도보다 낮게 설정하며, 별도 한도가 없으면 조직 한도가 적용됩니다. 실험용 도구와 실제 서비스의 사용 범위를 나눠 관리할 때 확인할 지점입니다.
Gemini의 키는 프로젝트에 속하며 키마다 독립적인 결제 설정이 있는 구조가 아닙니다. AI Studio의 프로젝트 지출 한도는 실험적 기능입니다. 약 10분의 집계 지연이나 장시간 실행 때문에 초과 비용이 발생할 수 있고, 청구서 기반 계정에는 해당 지출 한도가 제공되지 않습니다.
따라서 새 도구를 시험할 때는 기존 서비스와 같은 키를 무심코 재사용하지 마세요. 용도별 키와 프로젝트·워크스페이스를 구분하고, 담당자가 확인할 알림과 업무에 맞는 한도를 함께 정하세요. 한도를 너무 낮추면 정상 서비스도 멈춥니다. 비용 통제와 서비스 운영을 함께 설계해야 합니다.
새로운 AI 서비스를 고를 때도 기능 소개만 보지 마세요. 키를 어디에 저장하는지, 어떤 권한을 요구하는지, 연결 해제와 키 폐기는 어떻게 하는지, 비용은 어디서 제한하는지를 확인하세요. 설명이 불분명한 서비스에는 기존 운영용 키를 바로 맡기지 말고 별도 테스트 범위부터 정하세요.
지금 열어야 할 것은 API 관리 화면
오늘 할 일은 보안 용어를 공부하는 것이 아닙니다. 연결한 키의 발급처를 열고 연결 이력 → 의심 키 차단·교체 → 사용 내역 → 실제 지출 한도를 확인하세요.
팀에서 AI 도구를 늘리고 있다면 ‘누가 어떤 업무에 어떤 키를 쓰는가’부터 한 장으로 정리하세요. AIB는 AI 비교와 업무 도입을 지원합니다. 도구 선택부터 사용 범위와 운영 방식까지 정리가 필요하다면 AIB에 현재 업무를 알려주세요.
출처
자료 기준: 2026년 10월 18일. OpenCode 사고 관련 내용은 같은 날 19:35 KST 기준 공식 공지에 근거합니다.