keyhog-core 0.5.44

keyhog-core: shared data model and detector specifications for the KeyHog secret scanner
Documentation
pub static SAFE_BIN_LOCK: std::sync::Mutex<()> = std::sync::Mutex::new(());

pub mod allowlist;
pub mod allowlist_bare_globs_parse_gitignore_style;
pub mod allowlist_bare_sha256_hex_parses;
pub mod allowlist_entries_without_metadata_load;
pub mod allowlist_expired_entries_dropped;
pub mod allowlist_extended;
pub mod allowlist_future_dated_entries_load;
pub mod allowlist_hash_parse_non_ascii_does_not_panic;
pub mod allowlist_inline_metadata_reason_parsed;
pub mod allowlist_mixed_prefixed_and_bare_entries_load;
pub mod allowlist_system_clock_before_epoch_rejected;
pub mod allowlist_unknown_metadata_keys_not_fatal;
pub mod apply_default_protections_populates_report_fields;
pub mod ascii_ci;
pub mod auto_fix_remediation_uses_canonical_severity;
pub mod aws;
pub mod chunk_metadata_defaults_are_empty;
pub mod chunk_with_unicode_path_serializes_safely;
pub mod cloning_does_not_duplicate_buffer;
pub mod compute_spec_hash_changes_when_severity_changes;
pub mod config;
pub mod configured_trusted_bin_dir_resolves;
pub mod control_chars_in_path_serialize_safely;
pub mod corrupted_cache_returns_empty;
pub mod credential_extended;
pub mod credential_hash_eq_matches;
pub mod cross_detector_dedup_collapses_overlapping_detectors;
pub mod cross_detector_dedup_does_not_cross_files;
pub mod cross_detector_dedup_is_deterministic;
pub mod cross_detector_dedup_keeps_distinct_credentials_separate;
pub mod curated_services_map_correctly;
pub mod debug_redacts_bytes;
pub mod dedup;
pub mod dedup_cross_detector_winner_by_confidence;
pub mod dedup_extended;
pub mod dedup_none_scope_duplicates_preserved;
pub mod dedup_primary_selection_by_offset;
pub mod dedup_scope_three_exclusive_modes;
pub mod default_config_validates;
pub mod default_protections_are_idempotent;
pub mod detector_and_path_combine_with_and;
pub mod detector_introspection;
pub mod detector_match_only;
pub mod display_redacts_bytes;
pub mod embedded_detector_count_matches_slice_len;
pub mod empty_chunk_data_is_valid;
pub mod empty_run_still_produces_valid_sarif;
pub mod empty_service_does_not_panic;
pub mod empty_suppress_entry_is_rejected;
pub mod empty_suppressor_matches_nothing;
pub mod empty_with_one_suppression_uses_singular;
pub mod empty_with_suppressions_says_examples_were_silenced;
pub mod empty_with_zero_suppressions_says_clean;
pub mod encoding_decodes_standard_padded_base64;
pub mod encoding_extended;
pub mod encoding_rejects_input_over_max_bytes;
pub mod encoding_rejects_invalid_alphabet_characters;
pub mod encoding_rejects_null_byte_in_middle;
pub mod entries_returns_sorted;
pub mod equality_constant_time;
pub mod expose_secret_returns_bytes;
pub mod extremely_long_path_does_not_panic;
pub mod false_positives_drive_posterior_down;
pub mod finding;
pub mod finding_arc_str_serde_roundtrip;
pub mod fix_replacement_text_empty_service_still_wraps;
pub mod fix_replacement_text_wraps_in_dollar_braces;
pub mod fresh_detector_returns_uniform_prior;
pub mod full_dedup_pipeline_is_deterministic_across_input_orders;
pub mod gates;
pub mod git_lfs;
pub mod git_lfs_sha256_hex_len_owner;
pub mod hardening_report_failures_are_collectible;
pub mod hardening_sha256_len_single_owner;
pub mod interactsh_token_without_oob_block_is_error;
pub mod invalid_decode_depth_rejected;
pub mod json_array_reporter_new_propagates_write_errors;
pub mod json_array_reporter_wraps_findings_in_array;
pub mod json_selector;
pub mod jsonl_reporter_emits_one_object_per_line;
pub mod jsonl_reporter_empty_finish_still_valid;
pub mod legacy_b64_prefix_still_deserializes;
pub mod legacy_plain_string_still_deserializes;
pub mod load_detectors_from_empty_dir_rejected;
pub mod load_detectors_from_str_boundary_empty_keywords;
pub mod load_detectors_from_str_parses_valid_detector;
pub mod load_detectors_from_str_rejects_invalid_toml;
pub mod load_sweeps_stale_tmp_files_left_by_killed_processes;
pub mod load_with_mismatched_spec_invalidates_cache;
pub mod load_with_spec_when_disk_has_no_spec_invalidates;
pub mod lockdown_disk_cache_violations;
pub mod lookup_returns_full_tuple;
pub mod merkle_chunk_offsets_do_not_overwrite;
pub mod merkle_corrupted_cache_cold_start;
pub mod merkle_invalid_entry_hash_cold_starts;
pub mod merkle_load_cap_and_save_lock;
pub mod merkle_metadata_unchanged_exact_pair;
pub mod merkle_persisted_cap_trims_in_place;
pub mod merkle_racy_clean_entry_dropped_on_load;
pub mod merkle_record_and_unchanged_roundtrip;
pub mod merkle_save_no_filename_path_is_invalid_input;
pub mod merkle_spec_hash_changes_on_keyword_add;
pub mod merkle_spec_hash_order_invariant;
pub mod merkle_try_insert_entry_hot_path;
pub mod min_confidence_above_one_rejected;
pub mod min_confidence_one_accepted;
pub mod min_confidence_zero_accepted;
pub mod missing_cache_returns_empty;
pub mod missing_file_returns_empty;
pub mod multiple_suppress_combine_with_or;
pub mod nul_bytes_in_path_serialize_to_valid_json;
pub mod observations_excludes_prior;
pub mod oob_block_without_interactsh_token_is_error;
pub mod oob_with_interactsh_token_passes;
pub mod path_predicates_combine;
pub mod record_methods_saturate_at_u32_max;
pub mod redact_ascii_nine_chars_keeps_edges;
pub mod redact_boundary_eight_vs_nine;
pub mod redact_does_not_leak_full_secret;
pub mod redact_empty_string_returns_stars;
pub mod redact_extended;
pub mod redact_no_middle_exposure_long_secrets;
pub mod redact_utf8_multibyte_preserves_grapheme_edges;
pub mod refuses_absolute_path_outside_trusted_dirs;
pub mod refuses_relative_path;
pub mod regex_semantics;
pub mod relative_configured_trusted_bin_dir_ignored;
pub mod replacement_char_in_path_round_trips;
pub mod report;
pub mod report_common;
pub mod report_csv;
pub mod report_github_annotations;
pub mod report_gitlab_sast;
pub mod report_html;
pub mod report_junit;
pub mod report_starts_empty;
pub mod reporter_trait_can_be_implemented;
pub mod reserved_companion_name_is_error;
pub mod resolves_sh_to_known_path;
pub mod round_trip_binary_serde;
pub mod round_trip_serde;
pub mod safe_bin_no_production_path_fallback;
pub mod sarif_output_is_valid_json_with_cwe_owasp_taxa;
pub mod sarif_partial_fingerprints_present;
pub mod sarif_security_severity_mapping;
pub mod sarif_skip_notifications;
pub mod sarif_taxonomies_single_owner;
pub mod sarif_uri_absolute_under_root_relativizes;
pub mod sarif_uri_full_run_with_absolute_path;
pub mod sarif_uri_leading_colon_segment_disambiguated;
pub mod sarif_uri_percent_encodes_unsafe_bytes;
pub mod sarif_uri_posix_absolute_gets_file_scheme;
pub mod sarif_uri_relative_path_passes_through;
pub mod sarif_uri_windows_absolute_normalises_backslashes;
pub mod save_and_load_preserves_entries;
pub mod save_drops_stale_spec_entries_on_disk;
pub mod save_load_roundtrip;
pub mod save_merges_with_existing_disk_entries;
pub mod save_overwrites_disk_entry_for_same_path;
pub mod save_with_spec_then_load_with_matching_spec_keeps_entries;
pub mod scan_config_unknown_field_rejected;
pub mod schema_mismatch_returns_empty;
pub mod schema_version_mismatch_treated_as_cold_start;
pub mod sensitive_string_debug_redacts;
pub mod serialize_binary_credential_as_tagged_b64;
pub mod serialize_utf8_credential_as_tagged_text;
pub mod service_with_path_separators_normalizes_to_screaming_snake;
pub mod severity_downgrade_floors_at_info;
pub mod severity_downgrade_is_monotonic;
pub mod severity_downgrade_walks_one_step;
pub mod severity_lte_includes_client_safe_tier;
pub mod severity_lte_matches_at_or_below_threshold;
pub mod source_error_other_includes_fix_hint;
pub mod spec;
pub mod state_file_read_capped;
pub mod timing;
pub mod toml_compat_boundary_cases;
pub mod toml_compat_error_messages;
pub mod toml_compat_forward_compat;
pub mod toml_compat_malformed_syntax;
pub mod toml_compat_missing_required_field;
pub mod toml_compat_roundtrip;
pub mod toml_compat_type_mismatch;
pub mod true_positives_drive_posterior_up;
pub mod trusted_bin_env_is_ignored;
pub mod unknown_binary_is_none;
pub mod unknown_field_is_rejected;
pub mod unknown_path_is_changed;
pub mod unknown_service_falls_back_to_screaming_snake;
pub mod unknown_severity_is_rejected;
pub mod v1_legacy_format_treated_as_cold_start;
pub mod validate;
pub mod winpath;