// 文档

文档

介绍扫描的工作原理、如何为您拥有的网站解锁深度扫描,以及让服务得以保持免费的使用限制。

扫描的工作原理

输入任意公开 URL,Watchpost 便会从外部对其进行检查,所见视角与攻击者完全相同。标准扫描是被动且只读的:它会加载您的首页及其 JavaScript,执行一次 TLS 握手,进行 DNS 查询,并请求一小组常见路径,例如 /.env 或 /.git/config。

扫描绝不会提交表单、尝试登录或发送漏洞利用载荷。大多数扫描在一分钟内即可完成。同一主机的扫描结果会在 24 小时内复用,因此重复扫描不会再次访问您的服务器。

我们运行的所有检查项均可在检查项目录中查看。

被动扫描与深度扫描

  • 被动扫描:任何人都可以对任意公开网站运行。它只读取已经公开的信息。
  • 深度扫描:仅限已登录且已验证域名所有权的所有者使用。深度检查会主动测试配置,例如能否使用您网站中附带的公开密钥读取 Supabase 数据表或 Firebase 数据库。

深度检查仅记录数量和名称(例如“数据表 profiles:可读取 1,204 行”),绝不记录数据本身。深度扫描报告仅对网站所有者可见。

验证您的域名

在控制台中添加网站后,您将获得一个令牌。通过以下任意一种方式发布该令牌,然后点击验证:

  1. 在该主机上添加 DNS TXT 记录:watchpost-verify=<token>
  2. 在 https://your-domain/.well-known/watchpost-verify.txt 放置包含该令牌的文件
  3. 在首页的 <head> 中添加 Meta 标签:<meta name="watchpost-verify" content="<token>">

所有权验证超过 30 天后,系统会在下一次深度扫描前重新核验。如果令牌已被移除,深度扫描将再次锁定,直至您重新验证。

使用限制

  • 匿名扫描:每个 IP 地址每分钟 5 次、每天 50 次。
  • 同一主机的扫描结果缓存 24 小时。
  • 您拥有的网站:每 5 分钟可进行一次被动重新扫描,每小时可进行一次深度扫描。
  • 每个账户最多可添加 20 个网站。

分数与评级

每次扫描的初始分数为 100 分。每项发现按严重程度扣分:严重 40 分,高危 15 分,中危 5 分,低危 1 分。分数对应的评级为:A 90 分及以上,B 75 分及以上,C 60 分及以上,D 40 分及以上,F 低于 40 分。只要存在任何严重级别的发现,评级最高为 D。

评级良好仅表示我们在检查范围内未发现问题。它并非渗透测试,也不保证网站是安全的。

谁可以查看报告

匿名扫描报告不公开列出:任何持有链接的人都可以打开,但不会被搜索引擎收录。您账户中网站的报告(无论被动扫描还是深度扫描)仅对您本人可见。

公开 API

网站本身使用的接口同样对外开放,并受上述限制约束:

  • POST /api/v1/scans,请求体为 {"url": "https://example.com"},返回 {"id": "…"}
  • GET /api/v1/scans/<id> 返回状态、评级和发现项
  • GET /api/v1/checks 返回检查项目录

请使用具有描述性的 User-Agent 标识您的集成。