
NOVA - Claude Code सुरक्षा प्रणाली prompt injection attacks के विरुद्ध
Claude Code के लिए सुरक्षा निगरानी और प्रॉम्प्ट इंजेक्शन रक्षा NOVA Framework का उपयोग करके।
# रिपॉजिटरी को क्लोन करें
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 सत्रों की रक्षा करेगा।
brew install jq के माध्यम से स्थापित करें)./install.sh
इंस्टॉलर निम्नलिखित करेगा:
~/.claude/settings.json में चार Nova-tracer हुक पंजीकृत करें./uninstall.sh
अनइंस्टॉलर निम्नलिखित करेगा:
.nova-tracer/ निर्देशिकाओं को साफ करेंNova-tracer चार Claude Code हुक पंजीकृत करता है जो एक साथ काम करते हैं:
┌─────────────────────────────────────────────────────────────┐
│ Claude Code Session │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. SessionStart Hook │
│ └── Creates session JSONL file │
│ └── Initializes tracking with session ID │
│ │
│ 2. PreToolUse Hook (Bash, Write, Edit) [ACTIVE] │
│ └── Scans commands BEFORE execution │
│ └── BLOCKS dangerous operations (rm -rf, etc.) │
│ │
│ 3. PostToolUse Hook (Read, Bash, WebFetch, etc.) [PASSIVE] │
│ └── Scans tool OUTPUT for prompt injection │
│ └── WARNS Claude if threats detected │
│ └── Records event with NOVA verdict │
│ │
│ 4. SessionEnd Hook │
│ └── Generates interactive HTML report │
│ └── Creates AI-powered session summary │
│ └── Saves to .nova-tracer/reports/ │
│ │
└─────────────────────────────────────────────────────────────┘
Nova-tracer दो प्रकार की सुरक्षा प्रदान करता है:
महत्वपूर्ण: प्रॉम्प्ट इंजेक्शन का पता लगाना निष्क्रिय है। जब Nova-tracer किसी फ़ाइल या वेब पेज में प्रॉम्प्ट इंजेक्शन का पता लगाता है, तो सामग्री पहले ही Claude द्वारा पढ़ी जा चुकी होती है। Nova-tracer Claude को एक चेतावनी संदेश भेजता है जिसमें सलाह दी जाती है कि सामग्री को संदेह के साथ समझें, लेकिन Claude को दुर्भावनापूर्ण सामग्री देखने से नहीं रोकता है।
यह PostToolUse हुक आर्किटेक्चर की एक सीमा है - यह टूल के निष्पादित होने के बाद चलता है। प्रॉम्प्ट इंजेक्शन को सक्रिय रूप से ब्लॉक करने के लिए सामग्री को Claude द्वारा पढ़ने से पहले स्कैन करना होगा, जिसमें फ़ाइलों को दो बार पढ़ना शामिल होगा (एक बार स्कैन करने के लिए, एक बार Claude के लिए)।
सक्रिय रूप से क्या ब्लॉक किया जाता है:
rm -rf /, sudo rm -rf, mkfsdd if=... of=/dev/, फोर्क बमcurl ... | sh, ~/.ssh/id_rsa पढ़नानिष्क्रिय रूप से क्या चेतावनी दी जाती है:
एक बार स्थापित होने के बाद, Nova-tracer स्वचालित रूप से काम करता है:
रिपोर्ट प्रत्येक प्रोजेक्ट के .nova-tracer/reports/ निर्देशिका में सहेजी जाती है:
# वर्तमान प्रोजेक्ट के लिए रिपोर्ट सूचीबद्ध करें
ls .nova-tracer/reports/
# अपने ब्राउज़र में एक रिपोर्ट खोलें
open .nova-tracer/reports/session-abc123.html
इंटरैक्टिव HTML रिपोर्ट में शामिल हैं:
Claude Code चलाए बिना Nova-tracer पहचान का परीक्षण करें:
# नमूना हमले के परीक्षण चलाएं
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 उपयुक्त डिफ़ॉल्ट के साथ काम करता है, लेकिन आप व्यवहार को अनुकूलित कर सकते हैं।
config/nova-tracer.yaml संपादित करें:
# रिपोर्ट आउटपुट निर्देशिका
# खाली = {project}/.nova-tracer/reports/ (डिफ़ॉल्ट)
# सापेक्ष पथ = प्रोजेक्ट के सापेक्ष
# पूर्ण पथ = सटीक स्थान
report_output_dir: ""
# AI-संचालित सत्र सारांश
# केवल-आँकड़े सारांश का उपयोग करने के लिए false पर सेट करें (कोई API कॉल नहीं)
ai_summary_enabled: true
# रिपोर्ट में टूल आउटपुट के लिए अधिकतम आकार KB में
# बड़े आउटपुट को काट दिया जाएगा
output_truncation_kb: 10
# कस्टम NOVA नियमों के लिए निर्देशिका
custom_rules_dir: "rules/"
config/nova-config.yaml संपादित करें:
# स्तर 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
# AI सारांश और LLM-स्तरीय पहचान के लिए आवश्यक
export ANTHROPIC_API_KEY=sk-ant-...
rules/ निर्देशिका में .nov फ़ाइलें बनाएं:
rule MyCustomRule
{
meta:
description = "मेरे विशिष्ट हमले के पैटर्न का पता लगाता है"
author = "आपका नाम"
severity = "high"
category = "custom"
keywords:
$pattern1 = /मेरा regex पैटर्न/i
$pattern2 = "सटीक स्ट्रिंग मिलान"
semantics:
$sem1 = "हमले का सिमैंटिक विवरण" (0.75)
llm:
$llm1 = "LLM के लिए मूल्यांकन करने का प्रश्न" (0.7)
condition:
any of ($pattern*) or $sem1 or $llm1
}
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/ # नमूना इंजेक्शन फ़ाइलें
cat ~/.claude/settings.json | jq '.hooks'ls -la hooks/*.pyls .nova-tracer/sessions/पहली बार चलाने पर ~1GB मॉडल डाउनलोड होते हैं। यदि समस्याएँ हों:
# मॉडल कैश साफ़ करें और पुनः प्रयास करें
rm -rf ~/.cache/huggingface/
uv run hooks/test-nova-guard.py --samples
echo $ANTHROPIC_API_KEYai_summary_enabled: true जाँचें# सभी परीक्षण चलाएं
uv run pytest tests/ -v
# विशिष्ट परीक्षण फ़ाइल चलाएं
uv run pytest tests/test_report_generator.py -v
# कवरेज के साथ चलाएं
uv run pytest tests/ --cov=hooks/lib
MIT लाइसेंस - LICENSE देखें
| मोड | हुक | व्यवहार | उपयोग मामला |
|---|
| ACTIVE | PreToolUse | होने से पहले निष्पादन को ब्लॉक करता है | खतरनाक कमांड (rm -rf /, sudo rm, आदि) |
| PASSIVE | PostToolUse | सामग्री पढ़ने के बाद Claude को चेतावनी देता है | फ़ाइलों, वेब पेजों, कमांड आउटपुट में प्रॉम्प्ट इंजेक्शन |
| स्तर | विधि | गति | पकड़ता है |
|---|
| कीवर्ड | Regex पैटर्न | ~1ms | ज्ञात हमले के पैटर्न, सटीक वाक्यांश |
| सिमैंटिक | ML समानता | ~50ms | व्याख्यात्मक हमले, विविधताएँ |
| LLM | AI मूल्यांकन | ~500-2000ms | परिष्कृत, नवीन हमले |