防滥用与验证码安全

验证码是一个秘密。 我们也如此对待它。

集成语言:
Cursor

一次性验证码的安全性取决于其生成、存储和速率限制的方式。Bird Verify 使用加密随机源生成验证码,仅存储哈希值,采用恒定时间比较,并对发送次数和猜测次数设置上限——因此即使日志泄露或遭受暴力破解,攻击者也无从得手。欺诈评分将在此基础上进一步构建。

verify.ts
200 · pending
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({
  apiKey: process.env.BIRD_API_KEY!,
});

// Send the code, then check it by recipient.
await bird.verify.verifications.create({
  to: { phone_number: "+15551234567" },
}).safe();

const { data, error } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: userInput,
}).safe();
if (error) throw error;

安全性默认启用,无需额外购买。

Bird Verify API 上的每次验证都具备相同的安全保护:验证码在服务器端生成,不会返回给客户端,且仅以哈希形式存储;校验采用恒定时间执行,并受限于尝试次数预算;发送次数按接收方和工作空间分别设限。这些无需手动启用或额外配置——无论您将其用于双因素登录还是免密登录,API 始终如此运行。

每次验证均具备五重保护。

无需设置步骤,无需额外购买。

  1. 01

    加密随机生成。

    验证码源自加密随机源,在整个码空间内均匀分布,而非可预测的计数器或时间戳。

  2. 02

    静态哈希存储,明文永不外传。

    仅存储每个验证码的 HMAC-SHA256 哈希值;明文永远不会通过 API 返回,也不会写入您的系统或我们的日志。

  3. 03

    恒定时间比较。

    提交的验证码采用恒定时间比较,攻击者无法从验证耗时中获取任何信息。

  4. 04

    尝试次数锁定。

    每个会话的验证次数有限(默认 5 次)。次数用完后会话即失败,暴力猜测无法无限进行。

  5. 05

    发送上限。

    按接收者的发送上限和重发冷却时间共同限制支出和攻击面,超限时返回 429 状态码及 Retry-After 头。

攻击者的尝试次数先于您的用户耗尽。

A wrong code comes back with the attempts remaining, and the session fails once the budget is spent, so a brute-force loop hits a wall long before it finds the code.

lockout.ts
200
const { data, error } = await bird.verify.verifications.check({
  to:   { phone_number: "+15551234567" },
  code: guess,
}).safe();
if (error) throw error;

// wrong code, attempts left → { success: false, reason: "incorrect_code", attempts_remaining: 2 }
// budget spent, session done → { success: false, reason: "attempts_exhausted", attempts_remaining: null }
即将推出

即将推出:欺诈信号与 SMS 泵送攻击防护。

Verify 目前记录的每次发送历史,正是我们正在构建的欺诈防护层的基础。它基于相同的 create 和 check 调用,因此后续启用只需更改配置,无需重新集成。

创建时的风险信号。在验证请求中传入设备、IP 和请求上下文,高风险尝试将在验证码发送之前直接被拦截——您无需为向攻击者发送消息而付费。

SMS 泵送与 AIT 防护。按国家和号段前缀的发送上限,加上按工作空间的消费上限,可阻止人为虚增流量攻击——这种攻击将 OTP 发送至高费号段以获取运营商收入分成。

基于已有基础构建。风险决策读取 Verify 从第一天起就保留的尝试历史,而拦截结果已经是状态模型的一部分,因此欺诈防护层的上线无需改动您的现有集成。

验证码的生成、存储和速率限制,一切如其所应。

安全性内置于 Bird Verify,而非额外附加:渠道、验证码和限制规则,都通过同样的两个端点实现。

从一个渠道开始。
准备好后,再添加其他渠道。

测试 API 密钥即刻可用。添加支付方式并验证发送者身份后,即可解锁生产环境。

正在使用 Claude Code、Cursor 或 Codex?复制一条设置提示,您的智能代理即可自动安装 Bird CLI 和相关技能。选择您的工具:

Cursor