找出你的网站白白送出去的 API 密钥

前端里的一切都会被每位访客下载——包括你为了让某个功能跑起来而粘贴进去的密钥。我们扫描页面及其加载的脚本,查找已知的私密密钥格式,并告诉你它们在哪里。

免费,无需注册。基础检测只发送普通浏览器会发送的请求。

查看完整示例报告

我们能识别的密钥

自己动手检查

陌生人能拿到的每个文件,你的浏览器里都已经有了。下面是手动搜索它们的方法。

  1. 打开页面加载的所有内容

    打开你的线上网站,然后打开 DevTools → Sources(Chrome、Edge)或 Debugger(Firefox)。刷新页面,让所有脚本都列出来。

  2. 在所有文件中搜索密钥前缀

    Cmd/Ctrl + Option/Alt + F 可以一次搜索所有已加载的文件。逐个试试下面这些前缀;一旦匹配,就值得仔细看看。

    sk_live_      Stripe 私密密钥
    rk_live_      Stripe 受限密钥
    sk-proj-      OpenAI
    sk-ant-       Anthropic
    AKIA          AWS 访问密钥
    ghp_          GitHub 令牌
    github_pat_   GitHub 细粒度令牌
    xoxb-         Slack 机器人令牌
    SG.           SendGrid
    service_role  Supabase(解码 JWT)
    sb_secret_    Supabase secret 密钥
    -----BEGIN    私钥
  3. 检查你的构建暴露了哪些变量

    框架会有意把带有这些前缀的变量打包进浏览器端代码。放在其中任何一个前缀下的密钥都是公开的。

    NEXT_PUBLIC_   Next.js
    VITE_          Vite, Lovable, Bolt
    REACT_APP_     Create React App
    PUBLIC_        Astro, SvelteKit
    EXPO_PUBLIC_   Expo
  4. 发现了?先吊销

    假定它已经被复制。在服务商的控制台吊销或轮换它,然后把调用移到服务端函数中,重新部署,再搜索一遍。

密钥泄露了怎么办

先吊销,再把调用移到服务端。报告里的提示词会逐个文件地这样告诉你的 AI。

修复 shop.example 上的这些问题。

1. assets/chat-91b.js 中有 Anthropic API 密钥(sk-ant-…x7Q)。
   在 Anthropic 控制台吊销它,把 API 调用移到服务端接口中,并在那里从环境变量读取密钥。

完成后重新检测:https://scanyoursite.app/zh?check=shop.example

密钥会回来

一次 AI 修改就可能把密钥又粘贴回去。开通 Pro 后,每次新部署都会在几分钟内接受密钥检测。

查看方案

常见问题

你们会存储找到的密钥吗?

不会。报告中的密钥都打码显示——只有类型、开头和结尾的几个字符,以及所在文件。

从代码里删掉密钥就够了吗?

不够。一旦公开过,就当它已被复制:去服务商那里吊销它,再创建一个新的。

会扫描我的代码仓库吗?

不会——我们检测的是线上站点。攻击者看到的就是它。

Vibe Coding 开发者

粘贴网址,大约一分钟拿到清单。

每条发现都会说明它对你意味着什么、该如何修复——或者给你一段 AI 编程工具可以直接执行的提示词。

免费,无需注册。基础检测只发送普通浏览器会发送的请求。