Security Scanner — User Guide | YoBench
How to use the Security Scanner module in YoBench: 14 checks (SSL, HTTP headers, ports, DNS, subdomains), settings, and step-by-step workflow.
What the Security Scanner module does
The module performs a comprehensive security audit of a website or domain in a single run. Instead of running a dozen separate utilities (openssl, nmap, dig, online services), you point it at an address and get a unified report with findings across 14 categories — from SSL certificate expiry to open ports and forgotten .env files.
What you get:
- A complete technical security snapshot — SSL/TLS, HTTP headers, DNS, open ports, subdomains, sensitive files — in one table with severity levels (
critical / high / medium / low / info). - Local execution — most checks run directly from your computer through built-in Node.js modules, without sending data to third-party services.
- AI analysis of the results — an optional review by your chosen provider (OpenAI, Claude, local LLM): explains findings in plain language and suggests fix priorities.
- Templates and history — every run is saved in the local encrypted database, templates can be reused and re-run regularly.
Available checks
The module offers 14 check types. You enable them individually when creating a template.
| ID | What it checks |
|---|---|
| SSL/TLS Analysis | Certificate validity, trust chain, supported protocols (TLS 1.0/1.1/1.2/1.3), weak ciphers. |
| HTTP Security Headers | Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, etc. |
| Cookie Security | Secure, HttpOnly, SameSite flags on every cookie. |
| DNS & Email Security | MX, SPF, DMARC, DKIM, DNSSEC — correctness of DNS records for the domain and its mail. |
| Port Scan | Common ports (FTP, SSH, SMTP, MySQL, RDP, MongoDB, Redis, etc.) with banner-grabbing for service version detection. ~24 ports by default; the list is configurable. |
| Sensitive File Exposure | Looks for typical paths: .env, .git/, .gitignore, backups, AWS credentials, wp-config.php, DB dumps. |
| CORS & Redirects | Overly permissive Access-Control-Allow-Origin, open redirects, mixed content (HTTPS page pulling HTTP resources). |
| Client-side Security | Mixed content, missing SRI, dangerous inline scripts, unprotected forms, target="_blank" without rel="noopener". |
| Technology Detection | Detects CMS (WordPress, Drupal), frameworks (React, Vue, Angular), server software and versions. |
| Subdomain Enumeration | Subdomain discovery via Certificate Transparency (crt.sh) with reachability checks for the discovered hosts. |
| WAF Detection | Recognizes 10+ Web Application Firewalls: Cloudflare, AWS WAF, Akamai, Imperva, ModSecurity, F5 BIG-IP ASM, Sucuri, etc. |
| HTTP Methods | Reports which HTTP methods the server accepts (PUT, DELETE, TRACE, CONNECT, OPTIONS). |
| Rate Limiting | Looks for brute-force protection signals based on response headers and 429 responses. |
| Information Disclosure | security.txt (RFC 9116), robots.txt, CHANGELOG, INSTALL, exposed admin panels and similar leaks. |
Most checks run locally. External resources are used only by: Subdomain Enumeration (crt.sh API) and AI analysis (if an AI provider is selected).
Parameters and settings
Template parameters
A template is a reusable bundle of parameters for a scan run. When creating one you specify:
- Name — an arbitrary label for the template.
- Address — a URL or a domain (normalized automatically:
example.com,https://example.com,https://example.com/pathare all valid). - Check selection — pick anywhere from 1 to all 14 types. The more you pick, the longer the run.
- AI provider (optional) — which provider from AI settings will analyze the report. If empty, AI analysis is skipped.
- Proxy (optional) — route all scan traffic through a proxy profile from settings.
- AI prompt — the text prompt used for the AI analysis. Keep the default or adapt it to your context (e.g. ask for output in a specific language with prioritization for a junior team).
Global module settings
Configured under Settings → Security Scanner and applied to every template:
- Request timeout — the maximum time to wait for an individual HTTP/TCP operation (ms). A higher timeout increases the chance of waiting through a slow site; a lower one speeds up the run.
- Parallel checks — how many checks run simultaneously. Default is 5; higher numbers stress the network and the target server harder.
- Port list — a custom list of ports for Port Scan in addition to the built-in defaults.
- User-Agent — the
User-Agentstring used for HTTP requests. - Extra paths — additional paths for Sensitive File Exposure beyond the built-in set (e.g.
/_admin,/.config/secrets.json).
Workflow
1. Create a template
- Open the Security Scanner module from the left sidebar.
- On the Templates tab click New template.
- Fill in name and address, tick the checks you need.
- Optionally pick an AI provider and a proxy, edit the prompt.
- Save the template.
2. Start a scan
- On the Templates tab click Scan next to the template.
- The module splits checks into two groups automatically:
- Headless (SSL, headers, cookies, DNS, ports, files, CORS, WAF, subdomains, methods, rate limiting, info disclosure) — run in parallel within the configured concurrency limit.
- Browser-backed (client-side, technology) — run sequentially through a shared headless browser.
- The bottom panel streams a real-time log: which checks started, which finished, which produced findings.
- You can stop the run at any time with Stop — already-completed checks are persisted.
3. Review the report
- Open the Reports tab — reports are sorted by run date.
- Open a report: on the left, the list of all checks with status and finding counts; on the right, details of the selected check.
- Each finding contains: severity (
critical,high,medium,low,info), title, description, and a remediation recommendation. - If an AI provider was selected, the AI analysis tab holds a Markdown summary of the report. AI analysis becomes available once the scan finishes — while the scan is still running, the tab shows a pending state.
4. Act on the results
- Re-run templates after releases — this surfaces regressions (e.g. an HSTS header that disappeared during an nginx migration).
- Delete stale reports with Delete — linked checks are removed in cascade.
- Use separate templates for different environments (
prod,staging) to make comparisons easier.
Next steps
- Connect AI providers to enable AI analysis of reports.
- Configure proxies if you need to scan resources inside a private network.
- For ongoing uptime monitoring use Health Check — that module focuses on availability, while Security Scanner focuses on configuration.
Help and feedback
Found a bug or want to suggest a new check type? Contact us via the feedback form.