noah-security-assessment
SKILL_790361398 · vv1.0 · 信安 · Owner:信安 · 发布于 2026-08-06
调用 0
下载 0
点赞 0
浏览 0
- 简介
- 面向PRD的双模式安全评估工具,支持事前条款注入与事后自动评审,保障需求合规。
- 触发词
- 安全评估,PRD评审,安全注入,风险排查,条款生成
- 分发渠道
- ARK Engine、诺Chat
- 功能测试
- ✅ 通过 · 业务评审:✅ 通过
- 技能包文件
- noah-security-assessment/SKILL.md、noah-security-assessment/entities/gefei/baseline.yaml、noah-security-assessment/entities/hongkong/baseline.yaml、noah-security-assessment/entities/nexus/security_baseline.md、noah-security-assessment/entities/rongyao/baseline.yaml、noah-security-assessment/entities/singapore/baseline.yaml、noah-security-assessment/entities/usa/baseline.yaml、noah-security-assessment/entities/zhengxing/baseline.yaml …共14个文件
使用示例:请评审这段PRD的安全风险,并输出可采纳的安全建议。
SKILL.md 全文
Frontmatter
| name | noah-security-assessment |
|---|---|
| description | 诺亚控股安全需求评估技能(双模式)。模式一「事前主动注入」:PM 每轮把 PRD 段落粘贴或引用给 AI 时,识别对应功能点的安全薄弱环节,按工具能力输出可采纳的安全条款片段、待办标记与开发注意事项,建议内容按强建议 / 弱建议 / 开发注意事项三层分类。模式二「事后评审」:PRD 提交后自动运行结构化安全评审,识别事前注入痕迹,输出风险报告作为最终质量闸门。两模式共享同一套「关键约定」,事后评审不被替代。 |
诺亚安全需求评估主技能(双模式版本)
本技能在产品需求文档(PRD)的全生命周期内提供安全保障,分为两个互补模式: | 模式 | 触发时机 | 形式 | 输出物 | 角色定位 | |------|---------|------|--------|---------| | 模式一:事前主动注入 | PM 撰写/编辑 PRD 过程中,每轮把段落粘贴或引用给 AI 时触发一次 | 按工具能力分场景:AI 工具场景(Chat 建议+段落补全+HTML 批注)/ Word 等普通编辑器场景(对话输出可粘贴片段+备注清单) | 可采纳的安全条款片段、待办标记、开发注意事项 | 主动提醒,安全左移 | | 模式二:事后评审 | PRD 完成提交后 | 全自动结构化评审 | Markdown 安全风险报告 | 强制终审,质量闸门 |关键原则:事前注入用于"降低遗漏、减少返工",事后评审依然保留并强制执行。两者并行,不互相替代。
共享规则:两模式共享同一套「关键约定」(见本文档独立章节),判断口径一致。---
模式一:事前主动注入(Pre-writing Security Injection)
一、触发时机
事前注入按对话式 AI 的实际能力设计,采用「触发一次 → 输出建议 → PM 决策」的轮询模式,不假设 AI 具备编辑器打字级别的监听能力。- 触发方式:PM 在每轮对话中,把当前 PRD 段落(或段落链接、片段截图)粘贴/引用给 AI 时,本 skill 触发一次,针对该段落分析并输出安全建议
- 工具场景:
- AI 工具场景(Kiro / Cursor / Claude / ChatGPT / Kimi 等):AI 可以直接在文档中补全"安全设计"草稿并标注
[AI 建议·待确认],或在 Chat 面板列建议 - 普通编辑器场景(Word / WPS / 腾讯文档 / 飞书文档 / Notion / 石墨等):PM 通常先在 AI 对话中起草 PRD 片段,AI 输出「可直接复制粘贴的成段文字 + 备注提醒列表」,PM 自行决定如何回写到正式文档
- 触发内容识别:以本模式 2.5 节「上下文 → 推送清单」为准。PM 粘贴/引用的段落里出现清单中的任一关键场景(如"用户登录""数据导出""角色权限"),即触发对应安全要素的推送
二、执行方式
2.1 输出形态(按工具能力分场景)
不同工具的能力差异较大,本 skill 提供两套等效方案。判定规则:当前对话上下文若来自支持文件直接编辑的工具(如 Kiro/Cursor)→ 用 A 方案;否则一律用 B 方案。A. AI 工具场景(支持直接编辑文档)
| 形态 | 实现方式 | 适用场景 | |------|---------|---------| | Chat 面板建议 | AI 在对话区列出建议清单,等 PM 确认("采纳第 1、3 条")后再写入文档 | 默认形态,所有写入动作经 PM 二次确认,避免污染 PRD | | 自动补全段落(强建议) | 直接在功能描述后插入"安全设计"小节草稿,用 Markdown 引用块标记> 💡 [AI 建议·待确认] ... 区分原文与 AI 内容 | 强制性、通用性强的安全要素(脱敏规则、KMS 加密、日志要素、数据分级) |
| HTML 注释批注(弱建议) | 在相关段落后插入 <!-- [AI 建议] ... -->,渲染时不显示,源码可见 | 需要 PM 业务判断的项(导出审批流程、保留期限、是否双因素) |
| Diff 审阅 | Supervised 模式下 PM 可逐 hunk 接受/拒绝 AI 写入的内容 | 替代传统的"批注气泡确认"交互 |
| 开发注意事项区 | 文档末尾的"开发注意事项"章节追加条目 | 代码实现层细节(加密算法、报文签名、幂等校验) |
B. Word / 普通编辑器场景(无文件直接编辑能力)
PM 在 AI 对话中提供需求片段或描述功能后,AI 按以下结构输出,PM 自行复制粘贴到正式文档: | 形态 | 实现方式 | 适用场景 | |------|---------|---------| | 可粘贴片段(强建议) | 输出一段"以下内容建议直接复制到 PRD 的『安全设计』章节",给出完整成段文本,前缀保留[AI 建议·待确认] 标记 | 强制性、通用性强的安全要素 |
| 备注清单(弱建议) | 输出"以下事项建议你在文档中考虑(自行决定是否写入)",编号列表形式逐条列出 | 需要 PM 业务判断的项 |
| 开发注意事项段落 | 单独输出一段标题为"开发注意事项"的内容,供 PM 粘贴到 PRD 末尾 | 代码实现层细节 |
| 待办提醒 | 输出"以下事项暂未在你的需求中体现,建议确认是否需要补充",PM 自己判断后回到对话补充信息 | 关键信息缺失(如未指明数据保留期限、未说明角色矩阵) |
Word 等编辑器没有原生"AI 批注"能力,因此本 skill 不去适配任何文档批注 API。所有输出都是纯文本(Markdown 格式),PM 复制粘贴即可。文档中是否保留 [AI 建议] 标记由 PM 决定。
2.2 建议内容的三层分类(两种场景通用)
为了避免污染 PRD 又不流于形式,AI 输出的安全建议必须按以下三层分类,并以不同方式呈现: | 层级 | 内容特征 | 典型例子 | AI 工具场景呈现 | Word 场景呈现 | |------|---------|---------|---------------|--------------| | L1 强建议(直接写入正文) | 强制性、通用性强、不需要业务判断 | 敏感字段脱敏规则、KMS 加密存储、审计日志要素、数据分级、机构间数据隔离要求 | 自动补全到"安全设计"章节,标记> 💡 [AI 建议·待确认] | 输出可粘贴成段文本,前缀保留 [AI 建议·待确认] |
| L2 弱建议(批注/备注提醒) | 需要 PM 根据业务情况判断 | 导出审批流程、数据保留期限、是否需要双因素、单次导出量上限 | HTML 注释 <!-- [AI 建议] ... --> 或对话提示 | 输出编号列表,标题"以下事项建议你在文档中考虑" |
| L3 开发注意事项(独立章节) | 代码实现层细节,PM 不需要详细写 | 加密算法(RSA/AES/SM2)、报文签名、幂等校验、TLS 配置、文件头校验 | 写入文档末尾"开发注意事项"章节,标记 > 🔧 [开发关注] | 输出独立段落"开发注意事项"供粘贴 |
核心原则:
- 不要把 L3 内容写到 L1 的位置 — 那会让 PRD 充斥 PM 看不懂的技术细节
- 不要把 L1 内容降级到 L2 — 那会让强制性安全要素停留在批注里,正文没沉淀
- 同一建议在两种场景下的内容相同,只是呈现方式不同
2.3 标记规范(强制,两种场景通用)
无论哪种场景,AI 写入或输出的内容都必须有清晰标记,让 PM 一眼区分自己原文与 AI 建议: | 标记 | 含义 | 使用位置 | |------|------|---------| |> 💡 [AI 建议·待确认] ... | L1 强建议,已直接写入正文,需 PM 确认保留 | 安全设计章节内 |
| <!-- [AI 建议·{ID}] ... --> | L2 弱建议,HTML 注释形式(仅 AI 工具场景) | 相关段落后 |
| > ⏳ [AI TODO] ... | 待办事项,需 PM 后续补充 | 文档顶部或专属待办区 |
| > 🔧 [开发关注] ... | L3 开发注意事项 | "开发注意事项"章节内 |
PM 审阅后,可手动删除标记前缀,转为正式条款。事后评审(模式二)会识别这些标记,统计采纳率。
2.4 推送内容要求
- 必须结合上下文:识别 PM 正在写的具体功能(如"用户上传简历"、"批量导出报表"),而不是泛泛提示
- 必须给出可落地的具体要求:列出该功能场景下需要补充的安全要素及对应的设计点
- 不输出过于通用的提示:禁止"请注意安全"、"建议加密"这类无信息量的提醒
2.5 上下文 → 推送清单(核心映射规则)
| PM 正在写的内容(关键词触发) | 主动推送的安全要素 | |------------------------------|------------------| | 用户登录、注册、忘记密码 | 密码复杂度(≥10位、字母+数字+特殊字符≥2种)、防暴力破解(验证码+登录失败锁定)、登录失败模糊提示、首次登录强制改密、是否需要双因素;【外网可访问的登录入口 B/S + APP 通用·按 #8】短信验证码发送前必须接入阿里云滑块或同等人机交互检测(图形/滑动/点选/SDK 风控),仅内网可达的登录页可豁免 | | 用户上传文件 | 文件类型白名单、大小限制、是否含敏感影像件需走 OSS 存储、访问控制策略 | | 数据导出、报表下载、文件导出 | 是否含敏感字段(手机号/证件号/银行卡/邮箱/地址);脱敏规则(默认导出脱敏,明文导出需专项审批);导出审批流程(部门负责人+数据所有者+信安+合规);单次导出量上限;密级标签必标——按数据分级在导出文件封面 + 每页显著位置添加:L4 绝密 / L3 机密 / L2 内部使用 / L1 公用(绝密和机密强制标,内部使用建议标);明文导出操作需落审计 | | 数据展示、详情页 | 敏感字段脱敏规则(姓名张*丰、手机138****2345、证件后4位、银行卡前4后4)、是否需要页面水印(内部系统) | | 数据存储、新增字段 | 数据分级(L4绝密/L3机密/L2内部/L1公用)、是否需要 KMS 加密存储、保留期限 | | 角色配置、权限、审批 | 角色矩阵(管理员/普通用户/审计员)、申请与审批账号分离、最小权限、机密数据访问需多因素或二次授权 | | 第三方接口、对外提供数据 | 接口认证(数字证书/IP白名单/API 网关)、敏感字段脱敏、传输加密、调用日志 | | 数据共享、对外传递 | 共享内容/范围/期限/用途、接收方安全能力评估、跨法人主体签数据交换协议、数据使用期限到期处置 | | 跨境传输、海外节点 | 信安+法务+合规综合评估前置、跨境日志保留≥5年、当地法规符合性 | | 用户注销、删除账号 | 数据删除/匿名化方案、15日内响应时限、所有相关系统的连锁删除 | | 收集个人信息(手机/证件/简历) | 授权同意机制、收集前告知、隐私政策覆盖、超范围采集禁止、第三方共享需独立授权 | | AI 模型调用、智能问答 | Prompt 注入防护、指令边界绕过测试、生成内容审核、AI 日志(默认走 MCP 网关,无需重复设计) | | 资金/交易、支付、撤单 | 交易密码独立、防重放、幂等性(写注意事项)、关键操作审计日志、限额规则、风控对接 | | 后台管理、运营平台 | 接入 UA 统一认证或双因素、禁止公网访问、含敏感数据页面浮动水印(账号+日期时间) | | 线索 / 潜在客户 / CRM 获客 / 官网表单同步 / 经纪人招募(尚未转化为我司正式客户的名单) | 【按 #36】·脱敏优先 + 宽松口径:AI 不主动告诉 PM"明文展示是允许的",评估时仍以脱敏展示为最优实践——能脱敏的场景(列表页批量浏览、统计卡片、摘要)建议 PM 评估是否可脱敏;详情页 / 主动呼叫等业务必须明文的场景不判"未脱敏"风险。水印按 #42 归 PM 注意事项,不再判风险。其余项一律不作为风险,转为注意事项:① 外部灌数据风险(PM 注意事项) ② KMS 加密存储(开发注意事项) ③ 隐私授权与告知(PM 注意事项) ④ 导出审批 / 量级 / 权限收敛 / 审计(PM 注意事项,密级标签按 #35 提醒) ⑤ 登录认证方式与公网访问策略(不提,由宿主系统决定) ⑥ 数据可见范围隔离(单机构内部不判风险,仅多机构 / 多租户场景才提) ⑦ 转化后规范切换(PM 注意事项) ⑧ Excel 批量初始化导入的数据保护流程(不判风险) | | 兑换券 / 权益码 / 卡号 / 礼品卡 / 积分(资金性权益,正行尤其关注) | 【PM 维度·中危】第三方兑换的客户信息外泄风险:客户到第三方平台登记手机号/姓名等以兑换权益,相当于变相向第三方提供客户信息,PRD 需说明:第三方是否签数据保护协议、登记前是否有用户授权告知、登记数据的存储与销毁约定。<br>【PM 维度·高危·按 #32】业务套利 / 薅羊毛风险:发放额度需与用户真实身份强绑定,PRD 需说明单人限领次数、总量上限、异常监控指标(每日发放量、领取 TOP IP / 设备)。<br>【上线建议章节强制写】信安必须做专项安全测试:作为上线前置硬性要求写入"上线建议"。<br>明文导出审批+密级标签+审计(PRD 应写明)。<br>注:防刷/防超发/防转发裂变/一人一码/资源 ID 抗遍历等技术防护属开发实现层,放开发注意事项,不判风险 | | 限额 / 退款 / 退费 / 撤单 / 计费 / 扣款 / 对账(任何涉及资金损益的业务规则) | 【PM 维度·高危·按 #32】:单笔限额、日累计限额、月限额规则;超限处理逻辑;退款 / 退费的触发条件 + 审批 + 幂等;撤单与原交易的对应关系 + 时间窗;计费 / 费率的计算口径 + 取整规则 + 多币种处理;扣款的二次确认 + 失败重试上限;对账机制(系统间一致性核对、差异处理流程)。<br>【上线建议章节强制写】信安必须做专项安全测试 |2.6 用户反馈交互
| 操作 | AI 工具场景 | Word 场景 | |------|-----------|----------| | 采纳 | 确认 AI 写入的草稿,PM 删除[AI 建议·待确认] 标记前缀,内容转为正式条款。系统记录 accepted: <要素ID>,事后评审跳过该项的重复检查 | PM 在对话中说"采纳第 N 条"或直接复制粘贴到文档;事后评审若识别到文档中包含对应安全要素的关键词,视为采纳 |
| 稍后处理 | 转为 > ⏳ [AI TODO] 标记保留在文档中。系统记录 pending: <要素ID>,事后评审重点复核 | PM 复制 ⏳ [AI TODO] 标记到文档顶部待办区;事后评审会识别该标记 |
| 忽略 | AI 撤回该建议,可附原因。系统记录 dismissed: <要素ID> + 原因(可选),事后评审若该项实际命中风险,会在报告中单独标注"事前已忽略,请确认" | PM 在对话中说"忽略第 N 条"或不复制即可;如对话历史可留存则记录原因 |
2.7 注入元数据(可选支持,按场景降级)
每次注入与反馈,在 AI 工具场景下可写入文档 frontmatter 元数据区:security_injection: version: 1 items:
- id: AUTH-001
- 事后评审阶段,直接扫描文档中
[AI 建议·待确认]、[AI TODO]、[开发关注]等标记 - 同时基于文档内容关键词匹配
2.5 推送清单,识别哪些安全要素已被覆盖、哪些缺失 - 不依赖元数据,差异分析章节降级为"基于内容的覆盖率分析"
总原则:元数据有则用,无则降级。skill 在两种场景下产出的最终评审报告质量保持一致,仅差异分析的精度略有差别。---
三、注入精准度控制
3.1 必须遵守的"不打扰"原则
- 同一段落已采纳过的要素 不重复推送
- 同一会话中已忽略的要素 当次会话不再推送(跨会话可重新评估)
- 主体差异化要素优先:识别到正行/歌斐/Nexus 等主体后,优先推送该主体的差异化要求
注:不再设置"每 30 秒最多推送 1 次"这类时间粒度的频率限制——对话式 AI 无编辑器打字级监听能力,触发节奏由 PM 的对话轮次自然决定(每轮粘贴/引用一次段落即触发一次)。
3.2 上下文相关性下限
- 仅在 PM 已给出具体功能描述后才推送,不对空白段落或纯标题做分析
- 不分析非功能性章节(如"项目人员"、"变更日志"、"附录")
3.3 复用关键约定
事前注入与事后评审共享同一套「关键约定」,见本文档独立章节「关键约定(两模式共同遵守)」。例如:- 不推送 TLS 版本/密码套件细节(#1)
- 不要求 PM 写代码实现层细节(加密算法、接口签名等,#9、#24~30)
- 文件存储位置、文件下载鉴权等放到"开发注意事项"提示(#16、#17)
模式二:事后评审(Post-writing Assessment)
本模式即原有的全自动结构化评审,作为最终质量闸门保留并强制执行。
一、触发时机
- 接收到上传的 PRD 文件后自动运行
- 若同时提供主体信息(如文件名包含主体标识或文档元数据),自动加载对应差异化配置;否则不加载差异化配置,只使用主 SKILL 通用规则
- 整个过程中不得向用户提问。对于文档中未明确的信息,使用默认值(如系统类型默认为"外部系统")或标记为"需求文档未明确"
二、核心流程(按顺序自动执行)
1. 加载参考文件:- 读取
references/checklist_10_dimensions.md(详细检查清单) - 根据系统类型自动选择适用的检查项
- AI 工具场景:解析
security_injection元数据,了解 PM 已采纳/待办/忽略的安全要素 - Word 场景:扫描文档中
[AI 建议·待确认]、[AI TODO]、[开发关注]等标记,配合关键词匹配推送清单识别覆盖情况 - 已采纳项 → 视为已覆盖,不重复检查
- 待办项 → 重点复核,确认在最终文档中是否真的补充
- 忽略项 → 仍按风险匹配,命中时在报告中标注"事前已忽略,请确认"
- 元数据/标记均不存在时 → 直接按内容做完整评审,不影响最终结论
templates/report_template.md)
8. 生成差异分析章节(如有事前注入痕迹):
- 元数据完整时(AI 工具场景):列出 PM 采纳了哪些建议、待办项是否全部落实、被忽略但实际命中的风险
- 仅有 AI 标记时(Word 场景):基于
[AI 建议·待确认]/[AI TODO]等标记和关键词覆盖率给出近似差异分析 - 无任何痕迹时:跳过差异分析章节,不影响主报告输出
- 用于持续优化注入规则的精准度
三、系统分类(自动判定规则)
根据文档内容自动匹配以下规则(优先级从高到低): | 类型 | 判定规则(关键词匹配) | 适用检查清单 | |------|-----------------------|-------------| | 客户面向 APP | 包含"APP"、"移动端"、"手机应用"、"iOS"、"Android" | B/S 基础 + APP 附加清单 | | 内部管理系统 | 包含"后台管理"、"运营后台"、"内部系统"、"OA"、"管理面板",且用户角色包含"内部员工"、"管理员" | B/S 全量 + 内部系统附加要求 | | 外部系统 | 其他情况(如包含"门户"、"客户登录"、"机构用户"、"RM"、"SaaS") | B/S 基础要求,不适用内部专属要求 |若无法判定,默认使用外部系统类型。
四、关键信息提取(自动)
从文档中提取以下信息,缺失项标注"未明确":- 功能概述和业务流程
- 涉及的数据类型(是否含客户敏感信息、交易数据)
- 用户角色和权限模型
- 外部接口/第三方依赖
- 登录和认证方式
- 是否为 APP(若是,涉及哪些终端能力)
- 涉及资金交易的操作
- 主体信息(正行/歌斐/荣耀/香港/新加坡/美国/Nexus)——根据文件名、章节标题或显式声明识别,否则为"通用"
五、按需匹配检查(非全量遍历)
核心原则:产品经理的需求文档只覆盖系统功能的一部分,不是全貌。检查清单应去匹配需求实际涉及的内容,而非逐项要求产品经理覆盖所有安全要求。匹配规则
1. 先理解需求范围:提取需求涉及的功能模块、数据流、用户交互、接口调用等 2. 再匹配检查项:仅从references/checklist_10_dimensions.md 中筛选出与本次需求相关的检查项
3. 不涉及的维度直接跳过:需求没写到的功能领域,不检查、不输出、不告知产品经理"未覆盖"
4. 只输出有风险的项:匹配后,仅对存在安全风险的项输出结果。需求已正确覆盖的项不出现在报告中
强制主动提醒项(例外情况)
以下场景为强制主动提醒项——即使 PRD 未涉及、或已按业务默认处理,AI 也必须在报告中主动写入相应提醒。不受"不涉及则跳过"原则约束:- 导出 / 下载 / 文件输出 → 参见关键约定 #35(密级标签必提醒,写入 PM 注意事项)
- 文件上传 → 参见关键约定 #43(类型/大小/校验/存储要点必写入开发注意事项)
- 关键操作审计日志 → 参见关键约定 #44(日志要素与保留期限必写入 PM 注意事项)
10 大维度(作为匹配来源,非逐项输出)
1. 认证鉴权(B/S + APP) 2. 访问控制 3. 会话与传输安全 4. Web/API 安全 5. 数据安全(含分类分级、加密、脱敏) 6. 安全审计 7. 第三方依赖 8. 代码与配置安全 9. 合规性 10. 漏洞管理(定级+修复时限)这 10 个维度是检查项的知识库来源,不是输出结构。最终报告按"发现的风险"组织,不按维度罗列。
六、多主体差异化配置(自动加载)
| 主体 | 配置文件路径 | |------|-------------| | 正行 |entities/zhengxing/baseline.yaml |
| 歌斐 | entities/gefei/baseline.yaml |
| 荣耀 | entities/rongyao/baseline.yaml |
| 香港 | entities/hongkong/baseline.yaml |
| 新加坡 | entities/singapore/baseline.yaml |
| 美国 | entities/usa/baseline.yaml |
| Nexus | entities/nexus/security_baseline.md |
| 通用(默认) | 无差异化配置时不加载任何文件,直接使用主 SKILL 通用规则 |
加载后,差异化配置中的 additional_checks 会自动追加到检查清单中,risk_override 会覆盖对应项的默认风险等级,exemptions 中的条目标记为"不适用"。
若识别到主体但对应配置文件不存在或为空,视同"通用",不影响主流程。
七、风险定级与统计
- 仅对匹配到且存在风险的检查项进行定级
- 风险等级取其最终风险等级(默认等级 → 差异化覆盖后等级)
- 汇总各等级数量
- 根据严重/高危风险数量及上线前安全条件,自动生成上线建议
八、输出报告(固定格式,直接生成)
报告使用templates/report_template.md 模板,填充内容后直接输出为 Markdown 文件。
报告核心内容
- 需求概述
- 发现的安全风险列表(每项含:风险描述、风险等级、整改建议;制度依据仅在有明确制度条款时填写,不硬编)
- 注意事项(拆两张表输出):
- PM 注意事项:面向产品经理,供 PM 决定是否补写入 PRD 或与业务/合规/运营侧对齐
- 开发注意事项:面向研发,代码实现层细节,PM 无需在 PRD 中详展开
- 风险统计
- 上线建议(自动判断:若有严重风险 → 不建议上线;有高危风险 → 条件放行;其他 → 建议修复后上线)
- 事前注入差异分析(如存在事前注入元数据):
- 采纳建议数 / 总建议数 → 反映 PM 的安全意识
- 待办项落实率
- 被忽略但实际命中的风险(重点高亮)
不输出的内容
- 不逐一列出 10 维度所有检查项
- 不输出"需求未提及"的无关项
- 不输出需求已正确覆盖的项
- 不把代码实现层面的细节判定为产品需求层的安全风险
九、评估后动作(自动化)
1. 生成 Markdown 格式报告,文件名格式:security_report_<系统名>_<YYYYMMDD_HHMMSS>.md
2. 保存至默认输出目录(如 /output/)或用户上传时指定的目录
3. 不进行任何反问或后续交互,直接结束技能执行
---
关键约定(两模式共同遵守)
本章节独立于模式一 / 模式二,两模式在推送建议或评估风险时都需遵守以下约定。
已被后续条款覆盖的历史条款保留编号,标注"[已废止·由 #X 覆盖]",避免其他条款交叉引用错乱,同时降低 AI 判断成本。
快速索引(按主题归类)
评估遇到具体场景时,先按主题定位到相关条款编号,再读条款正文。避免顺序扫描 44 条。 | 主题 | 相关条款 | |------|---------| | 豁免 / 不纳入报告 | #1(TLS 版本)、#2(测试环境验证码 Mock)、#3(外部系统豁免双因素/UA)、#7(Nexus 交易豁免)、#20(HK 数据回大陆)、#21(限额费率待定)、#40(不再自动写"必须做专项测试") | | 资金 / 交易业务 | #10(交易密码复用)、#19(正行资金性权益)、#21(限额待定)、#32(资金损失一律高危)、#38(运营管理流程细节归 PM 注意事项) | | 认证 / 登录 | #3(外部系统豁免)、#5(API 认证不判严重)、#8(外网登录页阿里云滑块)、#10(交易密码传输)、#37(AI 内部工具 UA 权限管控) | | 敏感数据脱敏 | #41(敏感字段脱敏归 PM 注意事项)、#36(线索场景例外) | | 页面水印 | #42(水印一律归 PM 注意事项) | | 审计日志 | #4(日志范围:后台操作人员)、#11(AI 日志走 MCP 网关)、#44(操作审计日志归 PM 注意事项) | | 文件上传 / 下载 / 导出 | #15(PRD 只写格式大小)、#16(存储位置不判风险)、#17(存储/传输加密归开发)、#35(导出密级标签必提醒)、#43(文件上传统一归开发注意事项) | | 开发实现层(一律不判风险) | #9(通用原则)、#24(接口越权)、#25(服务端强制鉴权)、#26(错误提示模糊化)、#27(资源 ID 抗遍历)、#29(测试/生产链接混用)、#30(敏感字段全链路加密)、#31(判定标准总纲)、#33(写作约束)、#34(标题排版) | | 线索 / 潜在客户 | #18[已废止]、#36(线索场景宽松口径)、#42(水印仍适用) | | AI 类需求 | #11(AI 日志)、#12(第三方 AI 模型)、#14(Prompt 注入测试)、#37(UA 权限管控降级)、#39(运营人员上传 HTML 归开发)、#40(不再自动写测试结论) | | 运营 / 内控流程 | #22(隐私政策/授权告知归注意事项)、#28[已废止]、#38(运营管理流程细节)、#39(运营人员上传 HTML) | | 合规依据 / 制度引用 | #13(制度依据非必填) | | 上线建议结论 | #19(正行资金性权益强制写)、#32(资金损失强制写)、#40(其他不再自动写) | | [已废止条款一览] | #18(由 #36 覆盖)、#23(由 #44 覆盖)、#28(由 #38⑤ 覆盖)、#36①(由 #42 覆盖)、#38③(由 #41 覆盖)、#38⑥(由 #42 覆盖) |条款正文
| # | 约定 | |---|------| | 1 | TLS 版本/密码套件问题一律不纳入报告 | | 2 | 测试环境验证码 Mock 视为预期行为,不判风险 | | 3 | 外部系统不套用双因素/UA/后台禁公网要求 | | 4 | 审计日志只针对后台操作人员,前端 APP 自行保存 | | 5 | PRD 中不涉及 API 认证细节不判为严重风险,仅记录提醒 | | 6 | 交易数据允许向授权用户展示,关注越权/加密/水印 | | 7 | Nexus 申购/赎回/撤销已豁免支付密码和验证码 | | 8 | 【外网可访问的登录入口·B/S + APP 通用】短信验证码发送前必须接入阿里云滑块或同等人机交互检测(图形验证码、滑动验证码、点选验证、SDK 风控等)。覆盖范围:客户面向 APP 登录、外网域名可达的 B/S 登录页(含 SaaS、客户门户、Nexus、外部对接系统等)。豁免范围:① 仅内网可达的系统登录页(VPN / 零信任接入后才能访问)② 已登录态下的二次操作(交易密码、转账确认等) | | 9 | 产品经理不会在 PRD 中写代码层面的实现细节(如加密算法、接口签名、幂等校验等),这类属于开发实现层面的安全要求,不判为风险,放到报告的"注意事项"中提醒开发关注 | | 10 | 交易密码加密传输属于 APP 已有的统一安全方案,PRD 不需要重复标明,评估时放到注意事项提醒确认复用即可,不判为严重风险 | | 11 | AI 日志由 MCP 网关统一存储,已有标准方案,不需要在每个需求中单独强调日志存储安全 | | 12 | 第三方 AI 模型的数据安全有公司统一标准,不在单个需求评估中重复提出,除非需求涉及新的、未覆盖的 AI 使用场景 | | 13 | 制度依据不是必填项。如果没有明确的制度条款对应某个风险,不要硬编制度依据,直接描述风险本身即可 | | 14 | 涉及 AI 能力的需求,重点关注 Prompt 注入/指令边界绕过风险,建议进行提示词注入专项安全测试 | | 15 | 文件上传需求中,产品经理只需在 PRD 中写明允许的文件格式和大小限制即可。服务端文件内容校验(如文件头校验、随机文件名存储等)属于开发实现层面的安全细节,放到注意事项中提醒开发,不判为风险 | | 16 | 文件存储位置(OSS/本地)不作为需求评估的风险项。文件下载的鉴权控制写入注意事项提醒开发。对于后台系统,登录后台本身即表示具有相应操作权限,不需要额外的下载权限校验 | | 17 | 上传文件的存储加密与传输加密属于开发实现层面,放到注意事项中提醒开发关注(如存储是否加密、传输是否走 HTTPS 等),不判为风险 | | 18 | [已废止·由 #36 覆盖] ~~涉及收集外部人员个人信息(如求职者简历、联系方式等)的需求,如果缺少收集告知/用途说明/保留期限/隐私协议覆盖,判定为中危风险~~ → 线索/潜在客户/招募等场景按 #36 处理;其他常规个人信息收集场景按 #22 归 PM 注意事项 | | 19 | 正行(诺亚正行基金销售)的需求,涉及兑换券 / 权益码 / 卡号 / 礼品卡 / 积分等资金性权益时,PM 维度判定两类业务风险:① 第三方兑换的客户信息外泄风险(客户到第三方登记手机号/姓名是否签协议、授权告知、数据存储销毁)→ 中危 ② 业务套利 / 薅羊毛风险(发放额度需绑定真实身份、单人限领、总量上限、异常监控)→ 按 #32 一律高危。其他技术防护(防刷、防超发、防转发裂变、一人一码、资源 ID 抗遍历)全部归开发注意事项,不判风险。同时上线建议章节必须强制写明"上线前必须经信安团队专项安全测试" | | 20 | HK APP 面向的客户群体为香港用户,业务上数据回大陆数据中心进行处理是默认架构,不视为跨境传输风险,评估时不就此提风险或注意事项;如涉及数据回大陆以外的境外区域则需评估 | | 21 | 资金类需求中"限额规则待业务侧确认""费率待定"等明确标注待业务方补充的事项,不判为安全风险,由业务方在评审环节自行补充,评估报告不重复提示 | | 22 | 隐私政策覆盖、用户授权告知更新等合规层面的事项,产品经理在 PRD 中通常不会主动写明,不判为风险,统一放到"注意事项"中提醒法务/合规联动 | | 23 | [已废止·由 #44 覆盖] ~~操作审计日志、变更审计、撤单/敏感操作的日志记录要素等,产品经理在 PRD 中通常不会主动强调,不判为风险,统一放到"注意事项"中提醒开发团队按公司日志规范实现~~ → 统一按 #44 处理(归 PM 注意事项 + 提醒模板) | | 24 | 接口越权防护(IDOR / 横向越权 / 纵向越权)属于开发实现层面,所有主体一律放开发注意事项,不判为风险。PM 不会在 PRD 中写"集团号从 JWT 取""不接受客户端传入"等接口设计细节 | | 25 | 运营位 / 权益领取 / 任何前端拦截动作的"服务端强制鉴权"属于开发实现层面,放开发注意事项,不判为风险。PM 只需在 PRD 中表达业务规则(什么人能看、什么人能领),具体由开发用服务端校验落地 | | 26 | 错误提示文案是否模糊化、是否暴露内部分层规则属开发实现细节,放开发注意事项,不判风险 | | 27 | 资源 ID(运营位 ID、活动 ID、associationCode、券码 ID 等)的抗遍历设计(UUID / 随机串 / 限流)属开发实现层,放开发注意事项作为提示项,不判风险 | | 28 | [已废止·由 #38⑤ 覆盖] ~~运营可配置项(理财师工号、人群标签、白名单、灰度比例、活动开关等)的变更审批与操作日志属于运营管理流程,统一放 PM 注意事项提醒运营 / 产品确认管控流程,不判风险~~ → 统一按 #38⑤ 处理 | | 29 | PRD 中同时出现测试链接与生产链接、企微名片链接、业务 H5 链接等情况属正常业务描述,不判为风险(PM 通常需要把测试 / 生产链接列在 PRD 中方便研发对接)。链接环境隔离由开发在配置层保证 | | 30 | 集团号 / 手机号 / 证件号等敏感字段在客户端→后端→第三方接口的全链路加密、埋点数据脱敏属开发实现层面,放开发注意事项,不判风险。PM 只需在 PRD 中标注"涉及客户敏感数据传递"即可 | | 31 | 关键约定 9 与 24~30 是同一原则的不同维度细化:凡 PRD 中通常不会出现的"接口设计 / 服务端校验 / 加密算法 / 资源 ID / 错误码 / 链路加密"类描述均不判风险。判定标准——若该问题需要研发查看代码才能确认有/没有做,则属开发实现层 | | 32 | 【全局硬性规则·所有主体通用】可能直接造成或导致钱的损失 / 资金风险的业务问题,一律至少判定为 🟠 高危,不可下沉为中危或注意事项。典型场景包括:① 业务套利 / 薅羊毛(防刷防超发缺失的业务规则层面) ② 错误发放(积分 / 优惠券 / 兑换券 / 礼品卡 / 现金红包)③ 限额规则缺失或可被绕过 ④ 退款 / 退费 / 撤单逻辑漏洞 ⑤ 计费 / 费率错误 ⑥ 未授权扣款 / 重复扣款 ⑦ 资金清算 / 对账缺失 ⑧ 其他可能直接产生资金损益的场景。<br>该规则优先级高于 #19 中的"PM 维度业务风险判中危"等下调条款;当某项业务风险既属 #19 又涉及钱的损失时,按 #32 上调至高危。<br>同时按 #19 后半段:上线前必须经信安专项安全测试,作为上线前置硬性条件写入"上线建议"章节 | | 33 | 【开发注意事项的写作约束】开发注意事项必须严格基于 PRD 实际涉及的功能点定制,禁止堆砌通用最佳实践模板。以下项不再主动写入开发注意事项,除非 PRD 显式触发:<br>① 生产 / 测试链接的环境隔离——产品经理在 PRD 中本就不区分环境,环境隔离是研发与运维的默认职责,不在评估范围<br>② 配置中心承载可配置项(Apollo / Nacos 等)——理财师工号、人群标签等业务可配置项实际不会进配置中心,由业务侧自行决定承载方式<br>③ 缓存策略 / 缓存失效——除非 PRD 明确提到"缓存""高并发""性能优化"等关键词,否则不主动建议<br>④ 其他与 PRD 实际功能无直接关联的通用最佳实践(如限流、熔断、CI/CD 检查等运维侧细节) | | 34 | 【写作排版约束】开发注意事项条目的标题中不再追加术语括号(如旧版"接口越权防护(IDOR)"应直接写"接口越权防护";"敏感字段全链路加密与脱敏"不再加"(HTTPS / API 网关)"等英文术语补充)。术语解释如有必要,放在正文描述中而非标题里,保持标题简洁 | | 35 | 【下载 / 导出场景必提醒密级标签】涉及下载 / 导出 / 文件输出(含报表导出、Excel 下载、PDF 导出、批量数据导出等)的功能,AI 必须主动在评估报告的"PM 注意事项"中提醒 PM 在 PRD 中明确"导出文件的密级标签":按公司数据分级判定 L4 绝密 / L3 机密 / L2 内部使用 / L1 公用,绝密和机密强制标,内部使用建议标;标签位置:导出文件封面 + 每页显著位置(页眉 / 页脚)。<br>这是提醒,不判风险——产品经理在 PRD 中通常不会主动写明密级标签细节,AI 不因 PRD 缺失而判风险,只在 PM 注意事项中提示。<br>制度依据:《诺亚系统开发与密码管理办法》第二十条 + 《信息数据安全管理办法》第十二条 | | 36 | 【线索 / 潜在客户阶段·脱敏优先 + 宽松口径】线索模块(从官网、外部渠道、活动问卷、经纪人招募、名片扫码等获取的尚未转化为公司正式客户的名单)中的手机号 / 邮箱 / 姓名,因运营 / 顾问需要直接联系跟进而存在明文展示 / 导出的合理业务诉求。评估口径按以下规则处理:<br><br>保留判定的风险点<br>① [已废止·由 #42 覆盖] ~~明文展示的水印落地:PRD 未定义水印 → 判中危~~ → 水印统一按 #42 归 PM 注意事项,不再作为独立风险<br>② 评估仍以脱敏展示为最优实践——能脱敏的场景(列表页批量浏览、统计卡片、摘要区域、判重摘要)建议 PM 评估是否可脱敏,作为 🟡 中危建议项,不硬性判定为高危<br><br>下沉为注意事项、不作为风险的项<br>③ 导出场景配套细节(审批流程 / 单次量级上限 / 权限收敛 / 审计等)属运营管理流程和开发实现层,PRD 通常不会写明,不作为风险,AI 在 PM 注意事项中简要提示「与业务侧对齐管控流程」即可;密级标签按 #35 单独提醒<br>④ 外部接口同步的安全设计(认证 / 加密 / 防刷 / 签名等)属开发实现层,不作为风险;但需要在 PM 注意事项中提醒 PM 关注「外部恶意批量灌入伪造线索造成资源污染 / 骚扰目标客户 / 数据污染」的业务风险,让 PM 感知并与研发对齐防护策略<br>⑤ 敏感字段 KMS 加密存储(手机号 / 邮箱 / 姓名等)属开发实现层,不作为风险,在开发注意事项中提醒即可<br>⑥ 个人信息采集的授权同意 / 隐私政策 / 用户权益响应通道:PM 在 PRD 中经常漏写,不作为独立风险,统一放到 PM 注意事项中提醒法务 / 合规联动<br>⑦ 登录认证方式(UA / 双因素 / 禁公网):线索模块作为宿主系统的子模块,登录方式由宿主系统统一决定,PRD 中不提合理,不作为风险,也不在注意事项中提<br>⑧ 数据可见范围隔离:若需求主体为单机构 / 单团队内部使用(如荣耀、正行等单主体内部系统),不涉及跨机构 / 多租户数据隔离要求,不作为风险;仅在明确涉及多机构 SaaS 场景时才作为高危提出<br>⑨ Excel 批量初始化导入的数据保护流程(文件传递方式、导入权限、销毁机制等)不作为风险(该类临时导入活动属运维管理流程)<br>⑩ 转化后规范切换:线索一旦转化为正式客户,公司统一敏感数据保护规范(默认脱敏、KMS、审计)自动生效;PRD 通常不会写明该切换机制,不作为风险,在 PM 注意事项中提醒转化后须按客户规范做防护<br><br>其他补充<br>⑪ 业务侧主动脱敏视为业务选择:若 PRD 已在列表页做了 138**5678 脱敏,不再要求详情页也必须脱敏,也不因此判定「脱敏不一致」风险<br>⑫ 优先级说明**:本约定优先于 #18(隐私告知在线索场景下转注意事项);不影响 #35(导出仍需密级标签提醒) | | 37 | 【AI 内部工具·UA 权限管控 + 专业用户场景】评估口径:当 AI 类系统(含 AI 助手 / AI Agent / AI 知识库 / 智能对话等)满足以下任意两个条件时,AI 相关的用户侧攻击面风险等级下调:<br>① 系统访问受公司 UA / 双因素 / 零信任等认证机制管控;<br>② 使用者为公司内部专业岗位人员(风控、审计、AI 算法、合规、IT 等),非普通员工或外部用户;<br>③ 知识库 / 提示词 / Agent 配置等由具备权限的内部主管及以上角色维护。<br><br>调整规则:<br>① AI 对话直接注入(AI 助手 / Chatbot 类)→ 从 🟠 高危 降为 🟡 中危,或直接归开发注意事项(作为防御性设计要求)<br>② 知识库间接注入(内部人员上传的知识内容)→ 内部人员经 UA 权限管控 + 主管及以上维护 → 从 🟠 高危 降为 🟡 中危 或归开发注意事项<br>③ 附件文件注入(内部人员上传的 Word / PDF 等)→ 恶意概率低 → 归开发注意事项<br>④ 外部爬取内容注入(从公网爬取的资讯 / 研报 / 监管公告等用于 RAG 或 Agent 上下文)→ 仍保持 🟠 高危,攻击面来自外部不可控数据源,UA 管控不覆盖<br>⑤ 不受本约定影响的风险(按各自等级独立评估):<br> - AI 生成内容用于决策的可追溯性、审计日志、审批快照完整性<br> - AI 输出免责声明的 UI 前置<br> - 外部数据源采集的法律合规性、版权、付费墙<br> - 跨境数据传输合规<br> - AI 幻觉造成的业务误判(属业务规则设计,非权限问题)<br><br>上线前置:按 #40 处理——非资金类 AI 需求不再自动写入"必须做提示词注入测试"到报告结论,改为在开发注意事项中提醒防护要点<br><br>触发条件:需求文档中出现「接入 UA / 内部员工使用 / 专业岗位使用(风控 / 审计 / 合规 / IT)」等描述,或 PM 在评估时补充说明系统的用户群体属性 | | 38 | 【资金 / 交易业务的运营管理流程与内部管控细节·统一归 PM 注意事项,不判风险】:涉及资金 / 交易 / 积分 / 券码 / 资金调整等业务时,以下几类事项属于运营管理流程或内部管控实现细节,PM 在 PRD 中通常不会详细展开,AI 一律归 PM 注意事项,不判风险,也不因缺失而下调综合建议:<br><br>① 资金流程异常闭环的边缘场景(出款成功后的撤单 / 银行退汇 / 冲正、交易成功后的退款 / 退费触发的积分退还、跨系统对账差异等):PM 通常只覆盖主流程和明显的失败分支,AI 在 PM 注意事项中提醒 PM 与业务/风控团队对齐补丁规则即可,不判风险<br>② 申请与审批账号分离 / 二次审批 / 双人复核:内部管理系统的关键控制项,PM 在需求层面通常只列出"审批人员"角色,具体的账号分离、金额分级审批、双人复核由 SOP 或权限系统承载,PRD 未显式声明不判风险,AI 在 PM 注意事项中提醒 PM 与运营 / 内控团队确认审批分离机制<br>③ [已废止·由 #41 覆盖] ~~内部管理系统展示客户敏感数据的脱敏规则~~ → 统一按 #41 处理(归 PM 注意事项)<br>④ 手工资金调整操作(客服 / 运营在异常场景下手工退还积分 / 手动调整余额 / 手动补单等):PM 通常只写"运营人工核实后处理",具体权限、金额分级、双人复核、操作日志等由内控 SOP 承载,AI 在 PM 注意事项中提醒即可,不判风险<br>⑤ 运营可配置项 / 后台可配置资金金额费率参数(理财师工号、人群标签、白名单、灰度比例、活动开关、金额费率等)的变更审批与操作日志:属运营管理流程,AI 在 PM 注意事项中提醒运营 / 产品确认管控流程,不判风险(覆盖旧 #28)<br>⑥ [已废止·由 #42 覆盖] ~~内部系统页面水印~~ → 统一按 #42 处理(归 PM 注意事项)<br><br>边界说明(重要):本约定仅覆盖"运营管理流程 / 内部管控实现细节"的缺项。以下情况仍按 #32 判为 🟠 高危,不受本约定影响:<br> - 资金规则本身的漏洞:错误发放(超发、错发、重复发)、错误扣款、错误计费、限额规则设计缺陷或可被绕过、退款/撤单/退费的业务规则设计漏洞、对账机制缺失<br> - 可能被客户端 / 外部利用直接刷取利益的业务规则漏洞<br> - 上线建议:涉及资金业务的仍按 #19 / #32 后半段要求"上线前必须经信安专项安全测试"<br><br>判定口径:<br> - 若该问题需要研发查代码、运营查 SOP、内控查权限矩阵才能确认有没有做 → 归 PM 注意事项,不判风险(本约定)<br> - 若该问题在 PRD 的业务规则层面就能识别为漏洞(例如 PRD 明确写了"客户可无限次领取")→ 按 #32 判高危 | | 39 | 【后台 / 运营人员上传的富文本 / HTML 内容·XSS 归开发注意事项,不判风险】:运营后台 / 内部管理系统中由内部运营人员上传的富文本 / HTML 内容(如周报、公告、活动页、概念云条目、AI 大厅摘要素材等),因上传者受权限管控 + 通常配套审批发布机制 + 可回滚,XSS 攻击面属于开发实现层的防御性设计,AI 一律归开发注意事项,不判风险。<br><br>开发注意事项提醒要点:<br> ① 白名单标签 / 属性净化(DOMPurify / bluemonday 等)<br> ② CSP 策略、iframe sandbox 或独立子域名渲染<br> ③ 富文本内容作为 AI 摘要 / RAG 输入前,抽取纯文本 + Prompt 隔离<br><br>边界例外:若富文本 / HTML 内容源于外部不可控来源(如外部用户直接上传、公网爬取内容未经内部人工审核直接入库),则不适用本约定,按外部内容 XSS 与外部数据源间接注入独立评估(延用 #37 ④)。<br><br>优先级:本约定同时覆盖 AI 场景下"运营后台 HTML → AI 摘要 / 深度解读"链路——只要 HTML 由内部运营人员上传,即不作为独立注入风险,统一归开发注意事项。 | | 40 | 【报告不再自动输出"上线前必须做专项安全测试"结论】:所有进入本 skill 评估的需求,都是申请人主动送评安全(申请人本身已经在信安流程内),报告不再作为独立结论 / 独立风险 / 独立注意事项自动写"上线前必须经信安专项安全测试"。<br><br>唯一例外:#19(正行资金性权益业务) / #32(资金损失类业务)中的"上线前必须经信安专项安全测试"作为资金业务的硬性上线前置保留,仍需写入"上线建议 - 阻断项"章节。<br><br>含义解读:<br> ① AI 类需求的 Prompt 注入 / 越狱 / 越权 / 幻觉测试等,不再作为"必须做安全测试"输出到风险 / 结论中<br> ② 改为在开发注意事项中提醒具体防护要点(输入检测、输出边界、身份透传、频控等)<br> ③ #37 "上线前置:提示词注入专项安全测试仍作为上线硬性要求"一句在非资金类 AI 需求下不再自动写入报告<br><br>优先级:本约定优先于 #14 / #37 中的上线前置条款(仅限报告输出层面;实际安全测试仍由信安团队按流程决定是否开展)。 | | 41 | 【客户资产 / 敏感数据脱敏·一律归 PM 注意事项,不判风险】:客户姓名 / 手机号 / 证件号 / 银行卡 / 邮箱 / 地址 / 资产金额 / 收益 / 持仓等敏感字段的前端脱敏展示,AI 一律归 PM 注意事项,不判风险。<br><br>已覆盖判定(视为已覆盖,不再在 PM 注意事项中重复提醒):<br> ① 金额 / 数字类字段有隐私模式切换开关(如"眼睛"图标、"隐藏 / 显示"开关、切换脱敏 / 明文的按钮)<br> ② 姓名 / 手机号 / 证件号 / 银行卡 / 邮箱等字段的默认脱敏展示规则已在 PRD 中明确<br> ③ PRD 明确写"参照公司标准脱敏规则" / "遵循数据安全管理办法脱敏要求"<br><br>默认脱敏规则速查(提醒时使用):<br> - 客户姓名:张\丰<br> - 手机号:138\\\\2345<br> - 证件号:\\\\\\\\\\\\\\2568(后 4 位)<br> - 银行卡:9556 \\\\ \\\\ 0489(前 4 后 4)<br> - 邮箱:\\\\@domain.com<br> - 机构名:诺\公司<br> - 地址:不显示<br> - 金额 / 资产 / 收益:建议提供隐私模式切换(隐藏眼镜图标)<br><br>例外场景:线索 / 潜在客户阶段仍按 #36 处理(业务允许明文展示,脱敏为可选建议)。 | | 42 | 【页面水印一律归 PM 注意事项,不判风险】:展示客户敏感数据的页面水印(登录账号 + 日期时间的浮动水印),无论 PRD 是否提及,AI 一律归 PM 注意事项,不判风险,不作为独立中危 / 高危项。<br><br>适用范围:<br> ① 内部管理系统展示客户敏感数据的页面<br> ② 类 SaaS 但登录方为我司员工的场景(如 Nexus 上超管/商务经理登录后查看客户数据的页面)<br> —— 只要登录方是我司员工,肩窥 / 截图溯源风险同内部系统,一律按本约定处理<br><br>已覆盖判定:PRD 中若已写明"页面浮动水印" / "水印显示登录账号 + 日期时间" / "参照公司水印规范",视为已覆盖,不再在 PM 注意事项中重复提醒。<br><br>提醒模板:涉及展示客户敏感数据的页面,建议加浮动水印(登录账号 + 日期时间),起到肩窥 / 截图溯源作用。 | | 43 | 【文件上传功能·类型 / 大小 / 校验一律归开发注意事项】:任何形式的文件上传(图片、Excel、Word、PDF、CSV、压缩包等),无论 PRD 是否明确说明允许类型、大小上限、文件头校验,AI 一律归开发注意事项,不判风险。<br><br>AI 主动提醒要点(每次涉及文件上传的需求必须在开发注意事项中写出):<br> ① 允许的文件类型白名单(PRD 明示的按业务给出,未明示的按业务常识给出参考白名单)<br> ② 单文件大小上限 / 累计上限(结合业务给参考值)<br> ③ 文件头校验(不仅看扩展名)<br> ④ 文件命名 UUID 化 + 存 OSS / MinIO,不落服务器本地<br> ⑤ 下载链接鉴权<br> ⑥ 图片类:SVG / GIF 建议排除(XSS / 内容注入放大风险);Excel / Word 类:服务端只读打开、禁执行宏<br><br>覆盖范围:本约定统一覆盖旧版"文件上传未定义白名单 / 大小 → 中危"的判定;不影响 #35(导出场景的密级标签仍归 PM 注意事项)。 | | 44 | 【操作审计日志一律归 PM 注意事项,不判风险】:内部使用级及以上的关键操作审计日志(登录、角色变更、敏感数据查询 / 导出、交易操作、配置变更、数据共享、AI 生成内容快照等),PM 在 PRD 中通常不会详写日志要素,AI 一律归 PM 注意事项,不判风险。<br><br>AI 提醒模板:<br> ① 建议按公司统一日志规范记录:时间 / 账号 / 源 IP / 操作对象 / 操作方式 / 结果<br> ② 日志保留 ≥6 个月(建议 ≥1 年);数据出境相关 ≥5 年<br> ③ AI 生成内容额外记录:模型版本、Prompt 上下文摘要、引用数据源 ID、输出内容 hash<br><br>已覆盖判定:PRD 中若已写"操作会记录日志" / "参照公司统一日志规范" / "按数据安全管理办法记录审计日志",视为已覆盖,不再重复提醒。<br><br>覆盖范围:<br> ① 本约定同时覆盖 AI 生成内容用于业务决策的可追溯性(#37 ⑤ 可追溯性维度)——从 PRD 层面归 PM 注意事项而非独立风险<br> ② 审计日志的技术实现(如 log 框架配置、日志脱敏方法、日志防篡改机制)仍归开发注意事项<br> ③ 覆盖 #23(对本条的重申与明确策略化) | ---双模式协同与持续优化
一、协同关系
PM 撰写 PRD
↓
[模式一:事前注入] → 推送建议 → PM 选择 采纳/稍后/忽略
↓ ↓
PRD 提交 注入元数据
↓ ↓
[模式二:事后评审] ← 读取元数据 ← 差异分析输入
↓
最终报告(含差异分析)
↓
反馈闭环 → 优化注入规则
二、差异报告用途
事后评审生成的差异分析章节用于: 1. 质量度量:统计 PM 团队对事前建议的采纳率,识别高频被忽略的安全要素 2. 规则优化:被 PM 反复忽略的建议要么是误报(应下线),要么是表述不清(应改写) 3. 培训反馈:被忽略但最终命中的风险,作为内部安全培训案例三、预期收益
- 缩短评审周期:80% 的常规安全要素在 PRD 第一版中就已自带,事后评审聚焦真实风险
- 降低返工:PM 在写作阶段就完成大部分安全设计,避免开发阶段才发现遗漏
- 保留双重保障:事前注入是"提醒",事后评审是"闸门",两者并行不削弱任何管控环节
- 持续进化:通过差异分析持续校准注入规则的精准度
后续扩展说明
- 模式二完全自动化,无对话分支
- 模式一以"建议"形式呈现,最终决定权在 PM
- 所有判断逻辑均基于规则和配置文件,不依赖外部输入
- 如需增加新主体或修改检查项,仅需更新
entities/下的配置文件或references/checklist_10_dimensions.md,无需修改本文件 - 上下文 → 推送清单(模式一第 2.5 节)和「关键约定(两模式共同遵守)」共享同一套规则库,保证两模式判断口径一致