安全扫描 — 用户手册 | YoBench
如何在 YoBench 中使用「安全扫描」模块:14 项检查(SSL、HTTP 头、端口、DNS、子域名)、参数设置与完整使用流程。
「安全扫描」模块的用途
本模块在一次运行中对网站或域名完成全面的安全审计。无需单独运行十多种工具(openssl、nmap、dig、各种在线服务),您只需指定一个地址,即可获得涵盖 14 个类别检查的统一报告 — 从 SSL 证书过期、开放端口,到被遗忘的 .env 文件。
您将获得:
- 完整的技术安全画像 — SSL/TLS、HTTP 头、DNS、开放端口、子域名、敏感文件 — 全部汇总在带有严重等级(
critical / high / medium / low / info)的同一张表里。 - 本地执行 — 大多数检查通过 Node.js 内置模块直接从您的电脑上运行,不会向第三方服务发送数据。
- AI 分析结果 — 由您选择的提供商(OpenAI、Claude、本地 LLM)进行可选解读:用通俗语言解释 findings 并建议修复优先级。
- 模板与历史 — 每次运行都保存到本地加密数据库;模板可重复使用并定期重新运行。
可用检查项
模块提供 14 种检查类型。在创建模板时单独启用。
| ID | 检查内容 |
|---|---|
| SSL/TLS Analysis | 证书有效期、信任链、支持的协议(TLS 1.0/1.1/1.2/1.3)、弱加密套件。 |
| HTTP Security Headers | Content-Security-Policy、Strict-Transport-Security、X-Frame-Options、X-Content-Type-Options、Referrer-Policy 等。 |
| Cookie Security | 每个 cookie 的 Secure、HttpOnly、SameSite 标志。 |
| DNS & Email Security | MX、SPF、DMARC、DKIM、DNSSEC — 域名及邮件 DNS 记录的正确性。 |
| Port Scan | 常见端口(FTP、SSH、SMTP、MySQL、RDP、MongoDB、Redis 等),通过 banner-grabbing 识别服务版本。默认约 24 个端口,列表可配置。 |
| Sensitive File Exposure | 检测典型路径:.env、.git/、.gitignore、备份、AWS 凭证、wp-config.php、数据库导出文件。 |
| CORS & Redirects | 过于宽松的 Access-Control-Allow-Origin、开放重定向、混合内容(HTTPS 页面引用 HTTP 资源)。 |
| Client-side Security | 混合内容、缺失 SRI、危险的内联脚本、未受保护的表单、target="_blank" 缺少 rel="noopener"。 |
| Technology Detection | 识别 CMS(WordPress、Drupal)、框架(React、Vue、Angular)、服务器软件及版本。 |
| Subdomain Enumeration | 通过 Certificate Transparency(crt.sh)发现子域名,并对发现的主机进行可达性检查。 |
| WAF Detection | 识别 10+ 种 Web 应用防火墙:Cloudflare、AWS WAF、Akamai、Imperva、ModSecurity、F5 BIG-IP ASM、Sucuri 等。 |
| HTTP Methods | 列出服务器接受的 HTTP 方法(PUT、DELETE、TRACE、CONNECT、OPTIONS)。 |
| Rate Limiting | 通过响应头和 429 状态码识别防爆破保护。 |
| Information Disclosure | security.txt(RFC 9116)、robots.txt、CHANGELOG、INSTALL、暴露的管理面板及类似泄漏。 |
绝大多数检查在本地运行。仅以下几项使用外部资源:Subdomain Enumeration(crt.sh API)和 AI 分析(若选择了 AI 提供商)。
参数与配置
模板参数
模板是一组可复用的扫描参数。创建时需要指定:
- 名称 — 模板的自定义标签。
- 地址 — URL 或域名(自动规范化:
example.com、https://example.com、https://example.com/path都有效)。 - 检查选择 — 从 1 到 14 项之间选择。选得越多,运行时间越长。
- AI 提供商 (可选) — 由 AI 设置 中的哪个提供商分析报告。留空则跳过 AI 分析。
- 代理 (可选) — 让所有扫描流量通过设置中的代理配置。
- AI 提示词 — 用于 AI 分析的提示词。可保留默认或根据需要调整(例如要求用特定语言输出,并面向初级团队进行优先级排序)。
模块全局设置
在 设置 → 安全扫描 中配置,适用于所有模板:
- 请求超时 — 单个 HTTP/TCP 操作的最大等待时间(毫秒)。超时越长,越能等到慢站点;越短,运行越快。
- 并行检查数 — 同时运行的检查数量。默认 5;数值越大,对网络和目标服务器的压力越大。
- 端口列表 — 在内置默认列表之外为 Port Scan 自定义端口集。
- User-Agent — HTTP 请求所使用的
User-Agent字符串。 - 额外路径 — 在内置路径集之外为 Sensitive File Exposure 添加额外路径(例如
/_admin、/.config/secrets.json)。
使用流程
1. 创建模板
- 在左侧菜单打开安全扫描模块。
- 在模板标签页点击新建模板。
- 填写名称和地址,勾选所需的检查项。
- 可选:选择 AI 提供商和代理,编辑提示词。
- 保存模板。
2. 启动扫描
- 在模板标签页点击模板旁的扫描。
- 模块自动将检查分为两组:
- 无浏览器(SSL、头部、cookies、DNS、端口、文件、CORS、WAF、subdomains、方法、rate limiting、info disclosure) — 在配置的并发限制内并行运行。
- 基于浏览器(client-side、technology) — 通过共享的 headless 浏览器顺序运行。
- 底部面板实时显示日志:哪些检查已启动、已完成、产生了 findings。
- 您可以随时点击停止中断扫描 — 已完成的检查会被保留。
3. 查看报告
- 打开报告标签页 — 按运行日期排序。
- 打开报告:左侧是所有检查的列表(含状态和 findings 数量),右侧是所选检查的详情。
- 每个 finding 包含:严重等级(
critical、high、medium、low、info)、标题、问题描述和修复建议。 - 如果选择了 AI 提供商,AI 分析 标签会显示该报告的 Markdown 摘要。AI 分析在扫描完成后可用 —— 扫描仍在运行时,该标签显示等待状态。
4. 处理结果
- 在每次发布之后重新运行模板 — 可以发现回归问题(例如 nginx 迁移后丢失的 HSTS 头)。
- 用删除清理过期报告 — 关联的检查记录会级联删除。
- 为不同环境(
prod、staging)使用各自的模板 — 便于比较。
下一步
- 连接 AI 提供商 以启用报告的 AI 分析。
- 配置 代理 以扫描私有网络中的资源。
- 持续可用性监控请使用 Health Check — 该模块关注 uptime,而安全扫描关注配置。
帮助与反馈
发现 Bug 或希望添加新的检查类型?通过反馈表单联系我们。