피드로 돌아가기
I still don't want to give Claude SSH access, so I built a doctor for my homelab
Dev.toDev.to
DevOps

SSH 권한 없는 AI Ops 구현을 위한 Bounded Tooling 설계

I still don't want to give Claude SSH access, so I built a doctor for my homelab

SangheeSon2026년 5월 18일5intermediate

Context

AI 에이전트에게 SSH Shell 접근 권한을 부여할 때 발생하는 무제한적인 Blast Radius와 보안 리스크 분석. 단순 메트릭 나열식 대시보드가 제공하지 못하는 '이상 징후 판단' 및 '해석' 단계의 부재를 해결하고자 함.

Technical Solution

  • Shell Interface를 대체하는 Bounded Tooling 구조 설계를 통한 AI 접근 범위 제한
  • Read-only 기반의 Structured JSON Output 제공으로 AI의 파싱 오류 및 Hallucination 방지
  • doctor 명령어를 통한 CPU, Memory, Disk usage 및 Container 상태의 논리적 상태 검사 로직 구현
  • report 기능을 통한 Snapshot 비교 기반의 Change Detection 메커니즘 적용
  • Go 기반의 Single Binary 구조를 채택하여 별도 Daemon이나 DB 없는 Zero-dependency 환경 구축
  • AI를 Operator가 아닌 Interpreter로 정의하여 시스템 제어권과 해석권을 분리하는 보안 모델 적용

- AI 에이전트 도입 시 Full Shell 권한 대신 목적별 Narrow Tooling 제공 검토 - AI 가독성을 위해 Terminal Text가 아닌 Machine-readable JSON 인터페이스 설계 - 단순 Metric 수집을 넘어 'Urgency'와 'Next Step'을 포함한 상태 진단 로직 구현 - 시스템 상태의 정적 분석(Doctor)과 시계열 변화 분석(Report)을 분리하여 모니터링 체계 구축

원문 읽기