바이낸스 API key 유출되면 코인을 도둑맞을까요

퀀트 거래자, 그리드 봇 사용자, 거래소 간 차익 거래를 하는 플레이어들에게 API key는 필수적입니다. 하지만 API key가 유출된다면 어떤 일이 벌어질까요? 먼저 결론부터 말씀드리면, '읽기' 권한만 부여하고 IP 화이트리스트를 등록해 두었다면 유출되더라도 위험이 거의 제로에 가깝지만, '출금' 권한을 활성화하고 IP 화이트리스트를 등록하지 않았다면 몇 분 안에 모든 자금이 빠져나갈 수 있습니다. 이 차이는 권한을 어떻게 설정하느냐에 달려 있습니다. 본 문서에서는 API key의 권한 등급, 올바른 설정, IP 화이트리스트, 주기적인 교체 전략, 그리고 유출 후 손실을 최소화하는 방법에 대해 명확하게 설명합니다. API를 설정하기 전에 먼저 바이낸스 공식사이트를 통해 로그인하세요. 웹사이트 환경에서 API를 설정하는 것이 가장 직관적입니다. 일상적인 관리는 바이낸스 공식 앱을 사용할 수도 있으며, 아이폰 사용자가 앱을 찾을 수 없는 경우 iOS 설치 튜토리얼을 참고하여 설치를 진행하세요.

API key란 도대체 무엇인가요

API(Application Programming Interface)는 거래소가 프로그램에 제공하는 인터페이스로, 각 API key는 두 부분으로 구성됩니다:

  • API Key: 공개되는 부분으로, 계정 ID와 같습니다.
  • Secret Key: 비공개 부분으로, 비밀번호와 같으며 생성 시 단 한 번만 표시됩니다.

제3자 프로그램(그리드 봇, 퀀트 전략, 데이터 수집기)은 이 키 쌍을 가지고 웹페이지에 직접 로그인하지 않고도 귀하의 계정을 대신해 조작을 수행할 수 있습니다.

API key의 위험성은 바로 2FA 인증을 우회할 수 있다는 점에 있습니다. 최초 생성 시에만 2FA 인증을 거치며, 그 후에는 프로그램이 호출될 때마다 추가 인증을 요구하지 않습니다. 그렇기 때문에 API 권한 설정은 2FA를 설정하는 것보다 훨씬 신중해야 합니다.

바이낸스 API의 권한 등급

바이낸스는 API 권한을 여러 등급으로 나누어 위험도가 낮은 순서부터 높은 순서로 분류합니다.

권한 수행 가능 작업 기본 상태 유출 위험도
읽기 잔고, 주문, 캔들차트 조회 기본 활성화 낮음
현물 거래 매수/매도 주문 활성화 필요 중간
마진 거래 마진 대출 및 매매 활성화 필요 중간~높음
선물 거래 선물 포지션 진입 활성화 필요 중간~높음
이체 계정 간 자금 이체 활성화 필요 높음
출금 온체인 주소로 출금 활성화 필요 매우 높음
내부 이체 바이낸스 사용자에게 이체 활성화 필요 매우 높음

황금 규칙: 항상 업무에 필요한 권한만 최소한으로 부여하세요. 퀀트 전략은 보통 '읽기+현물 거래' 권한만 필요하며, 출금 권한은 전혀 필요하지 않습니다.

가장 엄격한 API 설정 템플릿

대부분의 상황에 적용할 수 있는 권장 설정입니다.

시나리오 1: 주문 없이 시장 데이터만 수집할 때

  • 읽기: 켬
  • 기타 권한: 모두 끔
  • IP 화이트리스트: 켬 (본인 서버 IP 등록)
  • 유효기간: 180일 후 자동 만료

시나리오 2: 그리드 봇/퀀트 거래를 운영할 때

  • 읽기: 켬
  • 현물 거래: 켬
  • 선물 거래: 필요 시 켬
  • 이체: 끔 (가장 중요)
  • 출금: 절대 끔
  • IP 화이트리스트: 켬 (봇 서버 IP 등록)
  • 유효기간: 30~90일

시나리오 3: 거래소 간 차익 거래 (이체 및 출금이 필수일 때)

  • 읽기: 켬
  • 현물 거래: 켬
  • 출금: 켬 (화이트리스트 주소로 제한)
  • 출금 화이트리스트: 타겟 거래소의 입금 주소만 추가
  • IP 화이트리스트: 켬
  • 유효기간: 7~30일

시나리오 4: 계정 잔고 및 내역 조회용

  • 읽기: 켬
  • 기타 권한: 모두 끔
  • IP 화이트리스트: 켬
  • 유효기간: 30일

IP 화이트리스트는 API의 두 번째 자물쇠입니다

IP 화이트리스트와 API 권한은 상호 보완적입니다. IP 화이트리스트를 등록하지 않으면, 비록 읽기 권한만 부여했다 할지라도 남용될 소지가 있습니다(보유 자산 프라이버시 열람 등).

IP 화이트리스트 등록 방법

  1. 바이낸스 로그인 → 계정 → API 관리로 이동합니다.
  2. 해당 API key를 찾아 '편집'을 클릭합니다.
  3. 'IP 접근 제한'에서 '신뢰하는 IP만 접근 허용'을 선택합니다.
  4. 서버의 공인 IP를 입력합니다 (여러 개일 경우 영문 쉼표로 구분).
  5. 제출합니다.

내 공인 IP 확인 방법

  • 서버에서 curl ifconfig.me 또는 curl ip.sb 명령어를 실행합니다.
  • 로컬 브라우저에서 ip.sb 에 접속하여 확인합니다.

IP가 동적일 경우 어떻게 해야 하나요?

  • 가정용 인터넷은 주로 동적 공인 IP이므로 매일 바뀔 수 있습니다.
  • 해결책: ① 고정 IP가 부여되는 VPS 서버를 임대하여 봇을 실행합니다. ② DDNS와 바이낸스 API를 결합하여 화이트리스트를 주기적으로 갱신합니다. ③ 클라우드 서비스 제공자의 고정된 외부 접속 IP를 사용합니다.

IP 화이트리스트가 적용되지 않은 API key는 유출될 경우 아무 방어 수단 없이 노출된 것과 같습니다.

API key의 흔한 유출 시나리오

많은 사람들이 자신의 API가 어떻게 유출되었는지 모르는 경우가 많습니다. 전형적인 유출 경로는 다음과 같습니다.

시나리오 A: GitHub에 코드 푸시

가장 흔한 경우입니다. Python 스크립트 안에 API_KEY와 SECRET을 하드코딩한 후 공개 저장소에 푸시하는 경우입니다. GitHub에는 이를 24시간 감시하는 봇이 있어, 유출 후 불과 몇 분 안에 자산 탈취가 이루어질 수 있습니다.

방지책: 환경 변수나 .env 파일을 활용하여 키를 저장하고, .gitignore 파일에 *.env를 추가하세요.

시나리오 B: 제3자 도구에 붙여넣기

출처가 불분명한 퀀트 플랫폼이나 거래 신호 서비스가 '모니터링'을 위해 API key를 요구하는 경우, 해당 플랫폼에서 키를 저장할 확률이 매우 높습니다.

방지책: 바이낸스 공식 파트너로 인증받은 곳이나 널리 알려진 신뢰할 수 있는 플랫폼(3Commas, CoinGlass 등)만 사용하세요.

시나리오 C: 컴퓨터의 트로이 목마 감염

트로이 목마 바이러스는 클립보드와 주요 설정 파일을 모니터링하여 로컬에 저장된 키를 빼냅니다.

방지책: 봇 전용 서버에서는 봇만 실행하고, 웹서핑이나 영상 시청을 하지 마세요. 신뢰할 수 있는 백신 소프트웨어를 실행하고, API를 주기적으로 교체하세요.

시나리오 D: 퇴사 직원이 키를 가져간 경우

팀에서 공동으로 하나의 API key를 사용할 경우, 직원이 퇴사한 후 이를 무효화하는 것을 잊는 일이 발생합니다.

방지책: 담당자마다 개별적으로 키를 발급하고, 퇴사 시 즉각 삭제하세요. 중요한 조작은 화이트리스트 주소만 허용하도록 제한하세요.

시나리오 E: 클라우드 서버 해킹

서버의 비밀번호가 너무 단순하거나 SSH 포트가 공개되어 있어 무차별 대입 공격에 뚫리는 경우입니다.

방지책: SSH 포트를 변경하고, 비밀번호 로그인을 비활성화하며 오직 키 파일로만 로그인하도록 설정하세요. 방화벽에서 필요한 포트만 열어두고, 운영 체제 보안 패치를 정기적으로 업데이트하세요.

API key의 주기적인 교체 전략

당장 유출되지 않았다고 하더라도 시간이 지날수록 유출 가능성은 높아집니다. 주기에 맞춰 교체하는 것을 권장합니다.

교체 주기

  • 고빈도 거래: 매 30일마다
  • 중빈도 거래: 매 60~90일마다
  • 저빈도 데이터 조회: 매 180일마다
  • 1회성 디버깅용: 사용 후 즉시 삭제

교체 단계

  1. 새로운 API key를 생성합니다.
  2. 봇이나 스크립트 내의 설정을 업데이트합니다.
  3. 새 키가 정상적으로 작동하는지 테스트합니다.
  4. 바이낸스 관리 페이지에서 이전 API key를 삭제합니다.
  5. 교체한 날짜를 기록해 둡니다.

API key가 이미 유출된 경우의 대처법

다음 체크리스트에 따라 최대한 빨리 대처하세요.

긴급 조치 (5분 이내)

  1. 바이낸스 로그인 → API 관리 → 유출된 API 즉시 삭제
  2. 계정 자산 보유 현황에 이상 변동이 있는지 확인
  3. 자금 내역에 비정상적인 출금이나 이체가 없는지 점검
  4. 계정 동결 (대규모 비정상 거래가 발견될 경우)
  5. 비밀번호 변경 및 2FA 초기화 (일부 공격자는 API를 통해 계정 정보를 유추해 낼 수 있음)

지속 모니터링 (24시간 이내)

  1. 새로운 API 호출 알림 이메일이 수신되는지 이메일 확인
  2. 1시간 간격으로 포지션 및 잔고 점검
  3. GitHub, 코드 저장소, 클라우드 스토리지에 여전히 키가 노출된 곳이 있는지 조사
  4. 바이낸스의 새로운 기기/위치 로그인 알림 기능 활성화
  5. 자금 손실이 발생했다면 고객센터에 연락하여 이의 제기 절차 진행

장기 보안 강화 (7일 이내)

  1. 예전 코드 저장소에 유출 가능성이 있는 키 모두 정리
  2. GitHub Secret Scanning 설정 활성화
  3. 모든 API 사용 방식을 환경 변수 기반으로 변경
  4. 서버 보안 강화 (SSH 포트 변경, 방화벽 도입 등)
  5. 보안 수준을 높이기 위해 하드웨어 보안키 등 이중 인증 검토

API key 유출 시 가장 위험한 자산은 무엇인가요

탈취 확률에 따라 정렬한 것입니다.

  1. 현물 잔고: 현물 거래 권한이 열려 있을 경우, 공격자는 시장가로 저가 매도 주문을 내고 다른 계정으로 이를 사들이는 수법, 이른바 "워시 트레이딩"을 시도합니다.
  2. 선물 계정: 선물 권한이 열려 있으면 공격자는 고배율 레버리지로 반대 포지션을 잡아 계정을 강제 청산시킬 수 있습니다.
  3. 온체인 자산: 출금 권한이 열려 있고 주소 화이트리스트를 설정하지 않았다면 몇 분 안에 모든 자금이 출금됩니다.
  4. 과거 주문 프라이버시: 읽기 권한만 열려 있어도 보유 자산과 거래 내역을 볼 수 있어 개인정보 유출 문제가 발생합니다.
  5. 좀비 계정으로 전락: 공격자의 "자전거래" 네트워크에 편입되어 다량의 소액 거래를 발생시킵니다.

자주 묻는 질문

API key의 Secret은 재확인하거나 재설정할 수 있나요?

불가능합니다. Secret은 생성 시 딱 한 번만 화면에 표시되며, 그 이후에는 두 번 다시 볼 수 없습니다. 만약 Secret을 분실했거나 유출되었다면, 기존 API key를 삭제하고 새로 생성하는 수밖에 없습니다.

API key의 권한을 나중에 변경할 수 있나요?

가능합니다. API 관리 페이지에서 편집 버튼을 눌러 권한 설정이나 IP 화이트리스트를 언제든 수정할 수 있습니다. 변경 시에는 2FA 인증이 요구됩니다.

바이낸스 API Key에 유효기간이 있나요?

고급 권한(예: 출금 권한)을 활성화하면 바이낸스에서는 유효기간을 설정하도록 요구하며, 기본적으로 최대 90일까지 허용됩니다. 기간이 만료되면 해당 키는 자동으로 무효화됩니다. 일반적인 읽기/거래 전용 API key는 강제 만료가 없지만, 장기간 사용하지 않으면 바이낸스 측에서 정기적으로 정리할 수 있습니다.

하나의 계정에서 몇 개의 API key를 만들 수 있나요?

최대 생성 개수는 일반적으로 30개 정도입니다. 업무 목적별로 키를 나누어 관리하고 격리하는 것을 권장합니다.

하위 계정의 API key는 메인 계정과 분리되어 있나요?

네, 완벽하게 분리됩니다. 하위 계정 API는 해당 하위 계정의 자산만 조작할 수 있으며, 메인 계정에 접근할 수 없습니다. 큰 규모의 자금을 운용할 때 하위 계정을 통해 봇을 돌리는 것이 권장되는 이유입니다.

API 요청의 속도 제한 규칙은 어떻게 되나요?

일반적으로 현물 거래는 초당 1200 가중치, 선물 거래는 초당 2400 가중치 정도입니다. 단일 IP 기준 분당 약 6000건의 요청이 허용됩니다. 퀀트 전략을 수립할 때는 이 제한을 고려하여 설계해야 계정 밴을 방지할 수 있습니다. 자세한 사항은 바이낸스 API 공식 문서를 참조하세요.

요약

API key의 위험성은 키 자체에 있는 것이 아니라, 전적으로 귀하가 어떻게 설정했느냐에 달려 있습니다. 세 가지 황금 규칙을 잊지 마세요: ① 권한 최소화 (필요하지 않은 권한은 절대 켜지 않기), ② IP 화이트리스트 필수 설정 (본인 서버 IP 지정), ③ 정기적인 교체 (30~90일마다 갱신). 여기에 덧붙여 코드 저장소에 Secret을 절대 올리지 않는 철칙을 지킨다면 API 보안 등급은 최고 수준에 도달할 수 있습니다. 특히 퀀트 거래자는 API 보안을 자금 보안과 동급으로 여겨야 합니다. API는 자금을 움직이는 열쇠 그 자체이기 때문입니다. 지금 당장 바이낸스 공식사이트의 API 관리 페이지를 열어 사용하지 않거나 90일이 넘은 API를 모두 지우고, 남아 있는 API에 IP 화이트리스트를 추가하시기 바랍니다.