Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
llm-differential-privacy-gateway — Noisegate: एक डिफरेंशियल प्राइवेसी गेटवे जो एक अविश्वसनीय LLM एजेंट को MCP (Model Context Protocol) के माध्यम से संवेदनशील डेटा क्वेरी करने देता है, इस औपचारिक गारंटी के साथ कि एजेंट के विरोधी होने पर भी किसी व्यक्ति का रिकॉर्ड लीक नहीं हो सकता - प्रवर्तन मॉडल के नीचे विश्वसनीय कोड में होता है, जिसे एक रन करने योग्य अटैक गैलरी द्वारा सत्यापित किया जाता है। | Kitploit
उपकरण/GitHubGitHub/yashmahajan10/llm-differential-privacy-gateway
रक्षात्मक उपकरणगोपनीयतालर्निंग और शिक्षाAI सुरक्षालैब और अभ्यास
GitHubyashmahajan10/llm-differential-privacy-gateway

llm-differential-privacy-gateway

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
25351 महीना पहलेअभी तक समीक्षित नहीं

विवरण

Noisegate: एक डिफरेंशियल प्राइवेसी गेटवे जो एक अविश्वसनीय LLM एजेंट को MCP (Model Context Protocol) के माध्यम से संवेदनशील डेटा क्वेरी करने देता है, इस औपचारिक गारंटी के साथ कि एजेंट के विरोधी होने पर भी किसी व्यक्ति का रिकॉर्ड लीक नहीं हो सकता - प्रवर्तन मॉडल के नीचे विश्वसनीय कोड में होता है, जिसे एक रन करने योग्य अटैक गैलरी द्वारा सत्यापित किया जाता है।

साझा करें

Noisegate: अविश्वसनीय AI एजेंट्स के लिए एक डिफरेंशियल-प्राइवेसी गेटवे

CI Python 3.13+ License: Apache-2.0

एक AI एजेंट जो संवेदनशील डेटा का अध्ययन कर सकता है, लेकिन किसी एक व्यक्ति को चिह्नित नहीं कर सकता। यह सीमा गणितीय है, इसे उस कोड में लागू किया गया है जहाँ एजेंट की पहुँच नहीं है, और रेपो में वे हमले भी शामिल हैं जो इसे तोड़ने का प्रयास करते हैं।

A Claude Desktop chat against the gateway: an AI agent gets honest noise-injected charts, is told the model itself cannot disable the noise, drains a tiny privacy budget until the gate refuses, has a too-narrow census query rejected at the trust boundary, and ends on a clean 16-bar histogram usable at scale

एक रिकॉर्ड किया गया Claude Desktop सत्र (उत्तर संक्षिप्त किए गए हैं; चार्ट कार्ड सत्र के ही हैं)। एक AI एजेंट 20 रोगियों को निदान के आधार पर विभाजित करता है, और ±12 शोर हर बिन को डुबो देता है। यह याद दिलाए जाने पर कि वह शोर को बंद नहीं कर सकता, यह तीन-उत्तर वाला बजट खत्म कर देता है जब तक कि गेट किसी शांत उत्तर के बजाय इनकार नहीं लौटा देता। 32,561-पंक्ति वाली जनगणना पर, एक बहुत संकीर्ण स्लाइस ट्रस्ट बाउंड्री पर अस्वीकार कर दिया जाता है, जबकि एक पूर्ण शिक्षा विभाजन बड़े पैमाने पर साफ़ वापस आता है। इनकार और अस्वीकृति लाइव गेटवे का वास्तविक प्रवर्तन हैं, जिसे python scripts/render_demo_gif.py द्वारा पुनरुत्पादित किया गया है।

एक नज़र में

  • चलने योग्य हमले, CI में पिन किए गए। तीन क्लासिक प्राइवेसी हमले सिस्टम के अपने इंजन के विरुद्ध चलाए जाते हैं: डिफरेंसिंग, मेंबरशिप इन्फरेंस, और री-आइडेंटिफिकेशन द्वारा सिंगलिंग आउट। प्रत्येक को प्राइवेसी बंद होने पर सफल होते हुए, प्राइवेसी चालू होने पर विफल होते हुए दिखाया गया है, और हर बिल्ड पर जाँचा जाता है ताकि रक्षा चुपचाप क्षय न हो।
  • स्वतंत्र रूप से सत्यापित गणित। शोर तंत्र शुरू से बनाया गया है, और यह OpenDP से मेल खाता है, जो उद्योग का संदर्भ कार्यान्वयन है, सभी 35 शोर-स्केल जाँचों में 1e-9 के भीतर।
  • सटीक लेखांकन से अधिक प्रश्न। डिप्लॉयमेंट के प्रति-क्वेरी ε पर, हाइब्रिड zCDP कंपोज़िशन उसी बजट के विरुद्ध 308 प्रश्नों की अनुमति देता है, जबकि एडवांस्ड कंपोज़िशन के तहत 268 और नैव सम-ऑफ-ε के तहत 100। गारंटी शुद्ध ε के बजाय (ε, δ)-DP है।
  • AI एजेंट्स के लिए बनाया गया। Claude Desktop के लिए MCP सर्वर के रूप में चलता है। कनेक्ट करने वाला एजेंट डिज़ाइन से ही अविश्वसनीय है, और हर प्राइवेसी गुण उसके नीचे लागू किया जाता है।
  • स्टैक: Python · DuckDB · FastAPI · Streamlit · MCP SDK · Docker · GitHub Actions, CI में 250+ टेस्ट सूट के साथ।

आप एक संवेदनशील डेटासेट के बारे में सरल अंग्रेज़ी में प्रश्न पूछते हैं। एक LLM प्रत्येक प्रश्न को एक छोटी, सीमित क्वेरी में संकलित करता है। एक डिफरेंशियल-प्राइवेसी इंजन इसे एक ट्रैक किए गए प्राइवेसी बजट के तहत निष्पादित करता है और एक जानबूझकर शोरयुक्त उत्तर एक निर्दिष्ट विश्वास अंतराल के साथ लौटाता है। अपने ऑडियो नामसमान की तरह, गेटवे एक निर्धारित थ्रेशोल्ड से नीचे के हर सिग्नल को शोर फ़्लोर के नीचे रखता है: किसी एक व्यक्ति का योगदान डूब जाता है, जबकि पूरे डेटासेट के पैमाने का सिग्नल लगभग अछूता गुज़र जाता है।

दिलचस्प बात यह नहीं है कि एक LLM क्वेरी लिख सकता है। दिलचस्प बात यह है कि प्राइवेसी गारंटी इस पर निर्भर नहीं करती कि LLM भरोसेमंद है। मॉडल एक सुविधा है जो एक क्वेरी प्रस्तावित करता है। यह कुछ भी लागू नहीं करता। हर प्राइवेसी गुण डाउनस्ट्रीम में उन घटकों द्वारा लागू किया जाता है जो उसी तरह व्यवहार करेंगे यदि कोई मनुष्य क्वेरी को हाथ से टाइप करे। यह वही ट्रस्ट-बाउंड्री अनुशासन है जो आप किसी प्रोडक्शन सिस्टम में किसी भी अविश्वसनीय इनपुट पर लागू करेंगे, यहाँ एक AI एजेंट पर लागू किया गया है।


क्विकस्टार्ट

1. हमले चलाएँ: कोई API कुंजी नहीं, कोई डेटा फ़ेच नहीं, कोई सर्वर नहीं

अटैक गैलरी वास्तविक DP इंजन के विरुद्ध इन-प्रोसेस चलती है:```bash pip install -e . python -m attacks.patients_alice # re-identify Alice with privacy off, then watch # the guard, the noise, and the budget defeat it

root@kitploit:~
### 2. एक AI एजेंट कनेक्ट करें

गेटवे Claude Desktop के लिए एक MCP stdio सर्वर के रूप में चलता है। एजेंट अविश्वसनीय क्वेरी लेखक बन जाता है, और इसे केवल संरचित टूल्स (`count`, `sum`, `average`, `histogram`, `get_budget`) मिलते हैं जिनके आर्ग्युमेंट स्कीमा डेटासेट पॉलिसी से जनरेट होते हैं। कहीं भी API key की आवश्यकता नहीं है, क्योंकि कनेक्टिंग एजेंट ही बुद्धिमत्ता है।

**[सेटअप और पूर्ण वॉकथ्रू →](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/docs/CLAUDE_DESKTOP.md)**

### 3. पूर्ण प्राकृतिक-भाषा UI

एक स्थानीय सिंगल-टेनेंट डेमो। API key की आवश्यकता केवल अविश्वसनीय NL→query कंपाइलर के लिए है:```bash
export ANTHROPIC_API_KEY=...   # used only by the untrusted NL→query compiler
docker compose up              # brings up the engine, API, and UI
# open http://localhost:8501

वह HTTP + Streamlit सतह एक स्थानीय, सिंगल-टेनेंट डेमो है। पहचान एक स्पूफ़ करने योग्य X-Identity हेडर से आती है, इसलिए यह अपनी ही मशीन पर एक विश्वसनीय ऑपरेटर के लिए है, सार्वजनिक परिनियोजन के लिए नहीं (देखें ये सतहें क्या हैं, और क्या नहीं हैं)। स्थानीय गैर-Docker सेटअप, परीक्षण चलाने, और कॉन्फ़िगरेशन नॉब्स के लिए, देखें SETUP.md।


मुख्य बात: एक हमला गैलरी

कोई भी गोपनीयता का दावा कर सकता है। यह रिपॉज़िटरी उन एक्सप्लॉइट्स को शिप करती है जो दावे को तोड़ देंगे, उन्हें अपने ही इंजन के विरुद्ध चलाती है, और परिणामों को CI में पिन करती है। गेटवे क्या गारंटी देता है, यह समझने का सबसे तेज़ तरीका है इसे तीन क्लासिक हमलों को हराते हुए देखना जो भोले "डेटाबेस क्वेरी करें" सिस्टम को तोड़ देते हैं।

हमला 1: डिफ़रेंसिंग हमला

एक डिफ़रेंसिंग हमला दो एग्रीगेट प्रश्न पूछकर एक व्यक्ति को अलग करता है जो ठीक उस व्यक्ति से भिन्न होते हैं।``` Query A: "Total income of all 100 people in department X." → $7,240,000 Query B: "Total income of all people in department X except Alice." → $7,135,000 Attacker computes: A − B = $105,000 ← Alice's exact salary, leaked.

root@kitploit:~
दोनों क्वेरीज़ "केवल एग्रीगेट" हैं। कोई भी एकल पंक्ति का नाम नहीं लेती। फिर भी साथ मिलकर वे एक व्यक्ति को उजागर कर देती हैं। गैलरी (`attacks/differencing.py`) दिखाती है कि यह हमला **गोपनीयता अक्षम होने पर सफल होता है**: लक्ष्य का निजी मान ठीक-ठीक पुनः प्राप्त हो जाता है। (ऊपर दिया गया वेतन उदाहरण केवल दृष्टांत है; वास्तविक UCI Adult डेटा पर, "Alice" अपने समूह के अधिकतम capital gain की एकमात्र धारक है।) फिर यह दिखाती है कि वही हमला **DP चालू होते ही विफल हो जाता है**: प्रत्येक उत्तर पर अंशांकित शोर घटाव को बेकार कर देता है, और बजट लेखाकार *दोनों* क्वेरीज़ में जारी की गई जानकारी के लिए शुल्क लेता है, न कि उन्हें स्वतंत्र मानकर।

### हमला 2: सदस्यता अनुमान

एक सदस्यता-अनुमान हमला यह निर्धारित करता है कि कोई *विशिष्ट व्यक्ति* डेटासेट में है या नहीं। कई डेटासेटों के लिए (एक चिकित्सा अध्ययन, चूककर्ताओं की सूची), यह तथ्य स्वयं ही संवेदनशील होता है। केवल क्वेरी पहुँच रखने वाला हमलावर यह तय करने का प्रयास करता है: "क्या यह ठीक यही व्यक्ति डेटा में है?"

गैलरी इस हमले को गोपनीयता बजटों (ε, वह डायल जो उत्तर की सटीकता के बदले गोपनीयता का सौदा करता है) की एक श्रृंखला पर चलाती है और परिणाम को आरेखित करती है:

![सदस्यता-अनुमान सफलता दर बनाम ε, साथ में उपयोगिता वक्र अध्यारोपित](https://assets.kitploit.com/production/public/readmes/46433/eff546e223fe14c501641da0b19f406a6a9983bc1f2b1b6a1715613ff1904c97.png)

<sub>एक **इष्टतम** (Neyman–Pearson) हमलावर जो एक व्यक्ति की सदस्यता का निर्णय एकल शोरयुक्त `COUNT` से लेता है, वास्तविक इंजन के विरुद्ध ε की श्रृंखला पर चलाया गया। अनुभवजन्य सफलता (नीला, 95% Wilson अंतराल) विश्लेषणात्मक Laplace वक्र से सटी रहती है और सबसे खराब-स्थिति DP सीमा (डैशयुक्त) के नीचे रहती है; यह निश्चितता (DP बंद) से 0.5 के सिक्का-उछाल की ओर ढह जाती है जैसे-जैसे ε सिकुड़ता है। हरा **उपयोगिता वक्र** (दायाँ अक्ष) उसी श्रृंखला पर एक एग्रीगेट क्वेरी की सापेक्ष त्रुटि दिखाता है, जो वहाँ मुश्किल से प्रभावित होती है जहाँ हमला विफल होता है। `python -m attacks.membership` द्वारा उत्पन्न (प्रति ε 10,000 परीक्षण)।</sub>

जैसे-जैसे ε सिकुड़ता है (मजबूत गोपनीयता), हमलावर की सफलता सिक्का-उछाल की ओर ढह जाती है। उपयोगिता अध्यारोपण चुकाई गई कीमत दिखाता है: वही शोर जो एक-व्यक्ति हमले को विफल करता है, जनसंख्या-स्तरीय एग्रीगेट को मुश्किल से हिलाता है। गोपनीयता मुफ़्त नहीं है, और चार्ट ठीक-ठीक दिखाता है कि आप इसके लिए क्या सौदा करते हैं। यह श्रृंखला पूरी सीमा को कवर करने के लिए ε = 8 से नीचे 0.5 तक फैली है; बंडल किया गया परिनियोजन **प्रति क्वेरी ε = 0.05** शुल्क लेता है, जो इस चार्ट के बाएँ किनारे से बाहर है, जहाँ एकल-क्वेरी हमला पहले से ही संयोग से अभेद्य है।

### हमला 3: पुनः-पहचान द्वारा अलग करना

Latanya Sweeney ने 2002 में दिखाया कि ZIP कोड + जन्म तिथि + लिंग लगभग 87% अमेरिकियों की विशिष्ट पहचान करते हैं (नए जनगणना डेटा पर बाद के प्रतिकृति ने इसे 63% के करीब रखा)। किसी को डेटासेट में खोजने के लिए आपको उसका नाम नहीं चाहिए; कुछ निर्दोष विशेषताएँ काफी होंगी। गैलरी का तीसरा हमला (`attacks/patients_alice.py`) 20 सिंथेटिक रोगियों पर उसी संरचना को पुनरुत्पादित करता है: अकेले लिंग और आयु समूह को ठीक एक व्यक्ति, Alice, तक सीमित कर देते हैं, जो 64 से अधिक आयु की एकमात्र महिला है।

गोपनीयता बंद होने पर, दो पूर्णतः साधारण जनसांख्यिकीय हिस्टोग्राम घटाने से Alice का निदान ठीक-ठीक पुनः प्राप्त हो जाता है। किसी आउटलायर मान की आवश्यकता नहीं है; *पुनः-पहचान योग्य* होना ही पर्याप्त है, जो इसे गैलरी का सबसे मजबूत हमला बनाता है। गोपनीयता चालू होने पर, तीन स्वतंत्र रक्षाएँ इसे समाप्त कर देती हैं: फ़िल्टर गार्ड स्पष्ट संकीर्ण क्वेरी को सीधे अस्वीकार कर देता है (कुछ भी खर्च किए बिना); अंशांकित शोर दो-क्वेरी घटाव को डुबो देता है (सिग्नल-टू-नॉइज़ ≈ 0.13, इसलिए पुनः प्राप्त "निदान" अनिवार्यतः एक यादृच्छिक निष्कर्ष है); और बजट औसतन-वृद्धि को उसके काम करने से बहुत पहले अस्वीकार कर देता है (~256 पुनरावृत्तियाँ आवश्यक, 10 वहनीय)। यह वही हमला है जिसे इस पृष्ठ के शीर्ष पर स्थित डेमो GIF, और [Claude Desktop walkthrough](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/docs/CLAUDE_DESKTOP.md), लाइव दोहराते हैं। परिणामों का प्रतिगमन-परीक्षण `tests/test_attack_patients.py` में किया जाता है।

ये प्रयोग, सिस्टम के अपने इंजन के विरुद्ध चलाए गए, इस बात का मुख्य प्रमाण हैं कि गारंटी वास्तविक और समझी हुई है, किसी लाइब्रेरी से आयातित और आस्था पर ली गई नहीं।

### OpenDP के विरुद्ध क्रॉस-जाँच

हमले गारंटी को *हमारे अपने* गणित के विरुद्ध मान्य करते हैं। एक स्व-संगत-परंतु-गलत कार्यान्वयन से बचाव के लिए, तंत्र की क्रॉस-जाँच एक स्वतंत्र संदर्भ के रूप में [OpenDP](https://opendp.org/) के विरुद्ध भी की जाती है (`attacks/crosscheck_opendp.py`, opendp 0.15.1)।

**संक्षेप में: शून्य से बनाया गया एक तंत्र उद्योग संदर्भ से नौ दशमलव स्थानों तक सहमत होता है, और जानबूझकर गलत-अंशांकित एक संस्करण उन्हीं परीक्षणों में विफल होता है, इसलिए यह सहमति अर्थपूर्ण है।** सहमति दो तरह से जाँची जाती है: संवेदनशीलता और शोर स्केल OpenDP की प्रमाणित सीमा के विरुद्ध, और सैंपलर का वास्तविक वितरण OpenDP के विरुद्ध, एक सकारात्मक नियंत्रण के साथ जो सिद्ध करता है कि परीक्षण विफल हो सकता है। मापे गए आँकड़े [`DESIGN.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/DESIGN.md) के अनुभाग 6.3 में हैं।

OpenDP संदर्भ है, कार्यान्वयन कभी नहीं: यह केवल dev extras में रहता है, और चल रहा सिस्टम इसे आयात नहीं करता। स्केल सहमति का प्रतिगमन-परीक्षण `tests/test_crosscheck_opendp.py` में किया जाता है (स्थानीय रूप से OpenDP के बिना छोड़ दिया जाता है; CI इसे इंस्टॉल करता है और `REQUIRE_OPENDP=1` सेट करता है ताकि वहाँ यह जाँच कभी चुपचाप छूट न सके)।

### इसे पुनरुत्पादित करें

हमले वास्तविक DP इंजन के विरुद्ध इन-प्रोसेस चलते हैं। किसी API कुंजी और किसी सर्वर की आवश्यकता नहीं है, क्योंकि वे LLM कंपाइलर से गुज़रने के बजाय हस्तलिखित ASTs बनाते हैं:```bash
python -m attacks.patients_alice # Attack 3: re-identify Alice and recover her diagnosis
                                 #           with DP off; watch guard + noise + budget
                                 #           defeat the same attack (no data fetch needed)

python scripts/fetch_data.py     # fetch UCI Adult into data/ (gitignored; ~4 MB)

python -m attacks.differencing   # Attack 1: recover Alice exactly with DP off, then watch
                                 #           noise + budget defeat the same subtraction
python -m attacks.membership     # Attack 2: sweep ε and regenerate the chart above

python -m attacks.crosscheck_opendp  # cross-check vs OpenDP (needs the dev
                                     # extras: pip install -e ".[dev]")

परिणाम स्वयं tests/test_attack_differencing.py, tests/test_attack_membership.py, और tests/test_attack_patients.py में रिग्रेशन-टेस्ट किए जाते हैं, इसलिए कोई भी परिवर्तन जो चुपचाप गारंटी को कमजोर कर दे, वह केवल एक सुंदर चार्ट बनाने के बजाय CI में विफल हो जाएगा।


यह कैसे काम करता है

तीन चरण। केवल पहला अविश्वसनीय है, और यही असममिति पूरा विचार है।``` Natural language question │ ▼ ┌───────────────────┐ │ LLM compiler │ Emits a CONSTRAINED QUERY AST (not free SQL), │ (UNTRUSTED) │ via structured/schema-forced output. └───────────────────┘ │ query AST ▼ ┌───────────────────┐ │ Validation / │ Policy check: allowed columns only, aggregates │ guardrail layer │ only, declared value ranges, group-cardinality │ (TRUSTED) │ caps. Invalid → repair loop or refusal. └───────────────────┘ │ validated AST ▼ ┌───────────────────┐ │ Privacy engine │ Clamp to declared range (bounds sensitivity), │ (TRUSTED) │ add calibrated Laplace noise, decrement budget. └───────────────────┘ │ ▼ Noisy answer + confidence interval + remaining budget

root@kitploit:~
सबसे महत्वपूर्ण डिज़ाइन विकल्प **UNTRUSTED** लेबल वाला बॉक्स है। सत्यापन परत के ऊपर की हर चीज़ को शत्रुतापूर्ण माना जाता है, और उसके नीचे की हर चीज़ वह विश्वसनीय कंप्यूटिंग बेस है जो गारंटी को लागू करता है। LLM मनमाने SQL के बजाय एक *constrained AST* पर कंपाइल करता है क्योंकि वही constraint क्वेरी संवेदनशीलता को सीमित करता है, और सीमित संवेदनशीलता ही शोर अंशांकन को ठोस बनाती है। मुक्त-रूप SQL ठीक उसी आक्रमण सतह को फिर से खोल देगा जिसे यह परियोजना बंद करती है।

## गोपनीयता मॉडल

हर उत्तर में शोर जोड़ा जाता है। प्रति पहचान संचयी प्रकटीकरण का एक सटीक बहीखाता रखा जाता है और डिस्क पर सहेजा जाता है, और गेटवे उत्तर देने से इनकार कर देता है इससे पहले कि वह बहीखाता उस गारंटी को पार कर सके जिसका वह विज्ञापन करता है। यह चुपचाप अधिक शोर वाले उत्तर पर कभी नहीं उतरता।

लागत को भी उतनी ही स्पष्टता से बताना उचित है। गारंटी **(ε, δ)-differential privacy है, जो शुद्ध ε-DP से सख्ती से कमज़ोर है।** अधिकतम δ संभावना के साथ, ε बाधा के विफल होने की अनुमति है। δ अतिरिक्त शोर नहीं है, यह विफलता द्रव्यमान है, यही कारण है कि यह हार्ड-कोडेड होने के बजाय डेटासेट से व्युत्पन्न किया जाता है।

[`DESIGN.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/DESIGN.md) के अनुभाग 3 और 5.4 में पूरी व्युत्पत्ति है: संवेदनशीलता, लाप्लास तंत्र, हाइब्रिड zCDP अकाउंटेंट, और δ कहाँ से आता है। वहीं सारे ग्रीक अक्षर गए हैं।

---

## यह परियोजना क्या है, और क्या नहीं है

यह **यह** प्रदर्शन है कि एक अविश्वसनीय प्राकृतिक-भाषा परत संवेदनशील डेटा के सामने बिना किसी औपचारिक गोपनीयता गारंटी से समझौता किए बैठ सकती है, जिसमें गारंटी दावों के बजाय काम करने वाले आक्रमणों से समर्थित है।

यह **नहीं** है एक उत्पादन गोपनीयता उत्पाद, वास्तविक परिनियोजन में सत्यापित DP लाइब्रेरी का विकल्प, या यह दावा कि LLM-जनित क्वेरीज़ बिना सुरक्षा के चलाने के लिए सुरक्षित हैं। वे नहीं हैं, यही कारण है कि विश्वसनीय परत मौजूद है।

MCP सर्वर और HTTP डेमो दोनों एक **एकल स्थानीय प्रिंसिपल** को सेवा देते हैं जो मशीन का मालिक है, और वह प्रिंसिपल epoch को रोटेट कर सकता है या बजट फ़ाइल को हटाकर नए सिरे से शुरू कर सकता है। इसलिए "एक बाहरी पक्ष बजट जला देता है और उसे वापस नहीं पा सकता" गुण *तंत्र में प्रदर्शित है, किसी दूरस्थ विरोधी के विरुद्ध लागू नहीं*। उस अंतर को बंद करने के लिए सत्यापित-पहचान (OAuth) और मल्टी-टेनेंट विभाजन की आवश्यकता है जो अभी भी रोडमैप पर है। शोर सैंपलर में एक ज्ञात फ़्लोटिंग-पॉइंट साइड चैनल भी है (Mironov 2012, [`DESIGN.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/DESIGN.md) अनुभाग 5.5 में शामिल)। **किसी भी सतह को** वास्तविक विनियमित डेटा पर न लगाएं, या इसे सत्यापित DP लाइब्रेरी के विकल्प के रूप में न मानें जहाँ कोई अविश्वसनीय पक्ष प्रमाणित कर सकता हो।

बंडल किया गया डेटासेट सार्वजनिक **UCI Adult / Census Income** डेटासेट है, जो differential privacy साहित्य में मानक बेंचमार्क है, इसलिए यहाँ के attack-vs-ε परिणाम प्रकाशित कार्यों से सीधे तुलनीय हैं। यह पहले से ही सार्वजनिक है, इसलिए रिपॉज़िटरी प्रकाशित करना सुरक्षित है। गोपनीयता तंत्र का प्रदर्शन *मानो* रिकॉर्ड संवेदनशील हों, इस प्रकार किया गया है।

---

## संबंधित कार्य

यह मौजूदा उपकरणों के बीच कहाँ स्थित है, और जानबूझकर क्या अलग तरीके से करता है।

<details>
<summary><b>DP लाइब्रेरीज़, DP क्वेरी इंजन, text-to-SQL, MCP सुरक्षा टूलिंग, और LLM के निकट DP</b> (विस्तार के लिए क्लिक करें)</summary>

<br>

**DP लाइब्रेरीज़।** [OpenDP](https://opendp.org/), [Google की differential-privacy लाइब्रेरीज़](https://github.com/google/differential-privacy), [IBM की diffprivlib](https://github.com/IBM/differential-privacy-library), और [Tumult Analytics](https://github.com/opendp/tumult-analytics) (जिसने U.S. Census Bureau, Wikimedia, और IRS रिलीज़ को शक्ति दी, इससे पहले कि उसकी टीम 2025 में LinkedIn में शामिल हुई और लाइब्रेरी OpenDP संगठन में चली गई) स्वयं तंत्रों के सत्यापित कार्यान्वयन हैं, जो एक विश्वसनीय विश्लेषक द्वारा अपने स्वयं के कोड से कॉल करने के लिए लिखे गए हैं। यह परियोजना इसके बजाय अपना तंत्र हाथ से बनाती है, ताकि गोपनीयता-महत्वपूर्ण पथ की हर पंक्ति एक ही रिपॉज़िटरी में छोटी, सुपाठ्य, और परीक्षण-योग्य रहे, और फिर [इसे OpenDP के विरुद्ध क्रॉस-चेक करती है](#cross-checked-against-opendp), ठीक इसलिए क्योंकि हाथ से बनाया गया तंत्र बिना किसी बाहरी निर्णायक के कुछ भी मायने नहीं रखता। वास्तविक परिनियोजन के लिए ऊपर दी गई सलाह कायम है: एक सत्यापित लाइब्रेरी का उपयोग करें।

**DP क्वेरी इंजन।** [PINQ](https://www.microsoft.com/en-us/research/publication/privacy-integrated-queries/) (McSherry, 2009) ने वह आर्किटेक्चर स्थापित किया जिसे यह परियोजना विरासत में लेती है: एक अविश्वसनीय विश्लेषक एक विश्वसनीय परत के माध्यम से क्वेरी जारी करता है जो differential privacy की गारंटी देती है चाहे कुछ भी पूछा जाए। इसके उत्पादन वंशज DP के अंतर्गत SQL का उत्तर देते हैं: [smartnoise-sql](https://github.com/opendp/smartnoise-sdk), [Uber का संग्रहीत elastic-sensitivity रीराइटर](https://github.com/uber-archive/sql-differential-privacy), और [Wilson et al. का differentially private SQL](https://petsymposium.org/popets/2020/popets-2020-0025.php), जो आज [BigQuery differential privacy](https://docs.cloud.google.com/bigquery/docs/differential-privacy) के रूप में उपलब्ध है। यहाँ दो जानबूझकर किए गए अंतर हैं। वे सिस्टम SQL स्वीकार करते हैं और उसका विश्लेषण या पुनर्लेखन करते हैं, जबकि यह गेटवे SQL बिल्कुल भी स्वीकार नहीं करता: एजेंट एक छोटा constrained AST जमा करता है, क्योंकि एक क्वेरी भाषा जो गिनने लायक छोटी है, एक विश्वास सीमा है जो पूरी तरह से परीक्षण करने लायक छोटी है। और उनमें से हर एक कुंजीपटल पर एक मानव विश्लेषक रखता है, जबकि यहाँ क्वेरी लेखक एक स्वायत्त एजेंट है, और खतरा मॉडल यही कहता है।

**प्राकृतिक-भाषा डेटाबेस इंटरफ़ेस।** Text-to-SQL एक बड़ा और सफल क्षेत्र है, लेकिन गोपनीयता इसका विषय नहीं है: उत्पन्न SQL उसी अधिकार के साथ चलता है जो डेटाबेस प्रदान करता है। जहाँ सुरक्षा को संबोधित किया जाता है, जैसे [SafeNLIDB](https://arxiv.org/abs/2511.06778) (AAAI 2026) में, यह alignment-आधारित है (मॉडल को यह तर्क करना सिखाएं कि क्या उत्तर देना सुरक्षित है), इसलिए गारंटी मॉडल के अंदर रहती है। यह परियोजना पूरक रुख अपनाती है: मान लें कि मॉडल को सुरक्षित नहीं बनाया जा सकता, और इसके नीचे गारंटी को गणित से लागू करें जो तब भी कायम रहती है जब मॉडल शत्रुतापूर्ण हो।

**एजेंट और MCP गोपनीयता टूलिंग।** Tool poisoning, prompt injection, और exfiltration वास्तविक जोखिम हैं, और उभरता MCP-सुरक्षा स्टैक इन्हें नीति गेटवे, PII redaction और tokenization, और डेटा-न्यूनीकरण पैटर्न से संबोधित करता है। वे नियंत्रण नियंत्रित करते हैं कि एजेंट क्या *देख और भेज* सकता है। उनमें से कोई भी यह सीमित नहीं करता कि व्यक्तिगत रूप से हानिरहित *उत्तरों* का एक क्रम संचयी रूप से क्या प्रकट करता है, और वही चैनल है जिसका [आक्रमण गैलरी](#the-headline-an-attack-gallery) शोषण करती है। एक differencing attack दो aggregates के माध्यम से वेतन लीक करता है जिन्हें redaction proxy खुशी-खुशी पास कर देगा। Differential privacy ठीक उसी चैनल को सीमित करता है, जो इसे उस स्टैक के बाकी हिस्सों के पूरक बनाता है, प्रतिस्पर्धा नहीं।

**LLM के निकट DP, अलग समस्याएं।** DP-SGD (जैसे [Opacus](https://opacus.ai/)) मॉडल भार के अंदर प्रशिक्षण उदाहरणों की रक्षा करता है। DP in-context learning, DP synthetic text, और DP-RAG prompts और retrieval corpora की रक्षा करते हैं। Local DP, जैसे Apple और Google की telemetry में, डेटा के एकत्र होने से पहले ही डिवाइस पर शोर जोड़ता है। यह परियोजना वह पुराना, केंद्रीय-मॉडल सेटिंग है जिससे ये सभी उत्पन्न हुए हैं: एक विश्वसनीय क्यूरेटर, एक अविश्वसनीय प्रश्नकर्ता, और उनके बीच एक बजट।

**दावा, सावधानी से कहा गया।** इस रिपॉज़िटरी में कोई नया differential-privacy गणित नहीं है। योगदान संयोजन है, और प्रमाण: एक खुला, आक्रमण-सत्यापित आर्टिफैक्ट जो एक स्पष्ट अविश्वसनीय-मॉडल खतरा मॉडल के अंतर्गत DP aggregate बैकएंड के सामने एजेंटिक प्राकृतिक-भाषा पहुँच रखता है। जहाँ तक मैं खोज सका हूँ, कोई अन्य खुला MCP सर्वर एक अविश्वसनीय एजेंट के नीचे एक स्थायी बजट के साथ differential privacy लागू नहीं करता। यदि आप किसी को जानते हैं, तो एक issue खोलें; मैं वास्तव में नोट्स की तुलना करना चाहूंगा।

</details>

---

## दस्तावेज़ीकरण

- [`DESIGN.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/DESIGN.md): आर्किटेक्चर, खतरा मॉडल, संवेदनशीलता और शोर गणित, बजट डिज़ाइन
- [`SETUP.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/SETUP.md): स्थानीय सेटअप, परीक्षण चलाना, कॉन्फ़िगरेशन नॉब्स
- [`docs/CLAUDE_DESKTOP.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/docs/CLAUDE_DESKTOP.md): एक एजेंट को कनेक्ट करना, और एक पुनरुत्पादनीय आक्रमण सत्र
- [`benchmarks/RESULTS.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/benchmarks/RESULTS.md): दोनों सतहों पर मापी गई लेटेंसी, और composition-capacity तालिकाएं
- [`SECURITY.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/SECURITY.md): प्रकट की गई सीमाएं, और किसी और चीज़ की रिपोर्ट कैसे करें
- [`CHANGELOG.md`](https://github.com/yashmahajan10/llm-differential-privacy-gateway/blob/main/CHANGELOG.md): रिलीज़ इतिहास

## रिपॉज़िटरी लेआउट```
.
├── README.md            ← you are here
├── DESIGN.md            ← architecture, threat model, the math, the budget design
├── SETUP.md             ← local setup, running the tests, configuration knobs
├── engine/              ← DP engine: mechanism, RNG, sensitivity, budget accountant + store
├── validation/          ← the trust boundary: policy checks, guards, and the repair loop
├── compiler/            ← the untrusted LLM NL→AST compiler
├── attacks/             ← the attack gallery: differencing, membership ε-sweep, patients singling-out
├── service/             ← AnalyticsService + audit log: the transport-agnostic core every surface shares
├── mcp_server/          ← the stdio MCP server: tool schemas generated from the dataset policy
├── datasets/            ← owner-authored dataset policies, ingestion, and the bundled patients demo
├── identity/            ← the identity layer the budget is keyed to
├── api/                 ← FastAPI service
├── ui/                  ← Streamlit front-end with the live budget meter
├── benchmarks/          ← manual latency benchmarks (run by hand, never by pytest)
├── docs/                ← the Claude Desktop walkthrough, the demo GIF, and the session chart assets
├── scripts/             ← fetch_data.py (pulls UCI Adult into data/, never committed) + the demo GIF renderer
└── tests/               ← unit, trust-boundary, privacy-guarantee, and attack regression tests (DESIGN.md section 8)

लेखक का नोट

यह परियोजना वह जगह है जहाँ मैं सार्वजनिक रूप से गोपनीयता-संरक्षण डेटा प्रणालियों और न्यूनतम-विशेषाधिकार डेटा एक्सेस के डिज़ाइन पर काम करता हूँ: ट्रस्ट बाउंड्री, बजट अकाउंटिंग, और अटैक डेमो वे हिस्से हैं जिनका मैं एक डिज़ाइन समीक्षा में बचाव करूँगा।

टूल डाउनलोड करें