我如何发现 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 – 手动检查
- 打开 Stripe 仪表盘 → Payments。
- 将鼠标悬停在卡片详情上。
- 如果看到 “No address provided” 且 AVS 检查显示 “Unavailable” 或 “Unchecked”,则说明存在风险。
选项 2 – 自动审计工具
我不想每周都手动检查,于是构建了一个终端风格的工具,自动扫描此类漏洞。
GhostAudit
- 审计 – 通过受限只读密钥扫描最近的 100 笔交易。
- 可视化 – 显示你的精确 “幽灵率”(风险暴露)。
👉 在此检查你的风险暴露:
前 100 次扫描免费。不要等到封禁锤落下才验证你的设置。