基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-22 20:26

小应用六轮审查,暴露 AI 开发验收盲区

dev.to · AI#AI编程#代码审查#Cloudflare
Editor brief · 编辑速览

一款主要由 AI Agent 编写的预约补位应用,在独立审查中发现页面无法交互、服务端信任表单参数、密码哈希配置超限等问题。作者让另一名 AI 审查者以只读权限检查代码与线上站点,并开展多轮审查。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

一个准备交给宠物美容店使用的小应用,第一次独立审查就查出 29 个代码问题,以及 13 项法律或隐私风险。作者亲自开发,AI agents 承担了大部分代码输入,原以为已经接近完工。

SlotSaver 经历了六轮审查,作者最后得到的教训很直接:修复者不能只凭自己的报告宣布完成。对使用 AI 编程的程序员,这篇最有用的是一组具体失败案例:测试全过、函数存在、页面能打开,都可能掩盖尚未解决的问题。

页面能打开,为什么应用仍然不能用

SlotSaver 的流程很简单:宠物美容店出现预约取消后,系统寻找同意接收消息的客户,准备一条 WhatsApp 文本,店主点一下发送。应用运行在 Cloudflare 免费计划上,作者称托管没有费用。

但第一次审查发现,连这条短链路都存在几个断点。

作者配置的安全策略禁止浏览器执行内联脚本,而 SvelteKit 每个页面启动时都需要一个内联脚本。结果是页面看得见,交互却没有启动。安全配置单独看似乎合理,放进实际框架里就发生了冲突。

发送按钮则直接信任表单传来的电话号码和消息正文。问题不在按钮是否响应,而在服务端是否应该接受客户端提交的这两项内容。原文没有展开具体攻击过程,也没有说明最终如何修复。

登录还有平台限制:密码哈希配置要求的迭代次数超过平台允许范围,可能导致服务器错误。作者没有给出具体迭代次数,不能据此推导适用于 Cloudflare 的参数配置。

这几个问题分别落在浏览器、服务端信任边界和运行平台上。只检查组件代码,覆盖不了完整使用过程。

六轮审查,为什么不能合并成一次

作者使用了一个独立于开发 agent 的 AI 审查者。它只有只读权限,可以阅读代码、测试线上站点,不能修改文件或部署。

后续几轮暴露的问题,恰好说明修复本身也会引入新的遗漏:

  • 第二轮发现 Exit 按钮没有真正退出登录。作者在第一轮后改了 session cookie 的名称,退出代码仍然删除旧名称,而当时所有测试都通过了。
  • 第三轮发现,因隐私原因删除的客户,会在下一次 Excel 导入时重新出现。删除动作成功,不代表后续数据流会尊重这次删除。
  • 第四轮发现,10:00 的预约在消息里变成了 09:00。原文没有说明具体原因,不能直接认定是哪一种时区处理错误。

作者给审查者保留了一条固定指令:先读之前的报告,了解哪些问题被宣称已经修复,再亲自检查代码和线上站点。

这条指令抓到了一个很典型的漏洞。修复报告声称 webhook 已验证签名,代码里也确实有验证函数,但没有任何地方调用它。审查者发送未签名请求,依然得到成功响应。

函数存在,只能证明代码写过;请求被正确拒绝,才能证明这条防线实际生效。

各轮之间,作者持续修复问题,自动化测试从 34 个增加到 105 个。第六轮之后,另一个独立会话又使用假数据执行了 61 个验收场景。不过,这篇没有披露验收结果细节,也没有逐项介绍第五、第六轮的发现。

我的判断

这套做法最有价值的地方,是把审查者的任务从「读懂修复说明」推进到「验证修复声明」。先前报告提供检查线索,代码和运行结果提供证据。只读权限则让审查职责更清楚:发现问题、复现问题,再交回开发环节修复。

但它仍然是一个小应用的经验记录。作者没有提供人工审查、同一 agent 自查、独立 AI 审查之间的对照数据,也没有披露模型、提示词全文或审查成本。因此,不能据此断言独立 AI 一定更可靠,更不能把「六轮」当成通用交付标准。

测试从 34 个增至 105 个,也不等于质量按比例提高。退出登录的例子已经说明,关键行为如果没被断言,测试全绿仍会漏掉问题。对一般团队,更值得借鉴的是围绕实际失败补回归检查,而不是追求测试数量。

另外,第一轮报告里的 13 项法律或隐私风险并未展开。它们是待核查的风险清单,原文不足以支持「已经确认违法」或「已经满足合规要求」这样的判断。

能拿来做什么

  • 给 AI 编程任务增加独立复核环节,让审查会话读取历史问题和修复声明,再检查当前代码与实际运行结果。
  • 为退出登录这类关键操作检查最终状态,例如原来的 session 是否失效,而不只检查接口是否返回成功。
  • 把跨流程问题纳入回归检查:删除客户后重新导入 Excel,确认数据不会恢复;生成消息后核对预约时间是否一致。
  • 检查 webhook 验签时直接发送未签名请求,验证它是否被拒绝,同时确认验签函数确实接入请求处理路径。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
AI 改错字段,为什么测试与 CI 全绿
下一篇
多 Agent 审完架构方案,仍漏了产品目标

资讯速览

dev.to · AI · 2026-10-22 20:26

AI 评分 8.0 / 10

相关标签

#AI编程#代码审查#Cloudflare

继续阅读

  • Agent 权限控制应细化到每次工具调用
  • AI 改错字段,为什么测试与 CI 全绿
  • 多 Agent 审完架构方案,仍漏了产品目标
  • 72 次实测拆解 Blender MCP 用量成本
  • 用搜索竞态测试 AI 写码能力