
pii-shield v2.2.3
سايدكار K8s بدون كود لتنظيف السجلات. يكتشف الأسرار عبر تحليل الانتروبيا، ويحافظ على سلامة JSON، ويخفي المعلومات الشخصية القابلة للتحديد (PII) بشكل حتمي. 🛡️
PII-Shield 🛡️
حاوية جانبية لتنقية السجلات بدون أي كود برمجي لـ Kubernetes. تمنع تسرب البيانات (GDPR/SOC2) من خلال إخفاء المعلومات الشخصية القابلة للتعريف (PII) من السجلات قبل مغادرتها للبود.
يعمل PII-Shield داخل العملية — عبر CLI، أو حاوية جانبية، أو WASM. لا توجد واجهة برمجية مستضافة ولا خادم يتم إرسال بياناتك إليه.
"لا تدع المعلومات الشخصية القابلة للتعريف (PII) تسمم نماذج الذكاء الاصطناعي الخاصة بك." يضمن PII-Shield ألا تصل البيانات الحساسة أبدًا إلى مجموعة بيانات التدريب الخاصة بك، مما يوفر عليك إعادة تدريب النماذج إجباريًا بسبب GDPR.
[!WARNING] هل تقوم بالترقية إلى v2.0.0؟ لقد نقلنا توزيع المستخدم النهائي إلى عمليات التثبيت القائمة على Helm والحاويات الجانبية الأصلية Distroless. لم يعد Kustomize مسار تثبيت إصدار مدعومًا لمستخدمي الإنتاج، على الرغم من أن مستودع المشغّل (Operator) لا يزال يحتفظ بهيكل Kustomize للتطوير المحلي وتوليد المانيفست. لم يعد الوصول إلى
/bin/shداخل الحاوية الجانبية PII-Shield مدعومًا. اقرأ دليل الترحيل.
نموذجا النشر
يقدم PII-Shield طريقتين متميزتين للتكامل مع بنيتك:
- مشغّل Kubernetes (بدون كود): نموذج النشر الرئيسي لدينا. مشغّل K8s مؤتمت بالكامل يحقن حاوية جانبية عالية الأمان من نوع Distroless في البودات الخاصة بك لاعتراض السجلات وتنقيتها أثناء التنقل.
- WASM داخل العملية (للتكاملات الأساسية): للأداء الفائق، يمكن تضمين المحرك الأساسي مباشرة عبر WASM، مما يوفر زمن استجابة
<1msبدون قفزات شبكية.
حالة المشروع وخارطة الطريق
PII-Shield هو أداة أمان مفتوحة المصدر قيد التطوير النشط في مرحلة تقوية الإنتاج. يوفر خط إصدارات v2.x قطعًا قابلة للاستخدام من CLI، وحاوية، وHelm/مشغّل، وSDKs الخاصة بـ WASM. مسارات الإخفاء الأساسية جاهزة للنشر المتحكم به، بينما لا تزال بعض أوضاع نشر Kubernetes وضمانات سلسلة التوريد قيد التثبيت.
| المكوّن | الحالة |
|---|---|
| الماسح الأساسي | تم الإصدار / نشر متحكم به |
| حاوية CLI الجانبية | تم الإصدار / نشر متحكم به |
| مشغّل Kubernetes | مرحلة التثبيت |
| SDKs الخاصة بـ WASM | إصدار تجريبي |
| تكامل Proxy-Wasm للبوابة | بحث وتطوير مخطط له |
| واجهة مستخدم مستوى التحكم | بحث وتطوير مخطط له |
| اعتراض eBPF | بحث وتطوير تجريبي |
راجع KNOWN_LIMITATIONS.md للحدود الحالية لتقوية الإنتاج.
لماذا PII-Shield؟
غالبًا ما ينسى المطورون إخفاء البيانات الحساسة. مرشحات التعبيرات النمطية التقليدية في Fluentd/Logstash بطيئة، ويصعب صيانتها، وتستهلك وحدات معالجة مركزية مكلفة على مجمّعات السجلات.
يجلس PII-Shield بجوار حاوية تطبيقك مباشرة:
- محرك أساسي لتقوية الإنتاج: محسّن للحاويات الجانبية في Kubernetes مع تخصيصات ذاكرة منخفضة على المسارات الساخنة ومطابقة تعبيرات نمطية حتمية.
- تحليل الإنتروبيا المدرك للسياق: اكتشاف الأسرار عالية الإنتروبيا حتى بدون مفاتيح (مثل
Error: ... 44saCk9...) من خلال تحليل كلمات السياق. - قواعد تعبيرات نمطية مخصصة: إخفاء حتمي للبيانات المنظمة (UUIDs، IDs) يتجاوز فحوصات الإنتروبيا للأنماط المعروفة.
- تغطية الانحدار والـ Fuzz: تم اختباره ضد حالات الإجهاد بما في ذلك القمامة الثنائية، وتداخل JSON، والسجلات متعددة اللغات.
- التجزئة الحتمية: استبدال الأسرار بتجزئات فريدة (مثل
[HIDDEN:a1b2c])، مما يسمح لضمان الجودة بربط الأخطاء دون رؤية البيانات الخام. - إسقاط مباشر: لا حاجة لتغييرات في الكود. يعمل مع أي لغة (Node، Python، Java، Go).
- دعم القائمة البيضاء: السماح صراحةً بالأنماط الآمنة (مثل تجزئات git، ومعرفات النظام) باستخدام
PII_SAFE_REGEX_LISTلمنع النتائج الإيجابية الخاطئة.
هل تدير PII-Shield عبر عشرات المجموعات؟
نحن نبني مستوى تحكم مستضاف مع إدارة مركزية للقواعد، وتنبيهات Slack، وتحليلات الإخفاء.
التكاملات
يتم شحن بناء WASM داخل العملية الخاص بـ PII-Shield داخل GuardSpine Code، وهو إجراء GitHub مفتوح المصدر لحوكمة كود الذكاء الاصطناعي، والذي يضمّن الثنائي وينسب إليه الفضل في ملف NOTICE الخاص به.
اعتبارات الأداء
بينما تم تحسين PII-Shield بشكل كبير، يتطلب الفحص العميق للسجلات المعقدة اهتمامًا دقيقًا بالتهيئة.
- سجلات النص: سريعة للغاية (>100 ألف سطر/ثانية).
- سجلات JSON: تحليل بدون تخصيص ذاكرة (بدون حمل
encoding/json). يقوم الماسح بتحليل هياكل JSON يدويًا لضمان إنتاجية عالية (~7MB/s) بدون زيادات في الذاكرة. - توصية: الاستخدام آمن للإنتاجية العالية. نستخدم ضمانات ضد العودية لمنع تجاوز سعة المكدس على JSON المتداخل بعمق.
التثبيت
مخطط Helm (مشغّل Kubernetes)
الطريقة الرسمية والموصى بها لنشر PII-Shield في Kubernetes هي عبر مشغّلنا المؤتمت بالكامل:
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 الذي يحقن تلقائيًا حاويات جانبية عالية الأمان من نوع Distroless في البودات الخاصة بك دون الحاجة إلى أي تغييرات في الكود أو Dockerfile.
Docker
احصل على أحدث صورة خفيفة الوزن من Docker Hub أو GHCR:
docker pull thelisdeep/pii-shield:2.2.3
# أو من سجل حاويات GitHub (للمؤسسات):
docker pull ghcr.io/pii-shield/pii-shield:2.2.3
البناء من المصدر
يمكنك بناء الثنائي مباشرة من الكود المصدري:
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: قواعد تعبيرات نمطية مخصصة للإخفاء الحتمي.PII_SAFE_REGEX_LIST: قواعد تعبيرات نمطية للقائمة البيضاء لتجاهلها (يتم إرجاع التطابقات كما هي).
جدول حساسية الإنتروبيا (العتبة الافتراضية: 3.6)
| الإنتروبيا | نوع البيانات | مثال |
|---|---|---|
| 0.0 - 3.0 | كلمات شائعة، تكرارات | password, admin, 111111 |
| 3.0 - 3.6 | CamelCase، تجزئات جزئية | ProgramCampaignInstanceJob, 8f3a11b2c |
| 3.6 - 4.5 | مسارات، UUIDs، كلمات مرور ضعيفة | /opt/application/runtime, P@ssw0rd2026! |
| 4.5 - 5.0 | رموز متوسطة | E8s9d_2kL1 |
| 5.0+ | مفاتيح عالية الإنتروبيا | (SHA-256, API Keys) |
بدء سريع
- الاختبار محليًا (CLI) يمكنك تمرير أي مخرجات سجلات عبر PII-Shield لرؤيته يعمل فورًا:
# محاكاة سجل يحتوي على كلمة مرور حساسة
echo "Error: User password=MySecretPass123! failed login" | docker run -i --rm ghcr.io/pii-shield/pii-shield:2.2.3
# المخرجات: 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"
# ...
سيقوم المشغّل تلقائيًا بحقن pii-shield-agent باستخدام نمط الحاوية الجانبية الأصلية (K8s 1.28+) وإخفاء جميع السجلات بشكل آمن!
📋 مجانًا: قائمة تدقيق من 25 نقطة لتسرب PII في سجلات Kubernetes — من أين تتسرب PII من البودات، وأي مسارات السجلات تتجاوز عوامل التصفية الخاصة بك، وكيفية التحقق من أن الإخفاء يعمل فعليًا. احصل على القائمة ←
📦 حزمة الامتثال GDPR — متاحة الآن (وصول مبكر): أكثر من 40 قاعدة إخفاء مختبرة، ووثائق جاهزة لمسؤول حماية البيانات (DPO)، وقوالب لمسارات التدقيق. 149$ ← · HIPAA/PCI على قائمة الانتظار ←
💬 هل تستخدم PII-Shield؟ أخبرنا عن نشرك ← — دقيقتان، وسيشكل ذلك ما سيتم بناؤه بعد ذلك.
التحقق
تم التحقق من هذا المشروع باستخدام مجموعة اختبارات متنامية تهدف إلى رفع الثقة قبل تقوية الإنتاج:
- اختبارات الوحدة: تغطي الحالات الحدودية، والدعم متعدد اللغات، وسلامة JSON مع تغطية >85%.
- الـ Fuzzing: يضمن الـ Fuzzing الأصلي في Go سلامة ضد الانهيار مع المدخلات الثنائية غير الصالحة والعشوائية.
- اختبار الدخان:
./scripts/test-smoke.shيختبر أحمال العمل المختلطة ويبلغ عن دقة الكشف. - الاختبار الشامل (E2E): تقوم مجموعة
operator/tests/run_e2e.shبالتحقق من صحة الحزمة الكاملة باستخدام Minikube وHelm. تقوم ببناء الصور محليًا، وتجهيز المشغّل بدون cert-manager، ونشر وظائف (Jobs) مستهدفة، والتحقق من الإخفاء الفعلي للسجلات من خلال اعتراض مخرجات الحاويات الجانبية.
معايير الأداء
لمقارنة إنتاجية 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
يقيس هذا مسار CLI الكامل من الإدخال إلى الإخراج. لمعايير الماسح الدقيقة فقط، قم بتشغيل:
go test -bench=. -benchmem ./pkg/scanner
اختبارات تكامل المشغّل
يحافظ المشغّل على فصل اختبارات الوحدة السريعة عن اختبارات تكامل Kubernetes API. لا تبدأ اختبارات المشغّل العادية خادم API محليًا:
cd operator
go test ./...
لتشغيل مجموعة تكامل وحدة التحكم القائمة على envtest:
./scripts/test-operator-integration.sh
تبدأ هذه الاختبارات خادم Kubernetes API محليًا وetcd عبر envtest، لذا تتطلب إذنًا للربط بـ 127.0.0.1. في البيئات المقيدة، قم بتشغيلها في غلاف محلي، أو بيئة Docker، أو مشغل CI يسمح بربط localhost.
الدعم
PII-Shield هو بنية تحتية مفتوحة المصدر للسجلات التي تحافظ على الخصوصية. إذا كان هذا المشروع مفيدًا لك أو لمؤسستك، يمكنك دعم تطويره عبر GitHub Sponsors.
التحقق من الإصدار
إرشادات التحقق من المجموع الاختباري للإصدار وتجزئة صورة الحاوية موثقة في docs/release-verification.md. يتم تتبع الإصدارات المدعومة بالتوقيعات والإثباتات كجزء من خارطة طريق تقوية سلسلة التوريد.
الترخيص
موزع بموجب ترخيص Apache 2.0. راجع LICENSE لمزيد من المعلومات.