“丁香旅社”新来了位保安小六。小六很勤快,但记性一般、阅历也浅——他只揣着一本薄薄的保安手册,背不下城市大酒店老保安队长的那些复杂经验。旅店老板很清楚:小六比大酒店的资深保安更容易被骗,但旅店位于偏远小镇,买不起大型安保系统,只能依靠小六和几道基础防线轮班值守。 这个故事,正是小语言模型(SLM)在端侧设备上的处境。SLM参数量有限,对大模型那种复杂、多变的安全攻击防线不足,但它能耗低、可本地部署,因此在手机、车载、工业终端等场景越来越受欢迎。问题来了:小六力气虽小,却要面对形形色色的骗子、伪装者和偷窥者。如何评估小六的防守漏洞?又如何用“输入净化、红队演练、输出过滤”等几道廉价但有效的防线,织成一张足够可靠的安全网?这就是SLM安全性评估要回答的问题。

岗位关联

对AI从业者而言,掌握SLM安全评估是端侧模型工程落地的核心加分项:能提前发现小模型在对抗攻击、越狱提示、隐私泄露上的短板,并用多层防御方案保障产品可靠上线。

目录
  1. 可视化演示
  2. 安全风险概览
  3. 对抗样本威胁
  4. 越狱提示攻击
  5. 隐私泄露风险
  6. 红队安全测试
  7. 输入净化防线
  8. 输出过滤机制
  9. 端侧部署保障
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示红队攻击向量对SLM模型的探测过程、OWASP LLM Top 10风险分类评估、以及输入过滤-模型推理-输出检测多层防御体系,交互切换理解小模型安全评估全流程。

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

红队攻击模拟 越狱提示注入对抗样本多向量探测 SLM参数量有限防御能力弱于大模型 ASR 攻击成功率=成功攻击次数/总攻击次数

安全风险概览

小六刚上岗那几天,总觉得自己“没被坏人盯上”。可旅店老板提醒他:小镇虽偏,但来往客流混杂,偷窃、诈骗甚至深夜撬门的事并不少。小六只有一本手册、一副肉眼和几条规矩,面对真正的老手时,他连对方怎么出手都未必看得出。这就是SLM的真实处境:参数量有限意味着“见过的骗局少”,而端侧设备遍布各处,攻击者一旦发现漏洞,可以批量利用。

从概念上过渡一下:SLM的“小”不是免罪牌。由于参数量少,模型对复杂上下文和异常语义的建模能力弱,决策边界粗糙,很多在大模型看来明显的陷阱,在小模型眼里却显得“正常”。安全性评估的第一步,不是假设它安全,而是系统梳理攻击面:哪些入口可以被输入污染,哪些输出可能泄露敏感信息,哪些对话模式可能绕过对齐。

技术上讲,SLM安全评估通常用攻击成功概率来量化风险。一次攻击要成功,必须先被检测层漏过,再成功穿透后续防御。于是有:

于是,旅店老板先和小六画了一张“哪些场景最容易被骗”的风险地图。有了这张地图,才能在真正出事前决定:哪扇门先加固、哪类访客要重点核查。

Rattack=Pundetected×Pbypass\displaystyle R_{\text{attack}} = P_{\text{undetected}} \times P_{\text{bypass}}
通俗说明:一次成功的攻击等于“前面的门卫没发现”和“后面的铁门没挡住”同时发生。两个概率都小,总风险才会小。
  1. 识别失败率指模型或前置过滤器没有把恶意输入识别出来。
    PundetectedP_{\text{undetected}}
  2. 穿透防御率恶意输入通过后续各层防线继续前进的概率。
    PbypassP_{\text{bypass}}
  3. 联合概率两件事同时发生,才构成一次真实成功的攻击。
    Rattack=Pundetected×PbypassR_{\text{attack}} = P_{\text{undetected}} \times P_{\text{bypass}}

对抗样本威胁

有一天,一位客人递给小六一张登记照,照片上明明是一只猫,但小六盯着看了很久,竟然在登记表上写下了“犬科动物”。原来,照片被人悄悄叠加了一层极淡的噪点,人的眼睛几乎看不出来,却刚好骗过了小六那套粗糙的识别规则。这是小六第一次见识“对抗样本”的厉害。

对抗样本的工程技术定义是:在原始输入上添加人眼难以察觉的微小扰动,使模型输出完全不同的错误结果。对于SLM来说,参数量少意味着学习到的决策边界不够精细,攻击者只要找到一小块“模糊地带”,就能让模型瞬间翻车。常见方法中,FGSM就是一个经典代表:

小六后来学乖了:遇到有“刻意加工痕迹”的照片或文本,要多留个心眼。但他也明白,光靠肉眼盯防远不够,必须让更系统的过滤机制来分担压力。

xadv=xorig+ϵ⋅sign(∇xL(f(xorig),ytarget))\displaystyle x_{\text{adv}} = x_{\text{orig}} + \epsilon \cdot \text{sign}\left(\nabla_x L(f(x_{\text{orig}}), y_{\text{target}})\right)
通俗说明:FGSM沿着让模型往错误方向走的“坡度”迈一小步。这一步在人类眼里可以忽略不计,却足以把小模型的判断带偏。
  1. 原始输入攻击者最初的正常数据,比如一张猫的照片。
    xorigx_{\text{orig}}
  2. 扰动方向求出损失函数对输入的梯度,找到最容易让模型犯错的方向。
    ∇xL(f(xorig),ytarget)\nabla_x L(f(x_{\text{orig}}), y_{\text{target}})
  3. 扰动幅度用 ε 控制“步子”的大小,保证扰动看起来微小。
    ϵ⋅sign(∇xL(f(xorig),ytarget))\epsilon \cdot \text{sign}\left(\nabla_x L(f(x_{\text{orig}}), y_{\text{target}})\right)
  4. 对抗样本原始输入加上扰动后得到的新输入。
    xadv=xorig+ϵ⋅sign(∇xL(f(xorig),ytarget))x_{\text{adv}} = x_{\text{orig}} + \epsilon \cdot \text{sign}\left(\nabla_x L(f(x_{\text{orig}}), y_{\text{target}})\right)

越狱提示攻击

更麻烦的情况出现在对话里。某天深夜,一个自称“便衣警察”的客人敲开柜台,要求小六马上打开消防通道和保险柜,理由是“执行紧急任务”。小六一看对方证件章挺像,便下意识放行了。实际上,这个“便衣警察”只是用了一套精心设计的角色扮演话术。

这类攻击在AI里叫作“越狱提示”:攻击者不直接说危险请求,而是给模型安排一个特殊身份、权威授权或虚构场景,让模型误以为“规则可以临时失效”。SLM本身对齐能力弱,面对这种花式包装,更容易丢掉安全底线。为了衡量模型抵抗越狱的能力,业界常用“护栏强度”指标,即对一批已知越狱提示的拒绝率:

为了应对这类客人,小六开始积累“骗子话术本”,把角色扮演、虚假授权、紧急命令等样本一一记录在案。以后每遇到相似套路,至少能提前警觉。

Sguard=NrefusedNjailbreak prompts\displaystyle S_{\text{guard}} = \frac{N_{\text{refused}}}{N_{\text{jailbreak prompts}}}
通俗说明:把一批已经知道的“骗子台词”拿给小六测试,看他拒绝了多少句。拒绝得越多,说明护栏越结实。
  1. 越狱提示总数测试集中包含的对抗性提示数量。
    Njailbreak promptsN_{\text{jailbreak prompts}}
  2. 成功拒绝数量模型没有顺从危险请求的次数。
    NrefusedN_{\text{refused}}
  3. 护栏强度两者相除,得到模型对越狱提示的拒绝比例。
    Sguard=NrefusedNjailbreak promptsS_{\text{guard}} = \frac{N_{\text{refused}}}{N_{\text{jailbreak prompts}}}

隐私泄露风险

小六还有个毛病:记忆力不算好,但偶尔会把甲客人的醉话当成常识讲给乙客人听。更糟糕的是,旅店柜台上的登记簿从来不锁,谁路过都能翻两眼。有人假装查水表,站了十分钟,就把几十个客人的名字、房间号都记走了。这就是隐私泄露的典型故事。

SLM同样有这类风险:训练时见过的数据可能被模型“背下来”,而成员推理攻击可以利用模型的置信度或输出规律,判断某条数据是否出现在训练集中。如果模型部署在端侧,本地日志、缓存和模型权重都可能暴露给攻击者。隐私泄露的强度可以用对数似然比来估计:

所以旅店老板做了两件事:给登记簿加锁并抹去敏感字段,同时反复叮嘱小六,不要复述客人私事。对应到SLM上,就是对训练数据做脱敏、对端侧日志做加密、对成员推理攻击做专项评估。

ϵleak=ln⁡Pmodel says memberPmodel says non-member\displaystyle \epsilon_{\text{leak}} = \ln\frac{P_{\text{model says member}}}{P_{\text{model says non-member}}}
通俗说明:模型认为“这条数据在训练集里”的概率,比“不在训练集里”高出多少。高得越多,说明隐私泄露越明显。
  1. 成员概率模型把某个样本识别为训练集成员的概率。
    Pmodel says memberP_{\text{model says member}}
  2. 非成员概率模型把该样本识别为非训练集成员的概率。
    Pmodel says non-memberP_{\text{model says non-member}}
  3. 对数比值取自然对数后,正值越大代表训练数据泄露风险越高。
    ϵleak=ln⁡Pmodel says memberPmodel says non-member\epsilon_{\text{leak}} = \ln\frac{P_{\text{model says member}}}{P_{\text{model says non-member}}}

红队安全测试

老板意识到,光靠小六自己摸索太慢,于是花钱请来几个“坏邻居”扮演骗子。他们每天轮流用各种新花样试探小六:伪装身份、递假条、塞小费、拐弯抹角套话。每次被骗,他们就把细节记进一本“攻防笔记”,晚上和小六一起复盘。这是旅店版的“红队测试”。

在SLM安全评估中,红队测试是指由专业攻击视角的测试人员或自动化脚本,主动构造大量对抗样本、越狱提示和隐私探测请求,去冲击模型。通过统计哪些攻击成功、哪些被拦截,团队可以精准定位模型的薄弱环节。覆盖率的计算很重要:

一段时间后,小六的防守漏洞从“想不到”变成“看得到、补得上”。红队笔记越厚,旅店的安全底牌就越清晰。

Dcoverage=Ndetected risk typesNknown risk types×100%\displaystyle D_{\text{coverage}} = \frac{N_{\text{detected risk types}}}{N_{\text{known risk types}}} \times 100\%
通俗说明:已知一百种骗术,小六能识别出八十种,覆盖率就是百分之八十。覆盖率越高,说明红队测试做得越扎实。
  1. 已知风险类型总数当前收集到的所有攻击模式数量。
    Nknown risk typesN_{\text{known risk types}}
  2. 被发现风险类型数红队测试中成功定位并识别的攻击种类数量。
    Ndetected risk typesN_{\text{detected risk types}}
  3. 覆盖率两者相除并转成百分比,代表安全评估的完整程度。
    Dcoverage=Ndetected risk typesNknown risk types×100%D_{\text{coverage}} = \frac{N_{\text{detected risk types}}}{N_{\text{known risk types}}} \times 100\%

输入净化防线

旅店在前门加了一张安检台。所有客人进门时,行李要开箱检查,身份证要核验,写着“易燃物”“管制刀具”“可疑粉末”的物品直接没收。小六还学会把歪歪扭扭的登记单重新誊写一遍,去掉容易被误解的涂鸦。这就是“输入净化”的雏形。

在SLM部署中,输入净化指的是在模型推理之前,先对用户输入做校验和过滤。它可以拦截危险关键词、识别可疑的编码格式、删除多余的指令前缀,甚至用规则模型对输入做一次“重写”。净化的效果可以用拦截率来刻画:

安检台并没有让小六变聪明,却让很多危险品根本到不了他面前。小六的压力小了很多,但老板知道,光有前门还不够。

Efilter=1−Nleaked malicious inputsNall malicious inputs\displaystyle E_{\text{filter}} = 1 - \frac{N_{\text{leaked malicious inputs}}}{N_{\text{all malicious inputs}}}
通俗说明:一百个恶意输入里,安检台能拦下八十个,拦截率就是百分之八十。剩下没拦住的,才轮到后面的防御层处理。
  1. 恶意输入总数进入系统前携带攻击意图的样本数量。
    Nall malicious inputsN_{\text{all malicious inputs}}
  2. 漏过的恶意输入数输入净化层没有拦截住的恶意样本数量。
    N_{\leaked malicious inputs}
  3. 净化有效率用1减去漏过比例,得到该层成功拦截恶意输入的比例。
    Efilter=1−Nleaked malicious inputsNall malicious inputsE_{\text{filter}} = 1 - \frac{N_{\text{leaked malicious inputs}}}{N_{\text{all malicious inputs}}}

输出过滤机制

即便安检过了,小六偶尔还是会在答复客人时说出不该说的话,比如“保险柜密码在左边抽屉”,或者“三楼那位客人晚上总不在房间”。于是老板在柜台又加了一道“退房复核”:小六每次回答完,需要把回答内容交给前台扫描一遍,发现敏感信息立刻替换成“抱歉,我不了解相关信息”。

这就是输出过滤机制。模型生成的内容在返回用户前,会经过分级内容检测、敏感主题识别和违法违规文本拦截。如果检测出高危内容,系统会丢弃原始回复并用兜底话术替代。输出层面的违规概率可以这样定义:

有了这道复核,小六偶尔“管不住嘴”也不再是致命问题。前台会替他把危险的句子挡在门外,保证跑到客人耳朵里的内容是安全的。

Pviolate=Nviolating outputsNtotal outputs\displaystyle P_{\text{violate}} = \frac{N_{\text{violating outputs}}}{N_{\text{total outputs}}}
通俗说明:小六每说一百句话,其中有多少句会被前台判定为“危险发言”,这个比例就是输出违规率。
  1. 输出总数模型在评估周期内生成的所有回复数量。
    Ntotal outputsN_{\text{total outputs}}
  2. 违规输出数经过检测后被判定为敏感或危险的回复数量。
    Nviolating outputsN_{\text{violating outputs}}
  3. 违规率两者相除,得到输出侧的风险比例。
    Pviolate=Nviolating outputsNtotal outputsP_{\text{violate}} = \frac{N_{\text{violating outputs}}}{N_{\text{total outputs}}}

端侧部署保障

故事讲到最后,旅店形成了一套组合防守:前门安检台负责输入净化,定期“坏邻居”演练负责红队测试,退房复核负责输出过滤,再加一本随时更新的话术册和一把上锁的登记簿。小六依然不够强,但整个旅店的防御已经不再是单点依赖。

SLM端侧部署也是如此。多层防御组合的价值在于:即便某一层被绕过,下一层仍有兜底。假设各层的拦截率分别是 p₁, p₂, ……, p_K,则整体安全概率可以用漏过率的连乘积计算:

最后,老板还给小六定了规矩:话术册每季度更新,登记簿定期审计,保险柜钥匙绝不离身。对应到工程上,就是运行时迭代防御规则、用隔离容器限制模型权限、以及用合规审计确保持续安全。

Psafe=1−∏k=1K(1−pk)\displaystyle P_{\text{safe}} = 1 - \prod_{k=1}^{K}(1 - p_k)
通俗说明:每道门都可能漏人,但只要所有门漏人的概率相乘,总漏人概率就会变得很小。一层挡不住的,多层加起来就能挡住。
  1. 单层漏过率每一层防线没能拦住攻击的概率。
    1−pk1 - p_k
  2. 多层联合漏过率所有防线同时漏过攻击的概率,用连乘表示。
    ∏k=1K(1−pk)\prod_{k=1}^{K}(1 - p_k)
  3. 整体安全概率用1减去联合漏过率,得到整个防御体系成功拦截的概率。
    Psafe=1−∏k=1K(1−pk)P_{\text{safe}} = 1 - \prod_{k=1}^{K}(1 - p_k)

AI 应用场景

端侧智能助手的越狱防护

阶段:部署前安全评估与运行时防御

解决的问题:手机或车载助手本地部署SLM时,用户可能用角色扮演、伪授权等越狱提示诱导模型越权。传统做法只依赖云端大模型统一审核,在弱网或离线状态下不可用。先用红队测试收集越狱样本,再部署输入净化与输出过滤的组合规则,可显著降低端侧模型失控风险。

具体案例:某车机厂商在语音助手本地部署6亿参数SLM,红队测试发现“扮演维修工程师查明车主密码”等50类越狱提示,随后在输入侧拦截角色扮演前缀,在输出侧对“密码”“转账”等敏感词兜底,整体越狱成功率从21%降至2.3%。

医疗边缘终端的隐私保护

阶段:数据脱敏与隐私评估

解决的问题:医疗设备在边缘端处理患者记录时,SLM可能无意间复述训练数据,且成员推理攻击能反推出某条记录是否参与训练。传统规则难以覆盖所有敏感字段,AI方法则通过对训练数据做脱敏、对模型输出做日志审计、对权重文件做加密,降低隐私泄露面。

具体案例:某医院离线问诊终端采用SLM处理预约记录,安全团队用成员推理攻击框架评估后发现,模型对特定病种描述存在明显置信度偏差。通过裁剪典型记忆样本、增加差分隐私扰动,最终隐私泄露指标下降约60%。

工业边缘网关的对抗样本过滤

阶段:运行时防御与红队巡检

解决的问题:工业质检模型部署在边缘网关,攻击者可通过摄像头输入物理对抗贴纸干扰缺陷识别。SLM模型较小,面对这类对抗样本更脆弱。利用输入净化和红队样本库定期检测,可在不增加算力负担的情况下识别异常输入并触发人工复核。

具体案例:某智能工厂在传送带质检模型前加入轻量输入过滤层,对画面中可疑噪声区域做预筛,红队每周用新对抗贴纸测试一次,将对抗攻击成功率从14%压到4%以内。

Python 演示

python52 行
import random class SafetyEvaluator:    def __init__(self, sanitize_rate=0.6, redteam_rate=0.7, output_rate=0.8):        self.sanitize_rate = sanitize_rate        self.redteam_rate = redteam_rate        self.output_rate = output_rate     def sanitize(self, msg):        # 输入净化层: 拦截危险关键词        danger_words = ["开锁", "越狱", "保险柜", "密码"]        if any(word in msg for word in danger_words):            return False        return random.random() > self.sanitize_rate / 3     def redteam_gate(self, msg):        # 红队规则层: 拦截角色扮演与伪授权        if "警察" in msg or "负责人" in msg or "安全员" in msg:            return random.random() > self.redteam_rate        return random.random() > self.redteam_rate * 0.4     def output_filter(self, reply):        # 输出过滤层: 拦截危险回复        bad_words = ["钥匙在", "密码是", "已放行", "可以进去"]        if any(word in reply for word in bad_words):            return False        return random.random() > self.output_rate / 4     def evaluate(self, attempts=2000):        safe_count = 0        blocked = {"sanitize": 0, "redteam": 0, "output": 0}        for _ in range(attempts):            msg = "伪装攻击样本" + str(random.randint(1, 99))            reply = "已放行客人" + str(random.randint(1, 99))            if not self.sanitize(msg):                blocked["sanitize"] += 1                continue            if not self.redteam_gate(msg):                blocked["redteam"] += 1                continue            if not self.output_filter(reply):                blocked["output"] += 1                continue            safe_count += 1        attack_success = (attempts - safe_count) / attempts        return attack_success, blocked if __name__ == "__main__":    evaluator = SafetyEvaluator()    success, blocked = evaluator.evaluate(2000)    print(f"攻击成功率: {success:.1%}")    print(f"各层拦截统计: {blocked}")
目的:模拟SLM端侧“输入净化—红队规则—输出过滤”三层防御,统计整体攻击成功率及每层拦截数量。
  1. random.random() > self.sanitize_rate / 3用随机数模拟净化层区分能拦下和漏过的请求。
  2. if "警察" in msg or "负责人" in msg识别角色扮演类越狱提示的典型前缀。
  3. if any(word in reply for word in bad_words)对输出内容做敏感词兜底检查。
  4. attack_success = (attempts - safe_count) / attempts计算最终未被任何一层拦下的攻击比例。
  5. blocked = {"sanitize": 0, "redteam": 0, "output": 0}分别统计各层拦截数量,便于定位防御短板。

常见误区

误区“SLM部署在手机、传感器这种小地方,攻击者就算攻破了也拿不到什么大价值,所以不用做安全评估。”

正解端侧设备数量庞大,单个设备价值低,但规模化攻击的总收益并不低。小模型因为防御弱,反而更容易成为批量攻击的“软柿子”。安全性不是由模型大小决定的,而是由暴露面和风险收益决定的。旅店再小,只要连续进来一百个骗子,损失也足够让人崩溃。

为何常见:人们容易把“商业价值低”等同于“攻击价值低”,忽略了端侧模型的批量部署效应和隐私数据价值。

误区“我在输入端加了关键词黑名单,在输出端加了敏感词拦截,三层防御已经齐了,模型应该很安全。”

正解静态过滤规则对已知攻击有效,但攻击者可以随时换一种编码、换一个同义词、换一套角色扮演话术绕过。过滤只是多层防御的一部分,还需要持续红队测试、样本库迭代和运行时规则更新。“三道门”不等于“三道锁”,门后的巡检体系同样重要。

为何常见:初学者容易把安全理解为“叠加规则”,忽略了攻击的动态演化和模型本身的泛化漏洞。

误区“越狱攻击不是要绕过多层安全对齐吗?小模型根本没那么多安全对齐,越狱提示对它没用。”

正解正是因为SLM安全对齐弱、上下文理解能力有限,才更容易被简单的角色扮演或伪授权话术欺骗。大模型拥有更复杂的对齐防线,尚且需要反复加固;小模型几乎裸奔,越狱提示往往一击即中。

为何常见:人们把“攻击复杂度”和“模型安全能力”混淆,忽略了对齐越弱、护栏越少,攻击门槛越低。

误区“小模型训练数据没那么出名,攻击者根本不知道我用了什么数据,成员推理攻击无从谈起。”

正解成员推理攻击的核心是观察模型对某样本的置信度输出,从而判断该样本是否在训练集中。即使模型很小,如果训练数据包含用户隐私,攻击者依然能通过大量查询或读取端侧模型权重来试探。端侧日志、模型缓存反而给了攻击者更近距离的接触机会。

为何常见:大家习惯把隐私风险归因于“数据出名”,而忽视了攻击者真正依赖的是模型输出的统计规律。

面试题

Q1. SLM安全风险最根本的原因是什么?

单选题 · easy

  • A.参数量少导致决策边界粗糙← 正确答案
  • B.参数量多导致过拟合风险高
  • C.端侧设备不适合做安全评测
  • D.推理速度慢且内存占用更高

答案:A。SLM参数量少,对复杂对抗样本的建模能力弱,决策边界粗糙,所以更容易被骗。参数量多导致过拟合,以及推理速度慢,都不是SLM安全风险的根源。

Q2. 对抗样本的核心特征是?

单选题 · easy

  • A.加入微小扰动让模型判断出错← 正确答案
  • B.提高模型推理速度从而加速
  • C.增加训练数据提升模型准确率
  • D.压缩模型体积减少端侧显存

答案:A。对抗样本通过在输入中加入人眼几乎察觉不到的扰动,让模型输出错误结果。它不关心推理速度、训练数据量或模型体积压缩。

Q3. 红队测试的首要目标是?

单选题 · mid

  • A.提前用攻击样本暴露安全漏洞← 正确答案
  • B.提高模型在基准集上的得分
  • C.减少模型部署时的内存占用
  • D.加快模型生成 token 的速度

答案:A。红队测试是主动构造对抗样本、越狱提示、隐私探测请求,用攻击者视角发现模型漏洞。它不是为了刷分、省内存或加速推理。

Q4. 以下哪些属于SLM多层防御措施?

多选题 · mid

  • A.输入净化层过滤恶意提示← 正确答案
  • B.输出过滤层拦截高危回复← 正确答案
  • C.红队测试后迭代修补漏洞← 正确答案
  • D.扩大学习率以提升训练速度

答案:ABC。输入净化、输出过滤、红队测试迭代是SLM安全评估中的核心多层防御手段。扩大学习率只是训练优化策略,与安全防御无关。

Q5. FGSM中扰动幅度由哪个参数控制?

单选题 · hard

  • A.epsilon 控制加入扰动强度← 正确答案
  • B.learning rate 控制学习速率
  • C.temperature 控制输出随机性
  • D.batch size 控制批样本数量

答案:A。FGSM用 epsilon 控制加入扰动的强度。epsilon越大,对抗样本扰动越明显,越容易骗过模型,但也越容易被人类察觉。

Q6. 以下哪些与成员推理攻击相关?

多选题 · mid

  • A.判断文本是否在训练数据集← 正确答案
  • B.利用输出差异推断成员身份← 正确答案
  • C.根据模型置信度做统计推断← 正确答案
  • D.给输入叠加微小对抗扰动

答案:ABC。成员推理攻击通过观察模型的置信度或输出差异,判断某条数据是否在训练集中。它的核心是统计推断,而不是给输入添加对抗扰动。

Q7. 端侧三层防御总安全概率的计算式是?

单选题 · hard

  • A.1 减去各层漏过率的连乘积← 正确答案
  • B.各层拦截率的简单加权平均
  • C.各层拦截率取最大的一项
  • D.所有拦截率相加后除以层数

答案:A。多层防御中,每层都有漏过率,整体漏过率是各层漏过率的连乘积,所以安全概率是1减去这个连乘积。加权平均、取最大值或简单平均都不能正确刻画“层层设防”的联合效果。

Q8. 输入净化的主要职责是?

单选题 · easy

  • A.校验并过滤请求中的危险内容← 正确答案
  • B.对模型输出做最终的二次审核
  • C.扩大模型的训练语料规模
  • D.压缩模型参数以适配端侧

答案:A。输入净化发生在模型推理之前,负责校验输入格式并过滤恶意内容。输出二次审核是输出过滤层的职责,扩语料和压缩参数都不属于安全净化范畴。

Q9. 资源受限端侧部署如何兼顾安全与性能?

多选题 · extreme

  • A.用轻量规则分类器做逐层过滤← 正确答案
  • B.保留云端大模型做高风险兜底复审← 正确答案
  • C.仅依赖一组静态过滤规则
  • D.持续红队测试并更新防御库← 正确答案

答案:ABD。轻量过滤降低端侧算力压力,云端兜底只在高风险时启用,持续红队更新让防御规则保持动态演进。仅依赖静态规则容易被新攻击绕过,无法兼顾“安全”与“性能”。

Q10. SLM比大模型更容易被复杂对抗样本击中的原因是?

单选题 · mid

  • A.参数有限导致决策面难以覆盖复杂攻击← 正确答案
  • B.端侧算力高导致攻击者更容易下手
  • C.小模型部署位置更容易被物理入侵
  • D.小模型训练数据一定比大模型更少

答案:A。SLM的参数量有限,决策边界不够精细,难以覆盖复杂对抗样本所在的“模糊区域”。端侧算力高、物理侵入或数据量差异都不是模型自身安全脆弱性的直接原因。