# 安全边界

## 0.8 原生现代执行边界

当前0.8.0-rc.1原生执行OpenAPI3.1/3.2，保留版本和Schema方言，不降级为3.0；规范核对基线为3.1.2/3.2.1。`native-standard` / `full_openapi_support=true` 是按矩阵维护的能力声明，不保证任何一次执行完成、任意业务覆盖或第三方认证；实际维护结果另记质量报告。详见 [0.8指南](docs/UPGRADE_0_8.md)与[覆盖矩阵](docs/OPENAPI_3_1_3_2_MATRIX.md)。下方0.7及更早章节中的“禁用现代执行”只描述历史版本。

外部OAD、Schema、样例和元数据URI只能使用调用者明确提供的URI→文档grant。`$self`、`$id`、动态引用和security requirement URI都不是读取磁盘、抓取网络、执行代码或扩大目标授权的许可。未授予资源、未知必需词汇表和未安装方言失败关闭；可选format/content注解不自动运行正文或下载解码器。

现代Schema原始断言与供媒体使用的注解视图分开，引用兄弟、分支及required不因3.0投影被删除。生成器是有界搜索，不是任意Schema完备求解器；负例必须经原Schema证明无效，编码后再反解核查类别。参数/Cookie/头的候选搜索超限、worker超时和图预算均是未完成，不能当已确认服务缺陷。

JSON数字和原始二进制使用精确值及带类型跨线程帧，普通Buffer形状业务对象不转成字节。MIME/流/XML/Linkset分别实施字节、项、深度、头和解析预算，禁止XML DTD/外部实体、MIME/头注入及Link字段CRLF。逐项通过不等于完整消息通过：取消、截断、未EOF和不稳定结果不得报全通过。

QUERY纳入明确的只读策略；额外方法保持大小写并默认需要写许可，不用看起来像GET的名字绕过授权。只读方法仍可能有服务端副作用。未确认写入不自动重发，回调/Links和webhooks不能扩张到未授权外部系统；临时接收器只监听回环、逐用例会话并在finally关闭，不主动注册外部回调。

mTLS客户端证书、私钥、CA和口令来自显式可信凭据，不读取描述中的路径，不允许关闭服务端验证。入站HTTPS/mTLS接收器使用显式callbackTLS配置，按受信CA和可选指纹限制身份；不能把仅建立TLS连接等同业务认证成功。OAuth/OpenID/deviceAuthorization与roles元数据不触发自动登录，也不能证明令牌/角色的真实服务器权限。报告不应包含PEM、密钥、正文或会话链接。

真实回环HTTP/HTTPS、合成证书和极端字节测试只证明相应受控路径，不能证明所有身份系统互通、长期生产可靠性、真实用户试点或第三方认证。源码推送、Mooncakes发布和运行包发布是独立权限；本轮不发布Mooncakes/运行包，私人申报书、凭据、语料及原始报告仍不公开。

## 0.7历史候选边界

响应反馈为显式授权的私有内存样本库，绑定文档/目标/角色/消费者，限制样本数和字节；成功响应也可能含敏感数据，不自动采集全部字段、不自动落盘。反馈不得覆盖返回值绑定、归属标记来源或相互重叠的目标。未知写入、未确认清理或隔离失效/释放失败使其阻断复用；先人工只读处置，禁止自动重发。保护来源锁是调用者声明，不是任意服务端行为的安全证明；实际归属GET/清理核验继续保留。

独立现代Schema探针限工作线程、CPU/内存/数值/节点/离线资源预算，无进展引用循环失败关闭；内部编译器仅供可信维护输入。现代OpenAPI完整执行仍禁用，原始上游向量通过不等于认证；默认格式/内容注解不自动执行正文。详见 docs/UPGRADE_0_7.md。

## 0.6历史候选边界

加密意图可选、发送前持久化失败关闭，不存正文/认证头，也不自动重放。目标/文档摘要与模型/归属调用者标签不是实际业务归属证明；权威未提交判定取决于调用者可信只读回执源，普通404没有该含义。未知写入仍需人工接管。

分段账本总量仍8 MiB；默认无签名，显式authKey才有共享密钥HMAC，不是公钥签名。没有外部最终检查点无法发现合法前缀回滚；磁盘I/O失败不能降级内存日志。生产中为意图/账本使用独立密钥和账户独占目录。SQLite事务fencing示例只证明单进程合成写路径，不保证跨主机/生产隔离。

可选Ed25519签名必须用包外可信公钥验证；不信任包内自带公钥、不自动证明项目身份，默认制品仍未签名。现代Schema工作线程和流式媒体预算仅为实验基础，主引擎不执行3.1/3.2。完整限制和操作见 docs/UPGRADE_0_6.md。

## 0.5 历史候选边界

标准执行账本只记摘要和相对时间；哈希链不是签名。未知写入不自动重试，契约 campaign 遇到未知写入停止后续请求；只读恢复/核实不授予重放权。标准 owned 流程变更前检查随机标记、清理后检查缺席，但不隔离邮件/扣款等其他副作用。租约/provider/transport/codec 均是受信任钩子，不是沙箱；异步等待可超时，无法中断同进程中恶意阻塞 CPU 或撤销钩子外部行为。

本机工作台仅监听 127.0.0.1，严格 Host/Origin、临时 Bearer 会话、CSP，界面写入权限受启动权限约束。不要共享完整会话链接；无需把真实令牌输入界面。配置默认内存，可选独立密钥 AES-256-GCM 私有快照；密钥不落盘，丢失密钥无法解密。确认见证加密且固定输入/版本，不自动执行。Windows 文件 mode 不代表 ACL，同账户恶意改目录不在保证范围。原始账本、配置、报告、密钥、申报书不公开。现代方言结构检查不启用未验证的运行能力。具体 API/限制见 docs/UPGRADE_0_5.md。

0.2 状态引擎的重置与重复写入是独立授权。仅在可销毁的测试环境执行：重置可能清空数据，工具无法证明任意用户钩子已经隔离所有外部依赖。钩子须尊重 AbortSignal；超时后本次测试停止，但不能强制撤销忽略信号的用户代码。候选序列每次重新捕获 ID，状态前提/引用缺失拒绝；不稳定失败和网络/访问失败不能作为最小业务缺陷证据。旧状态链不再在污染环境上自动做单请求缩减。

最小符号模型仍可能包含业务输入，只有显式 save-repro 才写入私有报告，不公开。业务断言不执行脚本文本。旧便携档不解释的活动语义明确拒绝；新标准入口的能力与策略见 OPENAPI_3_0_MATRIX，不能把一次预算内通过当标准认证或穷尽业务。

只在授权测试环境使用。allow-write 实际改数据，shrink-write 重复写入，没有自动事务回滚，不用于生产资料。远程另需许可，不跟随重定向/远程 schema。

默认报告无凭据或请求/响应体；save-repro 可能敏感，保持 `.local` 私有。接口标识可能来自私人描述，公开前审查。禁止提交密钥、cookie、私人描述与个人申报资料。

CLI 的描述/模型/场景输入拒绝非法 UTF-8，实际读取字节有上限；文件及 JSON 语法错误不回显路径或内容。行为计划选项拒绝拼写错误和字符串布尔。重置 CLI 只有契约通过的非 202 的 2xx 才继续；声明的错误响应或异步接受不是隔离完成证明。自定义库钩子的真实完成/隔离仍由调用者负责，不能用固定返回 true 代替验证。

0.1.1 屏蔽响应中未声明的属性名，错误选项不会回显输入值；保存开关必须是真正布尔值。远程 Bearer 只允许 HTTPS，不能关闭 TLS 校验。报告目录拒绝符号链接/目录联接；POSIX 新目录0700、文件0600，但 Windows mode 不等于 NTFS ACL，也不防同账号/管理员/目录并发替换攻击。保存真实业务复现前，用户仍须核对本地权限、备份同步与主机可信性。

预算防意外资源失控，不是服务器隔离沙箱；未知 schema 拒绝。模拟通过不证明业务、安全性、生产可靠性。提交问题时提供去敏复现，不贴令牌。

## 0.3 归属资源测试边界

新 CRUD 模式不是沙箱事务。随机标记和返回 ID 只是防误写门禁；对恶意服务、GET/写入竞态、外部并发、副作用或已提交但丢失响应不提供回滚保证。不要对生产数据运行；要有独立测试数据到期回收策略。没有捕获到可核验资源时绝不猜 ID、扫描删除或重试 POST；任何清理失败在结果中单独报告。默认报告去掉资源 ID、标记及原始业务值；启用私有复现文件后仍需自行保护。

## 0.4 标准协议与回调边界

标准工作线程限制内存、命令 CPU 和图规模，XML 禁止 DTD/外部实体，远端/文件/URN 引用只从调用者精确提供的文档内容解析，不读取 URI 指向的文件或网络。字面业务 `$ref` 与原型名称是普通数据，不执行代码；属性合并使用 own-property 写入。

HTTP 不关闭 TLS、不跟随重定向；TRACE 另受写许可。回调须显式启用，使用逐用例随机 loopback 接收器和 token，finally 关闭；负例中仍然合法的回调 URL 也重绑定，不能把外部示例地址发给后端触发通知。缺失/无效地址不虚构，不能安全绑定或改变正负例含义时阻塞。已观察到的回调错误、超时和请求预算耗尽不得报通过。工具无法阻止不守约后端的未声明外部副作用，必须使用独立隔离环境。

Links 不能扩张到未授权 origin，深度/去重/执行预算独立；链接求值失败保留已执行证据，不重复计数或回退成绿灯。私有媒体 codec 只接受调用方受信任函数，其 CPU/任意副作用不属于文档工作线程沙箱，不加载描述中的函数文本。依赖固定版本及完整性摘要，npm audit 无已知告警不等于没有漏洞；saxes 上游已归档，升级/替换须重新运行 XML 与安全套件。
