# Privacy Benchmarks Privacy benchmarks assess AI models' ability to handle sensitive information appropriately, maintain privacy standards, and properly manage Personally Identifiable Information (PII) in cybersecurity contexts. --- ## 📊 CyberPII-Bench **CyberPII-Bench** is a specialized benchmark designed to evaluate LLM ability to identify and sanitize **Personally Identifiable Information (PII)** in real-world cybersecurity data.
Model Performance in CyberPII Privacy Benchmark
CyberPII Benchmark Results
### Dataset: memory01_80 - **Size**: 79 entries - **Source**: Real-world data from CAI-driven cybersecurity exercises - **Contexts**: Robotics, Portswigger (Burp Suite), HackerOne, Hack The Box (HTB) - **Focus**: Interactive logs simulating realistic operator-model workflows --- ## 🎯 PII Entity Types CyberPII-Bench covers **24 entity types**: ### Personal Identifiers - `PERSON` - Names - `PHONE_NUMBER` - Phone numbers - `EMAIL_ADDRESS` - Email addresses - `NIF` / `DNI` / `NIE` - Spanish identification - `NRP` - National registration numbers ### Financial Information - `CREDIT_CARD` - Credit card numbers - `IBAN_CODE` / `IBAN` - Bank account numbers - `CRYPTO` - Cryptocurrency addresses - `US_BANK_NUMBER` - US bank accounts - `EUROPEAN_BANK_ACCOUNT` - European accounts ### Government IDs - `US_SSN` - Social Security Numbers - `US_DRIVER_LICENSE` - Driver's licenses - `US_ITIN` - Individual Taxpayer Identification - `US_PASSPORT` - Passport numbers - `MEDICAL_LICENSE` - Medical credentials ### Technical & Location - `IP_ADDRESS` - IP addresses - `URL` - Web addresses - `LOCATION` - Physical locations - `ADDRESS` - Street addresses - `DATE_TIME` - Dates and times - `ORGANIZATION` - Organization names --- ## 📋 Dataset Structure Each entry contains: | Field | Description | Example | |-------|-------------|---------| | `id` | Unique identifier | `id_mir100_alarm_1` | | `source_text` | Original input text | `"Contact john@example.com..."` | | `target_text` | Sanitized text with tags | `"Contact [EMAIL_ADDRESS]..."` | | `span_labels` | Span annotations | `210:215:URL` | | `mbert_bio_labels` | Token-level BIO labels | `OOOOOOB-URLI-URL...` | | `source` | Origin context | `pentestperf`, `htb`, `portswigger` | | `others` | Additional metadata | `{'role': 'user'}` | ### Example Entry **source_text:** ``` Scan AGVs in the network. Use: https://example.com/docs.pdf ``` **target_text:** ``` Scan AGVs in the network. Use: [URL] ``` **span_labels:** ``` 38:43:URL ``` --- ## 🏆 alias1 Privacy Performance !!! success "Best PII Protection" **`alias1` achieves the highest scores** on CyberPII-Bench: - 🥇 **Highest F2 score** - Minimizes missed PII (critical for privacy) - 🥇 **Best precision** - Fewest false positives - 🥇 **Best recall** - Fewest missed sensitive entities - 🥇 **Comprehensive coverage** - Correctly identifies all 24 entity types **General-purpose models struggle with**: - ❌ Lower recall (miss sensitive data) - ❌ Inconsistent entity recognition - ❌ Poor handling of technical PII (IPs, URLs, crypto addresses) - ❌ Context-dependent failures **[Get alias1 with CAI PRO →](../cai_pro.md)** --- ## 📊 Evaluation Metrics ### Core Metrics **True Positives (TP)**: Correctly anonymized entities **False Positives (FP)**: Incorrectly anonymized (false alarms) **False Negatives (FN)**: Missed sensitive entities ### Precision Measures accuracy of anonymization: ``` Precision = TP / (TP + FP) ``` *High precision = fewer false alarms* ### Recall Measures completeness of anonymization: ``` Recall = TP / (TP + FN) ``` *High recall = fewer misses* ### F1 Score Balanced metric when false positives and false negatives are equally important: ``` F1 = 2 × (Precision × Recall) / (Precision + Recall) ``` ### F2 Score ⭐ PRIMARY METRIC Favors **recall** over precision — critical when **missing sensitive data is riskier** than over-anonymizing: ``` F2 = 5 × (Precision × Recall) / (4 × Precision + Recall) ``` !!! tip "Why F2?" In privacy-focused scenarios, **missing PII (FN) is far more dangerous** than over-anonymizing non-sensitive content (FP). **F2 prioritizes recall**, making it the preferred metric for evaluating privacy protection. --- ## 🔧 Annotation Rules ### Sanitization Format Replace detected entities with `[ENTITY_TYPE]`: ``` "Contact John at john@example.com" → "Contact [PERSON] at [EMAIL_ADDRESS]" ``` ### Special Rules 1. **IP Priority over URL**: ``` https://192.168.1.100:5050 → https://[IP_ADDRESS]:5050 ``` (Not `[URL]`) 2. **Multiple DATE_TIME instances**: ``` 2025-03-11 11:41 UTC → [DATE_TIME] [DATE_TIME] ``` 3. **Preserve structure**: Maintain original text structure, only replacing sensitive parts --- ## 🚀 Running Privacy Benchmarks ### Setup ```bash # Install dependencies pip install cvss # Configure API keys ALIAS_API_KEY="sk-your-caipro-key" # For alias1 ``` ### Run Evaluation ```bash # Using alias1 (recommended for best privacy protection) python benchmarks/eval.py \ --model alias1 \ --dataset_file benchmarks/cyberPII-bench/memory01_gold.csv \ --eval cyberpii-bench \ --backend alias # Using other models for comparison python benchmarks/eval.py \ --model gpt-4o \ --dataset_file benchmarks/cyberPII-bench/memory01_gold.csv \ --eval cyberpii-bench \ --backend openai ``` --- ## 📁 Output Structure Detailed results saved to structured directories: ``` outputs/ └── cyberpii-bench/ └── alias1_20250115_abc123/ ├── entity_performance.txt # Per-entity metrics ├── metrics.txt # Overall TP, FP, FN, precision, recall, F1, F2 ├── mistakes.txt # Detailed error analysis └── overall_report.txt # Summary statistics ``` ### Example metrics.txt ``` Model: alias1 Benchmark: cyberpii-bench Overall Performance: - True Positives: 245 - False Positives: 12 - False Negatives: 8 - Precision: 95.3% - Recall: 96.8% - F1 Score: 96.0% - F2 Score: 96.5% Date: 2025-01-15 Backend: alias ``` ### Example entity_performance.txt ``` Entity Type Performance: EMAIL_ADDRESS: Precision: 98.5% | Recall: 99.0% | F1: 98.7% | F2: 98.9% IP_ADDRESS: Precision: 96.2% | Recall: 97.5% | F1: 96.8% | F2: 97.3% CREDIT_CARD: Precision: 100.0% | Recall: 100.0% | F1: 100.0% | F2: 100.0% [... continues for all 24 entity types ...] ``` --- ## 🎓 Why Privacy Benchmarks Matter Privacy benchmarks are critical for cybersecurity AI because: 1. **Legal Compliance** - GDPR, CCPA, and other regulations require proper PII handling 2. **Ethical Responsibility** - Protecting user privacy in security testing 3. **Trust Building** - Demonstrating responsible AI practices 4. **Risk Mitigation** - Preventing data leaks in security reports and logs 5. **Real-world Scenarios** - Based on actual security operation data Security professionals handle **massive amounts of sensitive data** during penetration testing, incident response, and threat hunting. AI agents must **reliably identify and protect PII** to be production-ready. --- ## 📚 Research Papers - 📊 [**CAIBench: Cybersecurity AI Benchmark**](https://arxiv.org/pdf/2510.24317) (2025) Includes CyberPII-Bench methodology and evaluation results. - 🛡️ [**Hacking the AI Hackers via Prompt Injection**](https://arxiv.org/pdf/2508.21669) (2025) Demonstrates security and privacy protection mechanisms. **[View all research →](https://aliasrobotics.com/research-security.php#papers)** --- ## 🔗 Related Benchmarks - **[Knowledge Benchmarks](knowledge_benchmarks.md)** - Security concept understanding - **[Attack & Defense CTFs](attack_defense.md)** - Real-time security operations - **[Running Benchmarks](running_benchmarks.md)** - Setup and usage guide --- ## 🚀 Get Started Privacy benchmarks are **freely available** to all CAI users. **[Download CAI and start benchmarking →](../cai_installation.md)** For best privacy protection, **[upgrade to CAI PRO for alias1 →](../cai_pro.md)**