AI 模型安全评估与取证(行为层)

SkillDev tools

AI 模型安全评估与取证(行为层):extraction assessment(API 黑盒提取评估)、 fingerprint verification(行为指纹与归属验证)、privacy leakage evaluation(成员推断/隐私泄露评估)、 robustness evaluation(对抗鲁棒性评估)。 触发词:API模型窃取、黑盒模型复制、模型指纹、成员推断、对抗样本、行为水印、模型安全评估、隐私泄露评估。

Available today. Use it from your connected AI after setup.

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]] 分支)。

  1. 模型提取攻击(Overview:通过 API 查询重建近似模型——蒸馏):

    • Checklist:
      1. 确认授权与用途(评估/取证声明记录)
      2. 接口探测:读 API 文档/试查询 → 确认限额与输出字段(logits/概率或仅标签——可观测性决定策略,见 CORE RULE)
      3. 查询采样(输入分布覆盖:代表性输入 + 边界扰动 + 标签分布均衡)
      4. 蒸馏训练(以 API 输出为教师标签)
      5. 评估近似度(同输入集输出对比:一致率 + 标签分布对比,不是只看精度)
    • 实现经验(soft label 优先、边界扰动、评估一致性、蒸馏基线、查询日志等)见 [[implementation-notes]]
    • 仅标签时:降级为决策边界采样(输出分布重建受限,见 [[gotchas]] 接口坑);查询预算内先小批估计(坑 1)
  2. 模型指纹/水印检测(Overview:行为级水印——模型表现出来是什么:trigger 触发响应 / 查询响应 / 黑盒指纹;文件级水印(权重 pattern/metadata/tensor hash)走 [[re-ai-model]]):

    • Checklist:
      1. 嵌入检测:输入扰动(特定噪声/触发器)→ 输出特征比对(水印触发行为)
      2. 指纹提取:模型行为签名(代表性输入集输出向量)→ 与疑似副本比对
      3. 窃取取证:嫌疑模型与受害者模型的指纹距离 → 阈值判定相似(阈值校准见 [[decision-tree]] 证据分级)
      4. 产出:指纹向量 + 距离报告(距离值 + 阈值依据 + 置信度)
    • 实现经验(输入集难度分层、归一化、反例对照组、抹除对抗、时效、水印枚举)见 [[implementation-notes]]
    • 抹除对抗:剪枝/微调/蒸馏会削弱指纹——用鲁棒指纹并标注「可能被抹除」(见坑 3)
  3. 成员推断(Overview:判定某样本是否在训练集中):

    • Checklist:
      1. 确认输入形态:目标模型输出的概率向量 + 样本特征(可观测性见 CORE RULE)
      2. 选攻击类型:白盒(有 loss)用阈值法;黑盒(只有输出)用影子模型(同分布代理模型校准)
      3. 对照基线:同分布随机样本(非训练样本)的损失分布作基准线
      4. 输出:统计判定(ROC/阈值曲线、给定 FPR 下的 TPR、置信区间),不是确定性结论
    • 实现经验(基线设计、隐私脱敏、统计口径)见 [[implementation-notes]]
    • 局限:只能给出统计判定(误报控制:阈值校准;隐私保护训练目标可对抗,见 [[gotchas]])
  4. 对抗样本基础(Overview:鲁棒性评估与防御验证,非攻击部署):

    • Checklist:
      1. 选路径:白盒(模型权重可加载且 loss 可微)用梯度扰动(FGSM/PGD);黑盒用查询/迁移扰动(可观测性见 CORE RULE)
      2. 设扰动预算(epsilon)——评估口径可比
      3. 评估对照:先测干净样本基线(扰动前准确率),报告扰动前后对比
    • 实现经验(预算梯度、迁移性边界)见 [[implementation-notes]]
    • 边界:对抗样本迁移性差(白盒扰动对黑盒目标不保证有效,见 [[gotchas]])
  5. 评估报告与存证

    • 三要素全记录:方法(采样集/蒸馏超参/距离阈值)、结果(指标)、参数(随机种子/框架版本)
    • 攻击脚本与评估产物 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