Community코딩 & 개발github.com

furuse-kazufumi/llmesh

MCP 기반 보안 우선 로컬 LLM 스웜: 서명된 피어 발견, 폐쇄 실패 검증, 감사 추적, Docker 기반 PoC 노드 제공

llmesh란 무엇인가요?

llmesh는 다수의 로컬 LLM 에이전트가 안전하게 협업할 수 있는 스웜(swarm) 아키텍처를 제공합니다. MCP(Model Context Protocol)를 기반으로 하여, 각 에이전트는 서명된 피어 발견을 통해 신뢰할 수 있는 통신 채널을 구축하며, 인증되지 않은 요청은 '폐쇄 실패(fail-closed)' 방식으로 차단됩니다. 모든 상호작용은 감사 추적(audit trail)되어 보안 사고 발생 시 추적이 가능하며, Docker 기반 PoC(Proof of Concept) 노드를 통해 쉽게 테스트해볼 수 있습니다. 이 프로젝트는 로컬 환경에서 동작하므로 데이터 프라이버시를 유지하면서 여러 LLM 에이전트가 협력해야 하는 시나리오(예: 다중 에이전트 워크플로우, 안전한 데이터 분석)에 이상적입니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add furuse-kazufumi/llmesh

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

llmesh은(는) 무엇을 하나요?

보안 우선 로컬 LLM 스웜 - MCP 기반, 서명된 피어 발견, 폐쇄 실패 검증, 감사 추적, Docker 기반 PoC 노드

개요

llmesh는 다수의 로컬 LLM 에이전트가 MCP(Model Context Protocol)를 통해 안전하게 협업할 수 있는 스웜 아키텍처를 제공합니다.

주요 기능

  • 서명된 피어 발견: 각 노드는 암호학적 서명을 통해 자신의 신원을 증명하고 신뢰할 수 있는 피어만 검색합니다.
  • 폐쇄 실패 검증: 인증되지 않은 모든 요청은 기본적으로 거부되어 보안 경계를 유지합니다.
  • 감사 추적: 모든 상호작용은 감사 로그에 기록되어 추적 가능성을 보장합니다.
  • Docker 기반 PoC 노드: Docker 컨테이너로 PoC 노드를 쉽게 시작하여 스웜을 실험해볼 수 있습니다.

시작하기

사전 요구 사항

  • Docker 및 Docker Compose
  • Python 3.10+
  • llmesh 저장소 클론

빠른 시작

# 저장소 클론
git clone https://github.com/furuse-kazufumi/llmesh.git
cd llmesh

# Docker 컨테이너를 사용하여 PoC 노드 시작
docker-compose up -d

# 노드가 피어를 발견하는지 확인
docker-compose logs -f

아키텍처

llmesh는 중앙 조정자 없이 각 노드가 피어 투 피어로 통신하는 분산 아키텍처를 채택합니다.

  1. 노드 등록: 각 노드는 시작 시 서명된 인증서를 생성합니다.
  2. 피어 발견: 노드는 로컬 네트워크를 브로드캐스트하여 서명된 인증서를 가진 다른 노드를 발견합니다.
  3. 안전한 통신: 발견된 피어 간의 모든 통신은 MCP를 통해 이루어지며, 서명 기반 인증으로 보호됩니다.
  4. 감사: 모든 메시지 교환은 각 노드의 감사 로그에 기록됩니다.

설정

config.yaml 파일을 통해 다음을 설정할 수 있습니다:

  • node.id: 노드 식별자
  • node.listen_port: MCP 통신을 위한 포트
  • discovery.broadcast_interval: 피어 발견 브로드캐스트 간격 (초)
  • security.signature_algorithm: 서명 알고리즘 (기본값: Ed25519)
  • logging.level: 감사 로그 레벨

예시 config.yaml:

node:
  id: "node-alpha"
  listen_port: 9000
discovery:
  broadcast_interval: 30
security:
  signature_algorithm: "Ed25519"
logging:
  level: "INFO"

사용 예

두 개의 노드로 스웜 실행하기

# 터미널 1: 첫 번째 PoC 노드
docker-compose run -e NODE_ID=node1 -e LISTEN_PORT=9000 poc-node

# 터미널 2: 두 번째 PoC 노드
docker-compose run -e NODE_ID=node2 -e LISTEN_PORT=9001 poc-node

노드가 로그에서 서로를 발견하는 것을 확인할 수 있습니다.

보안 모델

llmesh는 다음 원칙을 기반으로 설계되었습니다:

  • 최소 권한: 각 노드는 필요한 MCP 도구만 노출합니다.
  • 폐쇄 실패: 기본적으로 모든 연결은 거부됩니다. 명시적으로 화이트리스트에 등록된 피어만 통신할 수 있습니다.
  • 암호학적 증명: 모든 피어는 Ed25519 서명을 통해 신원을 증명해야 합니다.
  • 변조 방지 감사: 감사 로그는 체인 해싱되어 사후 변조가 불가능합니다.

라이선스

MIT

기여

기여를 환영합니다! 자세한 내용은 CONTRIBUTING.md를 참조하세요.

관련 스킬