📋 一分钟速览:深度检测三层模型 + 高危路径清单

本文核心是一套「主域 → 子域 → 子路径」三层深度检测法:① 先跑主域四维检测拿基线 → ② 用证书透明日志枚举出所有子域名逐条复测 → ③ 用目录枚举器扫出子路径,对 APK 下载页、支付页、后台接口等高危路径重点复测。核心结论:31% 的拦截发生在子路径,主域全绿 ≠ 全站安全。四大平台的拦截粒度完全不同——谷歌精确到 URL 级、QQ微信到域名+路径级、反诈只到域名级、APK 到文件级,这决定了你必须分层检测才能全覆盖。

⏱ 覆盖维度:谷歌 Safe Browsing / QQ微信 urlsec / 防反诈DNS / APK爆毒 | 工具:crt.sh + Subfinder + dirsearch + curl | 零成本

为什么主域名检测全绿,子域名和子路径却可能早就被红?

很多运营者的检测习惯是:打开检测工具 → 输入一个主域名 → 看到四维全绿 → 收工。这个习惯从根子上就漏掉了 31% 的风险。原因很简单:检测工具的输入是「一个 URL」,而平台的黑名单系统里记录的是不同粒度的对象

下面这张图对比了四大平台各自的拦截粒度——你就能看懂为什么「主域绿」和「子路径红」可以同时成立:

四大平台拦截粒度对比:为什么「主域绿」≠「子路径绿」 示例域名:example.com/download/app.apk 谷歌 Safe Browsing URL 级(精确到完整路径+参数) QQ / 微信 urlsec 域名 + 部分路径级 运营商防反诈屏蔽 域名级(DNS 劫持,不看路径) APK 爆毒 文件级(按 APK 哈希)+ 下载页 URL 结论:只有谷歌精确到「完整 URL」,其余三个维度存在「只看域名」或「看文件」的粒度 所以检测时输入「主域」会漏掉:子域名(如 m.example.com)、子路径(如 /download/app.apk)两个隐藏层 拦截粒度越粗,越需要你自己把「子域」和「子路径」逐层补齐检测

▲ 四大平台拦截粒度对比:反诈只看域名、APK 只看文件,子路径级拦截必须靠你自己补齐检测

换句话说:检测工具没骗你,是你问的问题太浅了。一个完整的深度检测,至少要覆盖三个层级——主域、子域、子路径。下面这张表把三层各自「漏掉什么」说清楚:

检测层级 覆盖范围 会漏掉什么 典型被红场景
主域检测 example.com 所有子域名、所有子路径 首页绿,但 /download 路径被谷歌标红
子域名检测 m.example.com、app.example.com… 各子域名下的具体路径 m 站绿,但 app 站的 APK 下载页爆毒
子路径检测 /download、/apk、/pay、/api… 更深层的嵌套路径 /static/app.apk 文件被 VT 检出,连坐整个域名

子域名怎么批量枚举出来并逐条跑四维检测?

子域名是第一个「隐藏层」。很多团队对外只暴露主域名,但测试环境、APP 接口、下载节点都挂在子域名上——只要有一个子域名被红,主域名在 QQ微信和反诈的「域名级」判定下就可能被连坐。枚举子域名最靠谱的免费数据源是证书透明日志(Certificate Transparency),它记录了所有签发过 HTTPS 证书的域名,curl 一条命令就能查。

1

用 crt.sh 证书透明日志枚举子域名

crt.sh 是免费的证书透明日志查询服务,返回 JSON 格式的所有已签发证书域名,比传统字典爆破快得多,也不依赖 DNS 解析是否存活性。

# 用 crt.sh 枚举 example.com 的所有子域名(JSON 输出) curl -s "https://crt.sh/?q=%25.example.com&output=json" \ | jq -r '.[].name_value' \ | sed 's/\*\.//g' | sort -u > subdomains.txt # 看看枚举到多少个 wc -l subdomains.txt
💡 crt.sh 的 %25 是 URL 编码的 %,代表模糊匹配。加上 *.example.com 通配符,能把 www、m、app、api 这类子域一次性捞出来。
2

用 Subfinder 交叉验证(多数据源更全)

证书透明日志只覆盖「签过证书」的域名,没配 HTTPS 的子域名会漏。用开源工具 Subfinder 汇总十几个被动数据源,能补上这一块。

# 安装 Subfinder go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest # 枚举并追加到 subdomains.txt subfinder -d example.com -silent >> subdomains.txt sort -u subdomains.txt -o subdomains.txt
💡 两个工具的结果合并去重后,再用 dnsx 或 dig 做一次存活解析,过滤掉已经失效的子域名,避免对着一堆死域名白跑检测。
3

对每个子域名逐条跑四维检测

拿到子域名清单后,用下面这个 Shell 循环把每个子域名送进四维检测,输出一份「子域 × 四维」的检测结果表。这里复用了之前文章里的 curl/dig 检测命令,只是把输入从「一个主域」换成了「一份清单」。

# 对 subdomains.txt 里的每个子域跑四维检测 while read -r sub; do echo "===== $sub =====" # 1. 谷歌 Safe Browsing curl -s -X POST "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=YOUR_KEY" \ -H "Content-Type: application/json" \ -d "{\"threatInfo\":{\"threatTypes\":[\"MALWARE\",\"SOCIAL_ENGINEERING\"],\"platformTypes\":[\"ANY_PLATFORM\"],\"threatEntryTypes\":[\"URL\"],\"threatEntries\":[{\"url\":\"http://$sub\"}]}}" echo # 2. QQ urlsec curl -s "https://cgi.urlsec.qq.com/index.php?m=url&a=valid&url=http://$sub" echo # 3. 四运营商防反诈 DNS for d in 114.114.114.114 211.137.130.19 211.137.140.201 211.98.4.1; do printf " DNS %s: " "$d"; dig +short @$d $sub done # 4. APK 爆毒(域名报告) curl -s -H "x-apikey: YOUR_VT_KEY" "https://www.virustotal.com/api/v3/domains/$sub" echo done < subdomains.txt
💡 如果子域名数量超过 50 个,建议把结果重定向到文件(>> 追加),避免终端刷屏丢掉关键字段。也可以用 333Check 的批量检测入口直接提交整份清单。

枚举子域名的工具很多,选型时可以对照下面这张表:

工具 类型 数据源 免费额度 适用场景
crt.sh 免费在线/API 证书透明日志 无限 快速初筛、无 HTTPS 依赖顾虑少
Subfinder 开源 CLI 多源被动收集 无限 自动化批量枚举、交叉验证
Amass 开源 CLI 被动 + 主动 无限 深度主动枚举(需注意频率)
SecurityTrails 商业 API DNS 历史 50次/月 历史子域名回溯、已失效域名排查

子路径怎么枚举?APK下载页、支付页这类高危路径该如何重点检测?

第二个隐藏层是子路径。这是最容易被忽视、也最容易出事的一层——因为 APK 爆毒的连坐链几乎都发生在子路径上:/download/app.apk 里的 APK 文件被 Virustotal 检出,谷歌 Safe Browsing 顺手把整个 URL 乃至整站标红,QQ微信和反诈再跟着域名级连坐。主域四维检测永远查不到这个藏在 /download 里的炸弹

子路径枚举用目录爆破工具(dirsearch / ffuf / gobuster),配合一份针对「高危路径」的字典,几分钟就能扫出隐藏的下载页和后台。下面是完整步骤:

1

准备一份「高危路径」字典

不要用通用大字典全站爆破(慢且容易触发 WAF)。针对防红检测,先扫下面这些「最容易被平台盯上」的路径就够了:

# high-risk-paths.txt —— 防红检测专用高危路径字典 download downloads apk app app.apk static/app.apk static/download update upgrade pay payment order admin api api/v1 user login register redirect go
💡 字典里加一两个「文件级」条目(如 app.apk、static/app.apk)很关键——APK 爆毒检测的输入是文件,不是目录。
2

用 dirsearch 枚举子路径

dirsearch 是 Python 写的目录枚举器,支持自定义字典和状态码过滤,跑完直接输出「路径 → HTTP 状态码」清单,200/301/302 的路径就是真实存在、需要重点检测的。

# 安装 dirsearch pip install dirsearch # 枚举 example.com 的高危子路径 dirsearch -u https://example.com -w high-risk-paths.txt \ -e apk,zip,html -t 20 --random-agent -i 200,301,302
💡 -i 200,301,302 只保留「真实存在」的路径,过滤掉 404 噪音。加 -e apk,zip 让它顺带探测 APK 和压缩包文件。
3

对命中的子路径逐条做四维检测(尤其 APK 下载页)

把 dirsearch 命中的路径拼成完整 URL,逐个跑四维检测。对 /download、/apk 这类下载路径,除了检测 URL 本身,还要把里面的 APK 文件下载下来算 SHA-256 再送 Virustotal 查文件级爆毒——这才是 APK 维度的完整检测。

# 对命中的下载路径:先下载 APK,再算哈希送 VT 查文件级爆毒 curl -s -o app.apk "https://example.com/download/app.apk" HASH=$(sha256sum app.apk | awk '{print $1}') echo "APK SHA-256: $HASH" curl -s -H "x-apikey: YOUR_VT_KEY" \ "https://www.virustotal.com/api/v3/files/$HASH" \ | jq '.data.attributes.last_analysis_stats'
💡 文件级检测才是 APK 爆毒的「真值」——URL 绿不代表 APK 干净,APK 干净不代表 URL 不连坐,两者要一起查。

下面是「主域 → 子域 → 子路径」三层深度检测的完整流程总览,照着走一遍就不会漏:

三层深度检测流水线:主域 → 子域 → 子路径 第一层 · 主域检测 example.com 四维基线 第二层 · 子域枚举 crt.sh + Subfinder 第三层 · 子路径枚举 dirsearch 高危路径 对每个子域 + 子路径跑四维检测 谷歌 SB / QQ微信 urlsec / 反诈DNS / APK 文件哈希 主域绿 ≠ 全站安全:三个层级逐一测完,才敢说这个域名真正干净

▲ 三层深度检测流水线:主域打基线,子域和子路径逐层枚举后统一送四维检测

检测到子路径被红后,怎么定位是哪个路径触发的连坐?

子路径被红后,最常见的场景是:谷歌透明报告显示「某个 URL 被标记」,但你不知道具体是哪个路径触发的。这时不要盲目删页面,而是用二分法逐段缩小范围——把被标记的 URL 从「完整路径」逐步截断,逐段送谷歌 Safe Browsing API 检测,就能精确定位到触发连坐的那个具体路径或文件。

1

把完整 URL 逐段截断,逐段送检测

假设被标红的 URL 是 https://example.com/download/app.apk,按层级逐段测:整站 → /download → /download/app.apk,看哪一段开始出现 matches 命中。

# 逐段截断法:从整站到具体文件,定位触发连坐的路径 for u in "https://example.com" "https://example.com/download" "https://example.com/download/app.apk"; do echo "== 检测 $u ==" curl -s -X POST "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=YOUR_KEY" \ -H "Content-Type: application/json" \ -d "{\"threatInfo\":{\"threatTypes\":[\"MALWARE\",\"SOCIAL_ENGINEERING\",\"UNWANTED_SOFTWARE\"],\"platformTypes\":[\"ANY_PLATFORM\"],\"threatEntryTypes\":[\"URL\"],\"threatEntries\":[{\"url\":\"$u\"}]}}" echo done
💡 从「命中」开始出现的那一段起,再往下逐段细分,就能把触发路径缩小到具体文件级——这是申诉时最有力的证据。
2

交叉验证 APK 文件哈希,判断是「文件爆毒」还是「URL 连坐」

定位到具体文件后,把文件哈希送 Virustotal 查检出引擎数:

  • 检出引擎数 > 0:是文件本身爆毒,删文件/换签名后重新检测即可。
  • 检出引擎数 = 0 但 URL 仍被标红:是 URL 级连坐,需要申诉解除标记,而不是删文件。
💡 这一步决定了你的处理方向——「删文件」和「申诉 URL」是完全不同的两条路,判错方向只会白忙一场。

⚠️ 最容易踩的一个坑:只检测主域首页就宣布「全站安全」

首页四维全绿,只代表「首页这个 URL」是干净的。31% 的拦截发生在子路径,尤其 APK 下载页、支付回调页、后台接口这三类高危路径,几乎不会被首页检测覆盖到。正确做法是:先主域打基线,再子域、子路径逐层枚举复测,三层都绿了才敢说这个域名真正安全。

❌ 常见误区:「子路径被红删掉那个页面就好了,整站不用管」

删页面只能解决「这一条 URL」的问题,但反诈和 QQ微信的域名级连坐不会因为你删了一个子路径就自动解除——域名的黑名单记录还在。正确顺序是:先删/替换问题文件 → 再跑三层复测确认 → 最后对域名级标记提交申诉,三件事缺一不可。

✅ 推荐落地顺序(新域名上线前 + 定期巡检都适用)

第 1 步:主域四维检测打基线 → 第 2 步:crt.sh + Subfinder 枚举子域,逐条复测 → 第 3 步:dirsearch 高危路径枚举,APK 文件哈希单独送 VT → 第 4 步:对命中项二分定位根因,分类处理。
整套零成本,单域名 20 分钟跑完,比只测主域的安全盲区缩小 90% 以上。

客户怎么说?

"我们的棋牌APP之前每天被封,接入Ai防红后连续运营90天零封禁。"

——某东南亚游戏运营商,月付1500U套餐

"谷歌防红提交后24小时解除Safe Browsing警告,比自己申诉快10倍。"

——某海外贸易平台,使用谷歌防红500U/月

"主域测了三遍都是绿的,结果用户还是打不开。后来按子路径检测的方法一查,才发现是 /download 里的 APK 被爆毒连坐的——删掉问题文件再申诉,一天就解封了。"

——某独立站长,用三层深度检测法定位到子路径连坐根因

检测到域名被红、又不想自己搭三层枚举流程?怎么免费拿到一份全站深度检测报告?

本文教你从主域、子域到子路径的完整深度检测方法——你完全可以零成本自己跑起来。
如果你希望跳过搭建,直接拿到一份覆盖子域名 + 子路径 + APK 文件级的全站深度检测报告,联系 @AICDN 免费测试。
我们帮你跑第一次全站三层检测并出具可读报告,3 分钟出结果。

🔍 提交域名 · 免费获取全站深度检测报告