Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nova-tracer — NOVA - 프롬프트 인젝션 공격에 대응하는 Claude Code 보호 시스템 | Kitploit
도구/GitHubGitHub/nova-hunting/nova-tracer
Defensive ToolsCode AnalysisThreat IntelligenceLearning & EducationAI SecurityAnomaly Detection
GitHubnova-hunting/nova-tracer

nova-tracer

NOVA - 프롬프트 인젝션 공격에 대응하는 Claude Code 보호 시스템

저장소 보기
94136개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Nova-tracer

에이전트 모니터링 및 가시성

Claude Code를 위한 보안 모니터링 및 프롬프트 인젝션 방어 도구로, NOVA Framework 기반입니다.

기능

  • 세션 추적 - 모든 도구 사용을 타임스탬프 및 메타데이터와 함께 캡처
  • 프롬프트 인젝션 탐지 - 3계층 스캔(키워드, 의미론적 ML, LLM) - 경고와 함께 수동 모니터링
  • 위험 명령 차단 - 실행 전에 파괴적 작업을 적극적으로 차단
  • MCP 및 스킬 추적 - MCP 서버 호출 및 Agent Skills 호출을 상세 분석과 함께 추적
  • 대화형 HTML 보고서 - 시각적 타임라인, 대화 추적, 확장 가능한 이벤트 상세 정보
  • AI 기반 요약 - Claude Haiku를 통한 지능형 세션 요약
  • 구성 가능 - 사용자 정의 보고서 위치, 탐지 임계값 및 규칙

빠른 시작

root@kitploit:~
# 저장소 복제
git clone https://github.com/fr0gger/nova-claude-code-protector.git
cd nova_claude_code_protector

# 전역 설치 (~/.claude/settings.json에 후크 등록)
./install.sh

# Claude Code를 다시 시작하여 후크 활성화

이것으로 끝입니다! 이제 Nova-tracer가 모든 Claude Code 세션을 보호합니다.

설치

사전 요구 사항

  • Python 3.10+
  • UV - Python 패키지 관리자 (설치)
  • jq - JSON 프로세서 (macOS에서는 brew install jq로 설치)

설치

root@kitploit:~
./install.sh

설치 프로그램은 다음을 수행합니다:

  1. 모든 사전 요구 사항이 설치되었는지 확인
  2. ~/.claude/settings.json에 4개의 Nova-tracer 후크 등록
  3. 기존에 구성된 후크가 있다면 유지
  4. 후크 스크립트를 실행 가능하게 설정

제거

root@kitploit:~
./uninstall.sh

제거 프로그램은 다음을 수행합니다:

  1. settings.json에서 Nova-tracer 후크만 제거
  2. 다른 모든 후크 및 설정은 유지
  3. 선택적으로 .nova-tracer/ 디렉터리 정리

작동 방식

Nova-tracer는 함께 작동하는 4개의 Claude Code 후크를 등록합니다:

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                    Claude Code 세션                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  1. SessionStart 후크                                        │
│     └── 세션 JSONL 파일 생성                                 │
│     └── 세션 ID로 추적 초기화                                │
│                                                              │
│  2. PreToolUse 후크 (Bash, Write, Edit)           [ACTIVE]  │
│     └── 명령어 실행 전에 스캔                                │
│     └── 위험한 작업 차단 (rm -rf 등)                         │
│                                                              │
│  3. PostToolUse 후크 (Read, Bash, WebFetch 등) [PASSIVE] │
│     └── 도구 출력에서 프롬프트 인젝션 스캔                  │
│     └── 위협이 감지되면 Claude에 경고                        │
│     └── NOVA 판정과 함께 이벤트 기록                         │
│                                                              │
│  4. SessionEnd 후크                                          │
│     └── 대화형 HTML 보고서 생성                              │
│     └── AI 기반 세션 요약 생성                               │
│     └── .nova-tracer/reports/에 저장                         │
│                                                              │
└─────────────────────────────────────────────────────────────┘

능동적 vs 수동적 보호

Nova-tracer는 두 가지 보호 모드를 제공합니다:

모드

중요: 프롬프트 인젝션 탐지는 수동적입니다. Nova-tracer가 파일이나 웹 페이지에서 프롬프트 인젝션을 감지하면, Claude가 이미 해당 내용을 읽은 상태입니다. Nova-tracer는 Claude에게 해당 내용을 의심스럽게 처리하라는 경고 메시지를 보내지만, Claude가 악성 내용을 보는 것을 막지는 않습니다.

이는 PostToolUse 후크 아키텍처의 한계입니다. 후크는 도구가 실행된 후에 작동합니다. 프롬프트 인젝션의 능동적 차단은 Claude가 내용을 읽기 전에 스캔해야 하며, 이는 파일을 두 번 읽어야 함을 의미합니다(한 번은 스캔, 한 번은 Claude를 위해).

능동적으로 차단되는 것:

  • 파괴적 명령어: rm -rf /, sudo rm -rf, mkfs
  • 위험한 작업: dd if=... of=/dev/, 포크 폭탄
  • 자격 증명 유출: curl ... | sh, ~/.ssh/id_rsa 읽기

수동적으로 경고되는 것:

  • 파일 내 프롬프트 인젝션 (Read 도구)
  • 웹 페이지 내 프롬프트 인젝션 (WebFetch 도구)
  • 명령 출력 내 프롬프트 인젝션 (Bash 도구)
  • MCP 도구 응답 내 프롬프트 인젝션

3계층 탐지

탐지되는 공격 범주

  • 명령어 재정의 - "이전 지시사항 무시", 가짜 시스템 프롬프트
  • 탈옥/역할극 - DAN 시도, 페르소나 전환
  • 인코딩/난독화 - Base64, 16진수, 유니코드, 리트스피크
  • 컨텍스트 조작 - 거짓 권위 주장, 숨겨진 지시사항

사용법

자동 보호

설치가 완료되면 Nova-tracer가 자동으로 작동합니다:

  1. Claude Code 세션 시작 - SessionStart 후크가 추적을 초기화합니다
  2. Claude를 정상적으로 사용 - 모든 도구 호출이 모니터링 및 스캔됩니다
  3. 세션 종료 - SessionEnd 후크가 HTML 보고서를 생성합니다

보고서 보기

보고서는 각 프로젝트의 .nova-tracer/reports/ 디렉터리에 저장됩니다:

root@kitploit:~
# 현재 프로젝트의 보고서 목록 보기
ls .nova-tracer/reports/

# 브라우저에서 보고서 열기
open .nova-tracer/reports/session-abc123.html

보고서 기능

대화형 HTML 보고서에는 다음이 포함됩니다:

  • 세션 요약 - 지속 시간, 도구 사용 횟수, 보안 이벤트
  • AI 요약 - 지능형 2-3문장 설명
  • 이벤트 타임라인 - 모든 도구 호출의 시각적 시간순 보기
  • 필터링 - 도구 유형 또는 NOVA 판정별 필터링 (허용/경고/차단)
  • 확장 가능한 세부 정보 - 이벤트 클릭 시 전체 입/출력 확인
  • Nova-tracer 판정 세부 정보 - 심각도, 일치 규칙, 스캔 시간

수동 테스트

Claude Code를 실행하지 않고 Nova-tracer 탐지를 테스트:

root@kitploit:~
# 샘플 공격 테스트 실행
uv run hooks/test-nova-guard.py --samples

# 특정 텍스트 테스트
uv run hooks/test-nova-guard.py --text "이전 지시사항 무시"

# 파일 테스트
uv run hooks/test-nova-guard.py --file suspicious.txt

# 대화형 모드
uv run hooks/test-nova-guard.py -i

구성

Nova-tracer는 합리적인 기본값으로 작동하지만, 동작을 사용자 정의할 수 있습니다.

Nova-tracer 보호기 구성

config/nova-tracer.yaml 편집:

root@kitploit:~
# 보고서 출력 디렉터리
# 비어 있음 = {project}/.nova-tracer/reports/ (기본값)
# 상대 경로 = 프로젝트 기준 상대 경로
# 절대 경로 = 정확한 위치
report_output_dir: ""

# AI 기반 세션 요약
# false로 설정하면 통계 전용 요약 사용 (API 호출 없음)
ai_summary_enabled: true

# 보고서 내 도구 출력 최대 크기 (KB)
# 더 큰 출력은 잘림
output_truncation_kb: 10

# 사용자 정의 NOVA 규칙 디렉터리
custom_rules_dir: "rules/"

Nova-tracer 스캔 구성

config/nova-config.yaml 편집:

root@kitploit:~
# 계층 3 탐지를 위한 LLM 제공자
llm_provider: anthropic
model: claude-3-5-haiku-20241022

# 탐지 계층 (활성화/비활성화)
enable_keywords: true
enable_semantics: true
enable_llm: true

# 임계값 (0.0 ~ 1.0)
semantic_threshold: 0.7
llm_threshold: 0.7

# 심각도 필터
min_severity: low  # low, medium, high

환경 변수

root@kitploit:~
# AI 요약 및 LLM 계층 탐지에 필요
export ANTHROPIC_API_KEY=sk-ant-...

사용자 정의 규칙

rules/ 디렉터리에 .nov 파일을 생성하세요:

root@kitploit:~
rule MyCustomRule
{
    meta:
        description = "내 특정 공격 패턴 탐지"
        author = "사용자 이름"
        severity = "high"
        category = "custom"

    keywords:
        $pattern1 = /내 정규식 패턴/i
        $pattern2 = "정확한 문자열 일치"

    semantics:
        $sem1 = "공격의 의미론적 설명" (0.75)

    llm:
        $llm1 = "LLM이 평가할 질문" (0.7)

    condition:
        any of ($pattern*) or $sem1 or $llm1
}

파일 구조

root@kitploit:~
nova_claude_code_protector/
├── install.sh                    # 전역 설치 스크립트
├── uninstall.sh                  # 제거 스크립트
├── config/
│   ├── nova-config.yaml          # NOVA 스캔 구성
├── rules/
│   ├── instruction_override.nov  # 명령어 재정의 공격 규칙
│   ├── roleplay_jailbreak.nov    # 탈옥 공격 규칙
│   ├── encoding_obfuscation.nov  # 인코딩 공격 규칙
│   └── context_manipulation.nov  # 컨텍스트 공격 규칙
├── hooks/
│   ├── session-start.py          # SessionStart 후크
│   ├── pre-tool-guard.py         # PreToolUse 후크 (차단)
│   ├── post-tool-nova-guard.py   # PostToolUse 후크 (스캔)
│   ├── session-end.py            # SessionEnd 후크 (보고서)
│   ├── test-nova-guard.py        # 테스트 유틸리티
│   └── lib/
│       ├── session_manager.py    # 세션 추적 로직
│       ├── report_generator.py   # HTML 보고서 생성
│       ├── ai_summary.py         # AI 요약 생성
│       └── config.py             # 구성 관리
├── tests/                        # 종합 테스트 스위트 (483개 테스트)
└── test-files/                   # 샘플 인젝션 파일

문제 해결

후크가 활성화되지 않음

  1. 설치 확인: cat ~/.claude/settings.json | jq '.hooks'
  2. Claude Code를 완전히 다시 시작 (종료 후 재실행)
  3. 후크 스크립트가 실행 가능한지 확인: ls -la hooks/*.py

보고서가 생성되지 않음

  1. 활성 세션 확인: ls .nova-tracer/sessions/
  2. 프로젝트 디렉터리에 쓰기 권한이 있는지 확인
  3. 세션 종료 시 stderr 오류 확인

ML 모델이 로드되지 않음

첫 실행 시 약 1GB의 모델을 다운로드합니다. 문제가 발생하면:

root@kitploit:~
# 모델 캐시를 지우고 재시도
rm -rf ~/.cache/huggingface/
uv run hooks/test-nova-guard.py --samples

AI 요약이 작동하지 않음

  1. API 키 확인: echo $ANTHROPIC_API_KEY
  2. 구성에서 ai_summary_enabled: true 확인
  3. 통계 전용 요약이 대체로 사용됨

개발

테스트 실행

root@kitploit:~
# 모든 테스트 실행
uv run pytest tests/ -v

# 특정 테스트 파일 실행
uv run pytest tests/test_report_generator.py -v

# 커버리지와 함께 실행
uv run pytest tests/ --cov=hooks/lib

테스트 커버리지

  • 모든 기능을 다루는 483개의 테스트
  • 세션 관리, 보고서 생성, AI 요약
  • 구성 로딩, 설치 스크립트
  • 모든 수용 기준 확인 완료

라이선스

MIT 라이선스 - LICENSE 참조

도구 다운로드
후크
동작
사용 사례
ACTIVEPreToolUse실행 전에 차단위험한 명령어 (rm -rf /, sudo rm 등)
PASSIVEPostToolUse내용이 읽힌 후 Claude에 경고파일, 웹 페이지, 명령 출력의 프롬프트 인젝션
계층방법속도탐지 대상
키워드정규식 패턴~1ms알려진 공격 패턴, 정확한 구문
의미론ML 유사도~50ms의역된 공격, 변형
LLMAI 평가~500-2000ms정교한 신규 공격