보안 지침

토큰 유출 방지 및 보안 수칙

봇 토큰과 기밀 설정 정보를 철저하게 비밀로 유지하고, 만약의 유출 사고 시 신속하게 대응하여 피해를 최소화하는 방법을 정리합니다.

디스코드 봇 개발 및 호스팅 과정에서 가장 치명적인 보안 허점은 봇 토큰(Token)의 노출입니다. 토큰이 악의적인 해커의 손에 들어갈 경우, 내 봇이 속한 모든 디스코드 채널에 피싱 메시지를 올리거나 권한을 훼손할 수 있습니다. 본 문서에서는 보안을 지키기 위한 필수 조치를 규정합니다.


1. 환경변수 필수 사용 및 소스코드 하드코딩 금지

개발 편의를 위해 소스코드 파일(예: index.js, main.py) 내부에 토큰 문자열을 직접 기입해두는 행동은 매우 위험합니다.

  • 대처 방법: 대시보드의 환경 변수 메뉴를 이용해 DISCORD_TOKEN 키와 봇 토큰 값을 주입한 뒤, 코드 상에서는 process.env.DISCORD_TOKEN (Node.js) 또는 os.getenv("DISCORD_TOKEN") (Python)과 같은 런타임 바인딩 방식으로 토큰을 획득하게끔 설계하십시오.
  • 디스호스트는 대시보드 환경변수 스토리지 데이터를 외부로 노출하지 않으며 강력한 비대칭 암호화 기술로 봉인 보관하므로 가장 안전합니다.

2. Git .gitignore 설정 수칙

깃허브(GitHub) 등 공개 리포지토리에 소스코드를 푸시할 때 로컬 테스트용 설정 파일인 .env가 함께 업로드되어 전 세계에 노출되는 사고가 자주 발생합니다.

프로젝트 루트 폴더에 .gitignore 파일을 생성하고 아래의 설정 기밀 경로들을 반드시 등록하여 커밋 대상에서 필터 제외하십시오:

# 로컬 개발용 환경 변수 파일 제외
.env
.env.local

# Node.js 패키지 볼륨 폴더 및 시스템 로그 제외
node_modules/
npm-debug.log*

# Python 가상환경 및 캐시 제외
.venv/
venv/
__pycache__/
*.pyc

3. 토큰 유출 사고 시 응급 대처 행동 요령

만약 깃허브 공개 저장소에 코드가 커밋되어 디스코드 본사 또는 감시 봇으로부터 토큰 유출 경고를 수신했거나 유출이 의심된다면, 지체 없이 아래 시퀀스를 밟아야 합니다:

  1. 토큰 리셋 (1순위):
    • 디스코드 개발자 센터로 즉시 이동합니다.
    • 본인 봇 설정의 Bot 탭으로 진입하여 Reset Token 버튼을 강제 실행합니다.
    • 이 동작을 밟는 즉시 기존에 유출되었던 과거 토큰의 권한은 무효화되므로 해커가 더 이상 봇을 움직일 수 없습니다.
  2. 대시보드 환경변수 수정:
    • 새로 발급받은 봇 토큰을 복사합니다.
    • 디스호스트 상세 패널의 환경 변수 탭으로 이동하여 기존 DISCORD_TOKEN 항목에 새 토큰을 덮어쓰고 저장합니다.
  3. 봇 재시작:
    • 대시보드 상단 제어바에서 재시작 (Restart)을 눌러 새 토큰이 프로세스 메모리에 연동되도록 재부팅합니다.