想象你是一座博物馆的保管员,接手一件刚出土的青铜器。你面前摆着三样证明它身份的东西:器物本身的纹饰与锈色、器底刻着的编号与火漆封记、以及一册“流传有序”的档案。纹饰让你判断它是真品还是仿品,火漆保证它没有被调包,档案记录它从哪个墓穴来、经过谁的手。AI 模型的溯源,干的就是一模一样的活——给模型建立“纹饰、火漆、档案”三件套,让任何人在部署之前都能回答三个问题:它是谁?它完整吗?它从哪来?这篇文章,我们就来拆解模型溯源的三件法宝:行为指纹、数字签名与嵌入元数据,以及它们如何协同起来,守护模型从训练到部署的整条供应链。

岗位关联

掌握模型溯源,你就成了 AI 供应链里的“文物鉴定专家”——在模型交付、安全审计与红蓝对抗中,能快速定位模型来源、识别篡改痕迹、证明合规出身。这是 AI 安全运维岗位的核心技能之一。

目录
  1. 可视化演示
  2. 溯源体系
  3. 行为指纹
  4. 数字签名
  5. 元数据档案
  6. 协同方案
  7. 攻击盲区
  8. 应用案例
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

溯源体系

博物馆接收青铜器时,不会只看展牌上写什么。保管员会先问三个问题:这件器物是真品还是仿品?它在运输途中有没有被调包?它出土的地点、流传的过程是否清晰?这三个问题,恰好对应 AI 模型供应链上的三种风险:模型以假乱真、权重被篡改、训练来源不合法。要回答这三个问题,就需要一套完整的溯源体系。

在 AI 领域,这套体系由三根支柱构成:行为指纹解决“它是谁”——通过观察模型对外界输入的反应来识别身份;数字签名解决“它完整吗”——用密码学手段确认权重没有被改动;嵌入元数据解决“它从哪来”——用携带的档案记录训练数据、许可与负责人。三者合在一起,就像纹饰、火漆与档案册的组合。

实际落地时,不能只靠单一信号下结论。比如指纹相似度很高,但签名验证失败,说明模型“行为像”但权重被动过。溯源系统通常会计算一个综合信任评分,把三个信号归一化后加权求和:

回到博物馆的比喻:信任评分就是保管员在鉴定证书上写的综合结论。三项证据相互佐证,才敢把青铜器摆上展台。同样,模型上线前跑一遍信任评分,供应链上的任何一环都无所遁形。

Ttrust=α⋅Sfingerprint+β⋅Ssignature+γ⋅Smetadata\displaystyle T_{\text{trust}} = \alpha \cdot S_{\text{fingerprint}} + \beta \cdot S_{\text{signature}} + \gamma \cdot S_{\text{metadata}}
信任评分 T 是三个维度打分的加权平均,α、β、γ 是权重系数,代表你有多看重某一项证据。
  1. 信任评分总量$T_{\text{trust}}$ 表示最终的信任分,取值在 0 到 1 之间,越接近 1 越可信。
  2. 指纹相似分$S_{\text{fingerprint}}$ 是行为指纹与基准比对的相似度,衡量“行为是不是同一个模型”。
  3. 签名验证分$S_{\text{signature}}$ 是数字签名验证的结果,校验通过记 1 分,失败记 0 分。
  4. 元数据合规分$S_{\text{metadata}}$ 表示元数据登记与链上记录是否一致,一致才给满分。
  5. 加权求和$\alpha + \beta + \gamma = 1$,权重由组织根据风险偏好设定,比如金融场景更看重签名完整性。

行为指纹

青铜器专家不需要看编号,光看器物上的纹饰和锈色就能认出它出自哪个坑口。模型的行为指纹也是这个思路:不去看权重文件,而是给模型喂一组精心挑选的“探针输入”,记录它在每个输入上的输出,形成一条固定长度的特征向量。这条向量就是模型的行为指纹。

为什么说它是“指纹”?因为两个独立训练的模型,即使架构相同、任务相同,权重也几乎不可能完全相同,因此它们对同一组探针输入的反应也会有细微差别。而同一个模型,无论被复制多少份,行为都保持一致。指纹提取是“黑盒”的——你不需要拿到模型的内部权重,只要在线调用它的接口就能完成,这在实际对抗场景中极其宝贵。

比较两个模型是否为同一个,最常用的是余弦相似度。把两个指纹看作向量,计算它们夹角的余弦值:

文物专家靠纹饰辨真伪时,会在放大镜下对比每一条刻痕。我们用探针输入对比模型输出时也是一样:选 100 个覆盖面广的输入样本,把输出离散化为 0~1 之间的浮点数,形成指纹库。当部署现场的模型指纹与登记指纹的余弦相似度超过 0.95 时,基本可以认定是同一型号;低于阈值则启动人工调查。

sim(F1,F2)=∑i=1nf1,i⋅f2,i∑i=1nf1,i2×∑i=1nf2,i2\displaystyle \text{sim}(F_1, F_2) = \frac{\sum_{i=1}^{n} f_{1,i} \cdot f_{2,i}}{\sqrt{\sum_{i=1}^{n} f_{1,i}^2} \times \sqrt{\sum_{i=1}^{n} f_{2,i}^2}}
余弦相似度刻画两个指纹向量的方向一致性,数值越接近 1,说明两个模型行为越像。
  1. 分子点积$\sum_{i=1}^{n} f_{1,i} \cdot f_{2,i}$ 把两个向量对应位置相乘后累加,衡量它们“共变”的程度。
  2. 分母归一化$\sqrt{\sum_{i=1}^{n} f_{1,i}^2}$ 是向量自身的模长,用来消除模型输出尺度不同造成的干扰。
  3. 整体比值点积除以两个模长的乘积,输出范围是 $[-1, 1]$。若为 1,说明两个指纹方向完全相同;若为 0,说明两者毫无线性关联。

数字签名

纹饰可以仿制,编号却难伪造。青铜器底部的火漆和钢印,是为了防止在流传途中被调包。模型溯源里的数字签名,就是给权重文件盖一枚防伪火漆。它的原理分两步:先对所有权重做哈希计算,得到一个固定长度的“摘要”;再用持有者私钥对这个摘要加密,生成签名。任何人拿到模型,都可以用公钥验证签名是否有效。

密码学在这里保证了极强的敏感性:只要权重中有一个比特发生变化,哈希结果就会面目全非,验签立刻失败。数字签名的验证过程可以写成:

你可能会问:签名能防止模型被复制窃取吗?不能。签名只保证“完整性”和“真实性”,不保证“机密性”。就像火漆只证明封条没被破坏,拦不住有人照着青铜器翻模造一个仿品。数字签名在溯源中的定位是防篡改,指纹防冒充,元数据防失忆——三者各管一摊。

Verify(Kpub,W,σ)={true,if DKpub(σ)=H(W)false,otherwise\displaystyle \text{Verify}(K_{\text{pub}}, W, \sigma) = \begin{cases} \text{true}, & \text{if } D_{K_{\text{pub}}}(\sigma) = H(W) \\ \text{false}, & \text{otherwise} \end{cases}
验证签名就是用公钥解密签名,再把结果与权重的哈希值比对,相等才通过。
  1. 哈希摘要$H(W)$ 是把整个权重张量 W 送入哈希函数(如 SHA-256)得到的固定长度摘要,只要是权重有改动,摘要就会完全不同。
  2. 签名输入$\sigma$ 是发布方用私钥对哈希摘要 $H(W)$ 加密得到的签名串,随模型一起分发。
  3. 公钥解密$D_{K_{\text{pub}}}(\sigma)$ 表示验证方用公开密钥解密签名,恢复出发布方当初加密的摘要。
  4. 结果比对把解密结果与当前权重的哈希 $H(W)$ 比较;一致则说明权重未经修改且确实来自持有私钥的发布方。

元数据档案

青铜器旁的说明牌上,写着出土时间、出土地点、修复记录、借展经历。模型也应该有一块这样的说明牌:训练数据集的哈希、训练框架版本、超参数配置、数据许可协议、负责人签名。这些信息合起来就是模型的元数据档案,回答“它从哪来”的根本问题。

元数据的存储有两种方式:显式和隐式。显式方式是把 JSON 档案文件与模型打包一起分发;隐式方式则把信息编码后嵌入模型权重。隐式嵌入的思想类似“隐形墨水”——在权重的最低有效位上写入比特,对人眼(或者说对模型性能)几乎无感。权重扰动公式为:

元数据档案容易给人一个错觉:好像它是不可篡改的。实际上,任何拿到模型的人都能改写 JSON 文件。所以元数据必须与签名配合使用:把元数据的哈希也纳入签名范围。就像文物档案册上每页都有馆长的骑缝章,撕页、换页都会留下痕迹。

wi′=wi+ϵ⋅bj,ϵ≪∥wi∥\displaystyle w_i' = w_i + \epsilon \cdot b_j, \quad \epsilon \ll \|w_i\|
在原始权重上叠加一个很小的扰动,扰动本身携带元数据比特位,模型精度几乎不受影响。
  1. 原始权重$w_i$ 是模型的第 i 个权重参数,作为承载信息的载体。
  2. 扰动幅度$\epsilon$ 是一个极小的常数,比如 $10^{-4}$,确保扰动不会破坏模型精度。
  3. 信息比特$b_j$ 是元数据编码后的第 j 个比特位,取值为 0 或 1,控制扰动的方向。
  4. 修改后权重$w_i'$ 是嵌入元数据后的新权重,仍可正常推理,但内部藏了溯源信息。

协同方案

单靠一件法宝很难应付真实的供应链风险。青铜器的鉴定需要纹饰+火漆+档案三者互相印证,模型溯源体系也应当把指纹、签名、元数据编织成一张网。指纹回答“是不是它”,签名回答“有没有被动过”,元数据回答“出身合不合规”——三个答案拼在一起,才能形成一个完整的信任闭环。

落地时,组织会建立一个“溯源台账”,类似博物馆的总登记簿。模型训练完成后,登记员提取指纹,计算签名,写入元数据,三条记录一起存进台账。模型每次流转(交付给算法部门、上传到云平台、部署到边缘设备)都要重新跑一次验证,验证结果追加到台账中。全链路验证的逻辑如下:先验签名确认权重未变,再比对指纹确认行为未漂移,最后核对元数据确认许可仍有效。

这种协同方案的优雅之处在于:攻击者想要伪造一个模型,必须同时伪造行为特征、破解数字签名、编造整套档案——成本呈指数上升。就像文物贩子既要仿出纹饰,又要伪造火漆,还要搞定全套档案,三个环节的难度叠加,足以让大多数攻击者望而却步。

Ttrust=0.3⋅Sfingerprint+0.4⋅Ssignature+0.3⋅Smetadata,accept if Ttrust≥0.85\displaystyle T_{\text{trust}} = 0.3 \cdot S_{\text{fingerprint}} + 0.4 \cdot S_{\text{signature}} + 0.3 \cdot S_{\text{metadata}}, \quad \text{accept if } T_{\text{trust}} \ge 0.85
当加权信任评分达到阈值时,系统才放行模型上线;否则进入人工复核流程。
  1. 权重分配$0.3, 0.4, 0.3$ 是一组推荐权重,签名最关键所以权重最高,指纹和元数据各有侧重。
  2. 评分合成$T_{\text{trust}}$ 是三维度分数的加权和,把不同量纲的证据统一为一个可比较的分。
  3. 接受条件$\text{accept if } T_{\text{trust}} \ge 0.85$ 表示只有总分不低于阈值才自动放行。
  4. 人工兜底低于阈值时模型不会直接拒绝上线,而是转人工审计,避免误伤微小漂移。

攻击盲区

没有任何鉴定体系是绝对安全的。哪怕火漆完好,文物也可能是“旧底新绘”。模型溯源同样有盲区,红蓝对抗中必须提前了解弱点。

第一类盲区是指纹漂移。行为指纹取决于模型参数,而微调、量化和剪枝都会改变参数。一个模型经过微调后,指纹可能从 0.95 掉到 0.80,造成“明明同源却识别失败”。指纹漂移距离可以定义为:

第二类盲区是蒸馏模糊。知识蒸馏把大模型的知识迁移给小模型,小模型的输出分布刻意模仿大模型,使得两者的行为指纹异常接近——鉴定系统误认为它们是同一模型,实际上小模型是全新训练出来的。第三类盲区是元数据套牌:攻击者把合法模型的元数据文件原样复制到恶意模型上,如果验证逻辑没有把元数据与权重哈希绑定,就会直接放行。

理解攻击盲区的意义,不是让我们放弃溯源,而是提醒我们:任何单一手段都有破绽,必须把攻击面考虑进设计里。就像博物馆会定期更换防伪技术,模型溯源体系也需要持续升级探针与签名算法。

d(Forig,Ffine)=1−sim(Forig,Ffine)\displaystyle d(F_{\text{orig}}, F_{\text{fine}}) = 1 - \text{sim}(F_{\text{orig}}, F_{\text{fine}})
漂移距离等于 1 减去相似度,距离越大说明微调对行为的影响越明显。
  1. 原始指纹$F_{\text{orig}}$ 是模型发布时登记的基准行为指纹。
  2. 微调后指纹$F_{\text{fine}}$ 是模型经历微调后的新行为指纹。
  3. 距离度量$d$ 越接近 1,说明两个模型行为差异越大,指纹已不可靠。

应用案例

理论讲再多,不如看实战。假设你是一家 AI 公司的安全运维负责人,某天发现一个内部模型被泄露到了公网。要追责,你怎么做?先调出溯源台账,用公网上的模型接口提取行为指纹,与台账中的指纹比对——相似度 0.97,确认就是被盗的那个版本。再用数字签名验证泄露文件的权重,发现签名校验通过,说明攻击者没有篡改权重;最后查元数据,发现负责最后一次导出操作的是离职员工。三者结合,锁定泄露环节。

第二个案例是供应链投毒审计。公司从第三方采购了一个视觉模型,部署前跑溯源验证:指纹比对通过,但签名里的哈希与当前权重不一致。这说明模型在某个传输节点被动过手脚。运维人员进一步解析权重中的元数据,发现训练数据集的哈希与第三方宣称的不符——数据可能被替换过。于是紧急下线模型,避免带毒模型上线。

第三个案例是合规证明。金融客户要求提供模型训练数据的合法来源证明。你从溯源台账中导出元数据报告,展示数据许可协议、去标识化处理记录和审计日志,配合签名证书提交给客户。客户用公钥验证签名后确认报告真实,顺利通过合规审查。公式上,合规证明就是前面信任评分公式的实际应用:每一项证据都盖章签字,综合评分达标才敢对客户承诺。

这三个案例分别对应思维导图中的泄露追踪、投毒审计、合规证明。可以看出,模型溯源不是实验室里的玄学,而是 AI 供应链安全治理中一块结结实实的基石。

AI 应用场景

模型泄露追踪

阶段:模型部署与运维

解决的问题:模型被内部人员泄露或窃取后,传统方式只能靠日志猜人,难以确认公网模型与内部版本的亲缘关系。AI 溯源通过行为指纹快速比对线上模型与登记指纹,再用数字签名验证权重完整性,最后靠元数据定位泄露环节,把追责时间从天级缩短到小时级。

具体案例:某大模型公司发现开源平台上出现疑似自家模型的 API,安全团队向该 API 发送 128 个探针输入,提取指纹后与台账比对,相似度 0.96;随后检查泄露文件头部的签名,确认权重未被修改;元数据显示导出来自某数据中心的测试环境,顺线查明是实习生的权限滥用。

供应链投毒审计

阶段:模型采购与集成

解决的问题:第三方模型可能被植入后门或替换训练数据。传统方式只能抽查几个测试样例,覆盖不足。AI 溯源在采购验证时同时跑指纹、签名、元数据三项检查:签名校验权重未被篡改,指纹比对确认行为一致,元数据哈希核实训练数据来源,形成完整审计链。

具体案例:某自动驾驶公司采购一个开源车道检测模型,验证时发现签名通过但元数据中训练数据集的哈希与官方文档不符。经追溯,该模型在第三方中转站被重新打包,训练数据混入了对抗样本。公司果断放弃该版本,并更新了采购验证流程。

合规审计报告生成

阶段:模型发布与对外申报

解决的问题:金融、医疗等行业对训练数据来源有严格合规要求,传统整理报告靠人工翻文档,难以证明数据链条真实完整。AI 溯源自动收集训练来源、许可协议、去标识化记录等元数据,用数字签名保证报告不可抵赖,一键生成合规审计材料。

具体案例:某医疗 AI 公司申请器械注册时,监管方要求提供训练数据伦理审查记录。溯源系统导出带签名的元数据报告,监管方用公钥验证后直接采信,审核时间从两周缩短到三天。

Python 演示

python86 行
import hashlibimport hmacimport jsonimport math  def cosine_similarity(a, b):    dot = sum(x * y for x, y in zip(a, b))    norm_a = math.sqrt(sum(x * x for x in a))    norm_b = math.sqrt(sum(y * y for y in b))    if norm_a == 0 or norm_b == 0:        return 0.0    return dot / (norm_a * norm_b)  class ModelIdentity:    def __init__(self, name, weight, bias, probe_inputs):        self.name = name        self.weight = weight        self.bias = bias        self.probe_inputs = probe_inputs     def extract_fingerprint(self):        fp = []        for x in self.probe_inputs:            y = self.weight * x + self.bias            fp.append(round(y, 4))        return fp  class ModelLedger:    def __init__(self, secret_key):        self.secret_key = secret_key.encode()        self.records = {}     def register(self, model, license_info, owner):        fp = model.extract_fingerprint()        meta = {            "name": model.name,            "license": license_info,            "owner": owner,            "probe_count": len(fp),        }        payload = json.dumps({"fp": fp, "meta": meta}).encode()        digest = hashlib.sha256(payload).hexdigest()        signature = hmac.new(self.secret_key, digest.encode(), hashlib.sha256).hexdigest()        self.records[model.name] = {            "fingerprint": fp,            "signature": signature,            "metadata": meta,        }        return signature     def verify(self, model):        record = self.records[model.name]        fp_now = model.extract_fingerprint()        meta_now = {            "name": model.name,            "license": "MIT",            "owner": "alice",            "probe_count": len(fp_now),        }        payload = json.dumps({"fp": fp_now, "meta": meta_now}).encode()        digest = hashlib.sha256(payload).hexdigest()        sig_ok = hmac.compare_digest(            record["signature"],            hmac.new(self.secret_key, digest.encode(), hashlib.sha256).hexdigest(),        )        sim = cosine_similarity(fp_now, record["fingerprint"])        return sig_ok and sim > 0.95, sim, sig_ok  if __name__ == "__main__":    probes = [0.1, 0.5, 1.0, 2.0, 5.0]    ledger = ModelLedger("s3cr3t-key")     original = ModelIdentity("Linear-v1", weight=2.0, bias=1.0, probe_inputs=probes)    ledger.register(original, license_info="MIT", owner="alice")     tampered = ModelIdentity("Linear-v1", weight=2.1, bias=1.0, probe_inputs=probes)    ok, sim, sig = ledger.verify(tampered)    print("tampered model:", ok, "similarity:", round(sim, 4), "signature:", sig)     cloned = ModelIdentity("Linear-v1", weight=2.0, bias=1.0, probe_inputs=probes)    ok2, sim2, sig2 = ledger.verify(cloned)    print("cloned model:", ok2, "similarity:", round(sim2, 4), "signature:", sig2)
目的:演示一个简化版模型溯源台账——用行为指纹+HMAC 签名辅助验证模型来源与完整性,篡改权重会被识破。
  1. self.probe_inputs = probe_inputs保存探针输入列表,每次提取指纹都使用同一组输入,保证可比性。
  2. fp.append(round(y, 4))把模型输出四舍五入到 4 位小数,避免浮点噪声干扰指纹比对。
  3. payload = json.dumps({"fp": fp, "meta": meta}).encode()将指纹与元数据序列化,作为签名的原始内容。
  4. signature = hmac.new(self.secret_key, digest.encode(), hashlib.sha256).hexdigest()用密钥生成 HMAC 签名,模拟私钥签名过程。
  5. self.records[model.name] = {...}把指纹、签名、元数据写入台账数据库,完成登记。
  6. sig_ok = hmac.compare_digest(...)用恒定时间比较函数比对签名,防止时序侧信道攻击。
  7. sim = cosine_similarity(fp_now, record["fingerprint"])计算当前指纹与登记指纹的余弦相似度,判断行为是否一致。
  8. return sig_ok and sim > 0.95, sim, sig_ok综合签名与指纹两个条件,返回最终验证结果与中间指标。

常见误区

误区我觉得给模型加了数字签名,别人就偷不走这个模型了,泄露风险直接为零。

正解数字签名只负责完整性与来源认证,不提供机密性。它就像火漆封条,能证明封条完好,但拦不住有人打开箱子拍照复制。模型权重依然是明文,攻击者照样可以复制、重打包。要防窃取,需要额外的加密、访问控制和硬件安全模块。签名是“验伤报告”,不是“金钟罩”。

为何常见:很多人把“加密”和“签名”混为一谈,以为用了密码学手段就等于上了锁。

误区我理解行为指纹就是给模型权重做个哈希,权重相同指纹就相同,权重改了指纹就不同。

正解行为指纹是通过“黑盒探针”观察模型输出形成的,是行为层面的特征;权重哈希则是“白盒”直接对权重文件做摘要。前者的优点是无需访问权重,缺点是可能受到微调影响;后者的优点是精确到比特,缺点是一旦模型权重重新打包就会失效。二者是互补关系,而非等价关系。

为何常见:都叫“指纹”,让人误以为是同一种东西;实际上一个是生物特征,一个是钢印编号。

误区元数据嵌到权重里了,攻击者肯定改不掉,溯源信息永久有效。

正解嵌入只让元数据“隐形”,并不让它“免疫”。懂行的攻击者可以做差分攻击:对比原始模型与嵌入模型的行为差异,反推出嵌入的比特并清除。真正防篡改要靠签名绑定——把元数据哈希一并写进签名,改任何一项都会导致验签失败。就像隐形墨水能隐藏字迹,但挡不住有人整页撕掉重新写。

为何常见:把“难以察觉”等同于“不可篡改”,混淆了隐秘性与完整性。

误区既然是同一个模型的指纹,那微调后相似度也应该是 1.0;如果只有 0.8,就说明指纹方法不可靠。

正解微调会改变模型参数,行为指纹必然发生漂移。指纹比对不是追求“完全相等”,而是设定一个合理阈值(如 0.95),并结合签名做二次确认。如果微调后指纹大幅漂移,恰恰说明指纹敏感度高,能检测出行为层面的变化。合理设计应同时采集“微调前指纹”和“微调后指纹”,记录漂移轨迹。

为何常见:人们习惯把“身份识别”理解为一对一的精确匹配,忽视了模型行为是连续渐变的。

面试题

Q1. 模型溯源体系中的三大核心支柱不包含下列哪一项?

单选题 · easy

  • A.行为指纹
  • B.数字签名
  • C.嵌入元数据
  • D.模型压缩← 正确答案

答案:D。模型溯源三支柱是行为指纹、数字签名和嵌入元数据,分别回答“是谁”“是否完整”“从哪来”。模型压缩是优化技术,与溯源无关,因此 D 不正确。

Q2. 行为指纹最突出的工程优势是什么?

单选题 · easy

  • A.需要白盒访问权重
  • B.无需访问权重即可比对← 正确答案
  • C.能防止模型被复制
  • D.能记录训练数据出处

答案:B。行为指纹通过探针输入观察模型输出,属于黑盒方案,不依赖权重文件,因此 B 正确。A 恰恰相反;C 是数字签名的能力边界;D 是元数据的职责。

Q3. 数字签名验证时,常将结果与哪个值比对?

单选题 · mid

  • A.权重的哈希摘要← 正确答案
  • B.模型的推理时延
  • C.探针输入的个数
  • D.训练数据的数量

答案:A。签名用私钥加密哈希摘要,验签时用公钥解密签名并还原出摘要,再与当前权重哈希比对。B、C、D 都与签名机制无关,故只能选 A。

Q4. 元数据隐式嵌入权重时,通常采用什么策略?

单选题 · mid

  • A.替换全部权重值
  • B.在低比特位叠加小扰动← 正确答案
  • C.删除部分神经网络层
  • D.把元数据写入日志文件

答案:B。隐式嵌入是在权重最低有效位上叠加极小扰动来编码比特,对精度影响很小,对应 B。A 会破坏模型;C 改变结构;D 属于显式存储而非权重嵌入。

Q5. 指纹漂移距离被定义为 1 减去什么?

单选题 · mid

  • A.签名验证分数
  • B.元数据填充率
  • C.指纹余弦相似度← 正确答案
  • D.模型训练轮数

答案:C。$d = 1 - \text{sim}(F_{\text{orig}}, F_{\text{fine}})$,相似度越低,漂移距离越大,C 正确。A、B、D 与指纹漂移无关。

Q6. 以下哪些攻击会削弱行为指纹的有效性?

多选题 · mid

  • A.对模型做参数微调← 正确答案
  • B.对模型做知识蒸馏← 正确答案
  • C.对模型做权重剪枝← 正确答案
  • D.对模型做加密传输

答案:ABC。微调、蒸馏、剪枝都会改变模型参数与行为分布,导致指纹漂移或模糊,因此 A、B、C 都削弱指纹有效性。加密传输只影响传输过程中的可见性,不改变模型行为,D 不影响指纹。

Q7. 设计一套完整溯源体系时,应该包含哪些要素?

多选题 · hard

  • A.探针输入与指纹库← 正确答案
  • B.签名密钥管理与验证← 正确答案
  • C.元数据登记台账← 正确答案
  • D.只依赖单一验证信号

答案:ABC。完整体系需要指纹、签名、元数据三支柱,对应 A、B、C。D 恰恰是反模式,单信号容易被伪造,所以不选。

Q8. 指纹匹配但签名验证失败,最可能的原因是什么?

单选题 · extreme

  • A.模型被完整替换成另一个模型
  • B.权重被修改但行为近似← 正确答案
  • C.元数据许可已经过期
  • D.探针输入个数太少

答案:B。签名失败说明权重与登记时不一致;指纹还匹配说明行为分布变化不大,常见于微调、量化或针对指纹的对抗扰动。A 会导致指纹不匹配;C 与签名无关;D 影响指纹稳定而非签名。

Q9. 模型元数据档案通常记录哪些内容?

多选题 · easy

  • A.训练数据来源← 正确答案
  • B.数据许可协议← 正确答案
  • C.模型负责人← 正确答案
  • D.推理服务器 IP

答案:ABC。元数据关注出身与合规信息,包括训练来源、许可、负责人,对应 A、B、C。推理服务器 IP 是运行时设施信息,不属于模型出身档案,D 不选。

Q10. 所谓模型“套牌攻击”指的是什么?

单选题 · mid

  • A.用算力暴力破解签名
  • B.将合法元数据复制到恶意模型← 正确答案
  • C.收集大量探针输入绕过指纹
  • D.在训练数据中投毒后门

答案:B。套牌攻击像套牌车——把合法模型的元数据档案整体复制粘贴到恶意模型上,如果元数据未与权重哈希绑定,验证就会蒙混过关,B 正确。A 是穷举破解;C 是混淆指纹;D 是投毒,均不是“套牌”的本义。