SkyClaw, AI 에이전트를 위한 암호화된 채팅 기반 API 키 설정 기능 추가

SkyClaw는 LLM이나 메시징 플랫폼에 노출되지 않도록 채팅 인터페이스를 통해 API 키를 안전하게 설정하는 방법을 소개합니다. 이 시스템은 키를 변경하기 위해 SSH 접근, 설정 파일 편집 및 서비스 재시작이 필요한 기존의 자체 호스팅 에이전트의 워크플로우 마찰을 해결합니다.
작동 방식
이 솔루션은 두 가지 보안 계층을 가지고 있습니다:
- 계층 1 — 시스템 차단: 키 명령어(
/addkey,/keys,/removekey)와 암호화된 블록(enc:v1:로 시작)은 메시지가 에이전트에 도달하기 전에main.rs에서 차단됩니다. Rust 프로세스는 이를 복호화, 검증하고 볼트에 저장하여 LLM이 자격 증명 작업에 전혀 관여하지 않도록 합니다. - 계층 2 — OTK 암호화: RFC 3986에 따라 서버로 전송되지 않는 URL 조각(#)을 사용합니다. 흐름: 봇이
setup.page/#one-time-256bit-key를 전송하고, 브라우저는 WebCrypto를 사용하여 AES-256-GCM으로 API 키를 로컬에서 암호화하며, 사용자는 암호화된 블록을 채팅에 다시 붙여넣고, 봇은 시스템 계층에서 복호화하여 저장한 후 일회용 키를 폐기합니다.
보안 결과
- 메시징 플랫폼은 암호문만 확인합니다(OTK 없이는 무용지물)
- LLM은 아무것도 확인하지 않습니다(에이전트 루프 전에 차단됨)
- GitHub Pages는
GET /setup만 확인합니다 - 텍스트를 송수신할 수 있는 모든 플랫폼에서 작동합니다
다른 프로젝트와의 비교
소스는 현재 솔루션의 한계를 확인합니다:
- OpenClaw: 설정 파일, 환경 변수, CLI 마법사, 선택적 외부 비밀 관리자를 사용합니다. GitHub 이슈 #11829은 "OpenClaw는 현재 API 키가 LLM에 유출되거나 채팅에 노출될 수 있는 여러 경로를 가지고 있습니다."라고 명시합니다. 이슈 #19137은
config.get이 API 키를 세션 기록 JSONL 파일에 유출하는 것을 문서화합니다. - OpenFang (Rust):
config.toml(api_key_env = "ANTHROPIC_API_KEY")에서 참조되는 환경 변수, CLI 초기화 마법사, 대시보드 UI를 사용합니다.Zeroizing<String>및 AES-256-GCM 자격 증명 볼트로 강력한 저장 보안을 제공하지만, 채팅에서 안전한 키 수신 기능은 없습니다. - NanoClaw:
/setup스킬 중에 설정된ANTHROPIC_API_KEY또는CLAUDE_CODE_OAUTH_TOKEN환경 변수를 사용합니다. Docker 샌드박스 모드에서는 프록시 기반 시스템이 센티널 값을 대체하지만, 여전히 메시징을 통한 암호화된 키 전송은 없습니다. - PicoClaw: 환경 변수 재정의(
PICOCLAW_PROVIDERS_*)와 함께~/.picoclaw/config.json을 사용합니다. 이슈 #972는 자가 치유 로직이 config.json을 읽고 원시 API 키를 채팅 로그에 반향할 때 하위 에이전트 자격 증명 유출을 문서화합니다.
OpenClaw의 이슈 #7916이 명시한 근본적인 문제는 "키는 [시스템이] 작동하기 위해 평문이어야 합니다."입니다. 외부 비밀 관리자는 평문 노출을 런타임으로 연기하지만, 전송을 암호화하는 사람은 없습니다.
기술적 세부 사항
URL 조각은 RFC 3986에 따라 # 및 그 뒤의 모든 내용이 HTTP 요청에서 서버로 전송되지 않고, Referer 헤더에 포함되지 않으며, CDN/프록시/웹 서버에 기록되지 않고, 완전히 클라이언트 측에서 처리되기 때문에 작동합니다. GitHub Pages는 OTK에 대한 지식 없이 GET /setup을 수신합니다.
main.rs의 메시지 핸들러는 엄격한 우선 순위를 가지고 있습니다: 키 명령어와 암호화된 블록이 먼저 일치하며 즉시 반환되어 에이전트로 넘어가지 않습니다. LLM은 모든 검사를 통과한 메시지만 수신합니다. 출력 측에서는 SecretCensorChannel이 모든 발신 메시지를 래핑합니다.
📖 전체 소스 읽기: r/openclaw
👀 See Also

작업 관찰자: AI 코딩 에이전트의 스킬 향상을 자동화하는 메타 스킬
Task-observer는 AI 에이전트의 모든 스킬을 스스로 개선하는 메타 스킬로, 자기 자신까지 포함합니다. 3개월 동안 40개 스킬에서 600건의 개선을 기록하고, 작업 중 발견한 격차로부터 자동으로 스킬을 생성합니다.

CodeTalk: 오픈소스 도구가 Claude Code CLI에 음성 반영 기능을 추가합니다
CodeTalk은 Microsoft의 edge-tts를 사용하여 Claude Code CLI 응답에 음성 관찰을 추가하는 Python 도구입니다. Claude가 임베드한 텍스트를 추출하여 자연스러운 신경망 TTS로 스피커를 통해 재생합니다.

Claude Desktop에 MCP 서버를 통해 실시간 주식 분석 기능이 추가되었습니다
한 개발자가 Claude Desktop과 Claude Code에 실시간 주식 분석 기능을 추가하는 MCP 서버를 구축했습니다. 이 도구는 P/E 비율, 내부자 활동, 최근 실적 등 현재 주식 지표에 대해 질문할 때 Claude가 훈련 데이터에서 추측해야 하는 한계를 해결합니다.

클로드 워치: AI 생성 코드 로직을 시각화하는 오픈소스 도구
Claude Watch는 Claude Code와 같은 AI 코딩 에이전트로 구축된 프로젝트에 대한 그래픽 시맨틱 시각화를 제공하는 오픈 소스 도구입니다. 코드를 중첩 방식으로 분석하며 프로젝트 논리에 대한 질문에 답변하기 위한 AI 기반 검색 기능을 포함합니다.