
होस्ट-अज्ञेय प्री-राइट सुरक्षा हुक कोडिंग एजेंट के लिए: सेमग्रेप के माध्यम से उपयोगकर्ता-इनपुट पैटर्न का पता लगाता है और नियतात्मक, एलएलएम-रहित सुरक्षा मार्गदर्शन उत्पन्न करता है।
AI कोडिंग टूल के लिए एक सुरक्षा जाँच-बिंदु। यह AI असिस्टेंट द्वारा लिखी गई प्रत्येक फ़ाइल की जाँच करता है, और खतरनाक फ़ाइलों को डिस्क पर पहुँचने से पहले रोक देता है।
AI कोडिंग असिस्टेंट (Claude Code, Codex, …) तेज़ी से कोड लिखते हैं — जिसमें ऐसा कोड भी शामिल है जो पासवर्ड, ईमेल, API कुंजियाँ, या कच्चे उपयोगकर्ता इनपुट जैसी चीज़ों को संभालता है। असिस्टेंट के लिए उस डेटा को बिना सुरक्षा के सीधे डेटाबेस क्वेरी, शेल कमांड, या HTTP प्रतिक्रिया में डालना आसान है।
VibeGate असिस्टेंट और आपकी फ़ाइल प्रणाली के बीच बैठता है। हर बार जब असिस्टेंट किसी फ़ाइल को लिखने या संपादित करने का प्रयास करता है, VibeGate पहले नए कोड को स्कैन करता है:
विश्लेषण में कोई LLM शामिल नहीं है — यह तेज़, नियतात्मक स्थैतिक विश्लेषण है, इसलिए यह कभी कुछ मनघड़ंत नहीं बनाता और न ही आपको टोकन खर्च करने पड़ते हैं।
यहाँ वह सब कुछ है जिसकी VibeGate वर्तमान में जाँच करता है:
| जाँच | यह क्या पकड़ता है | परिणाम |
|---|---|---|
| कमांड इंजेक्शन | अस्वच्छित इनपुट शेल कमांड तक पहुँचता है | रोकता है |
| SQL इंजेक्शन | अस्वच्छित इनपुट डेटाबेस क्वेरी तक पहुँचता है | रोकता है |
| NoSQL इंजेक्शन | अनुरोध निकाय को सीधे डेटाबेस फ़िल्टर के रूप में उपयोग किया जाता है | रोकता है |
| टेम्पलेट इंजेक्शन (SSTI) | टेम्पलेट स्रोत ही, न कि केवल उसका डेटा, उपयोगकर्ता इनपुट से आता है | रोकता है |
| असुरक्षित विसीरीकरण | अविश्वसनीय डेटा एक असुरक्षित विसीरीकरण (pickle, unsafe YAML, ...) तक पहुँचता है | रोकता है |
| पथ ट्रैवर्सल | अस्वच्छित इनपुट फ़ाइल पढ़ने, लिखने या हटाने तक पहुँचता है | रोकता है |
| XXE | बाहरी इकाइयाँ सक्षम होने पर अविश्वसनीय XML पार्स किया जाता है | रोकता है |
| XSS | अस्वच्छित इनपुट को कच्चे HTML के रूप में प्रस्तुत किया जाता है | रोकता है |
| अनियंत्रित फ़ाइल अपलोड | अपलोड की गई फ़ाइल के नाम का उपयोग सहेज पथ बनाने के लिए किया जाता है | रोकता है |
| SSRF | सर्वर एक ऐसा URL लाता है जो हार्डकोडेड नहीं है | चेतावनी देता है |
| ओपन रिडायरेक्ट | एक रिडायरेक्ट लक्ष्य जो हार्डकोडेड नहीं है | चेतावनी देता है |
| मास असाइनमेंट | पूरे अनुरोध निकाय को मॉडल कंस्ट्रक्टर या अपडेट में पास किया जाता है | चेतावनी देता है |
| अनुरोध निकाय में संवेदनशील डेटा | ईमेल, पासवर्ड, टोकन आदि अनुरोध निकाय से पढ़े जाते हैं | चेतावनी देता है |
| URL/क्वेरी में संवेदनशील डेटा | ईमेल, पासवर्ड, टोकन आदि क्वेरी स्ट्रिंग से पढ़े जाते हैं | चेतावनी देता है |
| हेडर में संवेदनशील डेटा | ईमेल, पासवर्ड, टोकन आदि अनुरोध हेडर से पढ़े जाते हैं | चेतावनी देता है |
| उपयोगकर्ता इनपुट से फ़ाइल पथ | एक चर, न कि हार्डकोडेड स्ट्रिंग, फ़ाइल पथ के रूप में उपयोग किया जाता है | चेतावनी देता है |
| CLI तर्क | डेटा कमांड-लाइन तर्कों से आता है | चेतावनी देता है |
| मानक इनपुट | डेटा stdin से आता है | चेतावनी देता है |
| पर्यावरण चर | डेटा एक पर्यावरण चर से आता है | चेतावनी देता है |
| असुरक्षित GitHub Action | कोई वर्कफ़्लो कमिट SHA के बजाय परिवर्तनीय टैग (@v4) का उपयोग करता है | चेतावनी देता है |
असुरक्षित pull_request_target | कोई वर्कफ़्लो pull_request_target ट्रिगर का उपयोग करता है | चेतावनी देता है |
| क्रेडेंशियल लॉगिंग | पासवर्ड, API कुंजी या टोकन print/console.log/लॉगर को पास किया जाता है | चेतावनी देता है |
| हार्डकोडेड रहस्य | कोई चर जिसका नाम रहस्य जैसा है, उसे वास्तविक दिखने वाला शाब्दिक मान दिया जाता है | चेतावनी देता है |
पूरी, वर्तमान सूची guidance.TECHNICAL_RISKS और formatter.BLOCKING_CATEGORIES में रहती है,
यदि यह तालिका कभी बदलती है।
┌───────────────────────────────┐
│ आप Claude Code से कहते हैं │
│ कोई फ़ाइल लिखने या │
│ संपादित करने के लिए │
└───────────────┬───────────────┘
│
▼
┌───────────────────────────────┐
│ Claude Code फ़ाइल सहेजने का│
│ प्रयास करता है (Write/Edit) │
└───────────────┬───────────────┘
│
▼
┌───────────────────────────────┐
│ VibeGate हुक │
│ (स्वचालित रूप से चलता है, │
│ फ़ाइल सहेजे जाने से पहले) │
└───────────────┬───────────────┘
│
Semgrep से नए कोड को स्कैन करता है
│
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌────────────────────┐ ┌────────────────────┐ ┌──────────────────────┐
│ कोई जोखिमपूर्ण │ │ जोखिमपूर्ण इनपुट,│ │ जोखिमपूर्ण इनपुट │
│ इनपुट नहीं मिला │ │ लेकिन कम जोखिम │ │ एक गंभीर सिंक │
│ │ │ (जैसे HTTP में │ │ तक पहुँचता है │
│ │ │ दिखाया गया) │ │ (SQL/कमांड/RCE, │
│ │ │ │ │ टेम्पलेट इंजेक्शन)│
└─────────┬──────────┘ └─────────┬──────────┘ └───────────┬──────────┘
│ │ │
▼ ▼ ▼
फ़ाइल सहेजी जाती है, फ़ाइल सहेजी जाती है, फ़ाइल सहेजी नहीं जाती।
कुछ नहीं दिखता। टर्मिनल में चेतावनी Claude Code को रुकावट
दिखती है जिसमें जोखिम का कारण दिखता है और
और उसे ठीक करने का तरीका बताया जाता है क्या ठीक
होता है। करना है।
संक्षेप में: सुरक्षित कोड बिना किसी बदलाव के गुज़र जाता है, जोखिमपूर्ण लेकिन बचा जा सकने वाला कोड चेतावनी के साथ सहेजा जाता है, और SQL इंजेक्शन, कमांड इंजेक्शन, या रिमोट कोड निष्पादन जैसी चीज़ों से एक कदम दूर कोड डिस्क तक पहुँचने से पहले रोक दिया जाता है।
यदि VibeGate स्वयं किसी अप्रत्याशित त्रुटि का सामना करता है, तो यह हमेशा लिखने की अनुमति देता है — हुक में बग कभी भी आपके काम को अवरुद्ध करने का कारण नहीं होना चाहिए।
हर चेतावनी और रुकावट के साथ एक स्पष्ट निर्देश भी होता है जो Claude Code को बताता है कि वह निष्कर्ष को अपने उत्तर में आपको बताए, न कि चुपचाप ठीक करे। यही VibeGate की गतिविधि को बातचीत में दृश्यमान बनाता है, न कि केवल टर्मिनल लॉग में जिसे आपको ढूँढना पड़े।
| VibeGate क्या देखता है | क्या होता है |
|---|---|
| कोई उपयोगकर्ता इनपुट नहीं, या ऐसी भाषा जिसका समर्थन अभी नहीं है | फ़ाइल सामान्य रूप से सहेजी जाती है, कुछ नहीं दिखता |
| उपयोगकर्ता इनपुट मिला, लेकिन जोखिम मध्यम है (जैसे ओपन रिडायरेक्ट, मास असाइनमेंट) | फ़ाइल सहेजी जाती है, टर्मिनल में चेतावनी + मार्गदर्शन दिखता है |
| उपयोगकर्ता इनपुट बिना स्वच्छता के एक गंभीर सिंक में प्रवाहित होता है (SQL/NoSQL क्वेरी, शेल कमांड, टेम्पलेट इंजन, विसीरीकरण, XML पार्सर, फ़ाइल पथ, अपलोड किया गया फ़ाइल नाम, या कच्चा HTML आउटपुट) | फ़ाइल सहेजी नहीं जाती — Claude Code को कारण बताया जाता है |
प्रति-जाँच का विवरण क्या रोकता है बनाम क्या केवल चेतावनी देता है, इसके लिए ऊपर "यह किस समस्या का समाधान करता है?" में तालिका देखें।