AI 模型安全评估与取证(行为层)
SkillDev toolsAI 模型安全评估与取证(行为层):extraction assessment(API 黑盒提取评估)、 fingerprint verification(行为指纹与归属验证)、privacy leakage evaluation(成员推断/隐私泄露评估)、 robustness evaluation(对抗鲁棒性评估)。 触发词:API模型窃取、黑盒模型复制、模型指纹、成员推断、对抗样本、行为水印、模型安全评估、隐私泄露评估。
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the AI 模型安全评估与取证(行为层) skill
What this skill tells your AI
The instructions your AI receives, as published by dslsdzc/rev-skills in .claude/skills/re-ai-attack/SKILL.md and read by ahel’s review.
CORE RULE:攻击面由可观测性决定,不由攻击名称决定
先问接口/资产给什么,再选攻击面——三者是三个世界:
| 可观测性 | 世界 |
|---|---|
logits available(API 返回概率/logits) | 蒸馏(soft label)、指纹、成员推断全部可用 |
labels only(API 只返回标签) | 降级:决策边界采样、黑盒迁移、影子模型 |
weights available(拿到模型文件) | 白盒:梯度方法(FGSM/PGD)、直接比对、阈值成员推断 |
同一攻击名在不同可观测性下可行性与实现完全不同——先按「输入资产盘点」确认 API 输出字段/模型文件,再选路径。
任务分类器(intent → 路径)
用户目的识别,命中即走对应分支;未命中落入下方「何时使用」判断:
| 用户目的(intent) | 路径 |
|---|---|
| 怀疑模型被复制 / 模型被盗用 / 嫌疑副本比对 | → fingerprint(模型指纹/水印检测,步骤 2) |
| 判断训练数据泄露 / 某样本是否在训练集 | → membership(成员推断,步骤 3) |
| 测试 API 是否容易被复制 / 接口可提取性 | → extraction(模型提取,步骤 1) |
| 测试鲁棒性 / 对抗样本效果 / 防御验证 | → adversarial(对抗样本评估,步骤 4) |
输入资产盘点(INPUT INVENTORY)
路径命中后先确认已有资产——不同资产组合决定可走路径,缺资产先向用户索要或说明局限:
| 资产 | 影响路径 |
|---|---|
| API endpoint(+ query budget) | extraction(步骤 1)必需——无 endpoint 无法提取 |
| model file(本地模型/权重) | fingerprint 比对与成员推断(步骤 2/3)可用;无则只能走 API 侧 |
| training dataset(疑似训练集样本) | membership(步骤 3)必需——无样本无法推断成员 |
| suspected copy(嫌疑副本) | fingerprint(步骤 2)必需——无副本无从比对 |
| baseline model(受害者/参考模型) | fingerprint 比对必需——无基线只有副本无法定指纹 |
| watermark hypothesis(水印假设) | fingerprint 水印验证(步骤 2)——有具体假设(触发集/后门)可定向验证 |
规则:intent 命中后检查该路径所需资产;缺失 → 先向用户询问(有无/能否提供),用户无法提供则说明该路径不可执行并转可用路径。
何时使用 / 何时不用
- 用:模型泄露/窃取取证、API 模型攻击评估(提取/指纹)、训练数据泄露判定、模型鲁棒性评估(对抗样本)
- 用:水印/指纹验证(嫌疑副本与受害者模型比对)
- 用:模型 API 一致性审计(同输入多查询/多端点比对,找副本/代理)
- 用:鲁棒性基线评估(上线前/防御验证前测一遍干净与扰动准确率)
- 不用:模型文件格式解析与权重提取(转 [[re-ai-model]]);模型训练/微调(非逆向);部署加固(防御侧不在本技能)
- 不用:无授权目标(红线:仅授权评估场景;授权边界见 [[gotchas]])
- RE_AUTH 前置(guard 联动):本技能 guard.require_authorization=true——执行前确认授权上下文(triage 第 0 步
RE_AUTH):owned / ctf / research 可执行;unknown 先询问目标归属(所有权 / 测试授权 / 研究环境),未说明只做静态评估不进入动态步骤 - 不用:提示注入/提示泄露评估(LLM 侧攻击面)与 API 服务本身的注入/越权测试(应用侧漏洞不在本技能)
工具准备
python3(核心运行时)
- 各平台安装见 [[re-python]] 工具准备
模型库(torch / tensorflow,按目标格式选)
- 多平台:
pip install torch/pip install tensorflow(按硬件可选 CPU 版;按目标框架选一即可,蒸馏脚本只依赖其张量操作) - 验证:
python3 -c "import torch"
攻击评估库(ART,可选)
- 多平台:
pip install adversarial-robustness-toolbox(对抗鲁棒性工具箱,覆盖提取/指纹/对抗样本攻击模块) - 验证:
python3 -c "import art"
查询接口客户端(API 目标)
- 多平台:
pip install requests;验证:python3 -c "import requests" - 可视化(分布对比图,可选):
pip install matplotlib
操作步骤
按顺序执行;仅限授权评估场景(红线:不针对未授权目标)。方法学依据:模型提取(API 查询蒸馏)、成员推断(影子模型)、对抗样本(FGSM/PGD)为公开研究框架,实现细节按目标模型域调整(见 [[decision-tree]] 分支)。
-
模型提取攻击(Overview:通过 API 查询重建近似模型——蒸馏):
- Checklist:
- 确认授权与用途(评估/取证声明记录)
- 接口探测:读 API 文档/试查询 → 确认限额与输出字段(logits/概率或仅标签——可观测性决定策略,见 CORE RULE)
- 查询采样(输入分布覆盖:代表性输入 + 边界扰动 + 标签分布均衡)
- 蒸馏训练(以 API 输出为教师标签)
- 评估近似度(同输入集输出对比:一致率 + 标签分布对比,不是只看精度)
- 实现经验(soft label 优先、边界扰动、评估一致性、蒸馏基线、查询日志等)见 [[implementation-notes]]
- 仅标签时:降级为决策边界采样(输出分布重建受限,见 [[gotchas]] 接口坑);查询预算内先小批估计(坑 1)
- Checklist:
-
模型指纹/水印检测(Overview:行为级水印——模型表现出来是什么:trigger 触发响应 / 查询响应 / 黑盒指纹;文件级水印(权重 pattern/metadata/tensor hash)走 [[re-ai-model]]):
- Checklist:
- 嵌入检测:输入扰动(特定噪声/触发器)→ 输出特征比对(水印触发行为)
- 指纹提取:模型行为签名(代表性输入集输出向量)→ 与疑似副本比对
- 窃取取证:嫌疑模型与受害者模型的指纹距离 → 阈值判定相似(阈值校准见 [[decision-tree]] 证据分级)
- 产出:指纹向量 + 距离报告(距离值 + 阈值依据 + 置信度)
- 实现经验(输入集难度分层、归一化、反例对照组、抹除对抗、时效、水印枚举)见 [[implementation-notes]]
- 抹除对抗:剪枝/微调/蒸馏会削弱指纹——用鲁棒指纹并标注「可能被抹除」(见坑 3)
- Checklist:
-
成员推断(Overview:判定某样本是否在训练集中):
- Checklist:
- 确认输入形态:目标模型输出的概率向量 + 样本特征(可观测性见 CORE RULE)
- 选攻击类型:白盒(有 loss)用阈值法;黑盒(只有输出)用影子模型(同分布代理模型校准)
- 对照基线:同分布随机样本(非训练样本)的损失分布作基准线
- 输出:统计判定(ROC/阈值曲线、给定 FPR 下的 TPR、置信区间),不是确定性结论
- 实现经验(基线设计、隐私脱敏、统计口径)见 [[implementation-notes]]
- 局限:只能给出统计判定(误报控制:阈值校准;隐私保护训练目标可对抗,见 [[gotchas]])
- Checklist:
-
对抗样本基础(Overview:鲁棒性评估与防御验证,非攻击部署):
- Checklist:
- 选路径:白盒(模型权重可加载且 loss 可微)用梯度扰动(FGSM/PGD);黑盒用查询/迁移扰动(可观测性见 CORE RULE)
- 设扰动预算(epsilon)——评估口径可比
- 评估对照:先测干净样本基线(扰动前准确率),报告扰动前后对比
- 实现经验(预算梯度、迁移性边界)见 [[implementation-notes]]
- 边界:对抗样本迁移性差(白盒扰动对黑盒目标不保证有效,见 [[gotchas]])
- Checklist:
-
评估报告与存证:
- 三要素全记录:方法(采样集/蒸馏超参/距离阈值)、结果(指标)、参数(随机种子/框架版本)
- 攻击脚本与评估产物 sha256 存档;结论按 [[re-analyze/analysis-contract]] 交付
跨域联合
- [[re-ai-model]]:消费文件级证据(文件级证据 → 行为级验证单向流)——有模型文件时先经 re-ai-model 提取结构/权重/文件级 fingerprint,再在本技能做行为一致性验证;仅 API(无文件)时无文件侧输入,直接黑盒评估
- [[re-python]]:Python 工具链基础
- [[re-feedback]]:攻击案例经验沉淀(脱敏后)
- [[re-analyze/analysis-contract]]:评估结论交付格式
常见坑与陷阱
- 查询预算限制:现象——API 限流/计费中断;原因——高查询量;对策——预算内采样设计(先小批估计),记录已用配额
- 置信度不可得时降级:现象——接口只返回标签;原因——服务端裁剪输出;对策——决策边界采样 + 标注局限,不硬造概率
- 水印被抹除:现象——指纹比对失败;原因——嫌疑方做了剪枝/微调/蒸馏;对策——用鲁棒指纹(多触发器)并标注「可能被抹除」;距离接近但未达阈值时输出「弱相似」而非「无关」
- 成员推断误报:现象——统计判定错误;原因——阈值偏差/影子模型分布不匹配;对策——影子模型校准 + 报告置信区间
- 评估指标误导:现象——提取模型「精度高」但输出分布完全不同;原因——只比精度不比分布;对策——一致率 + 标签分布 + 校准度多指标联合
- 提取不收敛:现象——蒸馏效果差;原因——采样分布与目标分布不匹配/接口输出裁剪;对策——按目标数据域重采样,标注数据分布假设
- 输出解析错误:现象——logits 与标签错位;原因——API 响应字段解析错;对策——先打印原始响应核对字段再批量
- 结果不可复现:现象——复跑结果不同;原因——随机种子/采样顺序未固定;对策——固定 seed 并记录
- 对比对象口径错:现象——指纹比对用了不同任务模型;原因——未确认任务口径;对策——比对前确认任务/标签空间一致
- 多端点口径差异:现象——同一模型不同端点输出不同;原因——A/B 路由/版本不同;对策——锁定端点做前后对比,标注端点标识
- 批查询触发风控:现象——正常速率查询被风控;原因——触发速率阈值;对策——查询节奏控制(限速/随机间隔),记录风控事件
- 资源预算:现象——蒸馏 OOM/长任务中断;原因——学生模型过大/时长估计不足;对策——分阶段 checkpoint(采样/训练分步存档),小批量/CPU 降级
- 授权边界:现象——对未授权 API 发起攻击测试;原因——范围未确认;对策——先确认授权(使用边界红线)
- 场景分支与证据分级见 [[decision-tree]];边界与反例见 [[gotchas]]
Signals
- GitHub stars
- 57
- Forks
- 8
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
re-ai-attack- Source
- github.com/dslsdzc/rev-skills