mcpField
A
automated-ropa-generation

automated-ropa-generation

github.com/mukul975安全32344 次安装32 周前更新
代码仓库

关于 automated-ropa-generation

用于自动生成 GDPR 第 30 条处理活动记录(RoPA)的合规技能,通过分析目录、云服务、API 日志和数据库架构来预填字段。它区分可自动发现的技术信息与需要人工审阅的目的、保留期限等内容。

主要功能

  1. 01从目录与云服务发现系统
  2. 02分析 API 日志中的数据流
  3. 03按数据库字段识别个人数据
  4. 04预填 GDPR 第 30 条字段
  5. 05标记需要人工审阅的内容

适用场景

  1. 01从现有 IT 清单建立 RoPA 草稿
  2. 02发现第三方集成与潜在跨境传输
  3. 03核对技术数据与处理目的记录
  4. 04识别未登记系统带来的覆盖盲区

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill automated-ropa-generation

安装后在 Claude Code 中输入/automated-ropa-generation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
template.md
references/
standards.md
workflows.md
scripts/
process.py

详细介绍

RoPA 自动生成

概述

通过访谈和问卷手动创建 RoPA 耗时长、主观性强,而且容易遗漏利益相关方忘记或不了解的处理活动。RoPA 自动生成利用现有的 IT 系统清单、云服务目录、API 网关日志和数据库架构来发现处理活动,并预填第 30 条第 1 款字段。此方法可将创建 RoPA 的工作量减少 60-80%,同时提高覆盖率,因为它能捕获手动访谈经常遗漏的处理活动(影子 IT、自动化数据管道、第三方集成)。

用于自动填充 RoPA 的数据源

来源 1:Active Directory / Azure AD

可揭示的信息:

  • 组织架构(部门、团队),用于映射处理负责人
  • 群组成员身份,揭示谁可以访问哪些系统(接收方类别)
  • 应用注册和服务主体(处理系统清单)
  • 条件访问策略(安全措施文档)

已填充的第 30 条字段:

字段从 AD 提取的数据
第 30 条第 1 款(a)项 — 控制者身份组织名称、部门层级、DPO 群组成员身份
第 30 条第 1 款(d)项 — 接收方安全群组成员身份揭示内部访问模式
第 30 条第 1 款(g)项 — 安全措施条件访问策略、MFA 强制状态

Helix Biotech Solutions 的发现方法:

Azure AD Tenant: helix-biotech.onmicrosoft.com
├── Enterprise Applications (87 registered)
│   ├── SAP SuccessFactors → HR processing activities
│   ├── Veeva Vault CDMS → Clinical trial data management
│   ├── Salesforce → Customer relationship management
│   ├── Google Analytics → Website analytics
│   ├── ADP Workforce Now → Payroll processing
│   └── ... (82 more applications)
├── Security Groups (134 groups)
│   ├── SG-HR-Payroll (4 members) → Access to payroll data
│   ├── SG-Clinical-Data (12 members) → Access to clinical trial data
│   ├── SG-Finance-AP (6 members) → Access to accounts payable
│   └── ... (131 more groups)
└── Conditional Access Policies (23 policies)
    ├── Require MFA for all users
    ├── Block legacy authentication
    ├── Require compliant device for clinical systems
    └── ... (20 more policies)
来源 2:云服务目录

可揭示的信息:

  • 正在使用的所有云服务(IaaS、PaaS、SaaS)
  • 数据驻留情况(数据存储在哪些区域/国家)
  • 服务提供商身份(处理者和次级处理者)
  • 数据分类标签(如已实施)

Helix Biotech Solutions 的 AWS 示例:

AWS 服务区域个人数据标识映射的处理活动
RDS(PostgreSQL)eu-central-1标记:data-classification=confidential员工人力资源数据库
S3 存储桶:helix-clinical-dataeu-central-1标记:data-classification=restricted, contains-special-category=true临床试验文档存储
S3 存储桶:helix-marketingeu-central-1标记:data-classification=internal营销分析数据
Lambda:payroll-processoreu-central-1由 ADP 集成调用薪资数据转换
CloudFront DistributionGlobal(边缘节点)日志包含 IP 地址网站内容分发
SES(Simple Email Service)eu-west-1向电子邮件地址发送邮件客户和员工电子邮件通信

Azure 示例:

Azure 服务区域数据分类映射的处理活动
Azure SQLWest Europe机密财务和会计数据库
Azure Blob StorageWest Europe受限临床试验成像数据
Azure ADGlobal内部身份和访问管理
Azure MonitorWest Europe内部系统监控(可能会捕获用户活动)
来源 3:API 网关日志

揭示的信息:

  • 哪些 API 会处理个人数据(根据对请求/响应的检查)
  • 系统间的数据流模式(上游和下游)
  • 第三方 API 集成(外部接收方)
  • 数据处理量和频率(有助于评估该处理是否属于第 30(5) 条所述的“偶尔”处理)

Helix Biotech Solutions 的 API 网关分析:

API 端点方法个人数据字段上游系统下游系统每日请求量
/api/v2/employeesGET/POSTemployee_id, name, email, departmentSAP SuccessFactorsInternal HR portal340 次请求
/api/v2/patients/{id}/recordsGETpatient_id, diagnosis, treatmentVeeva Vault CDMSClinical reporting dashboard1,200 次请求
/api/v2/ordersPOSTcustomer_name, email, billing_addressSalesforceSAP ERP890 次请求
/api/v1/analytics/eventsPOSTip_address, user_agent, page_urlWebsite (JS tracker)Google Analytics45,000 次请求
/api/v2/vendor/paymentsPOSTvendor_name, bank_account, tax_idSAP ERPBanking API (Deutsche Bank)120 次请求
来源 4:数据库架构

揭示的信息:

  • 存储的数据类别详情(列名和类型)
  • 揭示数据流的数据表关系
  • 通过列名模式匹配识别个人数据
  • 数据量和增长模式

架构分析方法:

  1. 连接云目录中识别出的每个数据库。
  2. 提取数据表架构(列名、数据类型、约束)。
  3. 根据个人数据识别模式匹配列名。
  4. 将识别出的个人数据列映射到第 30(1)(c) 条规定的数据类别。

个人数据列名模式:

模式数据类别第 9 条特殊类别
*name*、*first_name*、*last_name*、*full_name*姓名否
*email*、*e_mail*电子邮件地址否
*phone*、*mobile*、*telephone*电话号码否
*address*、*street*、*city*、*postcode*、*zip*邮政地址否
*dob*、*date_of_birth*、*birth_date*出生日期否
*ssn*、*social_security*、*tax_id*、*national_id*国家身份标识符否
*salary*、*compensation*、*bank_account*、*iban*财务数据否
*ip_address*、*ip_addr*IP 地址否
*diagnosis*、*medical*、*health*、*condition*健康数据是
*genetic*、*dna*、*genome*遗传数据是
*biometric*、*fingerprint*、*facial*生物识别数据是
*ethnicity*、*race*、*ethnic_origin*种族/族裔来源是
*religion*、*religious*、*belief*宗教信仰是
*union*、*trade_union*工会会员身份是
*political*、*party*政治观点是
*criminal*、*conviction*、*offence*犯罪数据(第 10 条)第 10 条

自动填充字段的逻辑

第 30(1)(a) 条 — 控制者身份

来源:Azure AD 租户配置 + 组织管理。
自动化:根据 AD 租户元数据完全自动化。

第 30(1)(b) 条 — 目的

来源:AD 企业应用注册表中的应用描述 + API 文档。
自动化:部分自动化。系统名称和描述可作为起点,但要满足第 5(1)(b) 条的明确性要求,仍需人工完善具体目的的表述。

方法:根据应用描述生成目的草案,标记为“草案 — 需由 DPO 审核”,并分配给处理负责人进行完善。

第 30 条第 1 款(c)项 — 数据主体和数据类别

来源:数据库架构分析 + API 请求/响应架构。 自动化程度:数据类别的自动化程度很高(按列名匹配)。数据主体类别需要结合表上下文进行推断。

第 30 条第 1 款(d)项 — 接收方

来源:AD 安全组(内部接收方)+ API 网关日志(外部集成)+ 云服务目录(处理者)。 自动化程度:自动化程度很高。AD 组可揭示内部访问情况。API 网关可揭示外部数据流。云服务目录可识别处理者。

第 30 条第 1 款(e)项 — 国际传输

来源:云服务区域配置 + API 网关目标 IP + CDN 配置。 自动化程度:自动化程度很高。如果云服务部署在非 EEA 区域,或 API 调用路由至非 EEA 端点,系统会标记潜在的国际传输。

第 30 条第 1 款(f)项 — 保留期限

来源:数据库表统计信息(最早的记录)、备份保留策略、生命周期管理规则。 自动化程度:部分自动化。可以检测实际保留期限(数据实际存在的时长),但无法检测预期保留期限(数据应当存在的时长)。系统会标记实际保留期限与策略规定的保留期限之间的差异。

第 30 条第 1 款(g)项 — 安全措施

来源:云安全配置(加密设置、访问策略)、AD 条件访问策略、WAF 规则、证书配置。 自动化程度:技术措施的自动化程度很高。组织措施需要手动记录。

自动化覆盖率概要

第 30 条第 1 款字段自动化程度是否需要人工审核
(a) 控制者身份高(90%)核实法律实体名称、DPO 信息是否为最新
(b) 目的低(30%)必须具体说明目的
(c) 数据主体类别中(60%)核实推断出的类别
(c) 个人数据类别高(85%)核实通过模式匹配识别出的列
(d) 接收方高(80%)核实外部接收方,补充 DPA 引用
(e) 国际传输高(85%)核实传输机制
(f) 保留期限低(25%)确定策略规定的保留期限,而不仅是实际期限
(g) 安全措施中(70%)补充组织措施

实现架构

┌─────────────────────┐  ┌──────────────────┐  ┌────────────────────┐
│   Azure AD / Okta   │  │  Cloud Catalog   │  │  API Gateway Logs  │
│  (Org structure,    │  │  (AWS/Azure/GCP   │  │  (Data flows,      │
│   app registrations,│  │   service list,   │  │   external calls,  │
│   security groups)  │  │   regions, tags)  │  │   volumes)         │
└────────┬────────────┘  └────────┬─────────┘  └─────────┬──────────┘
         │                        │                       │
         ▼                        ▼                       ▼
┌────────────────────────────────────────────────────────────────────┐
│                    RoPA Auto-Generation Engine                     │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐    │
│  │ AD Parser    │  │ Cloud Parser │  │ API Log Analyzer     │    │
│  └──────┬───────┘  └──────┬───────┘  └──────────┬───────────┘    │
│         │                  │                      │               │
│         ▼                  ▼                      ▼               │
│  ┌────────────────────────────────────────────────────────────┐   │
│  │              Field Mapping and Population Engine            │   │
│  │  • Pattern matching for personal data columns              │   │
│  │  • Data flow graph construction                            │   │
│  │  • Transfer detection (non-EEA region identification)      │   │
│  │  • Security control extraction                             │   │
│  └────────────────────────┬───────────────────────────────────┘   │
│                           │                                       │
│                           ▼                                       │
│  ┌────────────────────────────────────────────────────────────┐   │
│  │              Draft RoPA Generator                          │   │
│  │  • Creates draft entries with populated fields             │   │
│  │  • Flags fields requiring human review                     │   │
│  │  • Assigns to processing owners for validation             │   │
│  └────────────────────────┬───────────────────────────────────┘   │
└───────────────────────────┼───────────────────────────────────────┘
                            │
                            ▼
┌────────────────────────────────────────────────────────────────────┐
│                Database Schema Scanner                              │
│  (Connects to identified databases, extracts schemas,              │
│   applies PII detection patterns)                                  │
└────────────────────────────────────────────────────────────────────┘
                            │
                            ▼
┌────────────────────────────────────────────────────────────────────┐
│               RoPA Management Platform                             │
│  (OneTrust / TrustArc / Collibra / Custom)                        │
│  Draft entries queued for DPO and processing owner review          │
└────────────────────────────────────────────────────────────────────┘

局限性和风险缓解措施

  1. PII 检测中的误报:像 "company_address" 这样的列名可能会被标记为个人数据,但它们可能属于业务数据。缓解措施:人工审核所有自动检测出的 PII 列。

  2. 用途上下文缺失:仅凭技术元数据,自动化系统无法推断处理的业务目的。缓解措施:始终将目的标记为“草稿”,并要求人工具体说明。

  3. 影子 IT 的盲区:未在 AD 或云服务目录中登记的系统无法被发现。缓解措施:将自动发现与定期人工问卷结合,以发现未登记的处理活动。

  4. 加密或令牌化数据:如果数据在列级别加密或经过令牌化,架构分析可能无法检测到个人数据。缓解措施:手动维护加密/令牌化映射清单。

  5. 同意和合法依据:无法从技术元数据中确定。始终需要法律部门/DPO 提供意见。

评论

支持 Markdown