GDPR合规工具

一个集成在IDE中的GDPR合规工具,帮助开发团队在开发周期早期识别和解决数据保护要求。

  • by KevinRabun
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 kevinrabun/gdprshiftleftmcp

使用说明

GDPR左移MCP服务器

一个模型上下文协议(MCP)服务器,它带来 GDPR合规知识直接导入您的IDE,使开发人员和合规团队能够“左移”——在开发生命周期的早期识别和解决数据保护要求。

⚠️ 免责声明: 此工具仅提供信息指导 不构成法律建议。组织应咨询合格的法律顾问,以获得具有约束力的GDPR合规决定。

特性

🔍 GDPR知识库(34个工具)

  • 文章查询 --按编号检索任何GDPR文章,搜索所有99篇文章和173篇序言
  • 定义 --第4条术语定义及上下文解释
  • 章节导航 --按章节浏览带有完整目录的文章
  • Azure映射 --将GDPR文章映射到Azure服务和控制

📋 合规工作流程

  • DPIA评估 --评估是否需要DPIA(EDPB 9标准测试),生成Art.35模板
  • ROPA建设者 --生成并验证第30条处理活动记录
  • DSR指南 --所有7项数据主体权利的分步工作流程(第12至23条)
  • 残留分析 --根据第5(1)(e)条存储限制评估保留政策
  • 控制器/处理器角色分类 --评估数据角色,获取义务,分析代码模式,生成DPA检查表

🏗️ 基础设施和代码审查

  • 二头肌/地形/ARM分析仪 --扫描IaC是否违反GDPR(加密、访问、网络、驻留、日志记录、保留)
  • 应用程序代码分析器 --检测PII日志记录、硬编码秘密、缺少同意检查、数据最小化问题
  • GDPR配置验证器 --严格或咨询模式下的通过/失败验证
  • DSR能力分析器 --检测所有7项数据主体权利的实施情况(第15-22条)
  • 跨境转账分析仪 --识别可能将数据传输到欧洲经济区以外的第三方API/SDK 风险理由 解释为什么每个提供商都有其指定的风险水平(基于总部位置、充分性决策和数据敏感性)
  • 漏洞准备分析器 --评估违规检测、记录和通知功能
  • 数据流分析器 --绘制个人数据生命周期图(收集、存储、传输、删除)
  • AST代码分析器 --使用Python、JavaScript、TypeScript、Java、C#和Go的抽象语法树进行深入分析:
    • 函数参数和变量中的PII检测
    • 通过进口分析进行跨境转移检测(150多家有风险理由的提供商)
    • PII日志违规检测
    • DSR实现模式验证
    • 数据流跟踪和调用图分析

📝 引导提示(8个专家提示)

  • 差距分析、DPIA评估、合规路线图、数据映射
  • 事件响应、Azure隐私审查、供应商评估、跨境转移

📐 Azure二头肌模板(19个模板)

  • 存储帐户 --CMK加密、专用端点、生命周期策略(第5、25、32、44-49条)
  • 密钥库 --HSM支持的高级、清除保护、RBAC(第25条、第32条)
  • Azure SQL --仅限Entra认证、TDE、审计(第25条、第32条)
  • 日志分析 --365天保留期,保存GDPR查询以进行违规/访问/擦除跟踪(第5(2)、30、33条)
  • Cosmos数据库 --仅限欧盟地区、强一致性、连续备份、TTL启用的ROPA容器(第25、32、44-49条)
  • 应用服务 --托管身份、TLS 1.2、ExpressRoute集成、暂存槽、完整审计日志记录(第25条、第32条)
  • 虚拟网络 --3个子网、具有最低特权规则的NSG、服务端点(第25、32、5(1)(f)条)
  • 容器应用程序 --内部入口、双向TLS、区域冗余、托管身份(第25条、第32条)
  • 监视器警报 --DPO行动组,4个登录/渗透/升级/密钥库的预定警报(第33、34、32条)
  • PostgreSQL灵活服务器 --区域冗余HA、Entra ID认证、pgaudit、地理冗余备份(第25、32、5(1)(e)条)
  • 服务巴士保费 --CMK加密,DSR/同意/违反/保留的GDPR队列(第25、32、5(1)(f)条)
  • AKS --私有集群、Azure CNI、容器防御器、工作负载标识、网络策略(第25、32、5(1)(f)条)
  • 机密分类账 --TEE支持的GDPR责任记录防篡改审计跟踪(第5(2)、30、33条)
  • 机密VM --AMD SEV-SNP加密内存、vTPM、安全引导、临时操作系统磁盘(第25、32、5(1)(f)条)
  • Entra ID配置 --审计日志路由、登录监控、条件接收检查表(第32条、第5(2)条)
  • Azure策略 --欧盟地区限制、CMK执行、标签要求、仅HTTPS(第25、32、44条)
  • 云卫士 --所有Defender计划、安全联系人、自动配置、GDPR合规仪表板(第32、33条)
  • API管理 --内部Direct3D、TLS 1.2+、速率限制、数据屏蔽策略、审计日志记录(第25、32、30条)
  • 带WAF的前门 --OWASP规则、欧盟/欧洲经济区地理过滤、机器人保护、速率限制(第25、32、44条)

快速开始

先决条件

  • Python 3.10+
  • VS代码与GitHub Copilot

安装

从MCP注册表安装(推荐)

服务器已发布到 MCP注册表。您可以直接在VS Code中安装它:

  1. 打开“扩展”视图(Ctrl+Shift+X)
  2. 类型 @mcp GDPR 在搜索字段中
  3. 点击 安装 关于“GDPR左移合规”

注: 默认情况下,VS Code MCP库显示了经过精心策划的服务器子集。如果服务器没有出现,请将其添加到您的VS代码中 用户设置 (Ctrl+, → 打开设置JSON):

"chat.mcp.gallery.serviceUrl": "https://registry.modelcontextprotocol.io"

这将VS Code指向完整的MCP注册表(5000多台服务器),而不是GitHub的精选列表。

通过uvx安装(无需克隆)

uvx gdpr-shift-left-mcp

从源代码安装

# Clone the repository
git clone https://github.com/KevinRabun/GDPRShiftLeftMCP.git
cd GDPRShiftLeftMCP

# Install in development mode
pip install -e ".[dev]"

VS代码集成

存储库包括 .vscode/mcp.json 用于自动注册MCP服务器。安装后,GDPR工具会出现在GitHub Copilot的工具列表中。

要手动配置,请添加到您的VS代码设置中:

{
  "mcp": {
    "servers": {
      "gdpr-shift-left-mcp": {
        "type": "stdio",
        "command": "python",
        "args": ["-m", "gdpr_shift_left_mcp"]
      }
    }
  }
}

运行服务器

# Run directly
python -m gdpr_shift_left_mcp

# Or via the installed entry point
gdpr-shift-left-mcp

工具参考

工具 描述 GDPR文章
get_article 按编号检索GDPR文章 全部
list_chapter_articles 列出一章中的所有文章 全部
search_gdpr GDPR全文搜索 全部
get_recital 按数字检索独奏会 全部
get_azure_mapping GDPR文章的Azure服务 全部
get_definition 第4条术语定义 第4条
list_definitions 列出所有定义 第4条
search_definitions 搜索定义 第4条
assess_dpia_need 检查是否需要DPIA 第35条
generate_dpia_template 生成DPIA文件 第35条
get_dpia_guidance DPIA区域指南 第35-36条
generate_ropa_template ROPA模板第30条 第30条
validate_ropa 验证ROPA的完整性 第30条
get_ropa_requirements ROPA现场要求 第30条
get_dsr_guidance DSR处理指南 艺术。 12–23
generate_dsr_workflow DSR履行工作流程 艺术。 12–23
get_dsr_timeline DSR响应时间表 第12(3)条
analyze_infrastructure_code 扫描IaC以了解GDPR问题 第25、32、44条
analyze_application_code 扫描应用程序代码以查找GDPR问题 第5、25、32条
validate_gdpr_config 通过/未通过GDPR验证 全部
assess_retention_policy 评估保留政策 第5(1)(e)条
get_retention_guidance 特定类别保留 第5条第(1)款(e)项
check_deletion_requirements 删除能力检查表 第17条
assess_controller_processor_role 评估数据控制者/处理者的角色 第4、24、26、28条
get_role_obligations 特定角色的GDPR义务 第24、26、28条
analyze_code_for_role_indicators 检测控制器/处理器代码模式 第4、24、28条
generate_dpa_checklist 第28条DPA协议清单 第28条
get_role_scenarios 常见角色分类场景 第4、24、26、28条
analyze_dsr_capabilities 检测DSR实现(访问、擦除、可移植性等) Arts。 15–22
analyze_cross_border_transfers 检测具有风险理由的第三方API/SDK 艺术。 44–49
analyze_breach_readiness 评估漏洞检测、日志记录和通知功能 Arts。 33–34
analyze_data_flow 绘制个人数据生命周期图(收集、存储、传输、删除) 第30条
analyze_code_ast Python/JS/TS/Java/C#/Go(PII、跨境、DSR)的深度AST分析 第5、25、32、44条
get_ast_capabilities 获取AST分析器支持的语言和功能 全部

建筑

src/gdpr_shift_left_mcp/
├── __init__.py              # Package init
├── __main__.py              # Entry point
├── server.py                # FastMCP server + prompt registration
├── disclaimer.py            # Legal disclaimer utility
├── data_loader.py           # Online GDPR data fetching + caching
├── tools/
│   ├── __init__.py          # Tool registration (34 tools)
│   ├── articles.py          # Article/recital/search tools
│   ├── definitions.py       # Art. 4 definition tools
│   ├── dpia.py              # DPIA assessment tools
│   ├── ropa.py              # ROPA builder tools
│   ├── dsr.py               # Data subject rights tools
│   ├── analyzer.py          # IaC + app code analyzer
│   ├── ast_analyzer.py      # AST-based deep code analysis
│   ├── retention.py         # Retention/deletion tools
│   └── role_classifier.py   # Controller/processor role classification
├── prompts/
│   ├── __init__.py          # Prompt loader
│   └── *.txt                # 8 expert prompt templates
└── templates/
    ├── __init__.py           # Template loader
    └── *.bicep               # GDPR-aligned Azure Bicep templates

测试

# Run all tests
pytest

# Run with coverage
pytest --cov=gdpr_shift_left_mcp --cov-report=html

# Run judges (end-to-end evaluators)
python -m tests.evaluator.run_judges

在线更新

服务器通过本地缓存从可配置的在线源获取GDPR数据:

  • 源URL: 通过设置 GDPR_SOURCE_URL 环境变量
  • 缓存TTL: 默认1小时(可通过配置 GDPR_CACHE_TTL)
  • 缓存目录: __gdpr_cache__/ (可通过以下方式配置 GDPR_CACHE_DIR)
  • 退路: 如果在线获取失败,则内置数据

贡献

看 贡献.md 作为指导方针。此项目遵循Git Flow分支:

  • feature/<name> 对于新功能
  • bugfix/<name> 用于修复
  • release/<version> 发布
  • hotfix/<name> 用于生产修复

所有PR在合并之前必须通过自动测试和判断。

许可证

麻省理工学院——见 许可证 了解详情。

致谢