Files
testssl.sh/t
potato-20 57fc5850d1 Add HSTS preload list check via the hstspreload.org API (#1248)
Revives and rebases #1809 by @tosticated (Jim Blankendaal) onto 3.3dev. When --phone-out is set, run_hsts now queries https://hstspreload.org/api/v2/status and reports whether the domain is on the browser HSTS preload list (preloaded/pending/rejected/unknown), cross-referenced with the served header, the same-domain check and the bulk flag.

Addresses the review comments on #1809: the API-response matching uses native bash string matching instead of forking grep, the JSON quoting is handled inside check_hsts_preloadlist_match() so callers pass plain values, and the value arrays use 'local -a'. The output decision table is kept as-is (per maintainer feedback). Adds t/53_hsts_preload.t. Original design and decision table by @tosticated.
2026-06-17 15:10:51 +05:30
..
2025-05-08 14:30:13 +02:00
2025-11-29 18:43:00 +01:00
2025-11-27 18:49:12 +01:00
2025-11-27 22:17:54 +01:00
2025-11-27 18:46:19 +01:00
2026-06-09 13:43:43 +02:00

Naming scheme

  • 00-05: Does the bare testssl.sh work at all?
  • 10-29: Do scans work fine (client side)?
  • 30-39: Does reporting work?
  • 50-69: Are the results what I expect (server side)?

Please help to write CI tests! Documentation can be found here. You can consult the existing code here. Feel free to use 10_baseline_ipv4_http.t or 12_diff_opensslversions.t as a template. The latter is newer and code is cleaner.

  • 03_debug.t.DISABLED is a handy tool when the runner is not in line with checks outside github. It provides debugging means
  • IPv6 was (status 2025) not allowed, thus the file 11_baseline_ipv6_http.t.DISABLED which can be renamed if that will change.