SuperAPI AI 工具集

payment-page-client-security

安全与审计

查看项目

更新于 10-16 06:44

技能介绍

用途:对结账与支付页做一次“支付页证据收集”,不是通用安全清单,也不做 PCI 认证。目标是收集评审者可用的证据:卡数据是否始终不进入商户 JavaScript,支付页脚本是否已知且有正当理由,脚本与响应头的篡改信号是否可观测。

覆盖范围:浏览器/客户端代码、结账页组成、托管支付 iframe/字段、跳转、CSP/SRI/响应头证据、日志、存储、分析、标签管理器、回放工具和支付页脚本监控。不判定法律层面的 PCI 范围、SAQ 资格或是否“PCI 合规”。通用 XSS、令牌存储、开放重定向、非支付场景的 CSP 加固,应先使用 frontend-security-baseline;涉及结账的原生 WebView 桥接消息,可与 webview-bridge-pages 搭配。

主要工作流:1) 判定支付架构(跳转、托管 iframe、托管字段、钱包、商户自建卡表单、已存卡或非卡流程)。2) 划定 PAN 边界,PAN/CVV/CVC 不应进入商户控制的 DOM 输入、框架状态、日志、分析、存储、URL、回放工具、错误上报或遥测。3) 盘点支付路径上实际执行的浏览器代码,包括一方、三方、内联、动态注入、标签管理器、分析、聊天、A/B、回放和支付服务商脚本;package.json 的源码导入不算数。4) 检查授权与正当性证据,每个脚本应有负责人、用途、批准来源和业务/技术理由。5) 检查完整性与防篡改证据,优先使用服务商兼容手段:收窄的 CSP(script-src、connect-src、frame-src、form-action)、一方内联代码的 nonce/hash,仅在字节稳定处使用 SRI,对支付页脚本和安全相关响应头做变更检测与告警。6) 将风险与合规主张分开,仅把发现映射为面向评审的 PCI DSS 6.4.3/11.6.1/SAQ A 信号,范围模糊时升级给支付/安全负责人。

常见误区:认为“用了 Stripe/Adyen/Braintree 就解决了 PCI”,但商户页面脚本仍可能攻击或覆盖嵌入字段;商户控制的 <input> 捕获卡号/CVV,会流入状态、日志、存储、分析、回放和错误报告;支付页默认加载标签管理器、分析、聊天、回放或 A/B,可能注入更多脚本并观测到敏感支付上下文;把 package.json 导入当作脚本清单;CSP 允许清单过宽(https:、*.cdn.com、整个标签管理器源);把 SRI 贴到字节会变化的动态支付服务商脚本上;客户端验证/日志处理完整卡数据;在商户页面脚本影响支付 iframe/表单时假设适用 SAQ A。

可用探测命令(作为线索,需再验证数据流与运行时行为): rg -n -i 'checkout|payment|billing|card(number)?|\bpan\b|cvv|cvc|expiry|stripe|adyen|braintree|paypal|razorpay|square|klarna|checkout.com' src/ pages/ app/ public/ 2>/dev/null

有可运行应用时应收集:包含支付元素的 URL 路由;运行时脚本/iframe 清单(外部脚本 URL、内联脚本数量/hash、交互后动态添加的脚本);安全相关响应头(CSP、frame-ancestors、X-Frame-Options、HSTS,以及静态三方资源的 SRI/crossorigin);存储/日志证据(本地/会话存储、查询参数、控制台日志、分析载荷、错误上报、回放工具中无 PAN/CVV/CVC)。

PCI 证据映射:6.4.3 类证据指支付页脚本经过授权、完整性有保障、有清单并有业务/技术理由;11.6.1 类证据指有变更/篡改检测机制,能对支付页脚本和安全相关 HTTP 响应头的未授权变更告警;SAQ A 信号指即使不直接适用 6.4.3/11.6.1,商户仍需确信站点不易受影响电商系统的脚本攻击,TPSP/支付处理商可能提供部分证据。涉及 PCI DSS、SAQ A/A-EP 或支付页脚本监控时,可参考 pci-payment-page-scope。

提交门槛:只有具体证据才提支付页发现,例如 PAN/CVV/CVC 进入商户控制的 DOM、框架状态、日志、存储、URL 或遥测,或在实际支付路径上观测到运行时脚本/CSP/SRI 缺口,而不是从导入或服务商名称推测。拒绝弱发现:以使用了 Stripe 推断 PCI 已解决、从未在运行时执行的 package.json 导入、未关联支付路径脚本的宽 CSP 说明、对字节预期变化的服务商脚本建议 SRI。最小可用改动:一个 PAN 边界修复、一个支付路径脚本的移除或带负责人与允许清单的正当化、或一个收窄的 CSP/响应头加运行时清单或变更检测产物。

输出形态:支付架构;PAN 边界(商户 JS 能看到/看不到什么,附证据);脚本面(支付路径上的运行时脚本和高风险加载器);风险(可利用的数据流或证据缺失);PCI 证据影响(6.4.3/11.6.1/SAQ 信号,表述为证据缺口);修复(最小前端改动或证据产物);验证(能发现该缺口重现的运行时捕获、响应头检查、回归测试或监控/清单产物)。

限制:本技能不做法律合规判定,不适用于非支付场景的通用前端安全,具体实现细节与命令效果依赖实际项目,资料未提供可用的自动化配置或平台支持信息。