본문으로 건너뛰기
피드

nah — Claude Code용 컨텍스트 인식 권한 가드

devops 약 5분

Claude Code의 도구별 허용/거부 방식의 한계를 해결하는 오픈소스 보안 가드로, 명령어가 실제로 수행하는 동작을 기준으로 컨텍스트 인식 분류를 수행함

  • 1

    결정론적 구조 분류기가 밀리초 단위로 판단, 애매한 경우만 선택적 LLM 폴백

  • 2

    Bash, Read, Write, Edit, Glob, Grep, MCP 도구 등 7종 가드

  • 3

    23개 내장 액션 타입과 allow/context/ask/block 4단계 정책

  • 4

    프로젝트 .nah.yaml로 정책 강화만 가능, 완화는 전역 설정에서만 허용

  • 5

    8개 위협 카테고리 25개 케이스의 보안 데모 내장

왜 필요한가

  • Claude Code의 기본 권한 시스템은 도구(tool)별 허용/거부 방식인데, 이게 현실에서 안 돌아감. 파일 삭제가 어떤 때는 괜찮고 어떤 때는 치명적이니까. git checkout도 마찬가지임
  • --dangerously-skip-permissions 옵션을 쓰면 편하긴 한데, 추적 안 되는 파일 날리거나 키 유출시키거나 멀웨어 깔리는 건 감수해야 함
  • nah는 도구 호출(tool call)이 실행되기 전에 가로채서, 명령어 이름이 아니라 실제로 뭘 하는지 기준으로 분류하는 오픈소스 가드임 (MIT 라이선스)

💡

> 같은 rm 명령이라도 rm dist/bundle.js(프로젝트 내부)는 허용, rm ~/.bashrc(프로젝트 외부)는 확인 요청으로 처리됨. 컨텍스트가 정책을 결정하는 구조임.

작동 방식

  • 모든 도구 호출은 먼저 결정론적 구조 분류기(deterministic structural classifier)를 거침. LLM 없이 밀리초 단위로 판단함
  • 분류기가 결정 못 하는 애매한 경우에만 선택적으로 LLM에 넘김. LLM이 없거나 응답 불가면 사용자에게 직접 물어봄
  • 지원 LLM 프로바이더: Ollama, OpenRouter, OpenAI, Anthropic, Snowflake Cortex

가드 대상 도구 7종

  • Bash: 명령어 구조 분류 — 액션 타입, 파이프 구성, 셸 언래핑까지 분석
  • Read: 민감 경로 탐지 (~/.ssh, ~/.aws, .env 등)
  • Write: 경로 + 프로젝트 경계 + 콘텐츠 검사 (비밀정보, 유출 페이로드, 파괴적 내용)
  • Edit: 교체 문자열에 대한 경로 + 콘텐츠 검사
  • Glob / Grep: 민감 디렉터리 스캐닝이나 프로젝트 외부 인증정보 검색 패턴 차단
  • MCP 도구: 서드파티 툴 서버(mcp__*)에 대한 범용 분류

정책 체계

  • 23개 내장 액션 타입이 있고, 각각 기본 정책이 있음:
    • allow: filesystem_read, git_safe, package_run
    • context: 경로/프로젝트 상황 보고 결정 — filesystem_write, filesystem_delete, network_outbound
    • ask: 항상 사용자에게 확인 — git_history_rewrite, git_remote_write
    • block: 무조건 차단 — obfuscated (예: base64 -d | bash)
  • 프리셋 3단계: full(기본, 포괄적), minimal(핵심만), none(빈 상태에서 직접 구성)

중요

> 프로젝트 .nah.yaml로 정책을 강화할 수는 있지만, 완화는 불가능함. 악성 레포가 .nah.yaml로 위험 명령을 허용 목록에 넣는 건 원천 차단됨. 전역 설정만 완화 권한이 있음.

설치와 사용

  • nah installsettings.json에 등록하면 모든 Claude 세션에 자동 적용. nah uninstall로 제거
  • nah claude로 훅을 인라인 전달해서 해당 프로세스에만 적용하는 것도 가능
  • 보안 데모 내장: 8개 위협 카테고리에 걸친 25개 라이브 케이스로 테스트 가능 (원격 코드 실행, 데이터 유출, 난독화 명령 등). 약 5분 소요

AI 코딩 에이전트의 권한 관리 문제를 명령어 이름이 아닌 실제 동작 기준으로 해결하는 접근이 인상적. 프로젝트 설정으로 정책 완화를 차단한 보안 설계도 실용적임

댓글

댓글

댓글을 불러오는 중...

devops

디지털 스택을 유럽으로 옮겨보니, 생각보다 꽤 실전적이었다

한 개발자가 분석, 메일, 비밀번호 관리, 컴퓨트, 오브젝트 스토리지, 백업, 이메일, 에러 추적, AI API까지 유럽 중심 스택으로 옮긴 경험을 정리한 글이다. 핵심은 반미 감정이 아니라 데이터가 어디에 있고, 누가 접근할 수 있고, 정치나 기업 정책 변화에 얼마나 휘둘리는지를 의식하자는 얘기다.

devops

개인용 컴퓨터 다음은 개인용 클러스터라는 주장

이 글은 AI 시대에 개인 한 명이 쓰는 컴퓨팅 자원이 점점 ‘클러스터 한 덩어리’ 수준으로 커질 거라고 주장한다. PC가 직장, 취미 개발자, 게임 문화로 퍼졌듯이 개인용 클러스터도 업무용 AI, 오픈소스 실험, 게임 같은 흐름을 타고 대중화될 수 있다는 시나리오다.

devops

AI 에이전트 부하에 흔들린 GitHub, 왜 다른 서비스보다 더 아팠나

GitHub가 최근 몇 달 동안 가용성 저하, 검색 장애, GitHub Actions 문제, 심지어 squash merge에서 커밋이 빠지는 데이터 무결성 사고까지 겪었다. GitHub CTO는 AI 에이전트발 부하 증가를 원인으로 들었지만, 실제로는 2년간 약 3.5배 증가한 부하와 Azure 이전, 오래된 시스템, 조직적 지연이 겹친 문제에 가깝다. 개발자 입장에선 GitHub가 ‘없으면 안 되는 도구’에서 ‘업무를 막는 병목’으로 보이기 시작했다는 게 핵심이다.

devops

한국 클라우드 시장, 이제 GPU랑 데이터센터 싸움으로 넘어감

국내 클라우드 서비스 제공사들이 AI 전환 수요를 잡기 위해 GPUaaS, 데이터센터, 공공 클라우드 사업에 공격적으로 투자하고 있어. 네이버클라우드, KT클라우드, NHN클라우드 모두 2026년 1분기 실적에서 AI 인프라를 핵심 성장축으로 내세웠고, 정부의 2조805억원 규모 GPU 구축 사업이 판을 더 키우는 중이야.

devops

칩값 뛰니 K게임의 콘솔·피시 전환 해법으로 다시 뜨는 클라우드 게임

국내 게임사들이 모바일 중심에서 콘솔·피시로 넘어가려는 타이밍에 고성능 지피유와 콘솔 가격 상승이 발목을 잡고 있다. 이용자 입장에서는 300만원대 게이밍 피시, 오른 콘솔 가격, 스팀 가격 기준 개편까지 겹치면서 고사양 게임 접근성이 떨어지는 상황이다. 업계는 원격 서버에서 게임을 실행해 스트리밍하는 클라우드 게임을 다시 현실적인 대안으로 보고 있다.