나: Claude Code를 위한 컨텍스트 인식 권한 가드

✍️ OpenClawRadar📅 게시일: March 12, 2026🔗 Source
나: Claude Code를 위한 컨텍스트 인식 권한 가드
Ad

nah가 하는 일

nah는 Claude Code와 도구 실행 사이에 위치하는 Python 기반 권한 가드입니다. 컨텍스트 인식 의사 결정을 추가하여 Claude의 이진 허용-거부 권한 시스템의 한계를 해결합니다. 이 도구는 모든 도구 호출이 실행되기 전에 가로채어 실제 수행하는 작업에 따라 분류합니다.

작동 방식

모든 도구 호출은 먼저 밀리초 단위로 실행되는 결정론적 구조 분류기(LLM 불필요)를 통과합니다. 분류기는 명령을 다음과 같은 동작 유형에 매핑합니다:

  • filesystem_read
  • filesystem_delete
  • package_run
  • db_write
  • git_history_rewrite
  • lang_exec

각 동작 유형에 대해 nah는 네 가지 정책 중 하나를 적용합니다: 허용, 컨텍스트(대상에 따라 다름), 질문, 또는 차단. 동일한 명령도 컨텍스트에 따라 다른 결정을 받습니다:

  • rm dist/bundle.js (프로젝트 내부) → 허용
  • rm ~/.bashrc (프로젝트 외부) → 질문
  • git push --force → 질문 (기록 재작성)
  • base64 -d | bash → 차단 (디코딩 + 실행 파이프)

보호 대상

nah는 도구에 따라 다른 측면을 확인합니다:

  • Bash: 구조적 명령 분류 — 동작 유형, 파이프 구성, 셀 언래핑
  • Read: 민감 경로 감지 (~/.ssh, ~/.aws, .env, ...)
  • Write: 경로 확인 + 프로젝트 경계 + 내용 검사 (비밀, 유출, 파괴적 페이로드)
  • Edit: 경로 확인 + 프로젝트 경계 + 교체 문자열에 대한 내용 검사
  • Glob: 민감 위치의 디렉토리 스캐닝 방지
  • Grep: 프로젝트 외부에서 자격 증명 검색 패턴 포착
  • MCP 도구: 타사 도구 서버에 대한 일반 분류 (mcp__*)
Ad

설치 및 사용법

설치: pip install nah && nah install

제거: nah uninstall && pip uninstall nah

이 도구는 구성 없이도 합리적인 기본값으로 즉시 작동합니다. Claude Code 내에서 /nah-demo 명령으로 보안 데모를 실행할 수 있으며, 이는 원격 코드 실행, 데이터 유출, 난독화된 명령을 포함한 8개 위협 범주에 걸친 25개의 실제 사례를 다룹니다.

구성 옵션

동작을 사용자 정의하려면 다음을 통해 구성할 수 있습니다:

  • ~/.config/nah/config.yaml (전역)
  • .nah.yaml (프로젝트별, 권한만 강화 가능)

구성 예시:

actions:
  filesystem_delete: ask  # 항상 삭제 확인
  git_history_rewrite: block  # 강제 푸시 절대 허용 안 함
  lang_exec: allow  # 인라인 스크립트 신뢰

sensitive_paths: ~/.kube: ask ~/Documents/taxes: block

선택적 LLM 계층

결정론적 분류기가 해결할 수 없는 명령의 경우, nah는 선택적으로 LLM을 참조할 수 있습니다. 흐름은 다음과 같습니다: 도구 호출 → nah (결정론적) → LLM (선택적) → Claude Code 권한 → 실행. 결정론적 계층은 항상 먼저 실행되며, LLM은 남은 "질문" 결정만 해결합니다. LLM이 구성되지 않았거나 사용 불가능한 경우, 결정은 "질문" 상태로 유지되고 사용자에게 프롬프트가 표시됩니다. 지원되는 제공업체에는 Ollama, OpenRouter, OpenAI, Anthropic, Snowflake Cortex가 포함됩니다.

중요 참고사항

개발자들은 Claude Code의 --dangerously-skip-permissions 플래그 사용을 특별히 경고합니다. 우회 모드에서는 훅이 비동기적으로 실행되어 nah가 차단하기 전에 명령이 실행됩니다. 대신 Bash, Read, Glob, Grep와 같은 도구를 허용하고 nah가 이를 보호하도록 하는 것을 권장합니다.

📖 전체 소스 읽기: HN AI Agents

Ad

👀 See Also

cstat: Claude Code를 위한 2ms 성능의 네이티브 Rust 상태 표시줄
Tools

cstat: Claude Code를 위한 2ms 성능의 네이티브 Rust 상태 표시줄

cstat은 네이티브 Rust 바이너리로, 24개의 서브프로세스 생성 제거를 통해 claude-hud의 62ms 상태 표시줄을 2ms 구현으로 대체합니다. 모델 정보, 속도 제한, git 상태, 컨텍스트 창 사용량, 활성 도구, 서브에이전트 및 작업 진행 상황을 표시합니다.

OpenClawRadar
OpenClaw 인도 주식 시장 통합: 다중 에이전트 분석 및 트레이딩 터미널
Tools

OpenClaw 인도 주식 시장 통합: 다중 에이전트 분석 및 트레이딩 터미널

인도 시장을 위한 오픈 소스 트레이딩 터미널이 OpenClaw 스킬 서버로 구성되어, 모든 OpenClaw 에이전트가 로컬 설치 없이 HTTP를 통해 인도 주식 시장 데이터를 가져오고 완전한 분석을 실행할 수 있게 되었습니다. 이 시스템은 7개의 전문 에이전트가 병렬로 작동하여 구조화된 분석과 거래 계획을 생성합니다.

OpenClawRadar
포지: 클로드 코드로 구축된 클로드 코드용 메모리 시스템
Tools

포지: 클로드 코드로 구축된 클로드 코드용 메모리 시스템

한 개발자가 Claude Code 대화에서 결정, 제약 조건, 거부 사항을 자동으로 포착하는 TypeScript 모노레포 MCP 서버인 Forge를 구축했습니다. 이는 6단계 파이프라인을 사용하여 구조화된 데이터를 분류, 추출하고 이벤트 소싱 SQLite 모델에 저장합니다.

OpenClawRadar
사용자 경험: 로컬 LLM에서 OpenClaw에서 Hermes 에이전트로 전환하기
Tools

사용자 경험: 로컬 LLM에서 OpenClaw에서 Hermes 에이전트로 전환하기

한 개발자가 RX 9070 XT GPU(16GB VRAM)에서 Qwen3.5-9B 모델을 사용해 OpenClaw에서 Hermes Agent로 전환한 경험을 공유했습니다. Hermes는 복잡한 작업을 OpenClaw의 50단계 이상 대비 5번의 올바른 도구 호출로 완료했으며, 2분 30초 더 빠르게 실행하면서 RAG, 도구 호출, 지속적 메모리 기능을 유지했습니다.

OpenClawRadar