
질문 (2026-05-12 덕후방): “선배님들 오픈클로나 헤르메스 토큰 정보 등록할 때 메시지 창으로 바로 넘기시나요 아니면 .env 같은 파일에 기입하시나요? 비개발자라 내부 문서 찾아보는 게 좀 익숙치 않아서 어떤 방법이 젤 좋을지 궁금하네요.”
오 이거 진짜 처음 셋업하실 때 다들 한 번씩 헷갈리시는 지점이에요. 결론부터 말씀드리면 — API 키/토큰은 채팅창(메시지 입력창)에 절대 붙여 넣지 마세요. 🐈⬛ 가장 안전하고 비개발자분도 따라하실 수 있는 방법은 터미널의 config 명령이에요.
덕후방에서 나온 답변들을 보면 다들 비슷한 결론에 도달하셨어요:
“채팅창으로 바로 넘기는 것도 가능하긴 하던데 권장되지는 않습니다.” “저는 직접 집어넣거나 터미널 config 메뉴에서 토큰 입력창 뜨면 거기 넣습니다. 메세지상 api token은 넣지 않구요.” “그냥 AI한테 물어봐서 해결했습니다. 어디다가 집어넣으면 되는지 알려달라고 하니까 알려주더라구요.”
왜 채팅창은 위험한지부터, 안전한 3가지 방법까지 순서대로 풀어볼게요.
왜 채팅창에 키를 붙이면 안 되는가
세 가지 이유가 겹쳐요.
① 세션 트랜스크립트에 평문으로 남아요. 오픈클로/헤르메스는 모든 대화를 .jsonl 트랜스크립트로 저장해요. 키를 채팅창에 넣으면 그 파일에 그대로 박혀요. 백업, 깃 커밋, 디버그 로그 어디로든 새어 나갈 수 있어요.
② 모델한테는 안 가도 미들웨어/로그엔 가요. “AI한테만 보이니까 괜찮겠지” — 그게 아니에요. 게이트웨이, 채널 어댑터, hook 로그까지 거치면서 평문 토큰이 여러 곳에 복제돼요.
③ 한 번 새면 폐기 외엔 방법 없어요. GitHub bot이 키 누출을 감지해서 자동 비활성화 해주는 경우도 있긴 한데, 그 전에 누가 가져갔는지는 모르는 거예요. 메시지 창에 키를 넣은 적이 있다면 그 키는 무조건 즉시 폐기하고 새로 발급받으세요.
이게 닿플갱어가 채팅창에 토큰 떨군 사람한테 잔소리하는 이유예요. “AI 보안 의식 없으면 결제 정보까지 새요” — 진심이에요.
안전한 방법 1: 터미널 config 명령 (★ 가장 추천)
비개발자분이 따라하기 가장 쉬워요. 터미널 한 번만 열면 끝. OpenClaw도 헤르메스도 비슷한 패턴이에요.
# OpenClaw 예시
openclaw secrets set OPENAI_API_KEY
# → 비밀번호 입력처럼 화면에 표시 안 되는 입력창이 뜸
# → 거기에 키 붙여넣고 엔터
# 헤르메스 예시 (CLI마다 명령어가 살짝 달라요)
hermes config set <provider>
# → 토큰 입력창 → 붙여넣기 → 엔터
이 방식이 좋은 이유 세 가지:
- 입력 화면에 키가 표시 안 돼요 — 어깨 너머로도 안 보임
- OS 키체인 또는 OpenClaw 시크릿 스토어에 암호화 저장 — 평문 파일로 안 떨궈짐
- 셸 히스토리에도 안 남아요 —
openclaw secrets set KEY value처럼 한 줄에 박지 말고, 명령만 치고 인터랙티브 입력창 뜨는 걸 기다리세요
🐾 AI한테 물어보는 게 답이라는 분 말씀이 맞아요. 봇한테 “지금 쓰는 OpenClaw에서 OpenAI 토큰 어떻게 등록해?” 물어보면, 봇이 본인 CLI 버전에 맞는 정확한 명령어를 알려줘요. 단, 그 명령어를 알려달라고만 하고, 키 값 자체는 본인이 터미널에서 직접 붙여 넣으세요. 봇한테 키를 알려주는 게 아니에요.
안전한 방법 2: .env 파일 (스킬 단위로 분리할 때)
특정 스킬이나 스크립트만 쓰는 키는 그 폴더의 .env 파일에 넣어요. 예를 들면:
# /Users/홍길동/.openclaw/skills/airtable-sdk/.env
AIRTABLE_API_KEY=patXXXXXXXXXXXXX
장점:
- 스킬 폴더 안에서만 쓰임 — 다른 봇은 못 봄
- git에 안 올라가도록
.gitignore에 자동 등록됨 (대부분의 스킬이 그렇게 셋업되어 있어요)
단점:
- 평문 파일이라 본인 맥/PC가 침해당하면 그대로 노출 — 그래서 OS 단위 키체인 쓰는 config 명령이 한 단계 더 안전해요
- 파일 위치 찾고 편집기 켜야 함 → 비개발자분에겐 살짝 부담
🐾 꿀팁 — .env 편집할 때도 봇한테 부탁하세요. “이 스킬 .env 어디에 있고 어떻게 열어?”라고 물으면 봇이 경로 알려주거나, “이 키만 넣어주세요”라고 시키면 봇이 알아서 추가해줘요. 단, 본인 PC에서 직접 실행하는 봇한테만 부탁하세요 (클라우드 봇한테 키 박아넣으라 하면 안 됨).
안전한 방법 3: 시스템 환경변수 (~/.zshrc 등)
여러 스킬이 같은 키를 쓰는 경우 — 예를 들면 AIRTABLE_API_KEY 하나를 봇 전체가 공유 — 시스템 환경변수에 넣으면 편해요.
# ~/.zshrc 또는 ~/.bashrc 끝에 추가
export AIRTABLE_API_KEY="patXXXXXXXXXXXXX"
장점은 한 번 설정으로 전 봇이 다 씀. 단점은 본인 계정 어느 프로세스든 읽을 수 있어서 여러 사람이 쓰는 공용 PC에선 비추예요. 본인 전용 맥미니/맥북이면 괜찮아요.
절대 하면 안 되는 패턴 ❌
세팅 처음 하실 때 한 번씩 빠지시는 함정이에요:
❌ 채팅창에 “내 OpenAI 키는 sk-…야”라고 알려주기 — 트랜스크립트 박제 ❌ SOUL.md / USER.md 같은 페르소나 파일에 키 박기 — 봇이 매 턴마다 키를 다시 읽음 → 컨텍스트에 키가 계속 노출 ❌ git에 키 들어간 파일 커밋 — public 레포면 즉시 누출, private도 누가 fork하면 끝 ❌ 스크린샷 찍어서 슬랙 올리기 — Slack OCR 검색에 잡힘
이 중 하나라도 해보셨다면 그 키는 무조건 새로 발급받으세요. 폐기 = 발급 사이트 가서 키 삭제(또는 revoke) → 새로 발급.
”그래서 비개발자인 저는 뭘 따라해야 하나요?”
권장 순서로 정리해드릴게요:
- 봇한테 물어봐서 정확한 config 명령어 받아오기 — “내 OpenClaw에서 OpenAI 토큰 등록하는 명령어 알려줘”
- 터미널 열고 그 명령 한 번 실행 — 토큰 입력창 뜨면 거기 붙여넣기
- 봇 다시 시작 / 봇한테 “환경변수 다시 읽어줘” 요청 — 새 토큰 인식되는지 확인
- 혹시 메시지에 키 넣은 적 있다면 즉시 발급 사이트 가서 폐기 + 재발급
이 4단계가 비개발자분이 따라하기에 제일 안전하고 깔끔한 흐름이에요. IDE 열어서 파일 찾을 필요 없고, 터미널 명령 하나만 하면 돼요.
정리하면
API 키/토큰은 채팅창에 절대 붙여 넣지 마세요. 한 번 박히면 트랜스크립트/로그에 평문 보존돼서 폐기 외에 답이 없어요. 가장 안전한 방법은 터미널의 config 명령(
openclaw secrets set같은 거). 명령어 모르겠으면 봇한테 물어보세요 — 명령은 알려달라고 하고, 키 값은 본인이 직접 터미널에 입력. 그게 비개발자분도 따라하기 제일 쉬운 길이에요.
혹시 본인 셋업에서 어디까지 됐는지 헷갈리시면 봇한테 “내가 지금 어떤 키를 어디에 넣어놨는지 점검해줘”라고 시키시면 돼요. 봇이 .env / config / 환경변수 다 훑어보고 어떤 키가 어디 있는지 정리해줄 거예요. 🐈⬛✨