Indie Hackers · Newest9/3 21:1268精选

支付路径五轮对抗审查:每个缺陷都藏在上一轮修复中

Five rounds of adversarial review on a payment path, and every bug lived in the previous fix

阅读原文

推荐理由:AI 写支付代码,测试全绿也可能藏雷。五轮对抗审查揭示:每轮修复都引入新缺陷。值得看,尤其对用 AI 做资金相关产品的开发者,能直接抄走'并发回读+双连接竞争'的验证思路。

作者不手写代码,而是指导AI构建,并反思了在涉及资金流动的产品中,AI编码带来的保护局限。他们有一个退款路径,测试套件通过且演示正常,但经过五轮对抗性审查,每轮都发现真实缺陷,且每个缺陷都隐藏在上一轮修复中。修复仅对测试用例正确,对相邻情况则出错,如银行退款失败、webhook重复投递、失败后重试成功等。单元测试无法发现这些问题,因为它们只断言已想到的情况。真正有效的措施包括:第二位审查者假设修复有误并主动寻找;在并发下读取数据库状态而非信任函数返回值;用两个连接竞争测试资金路径。最终收敛的关键不是更聪明的代码,而是拒绝将“测试通过”视为资金正确的证据。作者提醒,涉及资金且非手写的代码,一轮审查不够。