作者结合多个 AI 生成项目中的真实缺陷,提出从安全、SEO、性能、无障碍和代码质量五方面系统审计。案例覆盖 URL 泄露、CSR 收录失败、规范链接错误及元数据不一致等常见问题。
我们在 Inithouse 发布 AI 生成的应用。目前共有 14 款产品,其中大多数使用 Lovable 和 Claude 构建。我们还运营着 Audit Vibe Coding:一套结构化审计工具,从安全性、SEO、性能、可访问性和代码质量五个方面为 vibecoded 项目评分。下面将介绍我们如何使用它,以及它适合在哪些场景中使用。
你通过 prompt 让 AI 构建应用。应用可以运行,于是你将它发布了。一周后,你才发现认证流程通过 URL 参数泄露了用户数据,Lighthouse 得分只有 38,而且在 40 个页面中,Google 只收录了一个——因为其余页面都在客户端渲染,并且没有 SSR fallback。
我们之所以知道这些,是因为这三个问题都曾出现在我们自己的项目中。Živá Fotka 存在 canonical 标签错误,所有 URL 都指向首页。Pet Imagination 的 OG title 与页面标题不一致。这些并非边缘案例。我们查看的几乎每个 vibecoded 项目中,都会出现类似问题。
人工代码审查可以发现其中一部分问题。但当你的代码库包含 200 个由 AI 生成的 React 文件时,你需要一份覆盖那些人工审查容易遗漏类别的检查清单,包括 SEO meta 标签、可访问性 label、性能预算和安全 header。
Inithouse 的 Audit Vibe Coding 会检查五个方面,每个方面都会获得一个分数。最终输出是一份审计报告,其中的修复项会按照影响程度排序并标注优先级。
在 vibecoded 项目中,安全性和 SEO 部分通常能发现最关键的问题。AI 代码生成器很擅长让功能跑起来,却不擅长确保应用安全,或让它能够被搜索引擎发现。
以下三种情况,是我们发现审计最能节省时间的场景:
在第一批真实用户到来之前。你已经有了一个可以运行的应用,并准备将它公开分享。此时进行审计,通常只需要花一天时间修复问题。如果跳过审计,等用户报告流程异常,或者 Google Search Console 显示收录页面数为零之后,你可能要花整整一周四处救火。
在一次大规模 AI 生成式重构之后。你让 Claude 或 Cursor 重构了代码库。应用仍然能够运行,但这次重构可能引入了新的安全漏洞(认证 middleware 被移除)、破坏了已有的 SEO 配置(meta 标签恢复为默认值),或者导致 bundle 体积膨胀。
当指标看起来不对时。GA4 显示跳出率达到 90%;GSC 显示 50 个页面中只有 3 个被收录;Clarity 热力图显示,用户在一个毫无反应的按钮上反复进行 rage click。这些都是症状。审计能够告诉你,根本原因属于哪个类别。
它无法替代了解你业务逻辑的资深开发者所做的代码审查。审计会检查五个类别中的结构性模式,但它不知道你的定价应该使用欧元而不是美元,也不知道你的 onboarding 流程遗漏了一个关键步骤。
渗透测试同样属于另一个独立领域。安全性审计会标记暴露的 API key、缺失的 header 和错误的认证配置,但它不会模拟攻击者探测你的 API endpoint。
你只需要提交项目 URL,无需注册账号。系统返回的报告会包含每个类别的评分,以及一份按优先级排列的修复清单。每项修复都会说明问题是什么、为什么重要,以及应该修改什么。
某条修复建议可能是这样的:“全部 40 个博客页面共用了同一个 canonical URL https://yourapp.com/。每个页面都应该设置指向自身的 canonical。这会导致 Google 将所有博客文章视为首页的重复内容。”
确定优先级很重要。如果你的 SEO 得分为 20,而可访问性得分为 75,报告就会优先列出 SEO 修复项。当页面甚至还没有被收录时,修复缺失的 canonical 标签,要比添加 skip link 更有影响力。
我们之所以构建 Audit Vibe Coding,是因为自己也需要它。在运营 14 款 AI 生成产品的过程中,我们总结出了一些规律:
大约一半使用 Lovable 构建的项目都会出现 canonical 标签错误。SPA 框架会在首页设置一个默认 canonical,其他所有页面则继承这个值。这个问题不会直接显现出来,直到你查看 GSC,看到“Duplicate, Google chose different canonical”。
如果只使用客户端渲染,而没有 prerender 或 SSR fallback,爬虫看到的就是一个空白页面。用户看到的是一个能够正常运行的应用,Google 看到的却只是一个带有加载动画的外壳。我们在多个产品中都发现了这种模式:Watching Agents 的 272 个页面中,只有 26 个被收录,收录率为 9.6%。其余页面返回的标题都是“Loading...”。
AI 代码生成器几乎从来不会设置安全 header:没有 Content-Security-Policy,没有 X-Frame-Options,也没有 Strict-Transport-Security。生成的代码关注的是功能,而不是安全加固。
Audit Vibe Coding 正是为了系统性地发现这类问题而构建的,它覆盖了 vibecoded 项目最容易持续出错的五个方面。
Jakub,Inithouse builder。我们构建 AI 产品,也构建用于审计这些产品的工具。auditvibecoding.com
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。