未经同意,绝不扫描

AI 打造的 Web 应用,上线之前
为你做一次精密检查

扫描器看的是源代码。可事故偏偏出在已部署的东西上——被打包进浏览器的 API 密钥、外部可下载的数据库连接信息与转储、没有认证的 API。我们看的是部署后的实况,并且把没能确认的项也一并写下来。

400+在约 1,400 个已上线 vibe-coding 应用中发现的暴露机密(API 密钥、令牌)
175同一扫描中暴露的个人信息(PII)——含银行账户等敏感数据
45%AI 生成代码中含 OWASP Top 10 安全漏洞的比例

来源:Escape.tech — State of Security of Vibe Coded Apps(2025,约 1,400 个应用,2,038 个严重漏洞)· Veracode 2025 GenAI Code Security Report(100+ LLM)· 行业数据,并非您应用的实测值

🔒 我们坚守的一个承诺

在您证明自己掌控该域名之前,我们什么都不扫描。不是勾选“我同意”,而是只有您才能完成的证明。别人无法填上您的域名来发起检查。

SSH 内部检查仅在您另行明确请求并授予访问权限时才进行。结果只交给您,绝不对外发布。发现的敏感值只保留指纹,不保存原文。

HOW IT WORKS

三个步骤,关键在第二步

第二步——同意证明——正是让本服务安全的关键。

1

告诉我们域名

输入要检查的 Web 应用地址,我们会签发一个只绑定您本次请求的唯一令牌。

2

证明掌控权

把令牌放到 /.well-known/star365-audit-consent.txt,或加为 DNS TXT 记录。能把令牌放在那里,本身就证明了您是该域名的主人。

3

检查并交付凭证

仅在核实令牌后才检查。通过、失败(注意/危险),以及无法确认的项,都写进不可伪造的凭证。

TRY IT

现在就试试同意流程

真正的检查在我们的服务器上运行,但请求与令牌流程您可以在这里直接体验。

star365 部署检查窗口
本页面不会进行任何真实扫描。因为从浏览器去探测他人服务器本身就有风险。真正的检查只在确认同意后、于我们的服务器上运行。

WHAT WE CHECK

我们检查的 20 项

本列表由检查引擎声明的项目直接生成,并非手工撰写 — 引擎变动,本表随之变动。每项只有三种判定:通过、失败、无法确认。

可达性

站点是否响应。读不到就不判定其余项。

reachable

客户端密钥

发送到浏览器的 HTML/JS 中是否夹带 API 密钥等机密。

client_secrets

源映射暴露

公开的源映射(.map 或内联 data-URI)是否让人从打包文件还原出原始源码——即便包里没有密钥,定价逻辑、内部流程甚至注释也会暴露。这正是外部逆向工程的目标。

source_maps

暴露的敏感路径

.env、.git 等敏感路径是否可从外部访问。

exposed_paths

安全响应头

是否设置了 CSP、HSTS 等四项主要安全响应头。

security_headers

soft-404

不存在的地址是否返回 200 — 机器会把拼错的 URL 当成真实页面。

soft_404

Cookie 安全属性

HTTPS 站点是否存在缺少 Secure 的 Cookie — 可能通过明文请求泄露。

cookie_flags

robots 自我屏蔽

robots.txt 是否对所有爬虫屏蔽了这个公开页面。没有该文件属于正常。

robots_sanity

无 JS 正文

不执行 JavaScript 时收到的 HTML 是否已有正文 — 爬虫与链接预览不跑 JS。

server_rendered_body

运行时控制台错误

用真实浏览器打开,查看控制台是否报错。

runtime_errors

损坏的资源

脚本、图片等资源是否加载失败。

broken_assets

混合内容

https 页面是否加载 http 资源。

mixed_content

实际渲染

页面是否真的渲染出内容 — 返回 200 也可能是白屏。

renders_content

移动端横向溢出

窄屏下是否出现横向滚动。

mobile_overflow

失效内部链接

跟踪页面内部链接,确认是否真的能打开。

internal_links

可读性

在实际渲染的页面上测量字号与对比度 — 最小 12px,WCAG AA(正文 4.5:1、大字 3:1)。无法确定背景时不作判定。

readability

内网地址调用

公开页面是否调用 localhost 或内网 IP — 开发用 API 地址留在线上,访客那边都会失败。

private_network_calls

无认证 API 数据

常见 API 路径是否无需登录就返回用户信息(邮箱、电话等)列表 — 仅用 GET 检查,不保存任何值。

open_api_data

Supabase RLS

如果前端包里带有 Supabase 地址和 anon 密钥,则用匿名密钥对包中已调用的每张表各发一次 GET,检查 RLS 是否开启。不读取行的值,只看列名。

supabase_rls

软件版本泄露

检查 Server、X-Powered-By 响应头或 generator 标签是否暴露了 nginx/1.24.0 这样的版本号。版本本身不是缺陷,但会给攻击者提供线索。我们不判断它是否存在漏洞。

version_disclosure

SAMPLE REPORT

凭证长这样

一份真实检查示例。不只展示通过项——还写明没能查看的项和需要修复的项。

example-app.com 2026-09-19 · 外部检查(同意已验证)
example-app.com 2026-09-19 · 内部检查(SSH 同意)
每一项判定为通过 / 失败 / 无法确认三种之一,失败项附带严重度(注意/危险)。不把“无法确认”伪装成通过正是这份凭证的核心——免费扫描器的绿灯之所以危险,原因就在这里。

WHY US

为什么免费扫描器还不够

Snyk、Semgrep 的免费版很出色,但它们看的是源代码。

免费扫描器(基于源码)

  • 源码中已知的脆弱模式
  • 依赖项 CVE
  • 止于“发现 N 处”——不告诉你漏掉了什么
  • 看不到部署产物与运行时配置

我们(基于部署实况)

  • 打包进浏览器的密钥——看实际对外提供的内容
  • 外部可下载的数据库转储与敏感路径——真的去请求
  • 把没能确认的项明确标为“无法确认”
  • 获同意后进行 SSH 内部检查——权限、防火墙、配置

FAQ

常见问题

为了让人和 AI 回答引擎读到相同的答案,我们把常见问题原样放在这里。

你们检查什么?

不是源代码,而是部署后的实况。被打包进浏览器的 API 密钥、泄露的数据库连接信息、无认证的 API——我们还会用真实浏览器打开,查看控制台报错、失效资源、移动端横向溢出和失效链接。也就是从外部核实部署之后才会发生的事故。

你们如何获取同意?

不是靠勾选,而是靠证明。我们签发一个令牌,只有当您把它放到域名的指定路径或作为 DNS TXT 记录、证明所有权后,检查才会开始。扫描前我们会再次核实。

检查安全吗?

外部检查只使用只读的 GET 请求。不做注入、不做暴力破解、不制造过载。结果凭证以防篡改的哈希链保存。

结果是什么样的?

判定为通过 / 失败 / 无法确认三种之一,失败项附带严重度(注意/危险)。我们绝不把读不到的项算作通过或归零,连无法确认的项也如实写下。

需要花钱吗?

外部检查免费。如愿意,可自愿捐赠(非托管:USDT、USDC、BTC、ETH、BNB)。SSH 内部检查与持续监测按范围经沟通后进行。

相关:申请检查 · llms.txt · 运营方 star365 · 交易舰队 metaquant · 网站地图