본문으로 건너뛰기
피드

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

devops 약 5분
vote
0
댓글
북마크

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

하이퍼스케일 데이터, 비트코인 채굴장을 최대 30억 달러짜리 AI 데이터센터로 전환

하이퍼스케일 데이터의 자회사 ACS가 캘리포니아 네오클라우드 업체와 미시간 캠퍼스 AI 컴퓨팅 용량 공급 계약을 맺었어. 초기 20메가와트로 시작해 최대 52메가와트까지 늘릴 수 있고, 모든 옵션이 행사되면 계약 규모가 30억 달러를 넘을 수 있다는 내용이야.

devops

KT, 분사했던 KT클라우드 다시 합치나…AIDC 투자 때문에 판 다시 짜는 중

KT가 2022년 분사한 KT클라우드를 다시 합치는 방안을 검토 중인 것으로 알려졌어. 클라우드, 인공지능 데이터센터, 네트워크 인프라를 한 몸처럼 묶어 B2B 경쟁력을 키우려는 흐름으로 읽혀. 다만 KT는 아직 구체적으로 검토한 바 없다는 입장이야.

devops

KT, KT클라우드 다시 합치나…AI 인프라 패키지 전략 시동

KT가 2022년 분사했던 KT클라우드를 다시 흡수하는 방안을 검토 중인 것으로 알려졌다. 인공지능 확산으로 클라우드, 데이터센터, 네트워크를 묶은 기업간거래 인프라 수요가 커지면서 KT 본체의 자금력과 영업력을 활용하려는 전략으로 보인다. 다만 외부 투자자 지분 처리와 통신·클라우드 조직 통합이 실제 관건이다.

devops

Bunny DNS, 쿼리 과금 없애고 500개 도메인까지 무료로 푼다

bunny.net이 Bunny DNS의 DNS 쿼리 과금을 없애고 계정당 최대 500개 도메인까지 무료 DNS 호스팅을 제공하기로 했어. 단순한 무료화가 아니라 CDN, 엣지 보안, 스마트 라우팅을 DNS에서 바로 연결하는 방향으로 플랫폼 진입점을 재정리하는 움직임이야.

devops

가비아, AWS 중소·중견기업 클라우드 역량 인증 받음

가비아가 AWS의 ‘AWS SMB 컴피턴시’를 취득했다. 이 인증은 중소·중견기업의 클라우드 전환과 운영 지원 역량을 검증하는 제도로, 가비아는 운영 프레임워크와 고객 레퍼런스를 인정받았다.