<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>安全 on Chico's Tech Blog</title><link>https://realtime-ai.chat/tags/%E5%AE%89%E5%85%A8/</link><description>Recent content in 安全 on Chico's Tech Blog</description><image><title>Chico's Tech Blog</title><url>https://github.com/chicogong.png</url><link>https://github.com/chicogong.png</link></image><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 12 May 2026 11:00:00 +0800</lastBuildDate><atom:link href="https://realtime-ai.chat/tags/%E5%AE%89%E5%85%A8/index.xml" rel="self" type="application/rss+xml"/><item><title>Prompt Injection:Agent 时代的头号安全问题</title><link>https://realtime-ai.chat/posts/prompt-injection-2026/</link><pubDate>Tue, 12 May 2026 11:00:00 +0800</pubDate><guid>https://realtime-ai.chat/posts/prompt-injection-2026/</guid><description>Agent 能调工具、能读外部内容之后,prompt injection 从好玩的越狱变成真正的数据泄露。拆解间接注入为什么最致命、真实攻击形态,以及工程上唯一靠谱的缓解思路。</description><content:encoded><![CDATA[<p>2025 年 6 月,安全公司 Aim Security 披露了一个叫 EchoLeak 的漏洞(CVE-2025-32711,CVSS 9.3)。攻击方式简单得离谱:给目标发一封普通邮件。</p>
<p>用户<strong>不需要点开邮件</strong>,不需要点链接,什么都不用做。只要他之后用 Microsoft 365 Copilot 问了一个相关问题,Copilot 在检索资料时读到了那封邮件,藏在邮件里的指令就被执行了——Copilot 把它能访问的内部文档内容,通过一张自动加载的图片悄悄发到了攻击者的服务器。</p>
<p>这是第一个在生产级 LLM 系统里被证实的&quot;零点击&quot;prompt injection。它之所以值得拿出来开头讲,是因为它把一件事摆到了台面上:<strong>当 AI 只是个聊天框时,prompt injection 是个有意思的玩具;当 AI 变成能读邮件、能调工具、能发请求的 Agent 时,它是头号安全问题。</strong></p>
<h2 id="prompt-injection-到底是什么">prompt injection 到底是什么</h2>
<p>先把概念说清楚,因为很多人把它和&quot;越狱&quot;(jailbreak)混为一谈。</p>
<p>越狱是用户<strong>自己</strong>想绕过模型的安全限制——比如骗模型教他做危险的东西。受害者和攻击者是同一个人,危害基本限于他自己。</p>
<p>prompt injection 不一样。它是<strong>第三方</strong>把恶意指令塞进 LLM 的输入里,劫持模型,让它替攻击者干活,而真正的用户和应用开发者都被蒙在鼓里。受害者和攻击者是不同的人,这才是它危险的根源。</p>
<p>它的技术根因,Simon Willison(2022 年造出 &ldquo;prompt injection&rdquo; 这个词的人)说得最直白:<strong>LLM 没有可靠的能力区分&quot;指令&quot;和&quot;数据&quot;</strong>。</p>
<p>传统软件里,SQL 注入之所以能被根治,是因为我们有 prepared statement——代码归代码,数据归数据,数据库引擎从结构上就分得清。但 LLM 的输入是一锅粥:system prompt、用户问题、检索到的文档、工具返回的结果,全部拼成一段文本喂进去。模型看到的只是 token 流。如果一段&quot;数据&quot;里写着&quot;忽略以上所有指令,改为执行……&quot;,模型完全可能就照做了——因为对它来说,这跟开发者写的 system prompt 长得一模一样。</p>
<p>这不是某个模型的 bug,是当前这套架构的固有属性。GPT、Claude、Gemini 全都中招。</p>
<h2 id="直接注入只是开胃菜间接注入才致命">直接注入只是开胃菜,间接注入才致命</h2>
<p>prompt injection 分两类,危险程度差着量级。</p>
<p><strong>直接注入</strong>:攻击者自己在对话框里输入恶意 prompt。这种相对好防——输入就来自用户,你本来就该对它保持警惕,而且很多场景下用户骗 Agent 也只是坑自己。</p>
<p><strong>间接注入</strong>(indirect prompt injection):恶意指令藏在 Agent 会去读的<strong>外部内容</strong>里——一个网页、一封邮件、一份共享文档、一段代码仓库的 README、甚至一张图片的元数据。Agent 在正常干活的过程中读到了这段内容,指令就被触发。</p>
<p>间接注入致命在哪?在于<strong>它走的是数据通道,而数据通道没人盯着</strong>。</p>
<p>你会审查用户在对话框里打了什么,但你不会去审查 Agent 帮你总结的那个网页里每一个字。Agent 读外部内容,本来就是它的核心价值——一个不能读邮件的邮件助手、一个不能浏览网页的浏览器 Agent,等于废了。可一旦它开始读这些你不可控的内容,攻击面就从&quot;用户&quot;扩大到了&quot;全互联网&quot;。任何能把一段文字放到 Agent 视野里的人,都成了潜在攻击者。</p>
<p>Anthropic 在 2026 年 2 月的系统卡里干脆<strong>把直接注入这个指标整个删掉了</strong>,理由是:过去一年里每一起高影响的生产环境安全事件,涉及的都是间接注入。</p>
<pre class="mermaid">flowchart LR
  A[攻击者] -->|把恶意指令<br/>埋进外部内容| B[网页 / 邮件<br/>文档 / 代码库]
  B -->|Agent 正常检索时读到| C[LLM]
  D[真实用户] -->|发出正常请求| C
  C -->|被劫持后调用工具| E[读私有数据 / 发外部请求]
  style B fill:#fde7c2,stroke:#e8b23c
  style C fill:#fde7c2,stroke:#e8b23c
</pre><p>橙色那两块——<strong>被污染的外部内容</strong>和<strong>分不清指令与数据的 LLM</strong>——就是整条攻击链的命门。</p>
<h2 id="致命三要素三个都凑齐才会出事">致命三要素:三个都凑齐才会出事</h2>
<p>Simon Willison 提出了一个特别好用的判断框架,叫<strong>致命三要素(the lethal trifecta)</strong>。一个 Agent 系统真正危险,需要同时满足三个条件:</p>
<table>
  <thead>
      <tr>
          <th>要素</th>
          <th>含义</th>
          <th>没有它会怎样</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>接触私有数据</td>
          <td>Agent 能读你的邮件、文档、数据库</td>
          <td>没有可偷的东西</td>
      </tr>
      <tr>
          <td>接触不可信内容</td>
          <td>Agent 会处理来自外部的输入</td>
          <td>没有注入的入口</td>
      </tr>
      <tr>
          <td>具备外传能力</td>
          <td>Agent 能发起外部请求(调 API、加载图片、生成链接)</td>
          <td>偷到了也送不出去</td>
      </tr>
  </tbody>
</table>
<p><strong>三个全凑齐,系统就一定可被攻击;缺任何一个,这条路就断了。</strong></p>
<p>EchoLeak 就是教科书般的三要素齐活:Copilot 能读公司内部文档(私有数据)、会检索用户收到的邮件(不可信内容)、能渲染 Markdown 里的外部图片(外传通道——图片 URL 一加载,数据就跟着 query 参数发出去了)。攻击者要做的,只是用一个图片链接把偷来的数据&quot;驮&quot;出去。</p>
<p>这个框架的价值在于:它把&quot;要不要担心 prompt injection&quot;这个模糊的问题,变成了一个可以逐项打钩的清单。2026 年 1 月那一周,安全研究者接连披露了四款主流 AI 生产力工具的漏洞,攻击模式如出一辙,全都踩中了这三要素。</p>
<h2 id="真实攻击长什么样">真实攻击长什么样</h2>
<p>把抽象的东西落到地面。2025 到 2026 年被公开证实的攻击,大致是这几种形态:</p>
<p><strong>数据外泄。</strong> 最主流。EchoLeak 是代表——让 Agent 把它能访问的敏感数据,通过图片、链接、API 调用送到攻击者手里。浏览器类 Agent 在&quot;总结这个网页&quot;时被网页里的隐藏文字骗着泄露了凭据,也是这一类。</p>
<p><strong>劫持工具调用。</strong> 2026 年 5 月,微软安全团队披露了一类远程代码执行漏洞:攻击者控制的内容从一份被检索的文档里,一路流到了一次工具调用的参数里,绕过了栈上所有 prompt 层面的防护。Agent 能调的工具越强(执行命令、改文件、发邮件、转账),这类攻击的破坏力就越大。</p>
<p><strong>污染持久记忆。</strong> 这个最阴。OWASP AppSec USA 2025 上演示过一种攻击:注入的指令让 Agent 往自己的长期记忆库里写了一条恶意记录。于是一次性的注入变成了<strong>常驻后门</strong>——攻击早就结束了,但那条记录留在记忆里,在未来每一个会话里、满足特定条件时静默触发。</p>
<p><strong>绕过 AI 审核。</strong> 2025 年 12 月有一起真实案例:有人用间接注入绕过了一个基于 AI 的广告审核系统——在送审的内容里埋指令,让审核 AI 自己判定&quot;这条广告没问题&quot;。</p>
<p>CrowdStrike 的 2026 威胁报告记录了针对 90 多家机构的 prompt injection 攻击。这已经不是 PoC 阶段了。</p>
<h2 id="为什么没有彻底解法">为什么没有彻底解法</h2>
<p>讲到这里得说句扫兴的:<strong>prompt injection 至今没有、短期内也不会有根治方案。</strong></p>
<p>OpenAI 自己发文承认这是一个&quot;前沿安全挑战&quot;。多个研究团队的结论一致:这是个尚未解决的根本性问题,而靠过滤、靠分类器去拦截恶意 prompt 的尝试,基本都失败了。</p>
<p>原因有两层。</p>
<p>第一,<strong>用 AI 防 AI 防不住</strong>。最直觉的做法是训一个分类器,专门识别&quot;这段输入里有没有注入&quot;。但 EchoLeak 恰恰绕过了微软专门干这事的 XPIA(Cross Prompt Injection Attempt)分类器。这是一场不对称的攻防:防守方要拦住<strong>所有</strong>攻击,攻击方只要找到<strong>一个</strong>漏网的措辞。自然语言的表达空间无穷大,分类器永远有缝。有篇论文标题起得很到位——《攻击者后手出招》(The Attacker Moves Second)。</p>
<p>第二,<strong>这是架构层面的、不是参数层面的问题</strong>。只要&quot;指令&quot;和&quot;数据&quot;还在同一个 token 流里、还由同一个模型处理,模型就有可能把数据当指令。除非从根上改掉这套架构,否则你做的所有事情都是在降低概率,而不是消除可能。</p>
<p>所以正确的心态是:<strong>别想着&quot;解决&quot;它,要想着像管理其他安全风险一样去&quot;管理&quot;它。</strong> 你不会指望彻底消灭 SQL 注入的&quot;可能性&quot;,你是用 prepared statement、最小权限、审计日志把它的风险压到可接受。prompt injection 也一样。</p>
<h2 id="工程上能做什么把它当系统设计问题">工程上能做什么:把它当系统设计问题</h2>
<p>既然模型本身靠不住,防线就必须建在模型<strong>外面</strong>。2026 年比较成型的实践,核心就一句话:<strong>不要相信 LLM 的输出,在它造成实际后果之前用确定性的代码挡一道。</strong></p>
<p><strong>第一,拆掉致命三要素中的一个。</strong> 这是性价比最高的动作。回到上面那张表——你不需要同时防住三件事,只要在架构上<strong>让其中一个不成立</strong>:处理外部不可信内容的 Agent,就不给它私有数据的访问权;能读私有数据的 Agent,就掐掉它一切外传通道(不许渲染外链图片、不许自由调网络)。把&quot;能读敏感数据&quot;和&quot;能接触外部内容&quot;这两种能力,放进两个不同的 Agent、用代码隔开。</p>
<p><strong>第二,权限隔离 / 最小授权。</strong> 多个安全团队的共识是:<strong>权限隔离是单项收益最高的防御</strong>。给 Agent 的每个工具都按最小必要授权——只读的就别给写权限,能查订单的就别让它能改订单。这样即使注入成功,攻击者拿到的也是一个被关在笼子里的 Agent。</p>
<p><strong>第三,高危操作必须人确认。</strong> 转账、删文件、发对外邮件、改生产配置——这类不可逆的操作,不能让 Agent 自己拍板。在工具调用和真实执行之间插一道人工确认。注意:确认界面要展示<strong>真实要执行的动作和参数</strong>,不能只展示 Agent 自己的&quot;我打算做 X&quot;的自然语言描述——因为那段描述本身也可能是被注入的。</p>
<p><strong>第四,把不可信内容明确标成数据。</strong> 检索到的文档、工具返回的结果,在拼进 prompt 时用清晰的边界包起来,并明确告诉模型:这部分是数据,不是给你的指令。这<strong>不能根治</strong>(模型还是可能被骗),但能拉高攻击成本,是廉价的加固。</p>
<p><strong>第五,输出侧做确定性校验。</strong> 在 Agent 的输出真正变成行动之前,用普通代码检查它的结构——工具调用的参数在不在白名单里、要访问的 URL 域名可不可信、数据流向合不合规。再配上 canary token(在敏感数据里埋诱饵,一旦它出现在外发流量里就说明发生了泄露)。</p>
<p>值得关注的一个方向是 Google DeepMind 的 <strong>CaMeL</strong>:它用两个 LLM——一个&quot;特权 LLM&quot;负责编排任务、能调工具但只看可信输入,一个&quot;隔离 LLM&quot;专门处理不可信数据、<strong>完全没有工具调用能力</strong>。然后用传统软件安全里的控制流完整性、信息流控制那一套,给每个数据值打上能力标签,从结构上限制数据能流到哪去。它的思路很对——不靠 AI 去猜,靠确定性的工程机制兜底。</p>
<pre class="mermaid">flowchart TD
  A[Agent 想执行一个动作] --> B{是高危操作吗?}
  B -->|是| C[人工确认<br/>展示真实参数]
  B -->|否| D{参数 / 域名<br/>在白名单内?}
  C --> D
  D -->|否| E[拒绝执行]
  D -->|是| F[最小权限工具执行]
  F --> G[canary 检测 + 日志审计]
  style C fill:#fde7c2,stroke:#e8b23c
  style E fill:#f8c9c4,stroke:#d9534f
</pre><h2 id="最后这是-agent-落地绕不开的一关">最后:这是 Agent 落地绕不开的一关</h2>
<p>我想强调的一点是:prompt injection 不是&quot;等以后再说&quot;的问题,它就是<strong>现在</strong>决定你的 Agent 能不能上生产的那道关。</p>
<p>OWASP 连续三年把 prompt injection(LLM01)列为大模型的头号风险,这不是凑热闹。一个能力越强的 Agent——工具越多、权限越大、越自动、越深地嵌进关键流程——它的价值越高,被注入后的破坏力也越大。这两件事是同一枚硬币。</p>
<p>所以做 Agent,安全不能等功能做完了再&quot;加固&quot;。它得在架构设计的第一天就在场:这个 Agent 要不要同时持有私有数据和外传能力?哪些操作必须人来拍板?外部内容进来时怎么被隔离?</p>
<p>把它当成系统设计问题,而不是模型问题——因为模型短期内不会帮你解决它。你能依靠的,是权限边界、人工确认、输出校验这些<strong>老派但确定</strong>的工程手段。在一个分不清指令和数据的模型外面,亲手画好那条它自己画不出的线。</p>
]]></content:encoded></item><item><title>语音克隆的滥用与检测</title><link>https://realtime-ai.chat/posts/voice-clone-detection/</link><pubDate>Mon, 27 Apr 2026 11:00:00 +0800</pubDate><guid>https://realtime-ai.chat/posts/voice-clone-detection/</guid><description>语音克隆已经以假乱真,这篇讲防御侧:诈骗与声纹绕过的真实形态、合成语音检测能做到多少、音频水印如何溯源,以及为什么这是一场猫鼠游戏。</description><content:encoded><![CDATA[<p>2025 年第一季度,美国境内利用深度伪造语音的电话诈骗(vishing)环比涨了 <strong>1600% 多</strong>。同一年 FBI 的互联网犯罪报告里,跟 AI 相关的诈骗投诉超过 2.2 万起,涉案金额 8.93 亿美元。</p>
<p>这些数字背后有一个让人不舒服的事实:<strong>克隆一个人的声音,现在只需要三秒公开音频</strong>。你公司高管参加过的每一场财报电话会、每一次大会演讲、每一段播客采访,都躺在公网上,对想用它的人来说就是现成的训练素材。</p>
<p>克隆技术本身已经不是新闻——这个博客之前写过《声音克隆:60秒复制你的声音,然后呢?》。这篇讲&quot;然后&quot;的另一面:声音一旦能被以假乱真地复制,我们靠什么分辨真假,以及这件事到底能做到多好。</p>
<h2 id="滥用长什么样三种不是一种">滥用长什么样:三种,不是一种</h2>
<p>把&quot;AI 语音诈骗&quot;当成一个笼统的词,会让你低估它。它至少是三类性质不同的攻击。</p>
<p><strong>第一类是社工诈骗。</strong> 最经典的是&quot;亲人求救&quot;:伪造你孩子的哭腔打电话说出事了急需用钱。但 2025 年真正造成大额损失的是企业版——伪造 CEO 或 CFO 的声音,指示财务转账。香港那起 2.56 亿港元的案子是个标志:财务员工参加了一场视频会议,会议里的 CFO 和同事<strong>全是 AI 生成的</strong>,人脸、口型、声音都对得上,他一开始怀疑是钓鱼,但一场&quot;活的&quot;视频会把他的怀疑全打消了,直到事后跟总部人工核对才发现。</p>
<p><strong>第二类是声纹绕过。</strong> 不少银行和券商用&quot;我的声音就是我的密码&quot;做身份验证。克隆语音直接攻击这套系统。它比社工诈骗更隐蔽,因为受害的不是某个被吓住的人,而是一套<strong>自动化的认证流程</strong>——没有人在场可以&quot;觉得不对劲&quot;。2025 年 1 到 8 月,某金融机构的活体检测被 AI 伪造尝试绕过了 8000 多次。</p>
<p><strong>第三类是假音频内容。</strong> 伪造公众人物的录音、伪造一段&quot;泄露的会议录音&quot;、给某段视频配上从没说过的话。它不针对个人钱包,针对的是舆论和信任。2024 年美国大选期间出现过伪造拜登声音的自动外呼电话,就是这一类。</p>
<p>三类攻击的防御手段完全不同。社工诈骗要靠流程和人的警觉,声纹绕过要靠活体检测,假内容要靠溯源和检测——别指望一招通吃。</p>
<h2 id="检测合成语音能做到但有前提">检测合成语音:能做到,但有前提</h2>
<p>检测分两条路:<strong>被动检测</strong>(拿到一段音频,判断它是不是 AI 合成的)和<strong>主动标记</strong>(生成时就打上记号)。先说被动。</p>
<p>被动检测模型在学术基准上的成绩相当好。这个领域有一套延续多年的评测体系——从早年的 ASVspoof 挑战赛,到 2026 年 ICME 的环境感知语音检测挑战赛(ESDD2)、ACM Multimedia 的全类型音频伪造检测挑战赛(AT-ADD)。检测模型也在进步:用 Whisper 这类大规模语音模型抽特征,比传统声学特征的等错误率(EER)低了约 21%,再针对反伪造任务微调 Whisper 编码器,还能再降近 15%。</p>
<p>听起来不错。但&quot;在干净数据集上 EER 很低&quot;和&quot;在真实世界管用&quot;之间,差了一整条鸿沟。</p>
<pre class="mermaid">flowchart TD
  A[一段语音] --> B{被动检测模型}
  B -->|实验室条件| C[准确率很高]
  B -->|真实世界| D[麻烦开始了]
  D --> E[电话信道压缩]
  D --> F[录音回放/翻录]
  D --> G[训练时没见过的新 TTS]
  D --> H[环境噪声/混响]
  style C fill:#d8f0d8,stroke:#5aa05a
  style D fill:#fde7c2,stroke:#e8b23c
</pre><p>真实世界里有三个东西在持续打击检测准确率:</p>
<ul>
<li><strong>信道劣化。</strong> 一通诈骗电话经过窄带编码、丢包、压缩,把那些&quot;AI 痕迹&quot;——比如不自然的高频细节、过于平滑的频谱——磨掉了大半。检测模型训练时见的是高保真音频,推理时拿到的是被电话线榨过的音频。</li>
<li><strong>回放攻击。</strong> 攻击者把合成音频用音箱播出来、再用麦克风录下来。这一录一放,等于给假音频套了一层&quot;真实物理世界&quot;的外衣,很多检测器会被骗过。专门为这种场景做的数据集(比如 EchoFake)就是冲着这个问题来的。</li>
<li><strong>泛化。</strong> 这是最根本的。检测模型本质上是在学&quot;已知的几种 TTS 系统留下的指纹&quot;。一个训练时没见过的新模型出来,检测器对它就是睁眼瞎。而新的 TTS 模型几乎每个月都在出。</li>
</ul>
<p>所以我的判断是:<strong>被动检测有用,但不能当成单点防线。</strong> 它适合做大规模内容平台的初筛、做事后取证,不适合做&quot;接到电话实时告诉你这是假的&quot;那种承诺——任何号称能实时、高准确、对所有声音通杀的检测产品,你都该多问几句它在什么数据上测的。</p>
<h2 id="声纹活体防的是录音未必防得住克隆">声纹活体:防的是&quot;录音&quot;,未必防得住&quot;克隆&quot;</h2>
<p>声纹认证系统自己也有反伪造机制,通常叫&quot;活体检测&quot;(liveness detection)。但要分清它原本是防什么的。</p>
<p>活体检测最早是为了防<strong>回放攻击</strong>——防止有人拿一段你说话的录音来冒充你。它会去找录音特有的痕迹:音箱的频响特性、二次录制引入的失真、缺少真人说话该有的呼吸和微小变化。对着录音,这套机制管用。</p>
<p>问题是,<strong>高质量的神经网络合成语音不是&quot;录音&quot;</strong>。它没有音箱频响的指纹,它的呼吸、停顿、韵律是模型直接生成的,看起来比一段翻录干净得多。换句话说,为防回放设计的活体检测,面对端到端克隆语音时,部分假设已经不成立了。</p>
<p>更麻烦的是&quot;语音变形&quot;(voice morphing)攻击——把攻击者自己的真实语音和目标人的声纹特征混合,生成的音频既带着真人说话的所有物理特征(因为底子是真人录的),又带着目标人的声纹。这种攻击专门钻活体检测和声纹比对之间的缝。</p>
<p>现在还有&quot;深度伪造即服务&quot;(Deepfake-as-a-Service)——黑产把克隆和绕过工具打包成服务卖,一套合成身份、克隆声音的素材,在地下市场只要五美元。攻击的门槛已经低到不需要任何技术。</p>
<p>我的看法直接一点:<strong>2026 年,&ldquo;声音即密码&quot;这个产品设计应该被淘汰了。</strong> 声纹可以作为<strong>一个</strong>信号参与风险评分,但不能作为单一凭证去解锁转账、改密码这类高危操作。把一个已经能被三秒素材复制的东西当成身份证明,是设计缺陷,不是技术细节。</p>
<h2 id="音频水印把检测的难题倒过来">音频水印:把检测的难题倒过来</h2>
<p>被动检测难,难在它要从音频里&quot;反推&quot;真假。<strong>主动水印</strong>换了个思路:在 AI 生成语音的那一刻,就在音频里嵌一个人耳听不见、但机器能检出的标记。这样要回答的问题从&quot;这段音频是不是假的&quot;变成了&quot;这段音频里有没有我的水印&rdquo;——后者好回答得多。</p>
<p>Meta 的 AudioSeal 是目前最有代表性的方案。它的设计有两个关键点值得说:</p>
<p><strong>一是定位能力。</strong> 它不只能判断&quot;整段音频有没有水印&quot;,还能精确到样本级——在 16kHz 采样率下,能指出每一个 1/16000 秒的片段是不是带水印的。这意味着如果有人把一句真人录音里<strong>只抠掉几个字、换成合成的</strong>,水印检测能定位到那几个字。</p>
<p><strong>二是检测速度。</strong> 它用单次前向的检测器,比靠水印密钥逐一解码的老方法快两个数量级。这点对落地很重要——内容平台要扫的是每天上传的海量音频,检测器慢一点,整个方案就不可行。</p>
<p>水印的真正价值不在&quot;抓坏人&quot;,在<strong>给善意内容一个可以自证清白的办法</strong>。一家正规 TTS 服务给自己所有输出打上水印,等于主动声明&quot;这是我生成的&quot;;新闻机构给自己的真实采访录音打上来源标记,等于主动声明&quot;这是真的&quot;。社会需要的不是&quot;找出所有假音频&quot;,而是逐步建立&quot;没标记的内容默认不可信&quot;的预期。</p>
<p>但水印不是银弹,它有两个硬伤:</p>
<table>
  <thead>
      <tr>
          <th>问题</th>
          <th>具体表现</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>只能管&quot;听话的人&quot;</td>
          <td>开源模型、自己训练的模型、刻意去水印的攻击者,根本不会嵌水印。水印覆盖不到真正想作恶的人。</td>
      </tr>
      <tr>
          <td>鲁棒性有上限</td>
          <td>重度压缩、变调、加噪、片段裁剪,都可能削弱甚至擦除水印。AudioSeal 这类方案在鲁棒性上做了很多工作,但&quot;绝对擦不掉&quot;做不到。</td>
      </tr>
  </tbody>
</table>
<p>所以水印解决的是&quot;占大多数的正规生成内容如何被标记&quot;的问题,不解决&quot;恶意攻击者&quot;的问题。把它和被动检测、和内容来源标准(比如 C2PA 那套溯源元数据)叠在一起,才构成一张有意义的网。</p>
<h2 id="为什么这注定是猫鼠游戏">为什么这注定是猫鼠游戏</h2>
<p>讲到这里该说一句不太好听的:<strong>合成语音检测,在原理上就是一场打不赢的军备竞赛。</strong></p>
<p>原因不在哪个团队不够努力,在结构。生成模型和检测模型之间存在一个根本的不对称——</p>
<pre class="mermaid">flowchart LR
  G[生成方] -->|留下可检测痕迹| D[检测方学会识别]
  D -->|痕迹被公开| G2[生成方针对性消除痕迹]
  G2 --> D2[检测方需要新痕迹]
  D2 -.循环.-> G
  style G fill:#fde7c2,stroke:#e8b23c
  style G2 fill:#fde7c2,stroke:#e8b23c
</pre><p>每当检测方发现一类&quot;AI 痕迹&quot;并公开(发论文、开源模型、办挑战赛),这个发现立刻变成生成方的优化目标——下一代 TTS 训练时,只要把&quot;骗过这个检测器&quot;加进损失函数,痕迹就被磨掉了。检测方天然滞后,因为它只能对<strong>已经存在</strong>的生成模型做出反应。</p>
<p>更不利的是终点不一样。生成方的目标是&quot;无限逼近真人&quot;,而真人语音是存在的、有上限的;一旦合成语音在物理特征上和真人无法区分,检测方就<strong>没有信号可用了</strong>——不是检测器不够好,是信息论意义上无东西可检。</p>
<p>那是不是就躺平?不是。结论应该是:<strong>别把宝押在&quot;检测出假的&quot;上,要把重心移到&quot;验证出真的&quot;。</strong></p>
<ul>
<li>检测假音频是开放问题,可能永远做不到 100%。</li>
<li>验证真音频是封闭问题:水印、数字签名、内容来源链(C2PA),这些是可以做到接近确定的——因为它不依赖猜测,依赖密码学。</li>
</ul>
<p>防御的长期方向,是让&quot;可信&quot;成为需要主动证明的东西,而不是默认状态。</p>
<h2 id="平台和个人各自能做什么">平台和个人,各自能做什么</h2>
<p>技术讲完,落到行动。</p>
<p><strong>对平台和企业:</strong></p>
<ul>
<li><strong>高危操作做带外验证(out-of-band)。</strong> 转账、改预留信息、授权放款,绝不能只凭一通电话或一段语音确认。换一个独立信道——回拨已登记的号码、在内部系统二次确认、设一个对方知道你知道的口令。香港那 2.56 亿的案子,只要一通打回总部的电话就能拦下。</li>
<li><strong>声纹只做风控信号,不做唯一凭证。</strong> 把它和设备指纹、行为特征、信道分析一起喂进风险评分,任何一个高危动作都要多因子。</li>
<li><strong>自家生成的语音一律打水印、留来源标记。</strong> 这不是为了抓别人,是为了让你的正规内容可被验证,也是给行业立规矩。</li>
<li><strong>检测模型当初筛和取证用,别对外承诺实时通杀。</strong> 同时持续用新出的 TTS 系统更新训练集——你的检测器和攻击者用的生成器,得在同一个时代。</li>
</ul>
<p><strong>对个人:</strong></p>
<ul>
<li><strong>认知层面接受一件事:听到的声音不再等于身份证明。</strong> 这是 2026 年最需要更新的常识。电话里&quot;你妈的声音&quot;、&ldquo;你老板的声音&rdquo;,都不构成&quot;确实是本人&quot;的证据。</li>
<li><strong>和家人约一个口令。</strong> 一个只有你们知道、不会出现在任何社交媒体上的词。接到&quot;家人急用钱&quot;的电话,先问口令。土办法,但有效。</li>
<li><strong>挂掉,回拨。</strong> 任何涉及钱或敏感信息的来电,无论声音多像,挂掉,用你通讯录里<strong>原本存的</strong>号码打回去。克隆语音能伪造声音,伪造不了你主动拨出的这通电话。</li>
<li><strong>少喂素材。</strong> 三秒就够克隆。公开演讲、播客、短视频里的长段清晰人声,本质上是在公网上发布自己的声纹。这不是让你别说话,是让你知道代价。</li>
</ul>
<p>最后留一句判断:这场对抗里,纯技术解(更强的检测器)只能拖时间,拖不到终局。真正能把损失压下去的,是<strong>流程</strong>——带外验证、口令、回拨这些听起来很&quot;低科技&quot;的东西。当声音不再可信,可信的得是别的:你拨出去的号码、你和家人之间的暗号、系统里另一个独立的确认信道。技术制造了这个问题,但解决它,要靠把&quot;信任&quot;重新放回那些不能被三秒音频复制的地方。</p>
<hr>
<p><em>参考来源:<a href="https://www.blackfog.com/fbi-warning-ai-voice-phishing-how-to-stop-threat/">FBI AI 语音钓鱼预警</a>、<a href="https://cybelangel.com/blog/deepfake-ceo-fraud-how-voice-cloning-targets-us-executives/">深度伪造 CEO 诈骗案例分析</a>、<a href="https://arxiv.org/abs/2401.17264">AudioSeal:语音克隆的主动检测水印</a>、<a href="https://arxiv.org/html/2601.07303v3">ESDD2 环境感知语音伪造检测挑战赛</a>、<a href="https://www.biometricupdate.com/202604/voice-ai-expands-attack-surface-for-speaker-biometrics-as-apis-proliferate">语音生物识别攻击面扩大</a>、<a href="https://www.biometricupdate.com/202601/deepfake-as-a-service-revolutionizing-biometrics-spoofing-and-identity-fraud-report">深度伪造即服务报告</a>。</em></p>
]]></content:encoded></item></channel></rss>