我如何发现 16.7% 的 Stripe 收入绕过了欺诈检查(并构建了解决方案)

发布: (2025年12月28日 GMT+8 18:21)
3 min read
原文: Dev.to

Source: Dev.to

背景

上周,一位朋友的 SaaS 业务(约 $50 k ARR)因一次卡片测试攻击被 Stripe 突然封禁。
Stripe Radar 已经开启,所以我们以为已经安全。

问题

在深入交易日志时,我发现了一个默认配置的“盲点”,这可能影响许多 Indie Hacker。

欺诈负载模式

所有欺诈交易共享以下 JSON 结构:

{
  "billing_details": {
    "address": {
      "city": null,
      "country": null,
      "line1": null
    }
  },
  "payment_method_details": {
    "card": {
      "checks": {
        "address_line1_check": null,
        "address_postal_code_check": null
      }
    }
  }
}
  • 未收集地址 – 使用 Stripe 默认 Checkout(尤其是 Apple Pay 或 Link)时,为了最大化转化率,常常省略账单地址。
  • 无 AVS – 没有账单地址,Stripe 无法进行地址验证服务(AVS)检查。
  • Radar 失明 – 大多数默认 Radar 规则依赖位置不匹配(例如,“IP 地址与账单地址不匹配”)。如果没有账单地址,这些规则就会被跳过。

我把这些称为 “幽灵交易”(Ghost Transactions)。它们对你的主要防御层是不可见的。

影响

对我自己的 Stripe 历史进行快速审计后发现,16.7 % 的交易是幽灵交易。换句话说,四分之一的收入在盲区中飞行。如果卡片测试者针对我,Radar 在出现争议之前是不会拦截的。

审计选项

选项 1 – 手动检查

  1. 打开 Stripe 仪表盘 → Payments。
  2. 将鼠标悬停在卡片详情上。
  3. 如果看到 “No address provided” 且 AVS 检查显示 “Unavailable” 或 “Unchecked”,则说明存在风险。

选项 2 – 自动审计工具

我不想每周都手动检查,于是构建了一个终端风格的工具,自动扫描此类漏洞。

GhostAudit

  • 审计 – 通过受限只读密钥扫描最近的 100 笔交易。
  • 可视化 – 显示你的精确 “幽灵率”(风险暴露)。

👉 在此检查你的风险暴露:
前 100 次扫描免费。不要等到封禁锤落下才验证你的设置。

Back to Blog

相关文章

阅读更多 »