gerardvincelillo/privacyintent
GitHub: gerardvincelillo/privacyintent
一个基于 Python 和 Playwright 的网站隐私审计 CLI 工具,通过浏览器驱动扫描检测追踪器、第三方请求、Cookie 安全配置和 PII 泄露风险。
Stars: 0 | Forks: 0
# PrivacyIntent
PrivacyIntent 是一个开源的 Python CLI,专注于隐私的 Web 侦察。
它使用真实浏览器扫描目标 URL,收集网络和 Cookie 证据,
并报告隐私风险,包括严重性、置信度和修复建议。
## 状态
- 仓库:公开 (`privacyintent`)
- 成熟度:`v0.1` 基线
- 范围:隐私信号收集 + 启发式风险检测
## 核心功能
- 使用 Playwright (Chromium) 执行浏览器驱动的扫描
- 网络工件捕获:
- requests
- responses
- 响应头
- Cookie 元数据
- 启发式检测器:
- 第三方请求分类 (`tldextract`)
- Cookie 安全态势 (`Secure`, `HttpOnly`, `SameSite`, 过期时间)
- 隐私/安全响应头
- Query 参数和 Headers 中潜在的 PII 泄露
- 带置信度评分的 Tracker 端点/脚本启发式检测
- 隐私评分计算 (0-100)
- 最高风险摘要(严重性最高的发现)
- 报告输出:
- Rich 控制台摘要
- JSON 导出
- Markdown 导出
- 通过 entrypoints 的可选插件钩子 (`privacyintent.plugins`)
## 安装
### 前置条件
- Python 3.11+
- Playwright 的 Chromium 浏览器二进制文件
### 从源码安装
```
git clone https://github.com/gerardvincelillo/privacyintent.git
cd privacyintent
python -m pip install -e .
python -m playwright install chromium
```
## 使用方法
```
privacyintent scan https://example.com
```
带报告导出:
```
privacyintent scan https://example.com --json reports/example.json --md reports/example.md
```
带高级选项:
```
privacyintent scan https://example.com \
--timeout 45 \
--max-requests 300 \
--depth 1 \
--no-headless \
--user-agent "Mozilla/5.0 (PrivacyIntent Audit)"
```
## CLI 参考
- `privacyintent scan `
- `privacyintent ci scan `: 专业版 CI 门禁命令 (需要 `privacyintent-pro`)
- `--json `: 写入 JSON 报告
- `--md `: 写入 Markdown 报告
- `--timeout `: 浏览器导航超时 (默认: `30`)
- `--max-requests `: 最大捕获请求数 (默认: `200`)
- `--headless/--no-headless`: 浏览器模式 (默认: `--headless`)
- `--user-agent `: 自定义 user-agent 覆盖
- `--depth `: 同源爬取深度 (默认: `0`)
## 输出模型
每个发现包括:
- `id`
- `severity` (`low|medium|high|critical`)
- `category` (`cookies|trackers|headers|pii|third_party`)
- `description`
- `evidence` (字符串或结构化对象)
- `recommendation`
- `confidence` (`low|med|high`)
## 架构
```
privacyintent/cli.py
-> privacyintent/scanner.py
-> detectors/
- third_party.py
- cookies.py
- headers.py
- pii.py
- trackers.py
-> scoring/privacy_score.py
-> reporting/
- console.py
- json_report.py
- markdown_report.py
-> plugins/loader.py
```
## 插件扩展
PrivacyIntent 支持通过 Python entrypoints 进行可选的扩展发现:
- 组:`privacyintent.plugins`
- 预期的插件约定:接受 `ScanReport` 并返回额外发现列表的可调用对象
- 失败行为:插件加载/运行时错误将被忽略,以保持基础扫描的可靠性
## 开源版 vs 专业版
PrivacyIntent Pro 现在作为一个单独的私有仓库存在 (`privacyintent-pro`)。
开源版 `privacyintent` 专注于:
- 核心扫描引擎
- 透明的检测器
- 对开发者友好的本地/CI 使用
- 可扩展的插件接口
专业版功能(CI 门禁、监控、策略执行、合规性报告)
在私有 Pro 扩展仓库中提供。
## 路线图 (开源)
- 改进爬取策略和请求去重
- 扩展 Tracker 情报来源和置信度评分
- 添加基线快照和用于回归工作流的可对比 JSON
- 为检测器边缘情况和评分一致性添加测试
- 改进误报控制和检测器调优标志
## 当前限制
- 启发式检测可能会产生误报,应进行人工审查。
- `v0.1` 中的爬取策略故意较浅,并非完整的爬虫。
- 尚无用于历史差异分析的内置持久层。
- 仅限专业版的执行工作流(门禁/监控/策略/PDF)不在此 OSS 仓库中。
## 许可证
MIT。请参阅 [LICENSE](LICENSE)。
标签:Chromium, Cookie检测, GDPR合规, PII泄露, Playwright, Python, Web安全, 合规性检测, 安全扫描, 密码管理, 无后门, 时序注入, 浏览器自动化, 渗透测试辅助, 特征检测, 第三方请求, 网络安全, 蓝队分析, 调试插件, 足迹分析, 追踪器检测, 逆向工具, 隐私保护, 隐私审计