security-engineering · diff
git:20260907.991c766 to git:20260909.fbeeb54
15 added, 16 removed. Audit A to A.
---
name: security-engineering
description: 威胁建模、身份会话、授权隔离、入口防护、秘密密码学、隐私、供应链、检测响应与漏洞处置。
---
# 安全工程
## 目标
- 在安全专业边界内形成可实施、可验证、最小暴露的裁决,并把已经验证的当前产品安全事实依约归入稳定事实册。
+ 在真实信任边界内实施并验证安全控制,保护身份、权限、数据与运行能力,并使攻击防护、检测和恢复结果可确认。
## 执行协议
1. 确认本专业范围、任务所指产品与工作边界、授权改动、受影响消费者、验证边界和未知项。
- 2. 阅读 [专业能力准则](references/principles.md) 的能力索引,并完整读取本次实际命中的能力条目。
- 3. 依第 2 步判定的命中簇,按“项目记忆”章读取对应的记忆卷与簇事实文件;项目记忆只作背景,当前代码、配置、信任边界与验证结果优先。
- 4. 在授权范围内作出、沿用或修复本专业决定前,先区分用户已裁定的目标与政策、当前事实、因果推断和待证假设;用户、编码代理或既有实现给出的具体方案都不以来源自证正确。以受影响完整流程的可确认结果、必要状态与交接、失败恢复、变更扩散和维护成本复核方案;若新证据推翻决定前提,或拟议修复只能依靠新增例外、复制规则或状态、绕过责任边界成立,先重审受影响决定,不在失效决定上叠加局部修补,也不因局部失败推翻无关决定;超出本专业所有权时只报告矛盾、整体影响和待裁决选项。随后依命中准则完成最小充分实现或审查,不规定其他专业能力的选择、先后或数量。
- 5. 运行与风险相称的验证并检查最终差异,记录证据能证明与不能证明的范围。
- 6. 按“项目记忆”章维护事实册:核心认知形成证据闭环且预计不受本轮剩余工作影响时,即时写入对应簇的事实文件;最终回复前必须收口对账,检查本轮新确认、改变或失效的核心认知并补录、更新或移除,任务已允许修改当前产品根目录内的目标文件时直接落册,没有符合条件的事实差异才不触碰。
+ 2. 阅读 [能力索引](references/principles.md),完整读取本次命中分卷,再按“项目记忆”章读取同簇的记忆范围与项目事实;发现新依赖或风险时补读相关分卷。
+ 3. 区分用户已裁定的目标与政策、当前事实、因果推断和待证假设,具体方案不因提出者、既有实现或测试而自动成立。以受影响完整流程的结果、必要状态与交接、契约及副作用、失败恢复、变更扩散和维护成本复核决定。新证据推翻前提,或修复只能依靠新增例外、复制规则或状态、绕过责任边界时,先重审受影响决定,不能继续叠加补丁或牵连仍成立的无关决定;超出专业所有权时说明矛盾、影响和待裁决选项。
+ 4. 按真实依赖和可验证的控制效果拆解复杂工作,步骤应最小充分、目标单一并保持信任边界与必要防护;简单任务直接处理。在当前授权内依命中准则实施或审查,不扩入无关改动。
+ 5. 阶段目标完成时,按本阶段风险选择并运行相称的允许、拒绝、绕过及恢复检查,确认已完成部分自洽后再推进依赖它的工作;结束前核对最终差异、控制生效性与正常业务结果,记录证据能证明与不能证明的范围。
+ 6. 工作中按“项目记忆”章随证据维护事实册,结束前完成收口对账;汇报实际结果、验证范围、未解决问题及必要的后续条件。
## 项目记忆
- - 先唯一确认“当前产品根目录”:它是本次任务所指产品的工作边界,不要求存在 Git 仓库或 `.git`。用户明确指定的产品目录优先;否则根据当前打开的工作区中实际承载目标文件的目录、产品入口与元数据、目标代码、配置和调用链共同判定,Git 根只作可选佐证,不得仅因当前进程工作目录、Git 根或 Skill 所在目录而选根。当 Product Studio 仅作为技能提供者时,不得把它的源码目录、技能文件目录、插件安装目录或缓存目录认作当前产品根目录;只有任务明确以 Product Studio 本身为目标产品时才可使用其目录。无法唯一确认时不读取、创建或修改任何候选事实册。
- - 再确认 `product-id`;它必须在当前产品根目录内唯一、稳定,且是非 `.` 或 `..`、不含 `/` 或 `\` 的安全单级目录名。事实册按能力簇分文件存放于 `<当前产品根目录>/docs/product-studio/<product-id>/security-engineering/`,事实文件名与 `references/principles/` 对应簇卷文件名一致。读取与写入必须使用以已确认根目录为基准的路径,不得把相对的 `docs/product-studio/<product-id>/security-engineering/` 按进程当前目录或 Skill 所在目录解析;归属不唯一或名称不安全时不读取、猜测或创建事实文件。
- - 工作前读取 `references/memory/` 下与命中簇卷同名的 `.md` 中本专业应记住的核心认知,再读取 `<当前产品根目录>/docs/product-studio/<product-id>/security-engineering/` 下与命中簇卷同名的 `.md` 中的相关事实,未命中的簇事实文件不读取;对应事实文件不存在时先以当前产品为准继续工作,待发现首条应入册事实时再创建,不得因缺少文件跳过最终检查。
- - 项目记忆仅作上下文;与当前代码、配置、契约或已验证运行事实冲突时,以当前权威为准。
- - 以本轮实际核验范围为取材边界,只写入已经由当前代码、配置、契约、调用链或验证证据确认,会持续影响后续判断且难从局部代码直接看清,并属于本专业所有权的项目核心认知;本轮未修改但经当前权威新确认、尚未入册的既有事实同样需要写入,事实候选不以 Git 差异为限;不复制源码、配置或可生成清单。
- - 写入时机随证据而定:对会持续影响后续判断的核心认知,形成证据闭环且预计不受本轮剩余工作影响时,即时写入命中簇对应的事实文件,不等收口;证据要到收口时才闭环的(如整体构建、发布或验证结果)在收口时写入。
- - 只读分析、审查或状态查询没有事实册写权限,除非用户明确要求维护记忆;凡任务已允许修改当前产品根目录内的目标文件,维护该根目录下的事实册属于同一写权限,除非用户明确排除。最终回复前必须收口对账,把符合条件但尚未记录、已经改变或已经失效的事实直接创建、更新或移除,不得只在回复中列出候选,也不得因事实文件不存在而跳过;不得因本节扩大当前产品根目录之外的写入范围。
- - 某个命中簇出现首条应入册事实而对应文件不存在时,在当前产品根目录下一并创建 `docs/product-studio/<product-id>/security-engineering/` 与以该簇卷文件名命名的 `.md`;没有事实时不创建空文件或空目录。首行固定为 `# security-engineering 当前产品事实 · <簇名>`;每项事实以可检索的稳定业务语义为二级标题,用现在时写清当前事实、成立条件与影响边界,并给出相对于当前产品根目录的权威核验入口和失效或重审条件。
- - 同一认知只保留一处,原位更新或移除旧内容,只保留当前仍成立的事实,不追加历史版本;簇事实文件内最后一条事实移除后删除该文件,`<product-id>/security-engineering/` 目录为空时删除该目录,`<product-id>` 目录为空时一并删除。
- - 不记录秘密、用户数据、任务过程、文件改动清单、迁移进度、运行快照、当前版本、一次性结果或未经验证的推断。
+ - 当前产品根目录是任务所指产品的工作边界,不要求存在 Git 仓库或 `.git`。用户明确指定的目录优先;否则结合目标文件、产品入口、元数据与调用链确定,进程当前目录、Git 根或 Skill 所在目录都不能单独作为依据。Product Studio 仅作技能提供者时,其源码、安装与缓存目录不属于目标产品;任务明确以插件本身为产品时除外。根目录不唯一时暂停事实册操作,继续已明确范围内的工作。
+ - 结合产品入口、元数据与目标文件确定稳定、唯一且符合目标文件系统规则的单级 `product-id`,排除 `.`、`..` 和路径分隔符;无法确认时不猜测建册。事实路径为 `<当前产品根目录>/docs/product-studio/<product-id>/security-engineering/<簇卷文件名>.md`,簇卷文件名与本 Skill 的 `references/principles/` 对应。所有事实路径均从已确认产品根解析,不能按进程或技能目录解释相对路径。
+ - 工作前读取本 Skill 的 `references/memory/` 中与命中簇同名的记忆范围,再读取该簇事实文件;无关簇不读取。文件不存在时依据当前产品证据继续工作,在出现符合条件的事实时创建。旧记忆与当前代码、配置、契约或运行证据冲突时,以当前权威为准。
+ - 只保存本轮实际核验、属于本专业所有权、会持续影响后续判断且难从局部代码直接看清的核心认知。本轮新确认的既有事实同样纳入判断,不以 Git 差异为限;不复制源码、配置或可生成清单。
+ - 只读分析、审查和状态查询不写事实册,除非用户明确要求维护记忆;任务允许修改当前产品根内目标文件时,同根事实册维护属于该写权限,用户排除的路径与资源除外。记忆维护不扩大到产品根之外。
+ - 符合准入条件的认知形成证据闭环且预计不受剩余工作影响时,即时写入。结束前对本轮核验范围收口对账:可写时直接补录遗漏、更新改变或移除失效事实,不仅列出候选,也不因文件缺失而跳过;没有符合条件的事实差异就不改文件。
+ - 某簇出现首条事实时创建对应 Owner 目录和事实文件,无事实不建空目录或空文件。文件首行为 `# security-engineering 当前产品事实 · <簇名>`,以稳定、可检索的业务语义作二级标题,用现在时说明当前事实、成立条件、影响边界、相对产品根的权威核验入口及失效或重审条件。
+ - 同一认知只保留一处,旧内容原位更新或移除,不追加历史版本。某簇末条事实移除后删除该文件;空目录清理仅向上到本 Owner 目录及其空的 `<product-id>` 目录。
+ - 不记录秘密、令牌、用户数据、任务过程、文件改动清单、迁移进度、运行快照、当前版本、一次性结果或未经验证的推断。