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安全, 合规性检测, 安全扫描, 密码管理, 无后门, 时序注入, 浏览器自动化, 渗透测试辅助, 特征检测, 第三方请求, 网络安全, 蓝队分析, 调试插件, 足迹分析, 追踪器检测, 逆向工具, 隐私保护, 隐私审计