피드로 돌아가기
I gave Claude SSH access to my server — here's the consent gate that makes it safe
Dev.toDev.to
Security

Human-in-the-loop 기반의 단계별 권한 제어 MCP 서버 구축

I gave Claude SSH access to my server — here's the consent gate that makes it safe

Muhammad Hasnain2026년 6월 27일2intermediate

Context

AI Assistant에게 서버 Shell 권한 부여 시 발생 가능한 예기치 못한 서비스 중단 및 데이터 유실 위험 존재. 무제한 권한 제공에 따른 보안 취약점과 운영 리스크 해결을 위한 제어 계층 필요성 대두.

Technical Solution

  • Read-only 권한의 자유로운 허용과 State 변경 명령에 대한 Human Consent Gate 도입으로 보안성 확보
  • SAFE, PROVISION, FULL의 3단계 Trust Level 설계 및 시간 제한(Expiry) 설정을 통한 최소 권한 원칙 적용
  • Out-of-band 방식으로 전달되는 Secret Token 검증을 통해 AI의 Self-approval 가능성 원천 차단
  • Shell-quoting 및 커맨드 체인 분리 검증을 통한 Command Injection 공격 방어
  • 서버 출력값에 데이터 태그를 부착하여 LLM의 Prompt Injection 리스크 최소화
  • 모든 명령 및 권한 변경 이력을 JSON-lines 기반의 Audit Log로 기록하여 추적성 확보

1. AI 자동화 도구 도입 시 Read/Write 권한을 엄격히 분리했는가

2. 상태 변경 명령에 대해 인간의 명시적 승인 단계(Consent Gate)가 존재하는가

3. 권한 상승 시 유효 시간(TTL)을 설정하여 노출 시간을 최소화했는가

4. AI 모델이 직접 접근할 수 없는 별도의 인증 채널(Out-of-band)을 활용하는가

5. 모든 실행 명령어에 대해 Shell-quoting 및 개별 파편 검증을 수행하는가

원문 읽기