教程

Voice Call 插件与 webhook 安全:从可用到可控的最小清单

聚焦 Voice Call 场景的 webhook 安全控制,避免被重放、伪造和滥用调用。

先看目标

这页不是教你“接通语音”,而是教你“接通后不被乱打”。
Voice Call 的风险主要集中在 webhook 入口。

参考:

上线前最小安全清单

  1. 请求签名校验必须开启
  2. 签名时戳必须校验有效窗口
  3. 同一请求 ID 只能消费一次
  4. webhook 来源地址要限制
  5. 异常请求要落审计日志
  6. 通话触发动作要做权限分级

执行步骤

第 1 步:签名与时戳

  1. 校验签名算法和密钥版本
  2. 校验时间偏移窗口(建议分钟级)
  3. 时间超窗请求直接拒绝

第 2 步:防重放

  1. 为每次回调记录唯一请求 ID
  2. 已处理 ID 进入短期缓存
  3. 命中重复 ID 直接拒绝并记审计

第 3 步:权限与动作隔离

  1. 语音触发只允许低风险动作
  2. 高风险动作需要二次确认
  3. 通话与管理命令分离,不共享入口

验收标准

  1. 伪造签名请求全部被拒绝
  2. 重放同一请求 ID 触发拦截
  3. 无来源信息的请求全部被拒绝
  4. 审计日志能追溯每次拒绝原因

常见故障

  1. 症状:合法请求被拒绝
    动作:检查时区和时间窗口配置

  2. 症状:请求偶发重复执行
    动作:检查请求 ID 缓存失效时间和多节点共享策略

  3. 症状:高峰期误拒绝上升
    动作:检查签名验证顺序与网关超时策略

下一步

继续看: