Secure Minions 프로토콜을 통한 암호화된 Ollama‑frontier 모델 협업 가능
TL;DR
Secure Minions는 Minions 프레임워크에 종단간 암호화를 추가하여, 로컬 Ollama 모델(예: Gemma 3 4B)이 전송 또는 원격 추론 과정에서 평문 노출 없이 frontier cloud 모델(예: GPT-4o)과 협업할 수 있도록 합니다.
Secure Minions가 추가하는 기능
Secure Minions는 로컬-원격 통신 채널 전체를 암호화하여 클라우드 제공업체로부터도 보호함으로써 기존 Minions 프로토콜을 확장합니다. 핵심 혁신은 NVIDIA Hopper H100 GPU의 confidential computing mode를 사용하여 하드웨어로 보호된 메모리 내부에서 복호화, 추론 및 재암호화를 수행하는 보안 엔클레이브(secure enclave)를 생성하는 것입니다.
핵심 보안 메커니즘
- Key Exchange – 로컬 장치와 H100 GPU 간의 상호 키 교환을 수행합니다.
- Remote Attestation – GPU가 실제 장치인지, 그리고 confidential mode로 실행 중인지 증명하여 위조된 하드웨어를 방지합니다.
- Secure Enclave – GPU 내부의 모든 메모리와 연산은 암호화됩니다. 호스트의 root 사용자조차 평문을 읽을 수 없습니다.
- End-to-End Encryption – 로컬 LLM 메시지는 전송 전에 암호화되고, 엔클레이브 내부에서만 복호화되며, 클라우드 LLM에 의해 처리된 후 재암호화되어 다시 전송됩니다.
"No plaintext is exposed – during transmission or remote LLM inference." – Hazy Research announcement
성능 영향
최대 ~8k tokens와 같은 대규모 프롬프트와 Qwen-32B와 같은 대규모 모델을 사용한 테스트 결과, 1% 미만의 추가 지연 시간을 보여주었으며, 이는 강력한 기밀성을 유지하면서도 응답성을 저해하지 않음을 입증합니다.
비용 및 개인정보 보호 이점점
- Cost Savings – 협업을 위한 최소한의 암호화된 토큰만 전송함으로써, 프로토콜은 frontier model의 정확도를 98% 유지하면서도 기존 Minions 시스템에서 보고된 5x-30x 클라우드 비용 절감 효과를 유지합니다.
- Privacy Upside – 민감한 컨텍스트는 평문 상태로 로컬 장치를 떠나지 않으므로, 로컬 우선(local-first) LLM 설정의 주요 개인정보 보호 문제를 해결합니다.
시작하기
# Clone the Minions repository
git clone https://github.com/HazyResearch/minions.git
cd minions
# Optional: create a virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install the package in editable mode
pip install -e .
# Pull a local Ollama model (e.g., Gemma 3 4B)
ollama pull gemma3:4b
Secure Demo 실행하기
리포지토리는 기존 Minion 프로토콜과 Secure Minion (MinionS) 프로토콜을 모두 보여주는 Streamlit 앱을 포함하고 있습니다.
streamlit run app.py
앱 설정:
- Remote Provider: "Secure"
- Secure Endpoint URL:
http://20.57.33.122:5056 - Local Client: Ollama와 선택한 모델.

Python 사용 예시
from minions.clients.secure import SecureClient
from minions.clients.ollama import OllamaClient
from minions.minion import Minion
remote_client = SecureClient(
endpoint_url="http://20.57.33.122:5056",
verify_attestation=True,
)
local_client = OllamaClient(model_name="gemma3:4b")
protocol = Minion(local_client=local_client, remote_client=remote_client)
task = "How many grand slams did he win"
context = """John Doe, a legendary tennis player, ..."""
output = protocol(
task=task,
doc_metadata="file",
context=[context],
max_rounds=5,
)
print(output)
python example.py로 스크립트를 실행합니다.
더 읽어보기
- Minions GitHub repository: https://github.com/HazyResearch/minions
- Hazy Research security blog post: https://hazyresearch.stanford.edu/blog/2025-05-12-security
- Original Minions paper (ICML 2025): https://arxiv.org/abs/2502.15964
Sources
관련
- Dispatch
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트