安全研究员 David Buchanan 在 8 月 25 日贴出一篇分析,标题直译过来是”C2PA 相机经不起现实检验”。他给的结论只有一句:安卓平台上的 C2PA 已经坏了,而且没法靠常规补丁修好。
先说这套东西要解决什么。内容凭证(Content Credentials)想回答的是”这张照片到底是相机拍的还是模型生成的”。做法是让相机在成像那一刻就用一枚硬件私钥给文件签名,签名里写清设备型号、拍摄时刻和后续编辑记录。谷歌从 Pixel 10 起把它内置进相机 App,私钥存在 Titan M2 的 StrongBox 里,配合 Key Attestation 和 Play Integrity 校验设备完整性。设计上私钥永远不出安全芯片,系统被拿下也偷不走。
不偷钥匙,借钥匙
Buchanan 指出的地方在于攻击者压根不用把私钥掏出来。拿到 root 之后,可以直接经 KeyStore API 请求 StrongBox 用那枚钥匙签任意数据——芯片只负责签,不负责判断被签的字节到底来没来自摄像头。他配套放出两个工具:Root-My-Pixel 拿 root,keystork 调 KeyStore。
root 从哪来?CVE-2026-43499,一个一键提权漏洞,打击面覆盖完整打过补丁的 Pixel 设备,Pixel 8a、9a 都在里面,公开利用代码已经在野流传。Meta 在自家 Quest 头显上先于谷歌修掉了这个洞,三星靠实时内核保护(RKP)挡住一部分攻击路径。
他还演示了第二条路:对 DRAM 做电磁故障注入。这条更硬核,也更麻烦,属于物理层攻击,打补丁根本够不着。
谷歌关掉了报告
谷歌把这份报告标成了”Won’t fix(不可行)“,同时给了 7500 美元赏金,虽然按规则硬件攻击本来不在赏金范围。这个组合动作本身就是表态:认下漏洞的价值,不认为能修。整个流程走的是 90 天提前披露。
塌掉的那条假设
C2PA 的说服力建立在一条假设上:签名只能由可信硬件在可信时刻产生。一旦 root 能借用安全芯片给任意内容盖章,签名就退化成”这台设备参与过”,而设备本身可以被完全控制。一张伪造照片带着合法的 Pixel 签名,在验证器里会显示为通过。
放到 AI 内容治理的语境里,这一层的分量要说清楚。SynthID 那类嵌入式水印做的是正向标注,标出机器生成的东西;C2PA 相机签名做的是反向证明:标出真实拍摄的东西。前者被剥掉,内容顶多失去标签;后者被伪造,等于给合成内容发了一张真品证书。两条路的失效代价差着量级。
粗算一下风险面:安卓在全球手机份额超过七成,相机签名若只在少数机型上可信,而这些机型的提权漏洞按季度冒头,那么”看到签名就相信”这个验证习惯本身就成了缺口。可行的收敛方向大概是把签名降格为弱信号,和拍摄地点、时间戳、发布链路交叉比对,别当成单点结论。
参考来源:David Buchanan 个人博客、CocoLoop、Google 漏洞奖励计划回复、C2PA 内容凭证公开规范;CVE-2026-43499 编号、7500 美元赏金金额与受影响机型以研究者披露内容为准。