
PostgreSQL डेटाबेस और Jira इश्यूज़ को regex, NER/ML, और वैकल्पिक self-hosted LLM डिटेक्शन का उपयोग करके PII के लिए स्कैन करता है, साथ में redacted रिपोर्ट और audit logging प्रदान करता है।
PostgreSQL डेटाबेस और Jira प्रोजेक्ट्स में व्यक्तिगत रूप से पहचान योग्य जानकारी (PII) खोजने के लिए एक आंतरिक सुरक्षा उपकरण
AI PII स्कैनर एक व्यापक, सुरक्षा-केंद्रित उपकरण है जिसे एप्लिकेशन सुरक्षा और गोपनीयता टीमों के लिए PII की खोज और सूचीबद्ध करने हेतु डिज़ाइन किया गया है। यह दो स्कैन लक्ष्यों का समर्थन करता है:
डिटेक्शन तीन-परत पाइपलाइन का उपयोग करता है:
@mentions और कंपनी ईमेल पतेमहत्वपूर्ण: यह उपकरण एक सुरक्षित, नियंत्रित वातावरण के भीतर केवल आंतरिक उपयोग के लिए डिज़ाइन किया गया है।
| सुरक्षा नियंत्रण | कार्यान्वयन |
|---|---|
| डेटा एक्सफ़िल्ट्रेशन रोकथाम | कोई तृतीय-पक्ष API कॉल नहीं; LLM एंडपॉइंट स्व-होस्टेड होने चाहिए |
| न्यूनतम विशेषाधिकार पहुँच | एप्लिकेशन डेटा पर लेखन पहुँच के बिना रीड-ओनली डेटाबेस भूमिका |
| PII न्यूनीकरण | निष्कर्ष केवल मेटाडेटा और भारी रूप से रिडैक्ट किए गए नमूने संग्रहीत करते हैं |
| ऑडिट ट्रेल | सभी स्कैन कौन/क्या/कब/कैसे विवरण के साथ लॉग किए जाते हैं |
| सुरक्षित लॉगिंग | स्वचालित PII फ़ील्ड रिडैक्शन के साथ संरचित लॉग |
| एन्क्रिप्टेड ट्रांज़िट | सभी डेटाबेस कनेक्शन के लिए SSL/TLS आवश्यक |
| वेबहुक सत्यापन | आने वाले Jira इवेंट्स के लिए HMAC-SHA256 हस्ताक्षर सत्यापन |
यदि आप कॉलमों में PII के लिए PostgreSQL डेटाबेस स्कैन करना चाहते हैं तो इसका उपयोग करें।
# 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
इसे PostgreSQL सुपरयूज़र के रूप में चलाएं:
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;
cp .env.example .env
# Fill in DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD
security_pii स्कीमा बनाता है जहाँ स्कैन परिणाम संग्रहीत किए जाते हैं। एक बार चलाएँ:
python -m pii_scanner.cli init-schema
# 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
python -m pii_scanner.cli test-connection
यदि आप आकस्मिक PII एक्सपोज़र के लिए Jira इश्यू और कमेंट स्कैन करना चाहते हैं तो इसका उपयोग करें।
पहले बेस इंस्टॉल (ऊपर चरण 1) आवश्यक है। यदि आप केवल Jira स्कैनिंग चाहते हैं तो डेटाबेस सेटअप (चरण 2–4) आवश्यक नहीं है।
पिछले N घंटों की गतिविधि के लिए मांग पर Jira को पोल करता है। किसी सर्वर की आवश्यकता नहीं है।
चरण 1 — बेस इंस्टॉल (यदि पहले से नहीं किया गया है)
cd PIIHunter
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m spacy download en_core_web_lg
चरण 2 — Jira API टोकन जनरेट करें
https://id.atlassian.com पर जाएं → Security → API tokensचरण 3 — पर्यावरण कॉन्फ़िगर करें
cp .env.example .env
.env को संपादित करें और अपनी Jira विवरण भरें:
JIRA_URL=https://yourcompany.atlassian.net
[email protected]
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
चरण 4 — कनेक्शन का परीक्षण करें
आपके क्रेडेंशियल्स को सत्यापित करता है, सुलभ प्रोजेक्ट्स की सूची बनाता है, और हाल के इश्यूज़ का एक नमूना प्राप्त करता है:
python -m pii_scanner.cli jira test
Expected output:
Testing connection to https://yourcompany.atlassian.net...
Auth ✓ logged in as Jane Smith ([email protected])
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
यदि यह विफल होता है, तो अपना API टोकन जांचें और सुनिश्चित करें कि JIRA_EMAIL उस खाते से मेल खाता है जिसके लिए टोकन जनरेट किया गया था।
चरण 5 — स्कैन चलाएं
# Scan last 24 hours
python -m pii_scanner.cli jira scan
# Custom lookback window
python -m pii_scanner.cli jira scan --hours 48
एक HTTP सर्वर शुरू करता है जो Jira इवेंट्स प्राप्त करता है और उनके आते ही तुरंत स्कैन करता है। इसके लिए सार्वजनिक रूप से पहुँचने योग्य एंडपॉइंट की आवश्यकता होती है।
चरण 1 — बेस इंस्टॉल + REST API सेटअप (पहले उपधारा A के चरण 1–4 पूरे करें)
चरण 2 — वेबहुक निर्भरताएँ इंस्टॉल करें
pip install fastapi uvicorn
चरण 3 — .env में webhook कॉन्फ़िग जोड़ें
# Secret used to verify requests genuinely come from Jira
JIRA_WEBHOOK_SECRET=your_webhook_secret
JIRA_WEBHOOK_PORT=8080
चरण 4 — वेबहुक सर्वर प्रारंभ करें
python -m pii_scanner.cli jira webhook
# Custom port
python -m pii_scanner.cli jira webhook --port 9090
चरण 5 — Jira में वेबहुक रजिस्टर करें
http://yourserver:8080/webhook पर सेट करेंIssue → createdComment → created.env में JIRA_WEBHOOK_SECRET से मेल खाते हुए सेट करेंअब Jira प्रत्येक नए issue और comment के लिए आपके सर्वर पर POST करेगा। स्कैनर प्रत्येक को तुरंत प्रोसेस करता है।
उपलब्ध endpoints: