# إطلاق أداة PIIHunter لفحص قواعد بيانات PostgreSQL ومشاريع Jira بحثاً عن البيانات الشخصية

> تفحص أداة PIIHunter الأمنية الجديدة قواعد بيانات PostgreSQL ومشاريع Jira لاكتشاف معلومات التعريف الشخصية المكشوفة باستخدام طبقات كشف متعددة.

- Canonical URL: https://coreiten.com/article/أداة-piihunter-تفحص-قواعد-بيانات-postgresql-ومشاريع-jira
- Language: ar
- Section: الريادة والمشاريع
- Author: Sami
- Published: 2026-10-19T00:02:41+03:00
- Modified: 2026-10-19T00:02:41+03:00
- Publisher: CoreITen (https://coreiten.com)
- Keywords: PIIHunter, PostgreSQL, Jira, Microsoft Presidio, spaCy, أداة أمنية, فحص البيانات

## ملخص

إطلاق أداة PIIHunter في 16 أكتوبر لفحص قواعد بيانات PostgreSQL ومشاريع Jira بحثاً عن معلومات التعريف الشخصية المسربة.

- تجمع الأداة بين التعبيرات النمطية ونماذج spaCy أو Microsoft Presidio والنماذج اللغوية الكبيرة لتحقيق تغطية شاملة.
- تتضمن فلاتر ذكية لتجاهل المحتوى المتوقع مثل الإشارات وعناوين البريد الإلكتروني الخاصة بالشركة.
- تتطلب فحص قواعد بيانات PostgreSQL إعداد دور بصلاحية القراءة فقط وتنزيل نموذج spaCy بحجم 800 ميجابايت تقريباً.
- تدعم الأداة فحص مشكلات وتعليقات Jira باستخدام رموز API المتاحة عبر موقع Atlassian.
- يمكن تشغيل خادم HTTP محلي لتلقي أحداث خطافات الويب من Jira وفحص المشكلات والتعليقات الجديدة في الوقت الفعلي.
- صُممت الأداة للاستخدام الداخلي فقط مع ميزات أمان تشمل الحد الأدنى من الاحتفاظ بالبيانات وحجبها تلقائياً في السجلات.

**لماذا يهم:** توفر الأداة حلاً داخلياً آمناً ومنظماً لفرق الأمن والخصوصية لاكتشاف بيانات المستخدمين الحساسة ومنع تسريبها.

---

حصلت فرق أمن التطبيقات والخصوصية على أداة داخلية جديدة لاكتشاف معلومات التعريف الشخصية (PII). تعمل أداة PIIHunter، التي طُرحت في 16 أكتوبر، على فحص قواعد بيانات PostgreSQL ومشاريع Jira لاكتشاف أي كشف عرضي للبيانات باستخدام طبقات تحليل متعددة.

### طرق الكشف والميزات

تجمع الأداة بين ثلاث طبقات للكشف من أجل توفير تغطية شاملة. وتستخدم التعبيرات النمطية (Regex) الحتمية للعثور على رسائل البريد الإلكتروني، وأرقام الهواتف، وأرقام الضمان الاجتماعي، وبطاقات الائتمان. وللتعرف على الكيانات مثل الأسماء والمواقع والتواريخ، تعتمد الأداة على نماذج التعرف على الكيانات المسماة والتعلم الآلي (NER/ML) مثل Microsoft Presidio أو spaCy. بالإضافة إلى ذلك، يمكن للفرق استخدام النماذج اللغوية الكبيرة (LLMs) المستضافة ذاتياً كخيار إضافي لتصنيف النصوص الحرة الغامضة.

تتضمن الأداة فلاتر استثناء ذكية لتجاهل المحتوى المتوقع، مثل الإشارات (`@mentions`) وعناوين البريد الإلكتروني الخاصة بالشركة. وتحلل الأداة عينات بيانات تمثيلية لتقليل التأثير على الأداء من خلال أخذ العينات الذكي. ويُسجل كل فحص مع إعداداته، والطوابع الزمنية، وإصدارات النماذج للحفاظ على سجل تدقيق شامل، بينما يعمل التسجيل الآمن للخصوصية على حجب معلومات التعريف الشخصية تلقائياً في جميع السجلات والعينات المخزنة. وتُحفظ نتائج فحص Jira تلقائياً في ملف JSON أو CSV مؤرخ عند كل تشغيل.

### فحص مخطط قاعدة البيانات

لفحص قاعدة بيانات PostgreSQL بحثاً عن معلومات التعريف الشخصية عبر الأعمدة، يجب على المستخدمين أولاً إعداد البيئة وتنزيل نموذج spaCy NER الذي يبلغ حجمه حوالي 800 ميجابايت.

```bash
# Clone the repository
cd PIIHunter

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Download spaCy NER model (~800MB)
python -m spacy download en_core_web_lg
```

بعد ذلك، أنشئ دوراً بصلاحية القراءة فقط في قاعدة البيانات.

```sql
CREATE ROLE pii_scanner_readonly WITH LOGIN PASSWORD 'your_secure_password';
GRANT CONNECT ON DATABASE your_database TO pii_scanner_readonly;
GRANT USAGE ON SCHEMA public, app_data TO pii_scanner_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public, app_data TO pii_scanner_readonly;
```

قم بتكوين متغيرات البيئة.

```bash
cp .env.example .env
# Fill in DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD
```

تُنشئ الأداة مخطط `security_pii` لتخزين نتائج الفحص. شغّل الأوامر التالية لاكتشاف الأعمدة، وإجراء الفحص، وعرض التقارير.

```bash
# Preview candidate columns (no data read)
python -m pii_scanner.cli discover

# Run PII detection
python -m pii_scanner.cli scan --sample-size 1000

# View results
python -m pii_scanner.cli report
```

لاختبار الاتصال بقاعدة البيانات، استخدم هذا الأمر.

```bash
python -m pii_scanner.cli test-connection
```

### تكامل فحص Jira

يمكن لأداة PIIHunter فحص مشكلات Jira والتعليقات بحثاً عن أي كشف عرضي لمعلومات التعريف الشخصية من خلال الاستعلام عن النشاط في الساعات المحددة الماضية، وهو ما لا يتطلب خادماً. ولا يُشترط إعداد قاعدة البيانات لهذه الميزة، ولكن التثبيت الأساسي ضروري.

```bash
cd PIIHunter
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m spacy download en_core_web_lg
```

لتكوين الوصول إلى Jira:

1. انتقل إلى `https://id.atlassian.com`، وافتح الأمان (**Security**)، ثم حدد رموز API (**API tokens**).
2. انقر على إنشاء رمز API (**Create API token**)، وامنحه اسماً، ثم انسخ الرمز.

أضف بيانات الاعتماد إلى ملف التكوين.

```ini
JIRA_URL=https://yourcompany.atlassian.net
JIRA_EMAIL=you@yourcompany.com
JIRA_API_TOKEN=your_api_token_here

# Optional — leave empty to scan all projects
# JIRA_PROJECT_KEYS=ENG,OPS,SUPPORT

# Emails from these domains will NOT be flagged as PII
COMPANY_EMAIL_DOMAINS=yourcompany.com
```

تتحقق الأداة من بيانات الاعتماد، وتدرج المشاريع المتاحة، وتجلب عينة من المشكلات الحديثة. وفي حال فشل ذلك، يجب على المستخدمين التحقق من رمز API الخاص بهم والتأكد من تطابق البريد الإلكتروني مع الحساب.

```text
Testing connection to https://yourcompany.atlassian.net...

  Auth          ✓  logged in as Jane Smith (jane@yourcompany.com)
  Projects      ✓  3 accessible: ENG, OPS, SUPPORT
  Project ENG   ✓  accessible

  Recent issues (no time filter):
    ENG-101  Fix login timeout on mobile
    ENG-100  Update password policy
```

شغّل الفحص مع تحديد نافذة زمنية مخصصة.

```bash
# Scan last 24 hours
python -m pii_scanner.cli jira scan

# Custom lookback window
python -m pii_scanner.cli jira scan --hours 48
```

### خطافات الويب في الوقت الفعلي لمشاريع Jira

لإجراء الفحص في الوقت الفعلي، يمكن للأداة بدء خادم HTTP يتلقى أحداث Jira ويفحصها فور وصولها. ويتطلب ذلك نقطة نهاية يمكن الوصول إليها بشكل عام والتثبيت الأساسي.

```ini
# Secret used to verify requests genuinely come from Jira
JIRA_WEBHOOK_SECRET=your_webhook_secret
JIRA_WEBHOOK_PORT=8080
```

ابدأ تشغيل خادم خطاف الويب.

```bash
python -m pii_scanner.cli jira webhook

# Custom port
python -m pii_scanner.cli jira webhook --port 9090
```

قم بتكوين خطاف الويب في Jira:

1. في Jira، انتقل إلى إعدادات المشروع (**Project Settings**)، وحدد خطافات الويب (**Webhooks**)، ثم انقر على إنشاء خطاف ويب (**Create webhook**).
2. عيّن عنوان URL إلى `http://yourserver:8080/webhook`.
3. ضمن الأحداث (**Events**)، حدد `Issue → created` و `Comment → created`.
4. عيّن السر ليطابق سر خطاف الويب في ملف التكوين واحفظ الإعدادات.

سترسل Jira الآن طلب POST إلى الخادم لكل مشكلة وتعليق جديد، مما يتيح للأداة معالجة كل منها على الفور.

### إرشادات النشر والأمان

صُممت الأداة خصيصاً للاستخدام الداخلي فقط ضمن بيئة آمنة وخاضعة للرقابة. وتعمل بتصميم يضع الأمان في المقام الأول، حيث تستخدم وصولاً بصلاحية القراءة فقط لقاعدة البيانات، ولا تجري أي مكالمات خارجية لواجهة برمجة التطبيقات، وتضمن الحد الأدنى من الاحتفاظ بمعلومات التعريف الشخصية. وبالنسبة لإعدادات خطاف الويب في بيئة الإنتاج، يحذر المطورون من تعريض uvicorn مباشرة للإنترنت.

## المصادر

- [kitploit.com](https://kitploit.com/en/tools/github/owasp/piihunter)

## مواضيع ذات صلة

- [Jira](https://coreiten.com/topic/jira)
