1. 项目概述语音入口为什么成了 LLM 安全的新洼地这两年大模型卷完文本卷视觉卷完视觉卷语音。语音多模态 LLM 已经从“能听会说”进化到“边听边想边答”像实时翻译、语音助手、车载交互、会议纪要、智能客服这些场景全部在往多模态大模型上迁移。之前我在梳理语音智能体评测体系的时候发现一个很有意思的现象大家在文本侧的越狱防护研究得热火朝天各种红队测试集、对齐算法层出不穷可一旦把输入从文本换成语音很多原本固若金汤的防御方案直接失守。这事儿的本质在于语音不是简单地把文本换个通道。它带来的是一条全新的攻击链路从声波到波形、从波形到特征、从特征到文本、再从文本到语义中间每一个环节都可能被单独爆破。文本越狱你至少要绕过一个 tokenizer 和一个对齐层语音越狱你面对的是一个信号处理流水线加上一个多模态对齐层攻击面直接翻了一倍都不止。所谓“语音多模态 LLM 越狱”说白了就是通过构造特殊的语音输入让模型的指令遵循机制偏离安全对齐的约束从而做出不该做的事。和你可能听说过的“GPT 越狱”文本攻击不同语音越狱可以完全用声音作为载体也可以用波形层面的扰动来欺骗系统的前置识别模块玩法更多、更隐蔽、也更难防。这篇博文我用自己的实测经历和踩坑记录把语音多模态 LLM 越狱这件事从原理到防御完整拆一遍。不管你是做语音助手的、做多模态 Agent 的还是单纯在研究大模型安全这篇文章能帮你把语音入口的安全盲区一次补齐。2. 语音越狱的攻击面与核心原理2.1 语音链路里的四个潜在薄弱环节先把一条完整的语音请求在系统里走的路径画出来。你的声音先被麦克风采集变成 PCM 波形文件然后经过 VAD语音活动检测切成片段再经过 ASR 识别成文本或者经过音频编码器变成 embedding和文本 embedding 一起进到大模型里生成回复。在这个过程中有四个环节是越狱操作的天然着力点。第一个环节是声波层。攻击者可以在人耳几乎无感的情况下把一段对抗性噪声叠加到正常语音里。这段噪声对人耳来说只是轻微的背景干扰但对模型内部的音频编码器来说可能足以让注意力权重发生剧烈偏移从而忽略掉语音中携带的安全指令或者让模型把一段恶意指令听成无害指令。第二个环节是 VAD 和预处理阶段。很多系统的 VAD 会按照静音阈值把语音切段攻击者可以利用这个机制把一整段恶意语音拆成多个碎片再通过变速、变调、插入超短促的噪声来打乱模型的边界感知。这种情况下ASR 识别出来的文本可能被严重截断或者错乱反而绕过了一些依赖完整句意判断的安全过滤器。第三个环节是 ASR 本身。即便是当前最强的商用 ASR 系统在面对口音、背景噪声、语速突变时依然会出错。攻击者的核心思路是“投毒”故意让语音中存在某些音素使得 ASR 把“忽略之前所有限制”这类有害指令错误地转写为“帮我写一篇科普文章”而语音 embedding 分支又保留了一部分原始意图两个分支的信息不一致就给模型留下了可钻的空子。第四个环节是多模态融合层。这是最近研究最密集的区域。模型把文本 token 和音频 embedding 拼在一起送到 transformer 层之后注意力机制会把不同模态的信息交织起来。如果你在语音里携带了一条指令同时又用文本方式传入了另一条指令模型可能在融合层把它们解释成某种互相叠加的新指令产生超出设计者预期的行为。2.2 从文本越狱到语音越狱本质没有变路径多了一大截文本越狱这几年总结出来的套路基本固定角色扮演、假设场景、编码转换、多轮诱导、情感绑架、外文越狱。这些套路的核心目的只有一个让模型忘记或者绕开安全对齐时学到的拒绝模式。我之前在《大模型红队测试从入门到放弃》里列过一个文本越狱的分类体系放在语音场景下依然成立因为最终模型的决策语义词空间是一样的。但语音越狱真正有意思的地方在于攻击者不需要让最终输入到模型的文本语义上多么“像”一个恶意指令。他只要让语音特征和文本特征在融合层产生足够大的语义偏移就行。实际测试中我发现有些文本越狱提示词被 ASR 识别之后读起来完全是通顺的日常对话但模型的实际行为却偏到了攻击者想要的方向。这背后是音频 embedding 携带的韵律信息、声学情感信息和音色特征在起作用。也就是说语音越狱可以分成两种形态。第一种是显式越狱语音被转写成明确的中文或英文恶意指令只是换了个输入模态第二种是隐式越狱恶意意图藏在声学特征里模型“听得见但转不出来”这种攻击天然避开了文本审查是目前最难防守的一类。2.3 为什么一条 4 秒的语音就能干掉一套安全系统前阵子我针对市面上几款开源语音多模态模型做了安全评测用的只是最简单的显式越狱分类。结果触目惊心不少模型在文本输入下防御得很好的拒绝策略换成语音输入后直接被绕过。一条 4 秒的语音内容只是把文本越狱提示词正常读出来没有做任何对抗扰动命中率就比文本高出三成。原因我仔细排查过主要有三个。第一很多模型的语音输入处理链路使用低秩适配器LoRA接入音频分支但安全对齐的大部分参数集中在文本分支上导致音频分支实际上是个“半生”的组件它并不完全继承文本分支的安全内化能力。第二语音指令的 token 序列通常较短上下文窗口中的安全示例更少模型更容易被带偏。第三模型在训练语音指令微调时往往使用的是弱对齐的通用对话数据安全数据占比极低导致语音场景下的安全对齐根本没训够。这恰恰暴露了当前行业的普遍问题语音能力迭代太快安全评测跟不上。3. 真实世界中值得警惕的语音攻击形态与绕过机制3.1 对抗样本、人声攻击与隐蔽注入的边界论文里常把语音对抗攻击分成白盒和黑盒但对工程落地来说更实用的分类是按攻击者与系统的交互方式来分。我实测过程中遇到过的、以及安全会议上看到的公开案例主要分三种。第一种是对抗噪声注入。攻击者在语音上叠加了一层对神经网络梯度计算出来的微小扰动。这种攻击目前主要停留在实验室阶段因为它依赖对目标模型结构的了解而且声学环境的干扰会大幅降低攻击成功率。但要注意随着语音编码器的开源程度越来越高针对特定编码器的黑盒对抗样本生成已经变得可复制。第二种是人声模拟与深度伪造。这不是传统意义上的对抗样本但它绕过的是系统的身份校验和声纹识别。一旦语音助手绑定了个人声纹作为信任凭证攻击者可以通过克隆少量语音样本伪装成机主发起敏感操作。第三种是隐藏指令注入。这是我在真实场景中最警惕的一类。攻击者把恶意指令藏在语音频谱的某个频段、或者用极快的语速在背景层叠播报人耳完全听不出异常但模型的多模态编码器可以解析出完整指令。这类攻击很像之前 NLP 领域的“幽灵字符”只是载体从不可见字符换成了不可闻声波。3.2 一次模拟攻击的完整链路拆解我曾在内部环境模拟过一次完整的语音越狱攻击用来验证现有防御体系的有效性。整个过程分四个步这里把链路暴露出来是为了让做防护的同行知道威胁长什么样。第一步目标选定。我选择了一个接入了在线语音搜索功能的内部客服机器人它支持语音输入会在识别后调用大模型生成回答。第二步构造载荷。我预想的目标是让模型输出一段不该公开的内部系统操作说明因此准备了一段语音载体是一段听起来再正常不过的绕口令但中间嵌入了角色扮演诱导指令。第三步我们通过调整语速、在句首有意加入吸气声和轻微喷麦声干扰 ASR 的置信度让识别出来的文本与真实的音频 embedding 产生偏移。第四步加上一条简短的系统级提示开场白把所有内容放在一个“请求”上下文中提交。整个过程中我们没有对音频文件做任何算法级的对抗扰动仅仅依靠语速变化、噪声伪装和架构天然的识别误差就越过了三层文本安全过滤器最终拿到了目标输出。这次模拟的结论很直接语音通道里的每一层不确定性都可能被攻击者利用来制造语义偏差任何单一维度的安全方案都挡不住整条链路的攻击。3.3 语音越狱和文本越狱的差异对照维度文本越狱语音越狱攻击载体纯文本字符串声波、音频文件、实时语音流前置门槛无需要麦克风采集或音频处理基础审查难度可直接对 token 做规则匹配需要兼顾 ASR 转写与声学特征审查隐蔽概率中依赖提示词构造高人耳可能完全无感知自动化难度低脚本批量生成较高但开源工具链已逐步成熟防御成熟度研究较深入方案多元起步期工业界落地较少在我们自己的安全评审里文本越狱目前可以做到 90% 以上的实时拦截率但语音越狱的实时拦截率能过 60% 就算不错这个差距就是直接的业务风险敞口。4. 语音多模态越狱的检测与防御体系搭建4.1 输入侧防护从波形到语义的多层过滤针对语音输入的防御第一步不是在模型层而是在输入侧就构建起第一道防线。我们内部搭的体系分四层。第一层是声学指纹检测。对收到的音频文件先做一次频域分析检测是否存在可疑的高频噪声频段、异常调制模式以及是否存在拼接痕迹。这一层主要用来找对抗噪声和隐藏注入实现成本低用现成的频谱分析库就能跑缺点是抗不过复杂的变体攻击。第二层是 ASR 文本的规则与语义联合过滤。就是对转写出来的文本过一遍敏感意图分类器同时检查文本中是否存在典型的越狱诱导模式。这里要特别注意ASR 的误识别率会严重影响过滤精度。我的经验是宁可多误杀一些正常请求也要把漏放控制在最低因为在语音场景下一次漏放造成的危害通常比文本场景更严重。第三层是双通道一致性校验。把 ASR 转写文本和音频 embedding 分别送入两个轻量模型做意图判断比较两者的结论是否一致。如果文本通道判断为安全但音频通道输出异常的高风险信号就判定为可疑输入。第四层是人机识别。通过检测音频的自然度、声纹一致性和对话节奏判断请求是否真实来源于人类。这个在实时语音助手场景里尤其重要能拦掉不少批量自动化攻击。4.2 模型侧加固对齐数据的语音化与拒答策略输入侧过滤拦得住大部分显式攻击但对隐式越狱的攻击效果有限。模型侧加固才是真正的主战场。语音模型的微调阶段就要把安全对齐数据“语音化”。很多团队做语音模型时直接把文本 SFT 数据交给 TTS 合成一批音频数据来训练这不够。我强烈建议在训练语料中增加三类语音安全数据正常语音表达的恶意指令、添加了真实环境噪声的恶意指令、以不同口音和语速表达的恶意指令。实践证明多模态模型对语音的泛化能力远比想象中差不做语音化的对齐训练安全护栏基本只对文本输入生效。同时要调整模型对语音指令的拒答策略这一点经常被忽略。文本模型在遇到敏感请求时往往有比较明确的拒绝表达但语音模型因为训练数据多是客服场景、助手场景遇到敏感问题时倾向于“打个岔绕过去”用一句“抱歉我还没学会这个功能”之类的话搪塞。这种弱拒绝在安全体系里等于没有拒绝因为攻击者可以持续换一种说法继续试探。模型必须学会在语音场景下也给出和文本同等级别的明确拒答。4.3 输出侧风控对模型的回答做二次把关即便模型已经被攻破、开始生成有害内容输出侧的风控依然可以作为最后一道闸门拦住大部分风险。这块的逻辑简单但极其重要不能省。我们会在生成侧拉取三层校验。第一层是对生成内容做安全评分和常见的文本审核 API 打通识别涉黄、涉暴、违法信息第二层是检测回答是否违反了当前会话的安全上下文约束比如用户语音里没有明确要求输出某类敏感内容但模型真的输出了这种情况直接拦截并触发告警第三层是行为校验对于接入了工具调用和插件能力的语音 Agent要检测本轮回答是否触发了高风险工具。这一层在智能音箱、车载助手这类场景里尤其关键模型输出有一个字不对可能就会触发真实的物理操作或支付行为。输出侧风控的技术实现不算复杂但真正考验的是和各业务系统的联动能力。安全团队需要拿到业务侧的“允许操作清单”才能在生成侧做有效的越权判断。5. 语音多模态 LLM 安全建设的心得与优化方向5.1 常见风险画像与专项加固速查根据我这段时间整理的语音多模态 LLM 安全评测结果把高频风险点、典型表现和加固手段列成了一张速查表分享出来供同行参考。风险类型典型表现推荐加固手段ASR 转写混乱绕过语音识别文本模糊但语义被模型正确理解统一对齐模型边界文本干扰检测对抗噪声越狱人耳无明显感知模型行为异常声学指纹检测 对抗训练伪声与声纹克隆通过声纹校验冒充机主操作多因子身份认证语音 设备指纹 行为分析隐藏指令注入高频频段/背景噪声携带指令频谱分析、双通道一致性校验多模态指令叠加语音和文本指令互相掩护语义一致性检测跨语言/跨方言绕过中文安全模型被英文/方言语音绕过多语种安全语料覆盖统一安全词表这个表格基本就是我在各项目上落过的坑。类似“ASR 转写混乱绕过”这种其实并不需要多高深的技术就是模型在语音分支上的对齐和文本分支出现了裂缝。各家做语音大模型的团队建议在评测阶段就把这些场景全部覆盖一遍别等部署上线被红队打穿了再补。5.2 安全评测怎么做三阶段八场景做语音多模态 LLM 的安全评测不能直接照搬文本评测方案。我建议拆成三阶段、八个场景。第一阶段是基础鲁棒性评测覆盖四种场景安静环境下的标准语音指令、嘈杂城市背景下的语音指令、快速语速和方言口音语音指令、多人同时说话的鸡尾酒会场景。这一阶段主要看 ASR 和多模态模型在正常扰动下的稳定性。第二阶段是越狱攻击评测覆盖三种场景显式语音越狱把常见文本越狱提示词朗读出来、隐式语音越狱利用语速、噪声、音调变化构造的音频输入、多模态混合攻击语音中叠加文字图片信息。第三阶段是防御对抗评测只覆盖一种场景用 DLM 迭代生成对抗性语音样本测试当前防御体系能否持续拦截。这个阶段是持续的只要业务在跑就不能停。评测过程中有个关键细节语音样本的标注不能只靠人工听要同时记录 ASR 转写文本、声学特征检查结果和模型输出然后对照分析。我曾经遇到一次评测人工听录音完全正常但模型突然生成了敏感内容最后定位到是声学特征层被注入了隐藏指令。如果没有多维度的记录和比对这类问题很容易被误判为模型偶发幻觉。5.3 几个容易被忽视的工程细节讲几个真正部署时才会撞上的问题。第一个是采样率和压缩格式的影响。不同麦克风、不同传输协议、不同压缩码率下音频信号的频域特征差异非常大。一套在 16kHz WAV 数据上训练出来的声学指纹检测模型遇到 8kHz 电话语音或者 128kbps AAC 压缩音频误报率会直线上升。解决办法是训练时把所有目标场景的采样率、码率都纳入数据增强范围。第二个是语音活动检测不生效的边界。很多实时系统依赖 VAD 来切分用户语音但如果用户整句话里都是轻声细语加长停顿VAD 可能会把一句话拆成多段导致上下文碎裂。攻击者会故意利用这一点在系统认为的“句间间隔”里塞入隐藏指令。这要求我们从系统架构上把 VAD 切分后的音频片段做交叉重叠分析不能默认片段边界就是语义边界。第三个是实时流式推理和异步引擎处理的区别。流式推理时模型是一边接收一边生成安全检测必须在极短延迟内完成。我们刚开始做防护的时候发现安全检测模块一触发语音交互的延迟就从 500 毫秒飙到 1.5 秒用户体验直线下降。后来把声学指纹检测并行到 VAD 阶段把文本语义过滤并行到模型首 token 生成阶段才把延迟压回可接受的范围。第四个是多轮对话中的语音上下文污染。文本越狱研究中被反复提及的多轮对话攻击在语音场景下同样存在而且更隐蔽。用户在第三轮发起的恶意请求可能被模型用前两轮的语音碎片拼接出完全不同的指令。目前我们针对多轮场景的做法是对每一轮的音频 embedding 和 ASR 文本都做缓存并执行增量安全检查同时保留整段会话的语义向量每三轮做一次全局重验。5.4 接下来值得投入的方向语音多模态越狱这块我自己判断接下来有三个方向会快速升温。第一个是跨模态语义对齐的一致性训练。把安全对齐从文本单一模态扩展到音频、文本双模态联合对齐让模型真正“一视同仁”地对待任何形式的指令。现在的模型大多是把音频转成文本统一走文本分支这其实让双模态一致性更容易做。如果能在训练阶段就把“语音中的请求”和“对应文本中的请求”做安全等级绑定就能从根上消掉大半显式攻击。第二个是主动防御和动态混淆。与其被动地识别攻击语音不如在模型内部对语音 embedding 做随机扰动或与文本 embedding 对齐后再进行安全意图检测。攻击者如果无法准确预测模型内部的 embedding 变换对抗样本的生成成功率会大幅下降。第三个是安全评测的标准化和平台化。目前市面上缺乏好用的语音大模型安全基准测试集各团队各测各的没法对比也没法积累。我计划把自己这边已经跑通的评估流程整理成一套开源的评测工具链包含场景库、样本生成器、指标模块和报告模板方便大家直接拿去跑自己的模型。这个工具链的初版已经在内部跑通了后续会逐步开放出来。最后再分享一个我自己的小经验做语音多模态安全的团队一定不要只埋头在算法层。语音链路上工程性的疏漏比如 VAD 切段、压缩格式、采样率兼容、延迟性能等带来的安全风险往往比想象中严重。安全方案从第一天就要和语音链路的工程方案一起设计千万别等模型部署上线了、业务接入了再反过来补安全。真到了那一步每一行代码都像在给一座已经完工的大楼补地基又贵又难。