
pii-shield v2.2.0
लॉग सैनिटाइज़ेशन के लिए ज़ीरो-कोड K8s साइडकार। एंट्रोपी विश्लेषण के माध्यम से रहस्यों का पता लगाता है, JSON अखंडता को संरक्षित करता है, और PII को निर्धारित रूप से संपादित करता है। 🛡️
PII-Shield 🛡️
Kubernetes के लिए ज़ीरो-कोड लॉग सैनिटाइज़ेशन साइडकार। लॉग को पॉड से बाहर जाने से पहले उनमें से PII हटाकर डेटा लीक (GDPR/SOC2) रोकता है।
PII-Shield इन-प्रोसेस चलता है — CLI, साइडकार, या WASM। कोई होस्टेड API नहीं है और न ही कोई सर्वर जिसे आपका डेटा भेजा जाता है।
"PII को अपने AI मॉडल को दूषित न करने दें।" PII-Shield सुनिश्चित करता है कि संवेदनशील डेटा कभी भी आपके प्रशिक्षण डेटासेट तक न पहुँचे, जिससे आप GDPR-लागू मॉडल पुनर्प्रशिक्षण से बच जाते हैं।
[!WARNING] v2.0.0 में अपग्रेड कर रहे हैं? हमने अंतिम-उपयोगकर्ता वितरण को Helm-आधारित इंस्टॉल और Distroless नेटिव साइडकार में स्थानांतरित कर दिया है। Kustomize अब प्रोडक्शन उपयोगकर्ताओं के लिए समर्थित रिलीज़ इंस्टॉलेशन पथ नहीं है, हालाँकि ऑपरेटर रिपॉज़िटरी स्थानीय विकास और मैनिफेस्ट जनरेशन के लिए Kustomize स्कैफोल्डिंग बनाए रखती है। PII-Shield साइडकार के अंदर
/bin/shएक्सेस अब समर्थित नहीं है। माइग्रेशन गाइड पढ़ें।
दो डिप्लॉयमेंट मॉडल
PII-Shield आपके स्टैक में एकीकृत करने के दो अलग तरीके प्रदान करता है:
- Kubernetes ऑपरेटर (ज़ीरो-कोड): हमारा प्रमुख डिप्लॉयमेंट मॉडल। एक पूर्णतः स्वचालित K8s ऑपरेटर जो आपके पॉड्स में एक अत्यंत-सुरक्षित Distroless साइडकार इंजेक्ट करता है ताकि लॉग को तुरंत रोककर सैनिटाइज़ किया जा सके।
- इन-प्रोसेस WASM (कोर इंटीग्रेशन के लिए): अत्यधिक प्रदर्शन के लिए, कोर इंजन को सीधे WASM के माध्यम से एम्बेड किया जा सकता है, जो नेटवर्क हॉप्स के बिना
<1msविलंबता प्रदान करता है।
प्रोजेक्ट स्थिति और रोडमैप
PII-Shield एक सक्रिय रूप से विकसित होने वाला ओपन-सोर्स सुरक्षा उपकरण है जो प्रोडक्शन-हार्डनिंग चरण में है। v2.x रिलीज़ लाइन उपयोग योग्य CLI, कंटेनर, Helm/ऑपरेटर, और WASM SDK आर्टिफैक्ट्स भेजती है। कोर रिडक्शन पथ नियंत्रित डिप्लॉयमेंट के लिए तैयार हैं, जबकि कुछ Kubernetes डिप्लॉयमेंट मोड और सप्लाई-चेन गारंटी अभी भी स्थिर की जा रही हैं।
| घटक | स्थिति |
|---|---|
| कोर स्कैनर | रिलीज़ / नियंत्रित डिप्लॉयमेंट |
| CLI साइडकार | रिलीज़ / नियंत्रित डिप्लॉयमेंट |
| Kubernetes ऑपरेटर | स्थिरीकरण चरण |
| WASM SDK | रिलीज़ बीटा |
| Proxy-Wasm गेटवे एकीकरण | नियोजित R&D |
| कंट्रोल प्लेन UI | नियोजित R&D |
| eBPF इंटरसेप्शन | प्रयोगात्मक R&D |
वर्तमान प्रोडक्शन-हार्डनिंग सीमाओं के लिए KNOWN_LIMITATIONS.md देखें।
PII-Shield क्यों?
डेवलपर्स अक्सर संवेदनशील डेटा को मास्क करना भूल जाते हैं। Fluentd/Logstash में पारंपरिक regex फ़िल्टर धीमे होते हैं, बनाए रखना कठिन होता है, और लॉग एग्रीगेटर्स पर महंगी CPU खपत करते हैं।
PII-Shield आपके ऐप कंटेनर के ठीक बगल में बैठता है:
- प्रोडक्शन-हार्डनिंग कोर इंजन: हॉट पाथ पर कम मेमोरी आवंटन और निर्धारणात्मक regex मिलान के साथ Kubernetes साइडकार के लिए अनुकूलित।
- संदर्भ-जागरूक एंट्रॉपी विश्लेषण: संदर्भ कीवर्ड का विश्लेषण करके बिना कुंजियों के भी उच्च-एंट्रॉपी रहस्यों का पता लगाता है (जैसे
Error: ... 44saCk9...)। - कस्टम Regex नियम: संरचित डेटा (UUIDs, IDs) के लिए निर्धारणात्मक रिडक्शन जो ज्ञात पैटर्न के लिए एंट्रॉपी जाँच को ओवरराइड करता है।
- रिग्रेशन और फ़ज़ कवरेज: बाइनरी गार्बेज, JSON नेस्टिंग, और बहुभाषी लॉग सहित स्ट्रेस मामलों के विरुद्ध परीक्षण किया गया।
- निर्धारणात्मक हैशिंग: रहस्यों को अद्वितीय हैश के साथ बदलता है (जैसे,
[HIDDEN:a1b2c]), जिससे QA को कच्चा डेटा देखे बिना त्रुटियों को सहसंबंधित करने की अनुमति मिलती है। - ड्रॉप-इन: कोई कोड परिवर्तन आवश्यक नहीं। किसी भी भाषा के साथ काम करता है (Node, Python, Java, Go)।
- व्हाइटलिस्ट समर्थन: गलत सकारात्मक परिणामों को रोकने के लिए
PII_SAFE_REGEX_LISTका उपयोग करके सुरक्षित पैटर्न (जैसे, git हैश, सिस्टम IDs) को स्पष्ट रूप से अनुमति दें।
दर्जनों क्लस्टर्स में PII-Shield प्रबंधित कर रहे हैं?
हम केंद्रीकृत नियम प्रबंधन, Slack अलर्टिंग, और रिडक्शन एनालिटिक्स के साथ एक होस्टेड कंट्रोल प्लेन बना रहे हैं।
इंटीग्रेशन
PII-Shield का इन-प्रोसेस WASM बिल्ड GuardSpine Code के अंदर भेजा जाता है, जो एक ओपन-सोर्स AI कोड-गवर्नेंस GitHub Action है, जो बाइनरी को वेंडर करता है और अपने NOTICE में इसका श्रेय देता है।
प्रदर्शन संबंधी विचार
जबकि PII-Shield अत्यधिक अनुकूलित है, जटिल लॉग की गहन जाँच के लिए कॉन्फ़िगरेशन पर सावधानीपूर्वक ध्यान देने की आवश्यकता होती है।
- टेक्स्ट लॉग: अत्यंत तेज़ (>100k लाइनें/सेकंड)।
- JSON लॉग: ज़ीरो-आवंटन पार्सिंग (कोई
encoding/jsonओवरहेड नहीं)। स्कैनर उच्च थ्रूपुट (~7MB/s) बिना मेमोरी स्पाइक के सुनिश्चित करने के लिए JSON संरचनाओं को मैन्युअल रूप से पार्स करता है। - अनुशंसा: उपयोग उच्च थ्रूपुट के लिए सुरक्षित है। हम गहराई से नेस्टेड JSON पर स्टैक ओवरफ़्लो को रोकने के लिए रिकर्सन सुरक्षा उपायों का उपयोग करते हैं।
इंस्टॉलेशन
Helm चार्ट (Kubernetes ऑपरेटर)
Kubernetes में PII-Shield को डिप्लॉय करने का आधिकारिक और अनुशंसित तरीका हमारे पूर्णतः-स्वचालित ऑपरेटर के माध्यम से है:
helm repo add pii-shield https://pii-shield.github.io/pii-shield/
helm repo update
helm install pii-shield-operator pii-shield/pii-shield-operator -n operator-system --create-namespace
यह PII-Shield ऑपरेटर को डिप्लॉय करता है जो बिना किसी कोड या Dockerfile परिवर्तन की आवश्यकता के आपके पॉड्स में अत्यधिक-सुरक्षित, डिस्ट्रोलेस साइडकार स्वचालित रूप से इंजेक्ट करता है।
Docker
Docker Hub या GHCR से नवीनतम हल्की इमेज प्राप्त करें:
docker pull thelisdeep/pii-shield:2.2.0
# OR from GitHub Container Registry (Enterprise):
docker pull ghcr.io/pii-shield/pii-shield:2.2.0
स्रोत से बिल्ड करें
आप बाइनरी को सीधे स्रोत कोड से बिल्ड कर सकते हैं:
go build -o pii-shield ./cmd/cleaner/main.go
कॉन्फ़िगरेशन
पर्यावरण चर की पूरी सूची के लिए CONFIGURATION.md देखें, जिनमें शामिल हैं:
PII_SALT: कस्टम HMAC सॉल्ट (प्रोडक्शन के लिए आवश्यक)।PII_ADAPTIVE_THRESHOLD: गतिशील एंट्रॉपी बेसलाइन सक्षम करें।PII_DISABLE_BIGRAM_CHECK: गैर-अंग्रेज़ी लॉग के लिए अनुकूलित करें।PII_CUSTOM_REGEX_LIST: निर्धारणात्मक रिडक्शन के लिए कस्टम regex नियम।PII_SAFE_REGEX_LIST: अनदेखा करने के लिए व्हाइटलिस्ट regex नियम (मिलान जैसे-के-तैसे लौटाए जाते हैं)।
एंट्रॉपी संवेदनशीलता तालिका (डिफ़ॉल्ट थ्रेशोल्ड: 3.6)
| एंट्रॉपी | डेटा प्रकार | उदाहरण |
|---|---|---|
| 0.0 - 3.0 | सामान्य शब्द, दोहराव | password, admin, 111111 |
| 3.0 - 3.6 | कैमलकेस, आंशिक हैश | ProgramCampaignInstanceJob, 8f3a11b2c |
| 3.6 - 4.5 | पथ, UUIDs, कमज़ोर पासवर्ड | /opt/application/runtime, P@ssw0rd2026! |
| 4.5 - 5.0 | मध्यम टोकन | E8s9d_2kL1 |
| 5.0+ | उच्च एंट्रॉपी कुंजियाँ | (SHA-256, API कुंजियाँ) |
त्वरित प्रारंभ
- स्थानीय रूप से परीक्षण करें (CLI) यह तुरंत कार्य में देखने के लिए आप किसी भी लॉग आउटपुट को PII-Shield के माध्यम से पाइप कर सकते हैं:
# Emulate a log with a sensitive password
echo "Error: User password=MySecretPass123! failed login" | docker run -i --rm ghcr.io/pii-shield/pii-shield:2.2.0
# Output: Error: User password=[HIDDEN:8f3a11] failed login
- Kubernetes (स्वचालित साइडकार इंजेक्शन)
PII-Shield ऑपरेटर स्थापित होने पर, किसी एप्लिकेशन को सुरक्षित करना
PiiPolicyबनाने और अपने पॉड्स को लेबल करने जितना सरल है।
एक पॉलिसी बनाएँ:
apiVersion: core.pii-shield.io/v1alpha1
kind: PiiPolicy
metadata:
name: strict-policy
namespace: default
spec:
injectionMode: "file"
अपने डिप्लॉयमेंट को लेबल करें:
apiVersion: apps/v1
kind: Deployment
metadata:
name: secure-app
spec:
template:
metadata:
labels:
pii-shield.io/inject: "true"
annotations:
pii-shield.io/policy: "strict-policy"
# ...
ऑपरेटर नेटिव साइडकार पैटर्न (K8s 1.28+) का उपयोग करके pii-shield-agent को स्वचालित रूप से इंजेक्ट करेगा और सभी लॉग को सुरक्षित रूप से मास्क करेगा!
📋 निःशुल्क: 25-बिंदु Kubernetes लॉग PII ऑडिट चेकलिस्ट — PII पॉड्स से कहाँ लीक होता है, कौन से लॉग पथ आपके फ़िल्टर को बायपास करते हैं, और कैसे सत्यापित करें कि रिडक्शन वास्तव में काम करता है। चेकलिस्ट प्राप्त करें →
📦 कंप्लायंस पैक (GDPR/HIPAA/PCI) जल्द आ रहे हैं — शीघ्र एक्सेस प्राप्त करें →
💬 PII-Shield का उपयोग कर रहे हैं? हमें अपने डिप्लॉयमेंट के बारे में बताएँ → — 2 मिनट, और यह तय करता है कि आगे क्या बनाया जाएगा।
सत्यापन
यह प्रोजेक्ट एक बढ़ते परीक्षण सूट के साथ सत्यापित है जो प्रोडक्शन हार्डनिंग से पहले विश्वास बढ़ाने के लिए है:
- यूनिट परीक्षण: >85% कवरेज के साथ एज केस, बहुभाषी समर्थन, और JSON अखंडता को कवर करते हैं।
- फ़ज़िंग: नेटिव Go फ़ज़िंग अमान्य और यादृच्छिक बाइनरी इनपुट के विरुद्ध क्रैश सुरक्षा सुनिश्चित करती है।
- स्मोक टेस्टिंग:
./scripts/test-smoke.shमिश्रित वर्कलोड का अभ्यास करता है और पहचान सटीकता की रिपोर्ट करता है। - एंड-टू-एंड (E2E) परीक्षण:
operator/tests/run_e2e.shसूट Minikube और Helm का उपयोग करके फुल-स्टैक सत्यापन करता है। यह स्थानीय इमेज बनाता है, cert-manager के बिना ऑपरेटर को प्रोविज़न करता है, लक्ष्य Jobs डिप्लॉय करता है, और साइडकार आउटपुट को इंटरसेप्ट करके वास्तविक लॉग रिडक्शन सत्यापित करता है।
प्रदर्शन बेंचमार्क
वर्तमान ब्रांच और बेसलाइन ref के बीच एंड-टू-एंड CLI थ्रूपुट की तुलना करने के लिए:
./benchmark/run_benchmarks.sh
डिफ़ॉल्ट रूप से, बेंचमार्क HEAD की तुलना origin/main से करता है, origin/main को रीफ़्रेश करता है, एक मिश्रित लॉग कॉर्पस उत्पन्न करता है, पुराने/नए रन क्रम को वैकल्पिक करता है, और माध्यिका, p95, न्यूनतम/अधिकतम, और MiB/s रिपोर्ट करता है:
BASE_REF=origin/main RUNS=9 LINES=500000 ./benchmark/run_benchmarks.sh
यह पूर्ण stdin-से-stdout CLI पथ को मापता है। केवल स्कैनर माइक्रोबेंचमार्क के लिए, चलाएँ:
go test -bench=. -benchmem ./pkg/scanner
ऑपरेटर इंटीग्रेशन परीक्षण
ऑपरेटर तेज़ यूनिट परीक्षणों को Kubernetes API इंटीग्रेशन परीक्षणों से अलग रखता है। नियमित ऑपरेटर परीक्षण स्थानीय API सर्वर प्रारंभ नहीं करते हैं:
cd operator
go test ./...
envtest-आधारित कंट्रोलर इंटीग्रेशन सूट चलाने के लिए:
./scripts/test-operator-integration.sh
ये परीक्षण envtest के माध्यम से एक स्थानीय Kubernetes API सर्वर और etcd प्रारंभ करते हैं, इसलिए उन्हें 127.0.0.1 से बाइंड करने की अनुमति की आवश्यकता होती है। प्रतिबंधित सैंडबॉक्स में, उन्हें स्थानीय शेल, Docker वातावरण, या CI रनर में चलाएँ जो localhost बाइंड की अनुमति देता है।
सहायता
PII-Shield गोपनीयता-संरक्षण लॉग के लिए ओपन-सोर्स इंफ्रास्ट्रक्चर है। यदि यह प्रोजेक्ट आपके या आपके संगठन के लिए उपयोगी है, तो आप GitHub Sponsors के माध्यम से इसके विकास का समर्थन कर सकते हैं।
रिलीज़ सत्यापन
रिलीज़ चेकसम और इमेज-डाइजेस्ट सत्यापन मार्गदर्शन docs/release-verification.md में प्रलेखित है। हस्ताक्षर और प्रोवेनेंस-समर्थित रिलीज़ सप्लाई-चेन हार्डनिंग रोडमैप के भाग के रूप में ट्रैक किए जाते हैं।
लाइसेंस
Apache 2.0 लाइसेंस के अंतर्गत वितरित। अधिक जानकारी के लिए LICENSE देखें।