srivarshini-karthikeyan/advanced-reidentification-risk-analysis
GitHub: srivarshini-karthikeyan/advanced-reidentification-risk-analysis
一个研究级的重识别风险分析框架,集成多种形式化隐私模型和攻击者模拟能力,帮助在数据发布前评估真实隐私泄露风险并给出缓解建议。
Stars: 0 | Forks: 0
``` ╔══════════════════════════════════════════════════════════════════════╗ ║ DETECT · PROTECT · EXPLAIN · WARN · DEFEND · REPORT ║ ╚══════════════════════════════════════════════════════════════════════╝ ```
| # | 功能 | 模块 | 状态 |
|:---:|:---|:---|:---:|
| 1 | **准标识符选择** | 自动检测 + 手动覆盖 | ✅ |
| 2 | **k-Anonymity 风险检测** | PrivacyAnalyzer | ✅ |
| 3 | **l-Diversity 检查** | PrivacyAnalyzer | ✅ |
| 4 | **t-Closeness 分析** | PrivacyAnalyzer | ✅ |
| 5 | **多模型风险引擎** | PrivacyIntelligenceEngine | ✅ |
| 6 | **加权 QI 风险评分** | PrivacyAnalyzer | ✅ |
| 7 | **自适应(渐进式)风险等级** | PrivacyAnalyzer | ✅ |
| 8 | **重识别风险分类** | PrivacyAnalyzer | ✅ |
| 9 | **人类可读的风险警告** | PrivacyAnalyzer | ✅ |
| 10 | **攻击者知识画像** | AttackSimulator | ✅ |
| 11 | **攻击模拟引擎** | AttackSimulator | ✅ |
| 12 | **链接攻击模拟** | AttackSimulator | ✅ |
| 13 | **唯一性贡献分析** | PrivacyAnalyzer | ✅ |
| 14 | **自动泛化引擎** | PrivacyMitigation | ✅ |
| 15 | **抑制建议系统** | PrivacyMitigation | ✅ |
| 16 | **隐私预算模拟器** | PrivacyMitigation | ✅ |
| 17 | **隐私增强建议** | PrivacyIntelligenceEngine | ✅ |
| 18 | **字段级加密保护** | CryptoUtils (SHA-256) | ✅ |
| 19 | **数据集完整性验证** | CryptoUtils | ✅ |
| 20 | **可解释隐私报告生成器** | ReportGenerator | ✅ |
| 21 | **风险可视化仪表板 (CLI)** | ReportGenerator + Visualizer | ✅ |
| 22 | **基于 CSV 的数据处理** | PrivacyIntelligenceEngine | ✅ |
| 23 | **CLI 接口** | argparse | ✅ |
| 24 | **配置驱动架构** | PrivacyConfig | ✅ |
| 25 | **模块化代码结构** | 所有模块 | ✅ |
| 26 | **代码质量与可维护性** | 完整代码库 | ✅ |
## 🚀 快速开始
### 安装
```
# Clone 仓库
git clone https://github.com/srivarshni-k/privacy-intelligence-engine.git
cd privacy-intelligence-engine
# 创建 virtual environment
python -m venv venv
source venv/bin/activate # Linux / Mac
venv\Scripts\activate # Windows
# 安装 dependencies
pip install -r requirements.txt
```
### 需求
```
pandas
numpy
```
## 📖 使用说明
### 基础分析(自动检测所有内容)
```
python privacy_engine.py --data patients.csv
```
### 进阶 — 所有功能
```
python privacy_engine.py --data patients.csv \
--k 5 --l 3 \
--attacker advanced \
--privacy-level high \
--show-crypto \
--show-generalization \
--export-json
```
### 自定义准标识符
```
python privacy_engine.py --data data.csv \
--quasi-identifiers age gender zipcode \
--sensitive diagnosis \
--k 10
```
### 使用配置文件的高安全性模式
```
python privacy_engine.py --data sensitive_data.csv \
--privacy-level maximum \
--config config.json \
--verbose
```
## 🔧 CLI 参考
| 标志 | 描述 | 默认值 |
|:---|:---|:---:|
| `--data` / `-d` | CSV 输入文件的路径 | 必需 |
| `--quasi-identifiers` / `-q` | 准标识符列 | 自动检测 |
| `--sensitive` / `-s` | 敏感属性列 | 最后一列 |
| `--k` | k-Anonymity 阈值 | `3` |
| `--l` | l-Diversity 阈值 | `2` |
| `--attacker` | 攻击者画像:`casual` / `insider` / `advanced` | `insider` |
| `--privacy-level` | `low` / `medium` / `high` / `maximum` | `medium` |
| `--config` / `-c` | JSON 配置文件 | — |
| `--output` / `-o` | 报告的输出目录 | `privacy_reports/` |
| `--export-json` | 将完整结果导出为 JSON | 关闭 |
| `--show-crypto` | 演示 SHA-256 字段保护 | 关闭 |
| `--show-generalization` | 显示泛化前后的差异 | 关闭 |
| `--verbose` / `-v` | 启用详细日志记录 | 关闭 |
## 📁 项目结构
```
privacy-intelligence-engine/
│
├── 📄 privacy_engine.py # Main engine — all 26+ features
├── 📄 config.json # Configuration file (optional)
├── 📄 requirements.txt # pandas, numpy
│
├── 📂 data/ # Place your CSV datasets here
│ └── sample_data.csv # Example dataset
│
└── 📂 privacy_reports/ # ← Auto-generated outputs
├── privacy_report_🎨 Visualizer — 精美的 CLI 渲染引擎
带有动画进度条、ASCII 条形图、风险仪表、格式化表格和框式摘要的 ANSI 彩色终端输出。每个输出都经过精心设计,以确保可读性和视觉冲击力。
⚙️ PrivacyConfig — 配置驱动架构
从 JSON 文件加载并管理所有隐私参数。支持四种隐私级别(`low` / `medium` / `high` / `maximum`),并可完全自定义 k、l、t 阈值、风险权重、攻击者画像和泛化策略。
🔐 CryptoUtils — 加密保护层
带盐值的 SHA-256 字段级哈希。功能包括单向不可逆保护、抗碰撞性演示、雪崩效应展示,以及通过哈希指纹进行的完整数据集完整性验证。
🔍 PrivacyAnalyzer — 核心隐私分析引擎
实现了所有三种形式化隐私模型:k-Anonymity(等价类分组 + 违规检测)、l-Diversity(敏感属性多样性检查)和 t-Closeness(基于 Earth Mover's Distance 的分布分析)。还处理唯一性评分、自适应风险计算和人类可读警告生成。
⚔️ AttackSimulator — 重识别攻击引擎
模拟三种攻击者画像 —— **Casual**(知道 1 个属性,公共记录)、**Insider**(部分知识)和 **Advanced**(所有准标识符)。还通过生成合成外部数据集并测量成功的记录连接来模拟 **链接攻击**。
🛡️ PrivacyMitigation — 保护策略引擎
实现自动泛化(年龄范围、ZIP 前缀截断)、带有列级唯一性分析的抑制建议,以及一个模拟所有四个隐私级别下隐私-效用权衡的隐私预算模拟器。
📄 ReportGenerator — 输出与可视化
生成涵盖每个分析阶段的全面人类可读 TXT 报告,导出完整的结构化 JSON 结果,并渲染带有条形图、风险仪表、指标表格和攻击比较图表的 CLI 可视化仪表板。
## 👩💻 作者
*隐私工程 · 网络安全 · 数据保护*
[](https://github.com/srivarshni-karthikeyan)
*如果这个项目对您有帮助,请考虑给它一个 ⭐*
[](https://github.com/srivarshni-karthikeyan)
*如果这个项目对您有帮助,请考虑给它一个 ⭐*
标签:k-匿名, l-多样性, NumPy, Python, SHA-256, t-紧密性, 去标识化风险, 密码学, 密码管理, 手动系统调用, 数据合规, 数据脱敏, 数据防泄露, 无后门, 网络安全, 逆向工具, 重识别分析, 隐私保护, 隐私模型, 隐私计算