[INFO] fetching crate santh-sear 0.1.0...
[INFO] testing santh-sear-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate santh-sear 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate santh-sear 0.1.0
[INFO] finished tweaking crates.io crate santh-sear 0.1.0
[INFO] tweaked toml for crates.io crate santh-sear 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate santh-sear 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate santh-sear 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d88c44516d7ff219bd3516e08734de89b0d6c9cac748f5bf0b40806cc39a09b2
[INFO] running `Command { std: "docker" "start" "-a" "d88c44516d7ff219bd3516e08734de89b0d6c9cac748f5bf0b40806cc39a09b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d88c44516d7ff219bd3516e08734de89b0d6c9cac748f5bf0b40806cc39a09b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d88c44516d7ff219bd3516e08734de89b0d6c9cac748f5bf0b40806cc39a09b2", kill_on_drop: false }`
[INFO] [stdout] d88c44516d7ff219bd3516e08734de89b0d6c9cac748f5bf0b40806cc39a09b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c20b4df0d3c401badf829a40d51dd16d917f85f4396503db745b0e00f801ac1c
[INFO] running `Command { std: "docker" "start" "-a" "c20b4df0d3c401badf829a40d51dd16d917f85f4396503db745b0e00f801ac1c", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling linkme-impl v0.3.35
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling linkme v0.3.35
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling santh-sear v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling moka v0.12.14
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.50s
[INFO] running `Command { std: "docker" "inspect" "c20b4df0d3c401badf829a40d51dd16d917f85f4396503db745b0e00f801ac1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c20b4df0d3c401badf829a40d51dd16d917f85f4396503db745b0e00f801ac1c", kill_on_drop: false }`
[INFO] [stdout] c20b4df0d3c401badf829a40d51dd16d917f85f4396503db745b0e00f801ac1c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fddb1eec6fdff155eec56d282a3bddb6be12479c9b2df2d9a4a5bd13ea7e3823
[INFO] running `Command { std: "docker" "start" "-a" "fddb1eec6fdff155eec56d282a3bddb6be12479c9b2df2d9a4a5bd13ea7e3823", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling utf8-width v0.1.8
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling qrcodegen v1.8.0
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling qrcode-generator v5.0.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling santh-sear v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "fddb1eec6fdff155eec56d282a3bddb6be12479c9b2df2d9a4a5bd13ea7e3823", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fddb1eec6fdff155eec56d282a3bddb6be12479c9b2df2d9a4a5bd13ea7e3823", kill_on_drop: false }`
[INFO] [stdout] fddb1eec6fdff155eec56d282a3bddb6be12479c9b2df2d9a4a5bd13ea7e3823
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fe845289f97a217369f1b75d5813fac990160284041cea9d1a568101a8fca196
[INFO] running `Command { std: "docker" "start" "-a" "fe845289f97a217369f1b75d5813fac990160284041cea9d1a568101a8fca196", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sear-5101a6927c3eb38c)
[INFO] [stdout] 
[INFO] [stdout] running 465 tests
[INFO] [stdout] test cache::tests::cache_store_and_lookup ... ok
[INFO] [stdout] test cache::tests::invalidate_removes_entries ... ok
[INFO] [stdout] test config::tests::config_serde_rejects_invalid_probability ... ok
[INFO] [stdout] test config::tests::default_config_is_valid ... ok
[INFO] [stdout] test config::tests::config_serde_roundtrip ... ok
[INFO] [stdout] test correlation::tests::correlation_campaign_detection_clusters_matching_paths_across_subdomains ... ok
[INFO] [stdout] test correlation::tests::correlation_distributed_phishing_flow_links_staging_to_credential_collection ... ok
[INFO] [stdout] test correlation::tests::correlation_record_replaces_existing_url_entry ... ok
[INFO] [stdout] test correlation::tests::correlation_redirect_chain_convergence_detects_shared_sink ... ok
[INFO] [stdout] test correlation::tests::correlation_same_domain_does_not_escalate_low_signal_only_urls ... ok
[INFO] [stdout] test correlation::tests::correlation_same_domain_escalates_after_three_unknown_or_suspicious_urls ... ok
[INFO] [stdout] test engine::helpers::tests::aggregate_critical_finding_is_malicious ... ok
[INFO] [stdout] test engine::helpers::tests::aggregate_no_findings_is_unknown ... ok
[INFO] [stdout] test cache::tests::cache_miss_for_different_url ... ok
[INFO] [stdout] test config::tests::config_serde_defaults_missing_fields ... ok
[INFO] [stdout] test cache::tests::warming_populates_safe_cache ... ok
[INFO] [stdout] test config::tests::zero_capacity_is_invalid ... ok
[INFO] [stdout] test engine::tests::empty_url_returns_unknown ... ok
[INFO] [stdout] test engine::tests::cache_prevents_reanalysis ... ok
[INFO] [stdout] test engine::tests::analyze_data_html_uri ... ok
[INFO] [stdout] test engine::tests::invalid_config_rejected ... ok
[INFO] [stdout] test batch::tests::l1_catches_definitive_and_flags_unknowns_for_escalation ... ok
[INFO] [stdout] test engine::tests::analyze_javascript_uri ... ok
[INFO] [stdout] test error::tests::config_error_displays_context ... ok
[INFO] [stdout] test error::tests::error_is_send_sync ... ok
[INFO] [stdout] test error::tests::error_source_chain_works ... ok
[INFO] [stdout] test error::tests::from_io_error ... ok
[INFO] [stdout] test error::tests::from_serde_error ... ok
[INFO] [stdout] test error::tests::non_exhaustive_allows_matching ... ok
[INFO] [stdout] test error::tests::pattern_error_with_source ... ok
[INFO] [stdout] test error::tests::resolve_error_includes_url ... ok
[INFO] [stdout] test error::tests::result_alias_works ... ok
[INFO] [stdout] test error::tests::sandbox_error_without_source ... ok
[INFO] [stdout] test output::csv::tests::emits_row_when_findings_are_empty ... ok
[INFO] [stdout] test output::csv::tests::escapes_values_with_commas ... ok
[INFO] [stdout] test output::csv::tests::exposes_csv_content_type ... ok
[INFO] [stdout] test output::csv::tests::includes_header_and_single_data_row ... ok
[INFO] [stdout] test output::csv::tests::writes_expected_flat_fields ... ok
[INFO] [stdout] test output::html::tests::exposes_html_content_type ... ok
[INFO] [stdout] test output::html::tests::renders_standalone_html_document ... ok
[INFO] [stdout] test output::json::tests::exposes_json_content_type ... ok
[INFO] [stdout] test output::json::tests::renders_valid_pretty_json ... ok
[INFO] [stdout] test output::json::tests::round_trips_report_schema ... ok
[INFO] [stdout] test output::sarif::tests::exposes_sarif_content_type ... ok
[INFO] [stdout] test output::sarif::tests::handles_reports_without_findings ... ok
[INFO] [stdout] test output::sarif::tests::includes_sarif_root_and_tool_metadata ... ok
[INFO] [stdout] test output::sarif::tests::maps_findings_to_results_with_rule_ids_and_levels ... ok
[INFO] [stdout] test output::stix::tests::emits_indicator_for_malicious_report ... ok
[INFO] [stdout] test output::stix::tests::emits_indicator_for_suspicious_report ... ok
[INFO] [stdout] test output::stix::tests::skips_safe_reports ... ok
[INFO] [stdout] test patterns::tests::all_pattern_ids_unique ... ok
[INFO] [stdout] test patterns::tests::all_patterns_non_empty ... ok
[INFO] [stdout] test patterns::tests::case_insensitive ... ok
[INFO] [stdout] test patterns::tests::custom_patterns_work ... ok
[INFO] [stdout] test patterns::tests::detects_brand_subdomain_stuffing ... ok
[INFO] [stdout] test patterns::tests::detects_continue_param_with_http ... ok
[INFO] [stdout] test patterns::tests::detects_crlf_injection ... ok
[INFO] [stdout] test engine::tests::analyze_safe_url ... ok
[INFO] [stdout] test patterns::tests::detects_data_uri_with_base64 ... ok
[INFO] [stdout] test patterns::tests::detects_double_encoding ... ok
[INFO] [stdout] test patterns::tests::detects_double_extension ... ok
[INFO] [stdout] test patterns::tests::detects_javascript_scheme ... ok
[INFO] [stdout] test patterns::tests::detects_multiple_patterns ... ok
[INFO] [stdout] test patterns::tests::detects_null_byte_encoding ... ok
[INFO] [stdout] test engine::tests::engine_is_thread_safe_across_shared_arc ... ok
[INFO] [stdout] test patterns::tests::detects_open_redirect_params ... ok
[INFO] [stdout] test patterns::tests::detects_phishing_paths ... ok
[INFO] [stdout] test patterns::tests::detects_punycode_domain ... ok
[INFO] [stdout] test engine::tests::homograph_detection_works ... ok
[INFO] [stdout] test patterns::tests::detects_sensitive_files ... ok
[INFO] [stdout] test patterns::tests::detects_suspicious_tld ... ok
[INFO] [stdout] test patterns::tests::detects_url_param ... ok
[INFO] [stdout] test report::tests::findings_at_severity_filters ... ok
[INFO] [stdout] test report::tests::is_threat_for_suspicious ... ok
[INFO] [stdout] test report::tests::report_serde_roundtrip ... ok
[INFO] [stdout] test patterns::tests::pattern_count_reflects_builtins ... ok
[INFO] [stdout] test rules::abuse_hosting::tests::flags_ipfs_gateway ... ok
[INFO] [stdout] test patterns::tests::detects_wp_config ... ok
[INFO] [stdout] test patterns::tests::no_threat_matches_for_clean_url ... ok
[INFO] [stdout] test rules::abuse_hosting::tests::flags_platform_hosted_clone ... ok
[INFO] [stdout] test rules::abuse_hosting::tests::flags_redirect_wrapper ... ok
[INFO] [stdout] test rules::abuse_hosting::tests::ignores_safe_google_docs_path ... ok
[INFO] [stdout] test rules::authority_confusion::tests::detects_consecutive_dots ... ok
[INFO] [stdout] test rules::authority_confusion::tests::detects_excessive_subdomain_depth ... ok
[INFO] [stdout] test rules::authority_confusion::tests::detects_fullwidth_at_sign_confusion ... ok
[INFO] [stdout] test rules::authority_confusion::tests::detects_paypal_at_sign ... ok
[INFO] [stdout] test rules::base64_payload::tests::detects_base64_form ... ok
[INFO] [stdout] test rules::base64_payload::tests::detects_base64_html ... ok
[INFO] [stdout] test rules::authority_confusion::tests::detects_at_sign_confusion ... ok
[INFO] [stdout] test rules::base64_payload::tests::detects_base64_script ... ok
[INFO] [stdout] test rules::authority_confusion::tests::ignores_basic_auth ... ok
[INFO] [stdout] test rules::authority_confusion::tests::ignores_normal_url ... ok
[INFO] [stdout] test rules::base64_payload::tests::ignores_normal_urls ... ok
[INFO] [stdout] test rules::base64_payload::tests::ignores_short_base64 ... ok
[INFO] [stdout] test engine::tests::oversized_url_returns_unknown ... ok
[INFO] [stdout] test rules::base64_payload::tests::is_base64_candidate_valid ... ok
[INFO] [stdout] test rules::base64_payload::tests::try_decode_invalid ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::allows_legitimate_paypal ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_brand_reference_in_query ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_embedded_legitimate_url_in_path ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_favicon_brand_hash_mismatch ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_paypal_impersonation ... ok
[INFO] [stdout] test rules::base64_payload::tests::try_decode_valid ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::allows_legitimate_github ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_apple_impersonation ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::allows_legitimate_google ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_suspicious_tld ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::ignores_normal_domain ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::escalates_suspicious_tld_with_executable_label ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_subdomain_stuffing ... ok
[INFO] [stdout] test rules::credential_harvest::tests::catches_double_encoded_login_keyword ... ok
[INFO] [stdout] test rules::credential_harvest::tests::detects_ajax_credential_theft_without_form ... ok
[INFO] [stdout] test rules::credential_harvest::tests::does_not_flag_github_login ... ok
[INFO] [stdout] test rules::credential_harvest::tests::does_not_flag_google_signin ... ok
[INFO] [stdout] test rules::credential_harvest::tests::does_not_flag_microsoft_oauth ... ok
[INFO] [stdout] test rules::credential_harvest::tests::ignores_normal_login_page ... ok
[INFO] [stdout] test rules::credential_harvest::tests::recursive_percent_decode_converges ... ok
[INFO] [stdout] test rules::credential_harvest::tests::microsoft_secure_auth_portal_produces_credential_signal ... ok
[INFO] [stdout] test rules::crypto_scam::tests::detects_airdrop_wallet_collection ... ok
[INFO] [stdout] test rules::crypto_scam::tests::detects_fake_exchange_verification ... ok
[INFO] [stdout] test rules::crypto_scam::tests::detects_seed_phrase_collection ... ok
[INFO] [stdout] test rules::crypto_scam::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::crypto_scam::tests::ignores_legitimate_crypto_news_url ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::case_insensitive ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_blob_uri ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_data_html_uri ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_javascript_uri ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_obfuscated_javascript ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_percent_encoded_http_prefix ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_percent_encoded_javascript ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::detects_svg_data_uri ... ok
[INFO] [stdout] test rules::dangerous_scheme::tests::ignores_safe_url ... ok
[INFO] [stdout] test rules::data_exfil::tests::detects_encoded_subdomain_label ... ok
[INFO] [stdout] test rules::data_exfil::tests::detects_excessive_base64_query_payload ... ok
[INFO] [stdout] test rules::credential_harvest::tests::detects_office365_review_lure ... ok
[INFO] [stdout] test rules::data_exfil::tests::detects_hex_exfil_in_query ... ok
[INFO] [stdout] test rules::credential_harvest::tests::detects_payroll_verification_lure ... ok
[INFO] [stdout] test rules::data_exfil::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::data_exfil::tests::ignores_normal_query_strings ... ok
[INFO] [stdout] test rules::domain_generation::tests::detects_digit_heavy_random_label ... ok
[INFO] [stdout] test rules::domain_generation::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::domain_generation::tests::detects_high_entropy_label ... ok
[INFO] [stdout] test rules::domain_generation::tests::ignores_human_readable_domain ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_angler_exploit_path_with_document_write_payload ... ok
[INFO] [stdout] test rules::domain_generation::tests::ignores_short_label ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_fallout_top_gate_with_eval_chain ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_gate_plus_suspicious_iframe_without_family_name ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_flash_and_random_redirect_chain_combo ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_magnitude_landing_with_flash_embed ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_nuclear_family_with_random_chain ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_suspicious_eval_and_document_write_combo ... ok
[INFO] [stdout] test rules::exploit_kit::tests::ignores_benign_embed_without_other_indicators ... ok
[INFO] [stdout] test rules::exploit_kit::tests::ignores_simple_landing_path_without_other_signals ... ok
[INFO] [stdout] test rules::exploit_kit::tests::ignores_single_random_path_component ... ok
[INFO] [stdout] test rules::fragment_attack::tests::detects_embedded_url_fragment ... ok
[INFO] [stdout] test rules::fragment_attack::tests::ignores_normal_fragment ... ok
[INFO] [stdout] test rules::fragment_attack::tests::detects_javascript_fragment ... ok
[INFO] [stdout] test rules::homograph::tests::detects_all_cyrillic_domain ... ok
[INFO] [stdout] test rules::homograph::tests::detects_ascii_confusable_pair ... ok
[INFO] [stdout] test rules::homograph::tests::detects_mixed_script_cyrillic_latin ... ok
[INFO] [stdout] test rules::homograph::tests::detects_mixed_script_with_mathematical_alphanumeric ... ok
[INFO] [stdout] test rules::homograph::tests::detects_punycode_brand_core_with_missing_character_in_long_brand ... ok
[INFO] [stdout] test rules::homograph::tests::detects_punycode_brand_core_with_missing_letter ... ok
[INFO] [stdout] test rules::homograph::tests::detects_punycode_brand_core_without_four_char_substring_match ... ok
[INFO] [stdout] test rules::homograph::tests::extracts_domain_correctly ... ok
[INFO] [stdout] test rules::homograph::tests::ignores_pure_ascii_domain ... ok
[INFO] [stdout] test rules::homograph::tests::detects_punycode_domain ... ok
[INFO] [stdout] test rules::homograph::tests::normalizes_to_nfc_before_script_comparison ... ok
[INFO] [stdout] test rules::infrastructure::tests::flags_large_san_shared_hosting_indicator ... ok
[INFO] [stdout] test rules::brand_impersonation::tests::detects_percent_encoded_brand_in_path ... ok
[INFO] [stdout] test rules::infrastructure::tests::flags_lets_encrypt_wildcard_on_brand_impersonation_domain ... ok
[INFO] [stdout] test rules::infrastructure::tests::ignores_modern_non_login_site ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_decimal_ip ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_hex_ip ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_ipv6 ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_loopback ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_octal_ip ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_private_ipv4 ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_public_ipv4 ... ok
[INFO] [stdout] test rules::ip_literal::tests::detects_public_ipv4_https_is_medium ... ok
[INFO] [stdout] test rules::ip_literal::tests::ignores_domain_with_numbers ... ok
[INFO] [stdout] test rules::exploit_kit::tests::detects_rig_gate_with_iframe ... ok
[INFO] [stdout] test batch::tests::l1_batch_processes_urls_in_parallel ... ok
[INFO] [stdout] test rules::ip_literal::tests::is_private_ipv4_valid ... ok
[INFO] [stdout] test rules::ip_literal::tests::is_octal_ip_valid ... ok
[INFO] [stdout] test rules::missing_security::tests::does_not_flag_non_credential_pages ... ok
[INFO] [stdout] test rules::missing_security::tests::flags_credential_page_with_no_security_headers ... ok
[INFO] [stdout] test rules::missing_security::tests::partial_headers_lower_severity ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::skips_punycode_idn_domains ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_consonant_ratio ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_dga_score_legitimate ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_dga_score_malicious ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_digit_ratio ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_evaluate_dga_urls ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_evaluate_legit_urls ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_shannon_entropy ... ok
[INFO] [stdout] test rules::ngram_classifier::tests::test_whitelist ... ok
[INFO] [stdout] test rules::oauth_abuse::tests::detects_excessive_scope_request ... ok
[INFO] [stdout] test rules::oauth_abuse::tests::detects_external_redirect_uri ... ok
[INFO] [stdout] test rules::oauth_abuse::tests::detects_spoofed_client_id_brand ... ok
[INFO] [stdout] test rules::oauth_abuse::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::missing_security::tests::does_not_flag_when_headers_present ... ok
[INFO] [stdout] test rules::oauth_abuse::tests::ignores_non_oauth_url ... ok
[INFO] [stdout] test rules::open_redirect::tests::detects_continue_param ... ok
[INFO] [stdout] test rules::open_redirect::tests::detects_redirect_uri_param ... ok
[INFO] [stdout] test rules::open_redirect::tests::detects_url_redirect_param ... ok
[INFO] [stdout] test rules::open_redirect::tests::ignores_no_query_string ... ok
[INFO] [stdout] test rules::open_redirect::tests::ignores_relative_redirect ... ok
[INFO] [stdout] test rules::open_redirect::tests::ignores_unrelated_params ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_crlf_injection ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_double_encoded_traversal ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_double_extension_bat ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_double_extension_exe ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_double_extension_scr ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_env_file ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_git_config ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_null_byte ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_percent_encoded_traversal ... ok
[INFO] [stdout] test rules::path_evasion::tests::detects_wp_config ... ok
[INFO] [stdout] test rules::path_evasion::tests::ignores_clean_url ... ok
[INFO] [stdout] test rules::punycode::tests::detects_mixed_script_google_lookalike ... ok
[INFO] [stdout] test rules::punycode::tests::detects_visual_substitution_brand ... ok
[INFO] [stdout] test rules::punycode::tests::detects_xn_punycode_label ... ok
[INFO] [stdout] test rules::punycode::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::punycode::tests::ignores_unrelated_ascii_domain ... ok
[INFO] [stdout] test rules::ip_literal::tests::is_dotted_decimal_valid ... ok
[INFO] [stdout] test rules::path_evasion::tests::ignores_single_extension ... ok
[INFO] [stdout] test rules::qr_phish::tests::detects_qr_redirect_endpoint ... ok
[INFO] [stdout] test rules::qr_phish::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::qr_phish::tests::ignores_regular_redirect_parameter ... ok
[INFO] [stdout] test rules::qr_phish::tests::detects_oversized_qr_payload_url ... ok
[INFO] [stdout] test rules::qr_phish::tests::ignores_small_qr_asset_url ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_bulletproof_hosting_indicator ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_domain_hopping ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_ip_destination ... ok
[INFO] [stdout] test rules::ip_literal::tests::ignores_normal_domain ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_excessive_redirects ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_https_downgrade_signal_as_high_finding ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_redirect_loop ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_multiple_shorteners ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_persona_dependent_redirect_divergence ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_timing_anomaly ... ok
[INFO] [stdout] test rules::redirect_chain::tests::is_ip_address_tests ... ok
[INFO] [stdout] test rules::redirect_chain::tests::extract_domain_tests ... ok
[INFO] [stdout] test rules::redirect_chain::tests::detects_unique_registrable_domain_decay ... ok
[INFO] [stdout] test rules::redirect_chain::tests::no_domain_hop_for_same_registrable_subdomain ... ok
[INFO] [stdout] test rules::redirect_chain::tests::registrable_domain_handles_common_cc_tld ... ok
[INFO] [stdout] test rules::redirect_chain::tests::no_findings_for_simple_chain ... ok
[INFO] [stdout] test rules::safe_infrastructure::tests::emits_safe_findings_for_mature_infrastructure ... ok
[INFO] [stdout] test rules::redirect_chain::tests::no_findings_without_chain ... ok
[INFO] [stdout] test rules::safe_infrastructure::tests::ignores_non_well_known_old_domains ... ok
[INFO] [stdout] test rules::safe_infrastructure::tests::ignores_weak_csp ... ok
[INFO] [stdout] test rules::sandbox_behavior::credential::tests::cross_origin_form_action_rewrite_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::credential::tests::form_injection_with_redirect_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::credential::tests::same_origin_form_action_rewrite_is_benign ... ok
[INFO] [stdout] test rules::sandbox_behavior::credential::tests::semantic_cross_origin_password_form_is_critical ... ok
[INFO] [stdout] test rules::sandbox_behavior::credential::tests::semantic_same_origin_password_form_with_evil_redirect_is_high ... ok
[INFO] [stdout] test rules::sandbox_behavior::credential::tests::hidden_password_form_reveal_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::deception::tests::clipboard_crypto_replacement_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::deception::tests::deceptive_ui_semantics_are_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::deception::tests::qr_landing_heuristic_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::deception::tests::social_engineering_with_credential_form_escalates_to_critical ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::canvas_fingerprint_then_exfil_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::cookie_read_same_origin_not_flagged ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::cookie_theft_pattern_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::query_param_exfiltration_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::send_beacon_body_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::staged_fetch_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::trusted_content_origin_match_is_benign ... ok
[INFO] [stdout] test rules::sandbox_behavior::exfiltration::tests::trusted_content_origin_mismatch_is_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::obfuscation::tests::document_write_with_redirect_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::obfuscation::tests::dynamic_code_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::obfuscation::tests::timeout_detected ... ok
[INFO] [stdout] test rules::sandbox_behavior::redirect::tests::same_origin_redirect_is_benign ... ok
[INFO] [stdout] test rules::sandbox_behavior::tests::benign_script_produces_no_findings ... ok
[INFO] [stdout] test rules::sandbox_behavior::tests::cross_origin_detection_ignores_www_aliases ... ok
[INFO] [stdout] test rules::sandbox_behavior::tests::extract_origin_works ... ok
[INFO] [stdout] test rules::sandbox_behavior::tests::no_sandbox_results_produces_no_findings ... ok
[INFO] [stdout] test rules::scam_keywords::tests::detects_apple_support_scam ... ok
[INFO] [stdout] test rules::sandbox_behavior::redirect::tests::cross_origin_redirect_is_critical ... ok
[INFO] [stdout] test rules::scam_keywords::tests::detects_crypto_airdrop ... ok
[INFO] [stdout] test rules::sandbox_behavior::redirect::tests::persona_dependent_behavior_is_detected ... ok
[INFO] [stdout] test rules::scam_keywords::tests::detects_free_bitcoin ... ok
[INFO] [stdout] test rules::scam_keywords::tests::does_not_flag_legitimate_login_pages ... ok
[INFO] [stdout] test rules::scam_keywords::tests::ignores_legitimate_bitcoin_page ... ok
[INFO] [stdout] test rules::scam_keywords::tests::ignores_legitimate_support_page ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_data_uri_shellcode_marker ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_fnstenv_marker ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_heap_spray_literal ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_heap_spray_unicode_pattern ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_long_unicode_shellcode_run ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_nop_sled_hex_literal ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_plain_nop_sled_pattern ... ok
[INFO] [stdout] test rules::shellcode::tests::detects_shikata_marker ... ok
[INFO] [stdout] test rules::shellcode::tests::ignores_benign_base64_without_data_uri ... ok
[INFO] [stdout] test rules::shellcode::tests::ignores_short_unicode_sequences ... ok
[INFO] [stdout] test rules::signal_fusion::tests::credential_pattern_detection ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_credential_cookie_theft ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_encoding_redirect ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_cdn_chain_with_cross_domain_js_redirect ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_external_form_action_with_hidden_password_field ... ok
[INFO] [stdout] test rules::scam_keywords::tests::detects_tech_support_scam ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_ip_literal_with_script_execution ... ok
[INFO] [stdout] test rules::scam_keywords::tests::detects_walletconnect_scam ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_multi_hop_redirects_with_obfuscated_js ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_new_tls_cert_with_clipboard_access ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_tld_credential_redirect ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_typosquat_with_new_tls_cert ... ok
[INFO] [stdout] test rules::signal_fusion::tests::fuses_tld_with_credential_harvest_form ... ok
[INFO] [stdout] test rules::signal_fusion::tests::no_fusion_clean_context ... ok
[INFO] [stdout] test rules::signal_fusion::tests::no_fusion_single_layer ... ok
[INFO] [stdout] test rules::supply_chain::tests::detects_typosquatted_package_path ... ok
[INFO] [stdout] test rules::supply_chain::tests::detects_confusable_registry_domain ... ok
[INFO] [stdout] test rules::supply_chain::tests::ignores_official_registry_url ... ok
[INFO] [stdout] test rules::supply_chain::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::suspicious_download::tests::detects_apk_download ... ok
[INFO] [stdout] test rules::supply_chain::tests::detects_registry_lookalike_domain ... ok
[INFO] [stdout] test rules::suspicious_download::tests::detects_msi_download ... ok
[INFO] [stdout] test rules::suspicious_download::tests::ignores_html ... ok
[INFO] [stdout] test rules::suspicious_download::tests::ignores_pdf ... ok
[INFO] [stdout] test rules::suspicious_query::tests::detects_email_tracking ... ok
[INFO] [stdout] test rules::suspicious_query::tests::detects_encoded_email_tracking ... ok
[INFO] [stdout] test rules::suspicious_query::tests::detects_multiple_suspicious_params ... ok
[INFO] [stdout] test rules::suspicious_query::tests::does_not_flag_legitimate_login_pages ... ok
[INFO] [stdout] test rules::suspicious_query::tests::ignores_normal_query_parameters ... ok
[INFO] [stdout] test rules::suspicious_download::tests::detects_dmg_download ... ok
[INFO] [stdout] test rules::suspicious_query::tests::ignores_single_ref_parameter ... ok
[INFO] [stdout] test rules::suspicious_query::tests::no_findings_for_url_without_query ... ok
[INFO] [stdout] test rules::suspicious_tld::tests::flags_tier1_tld ... ok
[INFO] [stdout] test rules::suspicious_tld::tests::flags_tier2_tld ... ok
[INFO] [stdout] test rules::suspicious_tld::tests::flags_tier3_tld ... ok
[INFO] [stdout] test rules::suspicious_tld::tests::handles_url_with_auth ... ok
[INFO] [stdout] test rules::infrastructure::tests::flags_legacy_tls_on_login_page ... FAILED
[INFO] [stdout] test rules::suspicious_tld::tests::handles_url_with_port ... ok
[INFO] [stdout] test rules::suspicious_tld::tests::ignores_ip_literal ... ok
[INFO] [stdout] test rules::suspicious_tld::tests::ignores_safe_tlds ... ok
[INFO] [stdout] test rules::tlds::tests::host_tld_extraction ... ok
[INFO] [stdout] test rules::tlds::tests::legitimate_tlds_not_suspicious ... ok
[INFO] [stdout] test rules::tlds::tests::risk_tiers ... ok
[INFO] [stdout] test rules::tlds::tests::tier1_is_suspicious ... ok
[INFO] [stdout] test rules::tlds::tests::tier2_is_suspicious ... ok
[INFO] [stdout] test rules::toml_rules::tests::legitimate_domain_check ... ok
[INFO] [stdout] test rules::toml_rules::tests::loads_brand_toml ... ok
[INFO] [stdout] test rules::toml_rules::tests::loads_pattern_toml ... ok
[INFO] [stdout] test rules::toml_rules::tests::parses_fusion_rule_toml ... ok
[INFO] [stdout] test rules::typosquat::tests::case_insensitive ... ok
[INFO] [stdout] test rules::infrastructure::tests::flags_self_signed_login_page ... FAILED
[INFO] [stdout] test rules::typosquat::tests::detects_adjacent_transposition_typosquat ... ok
[INFO] [stdout] test rules::typosquat::tests::detects_amazon_typosquat ... ok
[INFO] [stdout] test rules::typosquat::tests::detects_google_typosquat ... ok
[INFO] [stdout] test rules::typosquat::tests::detects_paypal_typosquat ... ok
[INFO] [stdout] test rules::typosquat::tests::detects_single_bit_flip_bitsquat ... ok
[INFO] [stdout] test rules::typosquat::tests::ignores_legitimate_google ... ok
[INFO] [stdout] test rules::typosquat::tests::ignores_legitimate_paypal ... ok
[INFO] [stdout] test rules::typosquat::tests::ignores_unrelated_domain ... ok
[INFO] [stdout] test rules::typosquat::tests::levenshtein_empty ... ok
[INFO] [stdout] test rules::typosquat::tests::levenshtein_identical ... ok
[INFO] [stdout] test rules::typosquat::tests::levenshtein_one_deletion ... ok
[INFO] [stdout] test rules::typosquat::tests::levenshtein_one_insertion ... ok
[INFO] [stdout] test rules::typosquat::tests::levenshtein_one_substitution ... ok
[INFO] [stdout] test rules::typosquat::tests::levenshtein_two_edits ... ok
[INFO] [stdout] test rules::unicode_evasion::tests::detects_ascii_tab_in_url ... ok
[INFO] [stdout] test rules::unicode_evasion::tests::detects_isolate_marks ... ok
[INFO] [stdout] test rules::unicode_evasion::tests::detects_rlo_in_path ... ok
[INFO] [stdout] test rules::unicode_evasion::tests::ignores_plain_ascii_urls ... ok
[INFO] [stdout] test rules::url_entropy::tests::detects_high_entropy_hostname ... ok
[INFO] [stdout] test rules::url_entropy::tests::detects_high_entropy_path ... ok
[INFO] [stdout] test rules::url_entropy::tests::extract_hostname_basic ... ok
[INFO] [stdout] test rules::url_entropy::tests::extract_hostname_with_auth ... ok
[INFO] [stdout] test rules::url_entropy::tests::extract_hostname_with_port ... ok
[INFO] [stdout] test rules::url_entropy::tests::extract_path_basic ... ok
[INFO] [stdout] test rules::url_entropy::tests::extract_path_with_query ... ok
[INFO] [stdout] test rules::url_entropy::tests::ignores_normal_hostname ... ok
[INFO] [stdout] test rules::url_entropy::tests::ignores_short_labels ... ok
[INFO] [stdout] test rules::url_entropy::tests::ngram_filter_reduces_false_positives_for_structured_labels ... ok
[INFO] [stdout] test rules::url_entropy::tests::shannon_entropy_binary ... ok
[INFO] [stdout] test rules::url_entropy::tests::shannon_entropy_high_random ... ok
[INFO] [stdout] test rules::url_entropy::tests::shannon_entropy_empty ... ok
[INFO] [stdout] test rules::url_entropy::tests::shannon_entropy_uniform ... ok
[INFO] [stdout] test rules::url_shortener::tests::detects_known_shortener ... ok
[INFO] [stdout] test rules::url_shortener::tests::detects_shortener_case_insensitively ... ok
[INFO] [stdout] test rules::url_shortener::tests::ignores_non_shortener_domain ... ok
[INFO] [stdout] test rules::url_shortener::tests::ignores_shortener_substring_without_domain_match ... ok
[INFO] [stdout] test rules::url_utils::tests::cross_origin_detection ... ok
[INFO] [stdout] test rules::url_utils::tests::extract_host_basic ... ok
[INFO] [stdout] test rules::url_utils::tests::ip_address_detection ... ok
[INFO] [stdout] test rules::url_utils::tests::path_extraction ... ok
[INFO] [stdout] test rules::url_utils::tests::percent_decode_test ... ok
[INFO] [stdout] test rules::url_utils::tests::registrable_suffix_works ... ok
[INFO] [stdout] test rules::watering_hole::tests::detects_external_redirect_injected_on_legitimate_domain ... ok
[INFO] [stdout] test rules::watering_hole::tests::detects_hidden_iframe_injection_on_legitimate_domain ... ok
[INFO] [stdout] test rules::watering_hole::tests::detects_hidden_redirect_chain_via_cdn ... ok
[INFO] [stdout] test rules::tests::does_not_flag_legitimate_login_pages ... ok
[INFO] [stdout] test rules::watering_hole::tests::ignores_regular_legitimate_url ... ok
[INFO] [stdout] test rules::xss_probe::tests::detects_encoded_script_in_query ... ok
[INFO] [stdout] test rules::xss_probe::tests::detects_event_handler_injection ... ok
[INFO] [stdout] test rules::watering_hole::tests::does_not_flag_legitimate_major_domains ... ok
[INFO] [stdout] test rules::xss_probe::tests::detects_raw_script_in_fragment ... ok
[INFO] [stdout] test rules::xss_probe::tests::ignores_clean_urls ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_1_calculate_exact_threshold ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_1_low_findings_accumulation_boundary ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_2_exact_threshold_calculation ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_2_threshold_boundary_instability ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_3_duplicate_rule_flooding ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_3_mixed_severity_flooding ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_4_asymmetric_evidence ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_4_conflicting_findings ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_5_extreme_confidence_values ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_5_log_odds_edge_cases ... ok
[INFO] [stdout] test scoring::calibration::tests::high_confidence_high_severity_is_strong_signal ... ok
[INFO] [stdout] test scoring::calibration::tests::medium_confidence_interpolates_linearly ... ok
[INFO] [stdout] test scoring::calibration::tests::partial_confidence_softens_negative_signal_toward_neutral ... ok
[INFO] [stdout] test scoring::calibration::tests::safe_signal_maps_below_one ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::summary_practical_attack_calculations ... ok
[INFO] [stdout] test scoring::calibration::tests::severity_calibration_never_drops_below_one ... ok
[INFO] [stdout] test scoring::calibration::tests::info_confidence_maps_to_small_ratio ... ok
[INFO] [stdout] test scoring::calibration::tests::severity_order_matches_ratio_order ... ok
[INFO] [stdout] test scoring::calibration_eval::tests::all_false_negatives ... ok
[INFO] [stdout] test scoring::calibration::tests::zero_confidence_is_neutral ... ok
[INFO] [stdout] test scoring::calibration_eval::tests::all_false_positives ... ok
[INFO] [stdout] test scoring::calibration_eval::tests::auc_of_perfect_classifier_is_one ... ok
[INFO] [stdout] test scoring::calibration_eval::tests::auc_of_random_classifier_is_half ... ok
[INFO] [stdout] test scoring::calibration_eval::tests::perfect_classifier_has_f1_one ... ok
[INFO] [stdout] test scoring::tests::all_critical_findings_drive_near_certainty ... ok
[INFO] [stdout] test scoring::tests::all_severities_compound_monotonically ... ok
[INFO] [stdout] test scoring::tests::configurable_prior_changes_posterior ... ok
[INFO] [stdout] test scoring::tests::duplicate_rule_ids_collapse_to_one_signal ... ok
[INFO] [stdout] test scoring::tests::empty_findings_posterior_matches_prior ... ok
[INFO] [stdout] test scoring::tests::infinite_prior_falls_back_to_default_band ... ok
[INFO] [stdout] test scoring::tests::low_signal_stays_unknown ... ok
[INFO] [stdout] test scoring::tests::malicious_url_with_ev_cert_scores_lower_than_without_ev_cert ... ok
[INFO] [stdout] test scoring::tests::mixed_findings_remain_monotonic ... ok
[INFO] [stdout] test scoring::tests::multiple_independent_signals_compound ... ok
[INFO] [stdout] test scoring::tests::multiple_safe_signals_compound_to_reduce_probability ... ok
[INFO] [stdout] test scoring::tests::nan_prior_falls_back_to_default_band ... ok
[INFO] [stdout] test scoring::tests::no_findings_returns_unknown_at_prior ... ok
[INFO] [stdout] test scoring::tests::extreme_finding_count_stays_finite ... ok
[INFO] [stdout] test scoring::tests::safe_signals_do_not_prevent_truly_malicious_urls_from_being_flagged ... ok
[INFO] [stdout] test scoring::tests::single_critical_finding_is_malicious ... ok
[INFO] [stdout] test scoring::calibration_eval::tests::roc_curve_endpoints ... ok
[INFO] [stdout] test scoring::tests::weak_signals_saturate_before_malicious ... ok
[INFO] [stdout] test scoring::tests::single_medium_finding_is_suspicious ... ok
[INFO] [stdout] test engine::tests::report_is_self_describing ... ok
[INFO] [stdout] test tracing::tests::init_tracing_accepts_standard_levels ... ok
[INFO] [stdout] [2m2026-04-27T01:23:31.637920Z[0m [32m INFO[0m loaded TOML rules [3mbrands[0m[2m=[0m20 [3mpatterns[0m[2m=[0m12 [3mfusion[0m[2m=[0m53 [3mlegitimate_domains[0m[2m=[0m175
[INFO] [stdout] test rules::toml_rules::tests::loads_fusion_rules_from_dir ... ok
[INFO] [stdout] test types::tests::confidence_clamps_to_valid_range ... ok
[INFO] [stdout] test types::tests::confidence_constants_are_ordered ... ok
[INFO] [stdout] test types::tests::confidence_new_canonicalizes_json_roundtrip_boundary ... ok
[INFO] [stdout] test types::tests::confidence_serde_rejects_out_of_range_values ... ok
[INFO] [stdout] test types::tests::confidence_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::finding_defaults_missing_newer_fields ... ok
[INFO] [stdout] test types::tests::layer_ordering_matches_pipeline ... ok
[INFO] [stdout] test types::tests::redirect_chain_defaults_missing_optional_fields ... ok
[INFO] [stdout] test types::tests::severity_weight_increases_with_severity ... ok
[INFO] [stdout] test types::tests::url_key_deterministic ... ok
[INFO] [stdout] test scoring::attack_vectors::tests::attack_5_many_findings_stability ... ok
[INFO] [stdout] test types::tests::verdict_ordering ... ok
[INFO] [stdout] test types::tests::verdict_predicates ... ok
[INFO] [stdout] test types::tests::verdict_serde_roundtrip ... ok
[INFO] [stdout] [2m2026-04-27T01:23:31.734661Z[0m [32m INFO[0m loaded TOML rules [3mbrands[0m[2m=[0m20 [3mpatterns[0m[2m=[0m12 [3mfusion[0m[2m=[0m53 [3mlegitimate_domains[0m[2m=[0m175
[INFO] [stdout] test rules::toml_rules::tests::loads_rules_from_dir ... ok
[INFO] [stdout] [2m2026-04-27T01:23:31.796706Z[0m [32m INFO[0m loaded TOML rules [3mbrands[0m[2m=[0m20 [3mpatterns[0m[2m=[0m12 [3mfusion[0m[2m=[0m53 [3mlegitimate_domains[0m[2m=[0m175
[INFO] [stdout] test tracing::tests::analyze_creates_span ... ok
[INFO] [stdout] [2m2026-04-27T01:23:31.937339Z[0m [32m INFO[0m loaded TOML rules [3mbrands[0m[2m=[0m20 [3mpatterns[0m[2m=[0m12 [3mfusion[0m[2m=[0m53 [3mlegitimate_domains[0m[2m=[0m175
[INFO] [stdout] [2m2026-04-27T01:23:31.953200Z[0m [32m INFO[0m loaded TOML rules [3mbrands[0m[2m=[0m20 [3mpatterns[0m[2m=[0m12 [3mfusion[0m[2m=[0m53 [3mlegitimate_domains[0m[2m=[0m175
[INFO] [stdout] test tracing::tests::analyze_span_records_url_field ... ok
[INFO] [stdout] test tracing::tests::analyze_emits_pattern_scan_event ... ok
[INFO] [stdout] [2m2026-04-27T01:23:31.976389Z[0m [32m INFO[0m loaded TOML rules [3mbrands[0m[2m=[0m20 [3mpatterns[0m[2m=[0m12 [3mfusion[0m[2m=[0m53 [3mlegitimate_domains[0m[2m=[0m175
[INFO] [stdout] test tracing::tests::second_analysis_emits_cache_hit_event ... ok
[INFO] [stdout] test batch::tests::l1_throughput_benchmark ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- rules::infrastructure::tests::flags_legacy_tls_on_login_page stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'rules::infrastructure::tests::flags_legacy_tls_on_login_page' (231) panicked at src/rules/infrastructure.rs:292:9:
[INFO] [stdout] assertion failed: findings.iter().any(|finding|
[INFO] [stdout]         {
[INFO] [stdout]             finding.severity == Severity::Medium &&
[INFO] [stdout]                 finding.description.contains("TLS 1.1")
[INFO] [stdout]         })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57e2545cc42a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57e2545cc42a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57e2545cc42a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57e2545cc42a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57e2545e411a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57e2545e411a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x57e2545d10d2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x57e2545d10d2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x57e2545a975f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57e2545a975f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57e2545c3f09 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x57e25426077c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x57e25426077c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x57e2545c4182 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x57e2545c4182 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x57e2545a984a - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x57e25459e709 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x57e2545aa5ed - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x57e2545e495c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57e2545e4922 - core[6771d259883166e6]::panicking::panic
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x57e253f30716 - sear::rules::infrastructure::tests::flags_legacy_tls_on_login_page::hc2808494913ce2dc
[INFO] [stdout]                                at /opt/rustwide/workdir/src/rules/infrastructure.rs:292:9
[INFO] [stdout]   21:     0x57e253f30757 - sear::rules::infrastructure::tests::flags_legacy_tls_on_login_page::{{closure}}::h145ab81fb7151fe7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/rules/infrastructure.rs:287:40
[INFO] [stdout]   22:     0x57e2540543b6 - core::ops::function::FnOnce::call_once::h98c8f90214b8c521
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x57e25425487b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x57e25425487b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x57e25426124b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x57e25426124b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x57e25426124b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x57e25426124b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x57e25426124b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x57e25426124b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x57e25426124b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x57e25425b6a4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x57e25425b6a4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x57e254263e52 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x57e254263e52 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x57e254263e52 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x57e254263e52 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x57e254263e52 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x57e254263e52 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x57e254263e52 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x57e2545cb99f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   42:     0x57e2545cb99f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x79ea38884aa4 - <unknown>
[INFO] [stdout]   44:     0x79ea38911a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- rules::infrastructure::tests::flags_self_signed_login_page stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'rules::infrastructure::tests::flags_self_signed_login_page' (233) panicked at src/rules/infrastructure.rs:259:9:
[INFO] [stdout] assertion failed: findings.iter().any(|finding| finding.severity == Severity::High)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57e2545cc42a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57e2545cc42a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57e2545cc42a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57e2545cc42a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57e2545e411a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57e2545e411a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x57e2545d10d2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x57e2545d10d2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x57e2545a975f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57e2545a975f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57e2545c3f09 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x57e25426077c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x57e25426077c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x57e2545c4182 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x57e2545c4182 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x57e2545a984a - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x57e25459e709 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x57e2545aa5ed - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x57e2545e495c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57e2545e4922 - core[6771d259883166e6]::panicking::panic
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x57e253f30336 - sear::rules::infrastructure::tests::flags_self_signed_login_page::h8b6400b5803c6ed1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/rules/infrastructure.rs:259:9
[INFO] [stdout]   21:     0x57e253f303a7 - sear::rules::infrastructure::tests::flags_self_signed_login_page::{{closure}}::hae2eca0752c9f9a3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/rules/infrastructure.rs:254:38
[INFO] [stdout]   22:     0x57e25404f906 - core::ops::function::FnOnce::call_once::h156cae4179c10b8f
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x57e25425487b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x57e25425487b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x57e25426124b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x57e25426124b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x57e25426124b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x57e25426124b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x57e25426124b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x57e25426124b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x57e25426124b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x57e25425b6a4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x57e25425b6a4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x57e254263e52 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x57e254263e52 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x57e254263e52 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x57e254263e52 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x57e254263e52 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x57e254263e52 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x57e254263e52 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x57e2545cb99f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   42:     0x57e2545cb99f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x79ea38884aa4 - <unknown>
[INFO] [stdout]   44:     0x79ea38911a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     rules::infrastructure::tests::flags_legacy_tls_on_login_page
[INFO] [stdout]     rules::infrastructure::tests::flags_self_signed_login_page
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 463 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 13.40s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "fe845289f97a217369f1b75d5813fac990160284041cea9d1a568101a8fca196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe845289f97a217369f1b75d5813fac990160284041cea9d1a568101a8fca196", kill_on_drop: false }`
[INFO] [stdout] fe845289f97a217369f1b75d5813fac990160284041cea9d1a568101a8fca196
