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

soul.py는 간단한 파일 기반 접근 방식으로 로컬 LLM에 영구 메모리를 추가합니다.
Tools

soul.py는 간단한 파일 기반 접근 방식으로 로컬 LLM에 영구 메모리를 추가합니다.

soul.py는 두 개의 마크다운 파일을 사용하여 신원 정보와 대화 기록을 저장함으로써 Ollama, OpenAI, Anthropic 모델과 함께 작동하며 데이터베이스나 서버가 필요 없는 LLM에 지속적인 메모리를 추가하는 Python 라이브러리입니다.

OpenClawRadar
260개 이상의 AI 에이전트 및 도구 모음집 (오픈소스 및 셀프 호스팅 중심)
Tools

260개 이상의 AI 에이전트 및 도구 모음집 (오픈소스 및 셀프 호스팅 중심)

포괄적인 GitHub 저장소는 260개 이상의 AI 에이전트와 프레임워크를 나열하며, Ollama, OpenClaw, DeerFlow를 포함한 오픈소스, 자체 호스팅, 로컬 우선 옵션을 강조합니다.

OpenClawRadar
로컬 트렐로 스타일 프로젝트 관리자, 마크다운 파일을 사용하는 OpenClaw 에이전트용
Tools

로컬 트렐로 스타일 프로젝트 관리자, 마크다운 파일을 사용하는 OpenClaw 에이전트용

한 개발자가 OpenClaw 에이전트와 함께 작동하도록 특별히 설계된 Trello 스타일 프로젝트 관리 시스템을 만들었습니다. 이 도구는 모든 것을 로컬로 유지하여 보안을 유지하면서도, Node.js + Express를 API에, React + react-trello를 UI에, YAML 프론트매터가 포함된 마크다운 파일을 데이터 계층으로 사용합니다. 시스템은 OpenClaw 머신에서 실행되며 로컬에서 접근 가능하며, 에이전트는 파일 시스템에서 카드 파일을 직접 읽고 씁니다.

OpenClawRadar
ddash: URL 기반 저장 및 Claude 코드 통합 기능을 갖춘 Mermaid 다이어그램 도구
Tools

ddash: URL 기반 저장 및 Claude 코드 통합 기능을 갖춘 Mermaid 다이어그램 도구

ddash는 전체 다이어그램이 URL 해시에 압축되어 저장되는 무료 Mermaid 다이어그램 도구로, 백엔드, 계정 또는 저장소가 필요하지 않습니다. Claude Code 스킬을 포함하고 있어 /diagram the auth flow와 같은 명령어로 대화 중 직접 다이어그램을 생성하고 열 수 있습니다.

OpenClawRadar