reverse-skills-max: initial public release (restored, redacted, hardened)

This commit is contained in:
baradok609hecl1pq6qi
2026-10-20 02:17:15 +03:00
commit da24c2bd20
2227 changed files with 443931 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
# AI 攻击决策树与证据分级
攻击面由「目标形态 × 接口能力」决定,先侦察再动手。本文档与 SKILL.md 步骤 1-4 配套使用。
## 目标形态决策树
```
评估目标
├─ 黑盒 API(只能查询)→ 提取攻击 / 黑盒对抗样本 / 行为指纹
├─ 模型文件(拿到权重)→ 白盒分析:权重指纹、成员推断(白盒)、FGSM/PGD
│ (文件解析与格式还原走 [[re-ai-model]])
└─ 嵌入/微调产物(LoRA/适配器)→ 与基础模型比对差异(指纹来源分析)
```
## 接口能力分支
```
API 查询
├─ 返回完整 logits/softmax 概率 → 蒸馏优先(soft label 训练)
├─ 返回 top-k 概率 → 蒸馏降级(截断概率,标注信息损失)
├─ 仅返回标签 → 决策边界采样(边界 + 对抗扰动查询),不做概率重建
└─ 带温度/归一化扰动 → 先校准再蒸馏(softmax 温度影响教师信号)
```
## 取证目的分支
```
取证请求
├─ 「是不是复制品」→ 行为指纹提取 + 距离阈值判定
│ ├─ 距离 < 阈值且多输入集稳定 → 强相似(高置信)
│ ├─ 距离 < 阈值但单输入集 → 弱相似(标注输入集局限)
│ └─ 距离 > 阈值 → 不相似;但先排除「指纹被抹除」(见 [[gotchas]])
├─ 「某样本是否在训练集」→ 成员推断(影子模型/损失分布)
│ ├─ 分布显著分离 + 校准 → 统计判定(带置信区间)
│ └─ 分布重叠 → 无法判定(输出区间而非断言)
└─ 「有没有被加水印」→ 触发器检测(已知/未知触发器枚举)
```
## 证据分级表
| 证据 | 弱 | 中 | 强 |
|---|---|---|---|
| 指纹距离 | 单输入集接近 | 多输入集稳定接近 | 多输入集 + 独有行为特征一致 |
| 成员推断 | 损失高于基线 | 分布分离 + 校准 | 多攻击面一致(白盒+黑盒) |
| 水印触发 | 单触发器响应 | 多触发器响应 | 触发器 + 输出结构特征吻合 |
| 对抗鲁棒性 | 单样本扰动有效 | 多样本/多方法一致 | 迁移到替代模型仍有效 |
任何「强」证据都要排除替代解释(同源训练/公开基础模型微调——基础模型相同会天然产生指纹接近,见 [[gotchas]])。
## 组合套路(提取评估流程)
1. 接口能力侦察(预算内小批)
2. 采样集设计(代表 + 边界 + 标签均衡)
3. 蒸馏训练 → 评估(一致率/分布/校准)
4. 指纹提取(多输入集)→ 距离报告
5. 结论按证据分级表定级 + 标注局限(授权、预算、数据分布假设)
## 实现教训(内化)
- 先问「接口给什么」,再选攻击面——logits 可得性是策略分水岭
- 多指标评估:精度高 ≠ 提取成功,一致率 + 标签分布联合看
- 指纹判定要排除「同源基础模型」假说(微调自同一公开模型会天然相似)
- 报告永远是统计性/概率化陈述,成员推断与指纹判定都带置信度
## 使用注意
- 仅授权评估场景(授权边界见 SKILL.md 红线与 [[gotchas]])
- 结论按 [[re-analyze/analysis-contract]] 交付;攻击代码不部署到生产环境
- 防御侧参考(对抗训练/输出裁剪)只作评估结论的旁注,不展开