这个网站是 vibe coding 做的吗?看看是哪个 AI 构建工具
粘贴网址。如果我们找到 Lovable、Bolt.new、Base44、v0、Replit、Bubble、Softgen、Same.new、Anything (Create.xyz)、Tempo Labs 或 Firebase Studio 的可靠标记,就会说出构建工具并展示这个标记。较弱的线索不够,所以对有些网站我们会保持沉默:宁可不说名字,也不说错。然后检查这类网站常见的问题:泄露的密钥、缺失的安全响应头、搜索引擎看到的空页面。免费,无需注册。
免费,无需注册。基础检测只发送普通浏览器会发送的请求。
一个网址能告诉你什么
- 提示免费检测
构建工具——以及暴露它的标记
lovable.app 上的地址、Bolt 的徽章脚本、v0 的 generator 标签、Replit 的模板描述、Bubble 的响应头:如果我们找到可靠的标记——不可能来自别处的标记,或两个相互独立的标记——就说出构建工具并展示看到的标记。较弱的线索单独不够,所以在你手动能发现蛛丝马迹的地方,我们也可能保持沉默。我们不猜。
- 严重免费检测
公开 JavaScript 中的密钥
这些构建工具让你很容易直接在页面里调用 OpenAI、Stripe 或 Supabase——也很容易把密钥一起发出去。我们在页面及其脚本中查找已知的密钥格式,并以打码形式展示找到的内容和所在文件。
- 严重Pro
任何人都能读取的 Supabase 表
大多数 Lovable 应用和许多 Bolt 应用都运行在 Supabase 上,表是否私密取决于 Row Level Security。在你已验证归属的域名上,我们统计每张表能用公开密钥读到多少行——从不读取内容。
- 中免费检测
没人添加的安全响应头
大多数 AI 生成的网站都只用托管平台的默认设置。我们会列出缺少哪些防护:Content-Security-Policy、HSTS、点击劫持防护。
- 低免费检测
搜索引擎拿到的是空壳
许多构建工具生成的是单页应用:在 JavaScript 运行之前只有一个空的 <div id="root">。我们在原始 HTML 和真实浏览器渲染后的页面里分别检查标题、描述和链接预览。
自己动手检查
这些是你可以手动查找的线索;扫描器只在看到不可能来自别处的标记、或两个相互独立的标记时才说出构建工具,所以在你找到线索的地方,它也可能保持沉默。
查看页面源代码
在网址前加上 view-source:,用 Cmd/Ctrl + F 在页面中搜索下列字符串——它们来自构建工具自己的模板、脚本和徽章。地址本身也是线索:*.lovable.app、*.bolt.host、*.base44.app、*.replit.app、*.bubbleapps.io 和 *.created.app 都属于构建工具本身。Firebase Studio 和 Anything 的模板标题和描述只有同时出现才算数:两者都未改动时,扫描器才会说出构建工具,仅凭描述不会。Bolt 的默认预览图只是给你的线索:任何页面都可以引用它,所以扫描器不会凭它说出 Bolt。
view-source:https://example.com Lovable /__l5e/ Lovable gpt-engineer-file-uploads Bolt bolt.new/badge.js Bolt bolt.new/static/og_default.png v0 name="generator" content="v0.app" Replit replit-dev-banner.js Replit replit-pill Base44 base44_access_token Bubble bubble_session_uid Firebase <title>Firebase Studio App</title> Firebase Generated by Firebase Studio Anything <title>Anything App</title> Anything Created with Anything Softgen cdn.softgen.ai/script.js Same same-runtime Tempo tempo-public-assets/error-handling.js
查看响应头
有些构建工具会在响应里署名。Bolt 在 bolt.host 地址上添加 x-powered-by: Bolt.new;Bubble 即使在自定义域名上也会发送 x-bubble-perf 和 x-bubble-capacity-*。以 :studio 结尾的 cache-tag 指向名为 studio 的 Firebase App Hosting 后端——正是 Firebase Studio 创建的那个——但这只是给你的线索:扫描器不会凭它说出构建工具。响应头里的 Vercel、Netlify 或 Cloudflare 只说明托管平台,不说明构建工具。
curl -sI https://example.com | grep -iE '^(x-powered-by|x-bubble|cache-tag)'
手动检查域名的 DNS
绑定自定义域名会留下记录。_lovable.<域名> 上的 TXT 记录或地址 185.158.133.1 指向 Lovable;replit-verify= 的 TXT 记录指向 Replit;指向 base44.onrender.com 的 CNAME 指向 Base44。扫描器本身凭地址 185.158.133.1 说出 Lovable;replit-verify 只有和 Replit 的地址 34.111.179.208 同时出现时,才会让它说出 Replit。_lovable 上的 TXT 记录和指向 Base44 的 CNAME 只是给你的线索:记录可能比当初的网站活得更久,所以要和页面本身对照确认。
dig +short TXT _lovable.example.com dig +short A example.com dig +short TXT example.com | grep replit-verify dig +short CNAME www.example.com
搜索应用自己的脚本
打开 DevTools → Sources,刷新页面,然后一次搜索所有已加载的文件(Cmd/Ctrl + Option/Alt + F)。这些字符串位于应用自己的打包文件中,因此常常在自定义域名下、甚至换了托管平台后依然存在。Lovable 的那个只出现在使用 Supabase 或 Lovable Cloud 的应用里。博客的打包文件可能在文章里引用这些字符串,所以扫描器只有在还有第二个标记时,才凭它们说出 Lovable 或 Base44;对 Tempo,它找的是定义 TempoDevtools 的代码,而不是这个词本身。
Lovable lovable-preview-auth Base44 base44SharedInstances Tempo TempoDevtools
什么都没找到?这什么也证明不了
徽章可以隐藏,模板文字可以修改,项目可以导出到任何托管平台——而用 Cursor、Claude Code 或 Copilot 写的代码根本不会留下平台特征。为生产环境构建之后,人写的代码和 AI 写的代码看起来一样;没有任何工具能诚实地区分它们。
修复方案交回给构建工具
每份报告最后都有一段写给 AI 构建工具的提示词:哪里有问题、在什么位置、如何确认修复生效。把它粘贴到 Lovable、Bolt、v0 或 Replit Agent——或者 Cursor。
修复 myapp.bolt.host 上的这些问题。修改任何内容前先定位每个问题。 1. assets/index-5b0c.js 中有 OpenAI API 密钥(sk-proj-…7fQ2)。 在 OpenAI 控制台吊销它,把调用移到服务端函数中,并在那里从环境变量读取密钥。 2. 原始 HTML 中没有 meta description。 在 index.html 中添加 description 和 Open Graph 标签,让它们在 JavaScript 运行前就存在。 完成后重新检测:https://scanyoursite.app/zh?check=myapp.bolt.host
每个提示词都是一次新部署
AI 构建工具一次就能重写半个应用。使用 Pro,我们会发现每个新版本,在几分钟内完成检测,只在出现新问题时通知你——通过 Telegram、邮件,或发到 Slack 和 Discord。
查看方案常见问题
你们能判断代码是不是 AI 写的吗?
不能——而且没有人能从外部诚实地做到。经过构建和压缩用于生产之后,人写的代码和 AI 写的代码看起来一样。我们不给出“AI 概率”。只有找到可靠的标记,我们才说出构建工具,并告诉你是哪个标记。
没找到构建工具——那就是手写的吗?
不一定。一个网站可以用 AI 做成却不带任何特征:徽章被隐藏、模板文字被修改、项目被导出到别的托管平台,或者代码是用 Cursor、Claude Code 或 Copilot 写的,它们不会在网站上留下任何东西。没说出名字只说明一件事:我们没找到可靠的标记。
能识别哪些构建工具?
Lovable、Bolt.new、Base44、v0、Replit、Bubble、Softgen、Same.new、Anything (Create.xyz)、Tempo Labs 和 Firebase Studio。有些标记在自定义域名下依然存在;有些只出现在构建工具自己的地址上,比如 *.bolt.host。对于 Bubble 和 Replit,标记证明的是平台,而不是应用由它们的 AI 编写。
可以检测不属于我的网站吗?
可以。免费检测是被动的:它请求页面、脚本、robots.txt、站点地图、DNS 和证书——和浏览器或搜索引擎爬虫获取的内容一样——并以 ScanYourSiteBot 的身份标明自己。更深入的探测,比如 Supabase 表检测,只在所有者已验证的域名上进行。
这是我的网站,我不希望被检测。
在 scanyoursite.app/bot 输入你的域名即可。立即生效,无需账号;同一页面还列出了我们的机器人会请求什么,以及它发送的 User-Agent。
多少钱?
检测免费,无需注册。带每次部署后检测的监控每月 $19 / €19 起,含三个站点。
粘贴网址,大约一分钟拿到清单。
每条发现都会说明它对你意味着什么、该如何修复——或者给你一段 AI 编程工具可以直接执行的提示词。
免费,无需注册。基础检测只发送普通浏览器会发送的请求。