# 安全策略

**语言:** [English](SECURITY.md) · [Русский](SECURITY.ru.md) · **简体中文**

## 支持的版本

本仓库包含 Ktav 格式**规范**与共享一致性套件。没有运行时、没有编译
产物，因此这里的"安全"范围很窄：我们关注的是会让实现**以可被
downstream 攻击者利用的方式产生分歧**的规范级缺陷。

| 版本    | 支持                   |
|---------|------------------------|
| 0.1.x   | ✅                     |
| 更早    | ❌ —— 请先升级         |

## 上报漏洞

**请不要为涉及安全的规范问题开公开 issue。**

请发邮件至 **phpcraftdream@gmail.com**，并提供:

- 对歧义或 fixture 错误的简短描述。
- 两个真实实现对其意见不同的最小 Ktav 片段，或 JSON oracle
  错误的 fixture。
- 你测试过的实现（例如 `ktav-lang/rust` 0.1.0、`ktav-lang/python`
  0.1.0、自研 reader）以及分歧的具体内容。
- 你偏好的披露时间线（如有）。

你应在 **72 小时**内收到确认。已发布的修复（规范措辞澄清、fixture
修正、新测试用例）通常在**一周**内跟进；如果实现需要同步跟上，则
可能更久。

## 范围

以下问题会按本仓库的安全相关问题处理:

- **Parser divergence（解析器分歧）:** 两个符合规范的实现对相同输入
  接受 / 拒绝不一致。知道使用方站在哪一边的攻击者可以让数据绕过
  写在另一边的校验。
- **Oracle 错误:** `versions/*/tests/valid/` 中的 `.json` oracle
  与规范实际要求不符 —— 以它为基准校准的实现会偏离真正的语法。
- **未充分规定的行为:** 规范留有歧义的语法角落，并且你能证明真实
  实现对此做出相反选择。
- **缺失的不变量:** 规范暗示但从未明确陈述的性质（如错误类别、
  边界、确定性保证）。

以下**不**算本仓库的安全问题 —— 请走普通 issue:

- 规范 prose 的清晰度 / 措辞。
- 用新特性扩展格式的请求 —— 走正常的 RFC 风格讨论流程。
- 特定实现中的 bug —— 报告到该绑定的仓库
  （`ktav-lang/rust`、`ktav-lang/python`、`ktav-lang/js`、
  `ktav-lang/golang`，……）。
