文章总结: 本文介绍了一个基于AI的APP隐私合规自动化检测系统,通过将法律法规评估点流程化处理,结合分层架构和二次验证机制实现隐私政策文本的智能审核。系统支持文件上传和URL抓取,包含28个评估点自动发现、多格式解析、LLM批量评估及结果验证功能,提供可扩展的检测框架和开源实现。 综合评分: 82 文章分类: 安全建设,技术标准,应用安全,解决方案,数据安全
app隐私合规AI+实践
原创
三呼呼 三呼呼
古月安全
2026年6月15日 13:50 四川
在小说阅读器读本章
去阅读
当前的一份合规的APP隐私政策,需要同时满足《个人信息保护法》、《App违法违规收集使用个人信息行为认定方法》、GB/T 35273《个人信息安全规范》以及各应用商店的审核等细则。仅“收集个人信息的最小必要”一条原则,就会衍生出多种常见违规情形。2023年工信部通报的侵权APP中,超过60%涉及“未公开收集使用规则”或“未明示收集目的”。
那么如何通过AI来实现,如果直接将这些法律法规给大模型,让它根据自己的理解实现,看起来好像是最优解。但是实际使用之后就会发现各种问题,比如误报或者漏报的出现,比如各个法律法规之间的冲突等等。
所以最先要做的就是理清检测的思路
本文从隐私合规的检测方向出发,来实现一个AI agent 自动化的检测app 隐私政策。
实现流程
首先我们要将所有的评估点流程化,变成AI可读懂的内容比如
将所有的需要评估的点全部流程化上面的这样格式
但是不同的大模型可能语义的理解上有偏差,所以我们可以加一些门禁系统。比如在每一个评估点的检测之前,加上示例如下:
最后检测结果的二次校验同样重要,为了防止误报,我们可以在测试结束之后加上不合规的二次校验。比如:
这样就得到一个AI驱动的隐私纯文本的合规检测agent。
我们的实现架构大概是这样:
分层架构:4 层职责分离
┌─────────────────────────────────────────────────────┐│ Web 层 (main.py) ││ Flask Web 服务 (端口 8901) ││ GET / → 首页(上传文件/URL 输入界面) ││ POST /evaluate → 执行检测并返回 JSON │├─────────────────────────────────────────────────────┤│ 核心逻辑层 (agent.py) ││ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ ││ │评估点发现 │ │Prompt构建 │ │LLM 调用 │ │结果验证 │ ││ │扫描文件系 │ │批量/单点 │ │OpenAI兼 │ │二次审核 │ ││ │统自发现 │ │两套模板 │ │容接口 │ │防误报 │ ││ └──────────┘ └──────────┘ └──────────┘ └─────────┘ ││ ┌──────────┐ ┌──────────┐ ┌──────────┐ ││ │URL 抓取 │ │多格式解析│ │子页面发现│ ││ │反爬检测 │ │txt/docx │ │收集清单 │ ││ │HTML清洗 │ │doc/pdf │ │SDK清单 │ ││ └──────────┘ └──────────┘ └──────────┘ │├─────────────────────────────────────────────────────┤│ 数据层 (目录文件系统) ││ privacy_test/ ← 评估点文件 (28个) ││ examples/ ← 参考示例 (28个, 一一对应) ││ validations/ ← 验证规则 (28个, 二次校验用) ││ fetched_docs/ ← 保存抓取的隐私政策原文 │├─────────────────────────────────────────────────────┤│ 前端展示层 (templates/ + static/) ││ 单页 HTML + CSS + JS 全功能展示 ││ 合规/不合规筛选, 多文档 Tab 切换 │└─────────────────────────────────────────────────────┘
核心评估流程
输入(文件/URL) │ ├─ URL模式 → fetch_url() 抓取主页面 │ ├─ extract_list_links() 发现子页面 │ │ ├─ "个人信息收集清单" 子页面 │ │ └─ "第三方SDK共享清单" 子页面 │ └─ save_privacy_doc() 保存原文 │ └─ 进入评估管线: ① _scan_eval_point_ids() → 自动发现全部评估点 (28 个) ② load_evaluation_points() → 加载评估点内容 + 对应示例 ③ _build_batch_prompt() → 构建批量 Prompt (一次 API 调用) ④ call_llm() → 大模型评估 ⑤ _parse_batch_response() → 解析 JSON, 多层容错 ⑥ 缺失补评 _evaluate_single() → 批量漏掉的点逐条补齐 ⑦ 二次验证 _validate_result() → 加载验证规则审核结果 ⑧ 返回 { compliant, non_compliant, 统计 }
使用说明
pip install -r requirements.txt# 依赖: flask>=3.0, openai>=1.0, requests>=2.0, beautifulsoup4>=4.0, python-docx>=1.0# PDF 可选: pip install PyPDF2 pdfplumber# .doc 可选: 安装 antiword (需系统支持)
配置
# 环境变量设置(建议)set LLM_API_KEY=sk-your-api-key # Windowsexport LLM_API_KEY=sk-your-api-key # Linux/Mac
# 可选配置项(有默认值)LLM_BASE_URL # 默认 https://api.deepseek.comLLM_MODEL # 默认 deepseek-v4-flashLLM_MAX_TOKENS # 默认 8192LLM_TEMPERATURE # 默认 0.1SERVER_HOST # 默认 0.0.0.0SERVER_PORT # 默认 8901
启动服务
python main.py# 访问 http://localhost:8901
自定义扩展检测点
新增评估点: 在 privacy_test/ 下创建 评估点29.md,重启服务即可自动发现新增参考示例: 在 examples/ 下创建 示例29.md(可选)新增验证规则: 在 validations/ 下创建 验证29.md(可选)子页面检测范围: 修改 agent.py:LIST_CHECK_POINT_IDS 默认 {7,8,9,10} 即可调整切换模型: 修改 config.py 中 LLM_MODEL 和 LLM_BASE_URL 即可
源码地址:
https://github.com/AnotherN/privacy-text-te/tree/main/test
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:古月安全 三呼呼 三呼呼《app隐私合规AI+实践》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论