47个生物特征信号已经在传输,却没人用来防照片攻击。一家做情绪感知的公司,用4小时把这个漏洞堵上了。

被投资人问住的45分钟

打开网易新闻 查看精彩图片

电话那头突然安静。投资人打断演示:"你们浏览器端处理生物特征,延迟不到50毫秒。但有人举着照片怎么办?"

EmoPulse创始人没答上来。他有假设——欺骗攻击成本低、企业客户自己会加活体层——但没有技术方案。通话结束,他打开新标签页,调出最近18场内部会话日志,开始写代码。

这场对话暴露了一个尴尬现实:公司花了大量精力优化信号提取,却对最基础的攻击向量毫无防御。不是没能力,是没往这个方向想。

多数人认为活体检测需要机器学习、专用硬件或云端推理。这对一站式身份平台成立。但EmoPulse的定位是"行为感知层"——不输出最终决策,只提供信号。当漏洞被指出,核心问题不是"怎么造活体模型",而是"现有信号能推导出什么"。

从预测转向确定性信号逻辑,这个思路切换改变了一切。不炫技,但快,且有效。

信号已经在路上,只是没用

EmoPulse的状态向量(state vector)已承载47项生物与行为信号:远程光电容积脉搏波(rPPG)心率、52个ARKit混合形状参数、眨眼频率、注视向量、面部动作单元、语音韵律。全部通过WebAssembly在设备端从普通RGB摄像头提取,无云端推理,无数据外泄,帧到服务器往返低于50毫秒。

防欺骗的原材料已在传输中,只是未被利用。关键洞察:活体检测不是新模型,而是现有信号的状态机。

具体实现很直接。服务器端评分器运行在Flask端点,分析每会话最近5个时间片的滑动窗口。三项确定性惩罚规则:

心率不稳:rPPG显示5个时间片内心率标准差超12次/分钟,判定失败。真实面部有微变,但不会混乱。合成表面(尤其是回放)导致rPPG" hunt"——色彩偏移无法映射到生理信号。这条抓住手机屏幕回放。

注视与眨眼冻结:注视稳定度超95%(基于MediaPipe归一化向量)且5个时间片零眨眼。人类会扫视、会眨眼。照片不会。这是打印照片的特征签名。

微表情爆发:首时间片微表情计数超8个,或杜氏微笑计数超20个,触发惩罚。原因?欺骗者常在中途启动视频回放。真实 onboarding 是渐进 ramp up,回放从峰值开始。

每项惩罚扣0.3分。基础活体值1.0,阈值0.5。验证集:18场真实人类会话(3名受试者),2次欺骗尝试(1张照片、1次手机回放)。真实会话得分0.6–1.0,欺骗0.2–0.4。100%分离,裕度0.2。不完美,但足以封堵低级攻击。

不造轮子,只拼积木

EmoPulse没打算替代FaceTec或iProov。目标是阻止"懒惰攻击"——用4小时,无新模型、无云端扩容、无客户端膨胀,仅靠已有信号的确定性逻辑完成。

这是EmoPulse的模式:提取、推导、交付。团队复用同行评审方法——Giannakakis等人的rPPG去噪、MediaPipe的面部网格、语音韵律的开源基线——而非从头训练。速度来自组合,而非发明。

创始人把这次经历写进博客,标题带着自嘲:《四小时上线活体验证改变一切》。改变的不是技术深度,是决策框架:当资源受限,先问"手里有什么",而非"理想方案是什么"。

为什么这件事值得技术人注意

第一,信号复用的边际成本趋近于零。47个信号已经在飞,加三条规则几乎不增加计算负载。对比训练专用活体检测模型——数据标注、边缘部署、跨设备校准——性价比差异悬殊。

第二,确定性逻辑的可解释性碾压黑箱模型。扣0.3分的规则能逐条审计,ML模型的"活体置信度0.87"却难以拆解。在金融、医疗等合规敏感场景,这是硬通货。

第三,速度本身就是产品壁垒。从投资人提问到代码上线4小时,这种响应节奏在身份验证赛道罕见。多数供应商的活体方案需要季度级 roadmap。

但局限同样明显。验证集仅20个样本,3名受试者,种族、年龄、光照多样性未知。0.2的裕度在真实攻击者面前可能迅速蒸发——专业欺骗者会针对这三条规则设计绕过。

创始人没回避这点:"我们不是在造堡垒,是在关门。"先把最低垂的果实摘了,再决定要不要爬树。

给你的 takeaway

下次被问住技术问题时,先翻日志而非翻论文。你已经生成的数据里,可能藏着答案。

别急着造新模型。把现有信号的交叉关系理清楚,往往够用且更快。

确定性规则的可解释性,在B端销售中是隐形筹码。客户愿意为"能讲清楚为什么拒绝"付溢价。

4小时不是神话,是选择——选择接受不完美,选择先交付再迭代。这在AI基础设施领域,反而是稀缺的执行纪律。