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

✍️ OpenClawRadar📅 게시일: March 11, 2026🔗 Source
SkyClaw, AI 에이전트를 위한 암호화된 채팅 기반 API 키 설정 기능 추가
Ad

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만 확인합니다
  • 텍스트를 송수신할 수 있는 모든 플랫폼에서 작동합니다
Ad

다른 프로젝트와의 비교

소스는 현재 솔루션의 한계를 확인합니다:

  • 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

Ad

👀 See Also

OneTool MCP 소개: 개발자를 위한 오픈소스 멀티툴
Tools

OneTool MCP 소개: 개발자를 위한 오픈소스 멀티툴

OneTool MCP는 Claude AI를 사용하여 구축되었으며, 웹 검색, 라이브러리 업데이트, 파일 관리와 같은 작업을 위한 100개 이상의 도구를 개발자에게 제공합니다. 도구 사용에 따른 부담이나 컨텍스트 손실 없이 이용할 수 있습니다.

OpenClawRadar
Knowledge Raven: Claude Code로 구축된 모델 불가지론적 지식 베이스 플랫폼
Tools

Knowledge Raven: Claude Code로 구축된 모델 불가지론적 지식 베이스 플랫폼

Knowledge Raven은 MCP 호환 LLM(Claude, GPT 등)이 회사 문서를 검색하고 소스 인용과 함께 특정 섹션을 검색할 수 있도록 하는 지식 베이스 플랫폼입니다. 이 플랫폼은 AI 어시스턴트를 위한 구조화된 권한 인식 메모리 역할을 합니다.

OpenClawRadar
🦀
Tools

Anthropic의 llama.cpp 기반 자연어 오토인코더를 위한 UI 및 서버

Anthropic의 오픈 가중치 Natural Language Autoencoder를 위한 맞춤형 llama.cpp 서버와 Mikupad UI입니다. 활성화 추출, 설명, 재구성 및 설명 편집을 통한 조종을 지원합니다.

OpenClawRadar
클로드 코드의 읽기 도구가 이미지 해상도를 묵시적으로 낮추어 환각을 유발함
Tools

클로드 코드의 읽기 도구가 이미지 해상도를 묵시적으로 낮추어 환각을 유발함

Claude Code의 `read` 도구는 모델이 이미지를 보기 전에 조용히 해상도를 낮추어, 스크린샷에서 텍스트를 추출할 때 출력 품질이 저하되고 인식하지 못한 환각 현상이 발생하게 됩니다.

OpenClawRadar