Repository navigation
Agent SYMBOLS_p41
grisun0 edited this page Oct 19, 2026
·
5 revisions
Previous: SYMBOLS_p40.md
| Symbol | Kind | File:Line | Signature |
|---|---|---|---|
test_ai_fallback_imports_from_llm_factory |
method | tests/test_security_hardening.py:291 |
def test_ai_fallback_imports_from_llm_factory(self) |
test_caldera_config_uses_secrets_module |
method | tests/test_security_hardening.py:263 |
def test_caldera_config_uses_secrets_module(self) |
test_check_auth_returns_false_for_wrong_credentials |
method | tests/test_security_hardening.py:380 |
def test_check_auth_returns_false_for_wrong_credentials(self) |
test_check_auth_uses_hmac_compare_digest |
method | tests/test_security_hardening.py:136 |
def test_check_auth_uses_hmac_compare_digest(self) |
test_cli_ai_imports_from_llm_factory |
method | tests/test_security_hardening.py:306 |
def test_cli_ai_imports_from_llm_factory(self) |
test_db_maybe_decrypt_logs_failure |
method | tests/test_security_hardening.py:344 |
def test_db_maybe_decrypt_logs_failure(self) |
test_db_maybe_encrypt_has_warning_log |
method | tests/test_security_hardening.py:336 |
def test_db_maybe_encrypt_has_warning_log(self) |
test_db_module_has_logging_import |
method | tests/test_security_hardening.py:329 |
def test_db_module_has_logging_import(self) |
test_export_csv_accepts_all_valid_tables |
method | tests/test_security_hardening.py:57 |
def test_export_csv_accepts_all_valid_tables(self, fresh_db) |
test_export_csv_rejects_malicious_table_name |
method | tests/test_security_hardening.py:45 |
def test_export_csv_rejects_malicious_table_name(self, fresh_db) |
test_export_csv_rejects_union_select |
method | tests/test_security_hardening.py:51 |
def test_export_csv_rejects_union_select(self, fresh_db) |
test_hmac_compare_digest_rejects_timing_difference |
method | tests/test_security_hardening.py:161 |
def test_hmac_compare_digest_rejects_timing_difference(self) |
test_hmac_module_imported_in_lazyc2 |
method | tests/test_security_hardening.py:390 |
def test_hmac_module_imported_in_lazyc2(self) |
test_llm_factory_defines_constants |
method | tests/test_security_hardening.py:283 |
def test_llm_factory_defines_constants(self) |
test_no_hardcoded_api_keys_in_caldera_config |
method | tests/test_security_hardening.py:254 |
def test_no_hardcoded_api_keys_in_caldera_config(self) |
test_normal_query_still_works |
method | tests/test_security_hardening.py:116 |
def test_normal_query_still_works(self, db_with_hosts) |
test_openssl_conf_uses_setdefault |
method | tests/test_security_hardening.py:361 |
def test_openssl_conf_uses_setdefault(self) |
test_percent_literal_not_wildcard |
method | tests/test_security_hardening.py:98 |
def test_percent_literal_not_wildcard(self, db_with_hosts) |
test_pickle_not_imported_in_utils |
method | tests/test_security_hardening.py:233 |
def test_pickle_not_imported_in_utils(self) |
test_run_shell_does_not_use_shell_true |
method | tests/test_security_hardening.py:181 |
def test_run_shell_does_not_use_shell_true(self) |
test_run_shell_with_pipe_character |
method | tests/test_security_hardening.py:200 |
def test_run_shell_with_pipe_character(self) |
test_run_shell_with_semicolon_is_treated_as_argument |
method | tests/test_security_hardening.py:212 |
def test_run_shell_with_semicolon_is_treated_as_argument(self) |
test_underscore_literal_not_wildcard |
method | tests/test_security_hardening.py:107 |
def test_underscore_literal_not_wildcard(self, db_with_hosts) |
test_valid_tables_constant_is_complete |
method | tests/test_security_hardening.py:39 |
def test_valid_tables_constant_is_complete(self) |
TestAICommandInjectionPrevention |
class | tests/test_security_hardening_v2.py:34 |
class TestAICommandInjectionPrevention |
TestCredentialEncryptionAtRest |
class | tests/test_security_hardening_v2.py:288 |
class TestCredentialEncryptionAtRest |
TestDNSCommandAllowlist |
class | tests/test_security_hardening_v2.py:157 |
class TestDNSCommandAllowlist |
TestNoOsSystemInCriticalPaths |
class | tests/test_security_hardening_v2.py:349 |
class TestNoOsSystemInCriticalPaths |
TestSSHCredentialInjectionPrevention |
class | tests/test_security_hardening_v2.py:92 |
class TestSSHCredentialInjectionPrevention |
TestSafeShellExecution |
class | tests/test_security_hardening_v2.py:220 |
class TestSafeShellExecution |
_read |
function | tests/test_security_hardening_v2.py:25 |
def _read(relpath) |
test_ai_module_no_os_system |
method | tests/test_security_hardening_v2.py:354 |
def test_ai_module_no_os_system(self) |
test_allowlist_exists_as_frozenset |
method | tests/test_security_hardening_v2.py:163 |
def test_allowlist_exists_as_frozenset(self) |
test_allowlist_is_finite_and_reasonable |
method | tests/test_security_hardening_v2.py:175 |
def test_allowlist_is_finite_and_reasonable(self) |
test_answers_through_canonical_backend |
method | tests/test_security_hardening_v2.py:70 |
def test_answers_through_canonical_backend(self) |
test_api_key_never_leaves_factory_path |
method | tests/test_security_hardening_v2.py:63 |
def test_api_key_never_leaves_factory_path(self) |
test_credential_key_derivation |
method | tests/test_security_hardening_v2.py:337 |
def test_credential_key_derivation(self) |
test_dangerous_command_not_in_allowlist |
method | tests/test_security_hardening_v2.py:200 |
def test_dangerous_command_not_in_allowlist(self) |
test_decrypt_function_exists |
method | tests/test_security_hardening_v2.py:301 |
def test_decrypt_function_exists(self) |
test_dns_handler_checks_allowlist |
method | tests/test_security_hardening_v2.py:188 |
def test_dns_handler_checks_allowlist(self) |
test_dns_handler_checks_length |
method | tests/test_security_hardening_v2.py:194 |
def test_dns_handler_checks_length(self) |
test_dns_resolver_has_allowlist_guard |
method | tests/test_security_hardening_v2.py:379 |
def test_dns_resolver_has_allowlist_guard(self) |
test_do_sys_captures_output |
method | tests/test_security_hardening_v2.py:246 |
def test_do_sys_captures_output(self) |
test_do_sys_uses_safe_runner |
method | tests/test_security_hardening_v2.py:227 |
def test_do_sys_uses_safe_runner(self) |
test_encrypt_function_exists |
method | tests/test_security_hardening_v2.py:295 |
def test_encrypt_function_exists(self) |
test_hash_function_exists |
method | tests/test_security_hardening_v2.py:307 |
def test_hash_function_exists(self) |
test_imports_base64_for_encoding |
method | tests/test_security_hardening_v2.py:331 |
def test_imports_base64_for_encoding(self) |
test_log_uses_hash_not_plaintext |
method | tests/test_security_hardening_v2.py:319 |
def test_log_uses_hash_not_plaintext(self) |
test_max_length_constant_exists |
method | tests/test_security_hardening_v2.py:169 |
def test_max_length_constant_exists(self) |
test_misc_sys_no_os_system |
method | tests/test_security_hardening_v2.py:386 |
def test_misc_sys_no_os_system(self) |
test_no_fstring_with_api_key_in_command |
method | tests/test_security_hardening_v2.py:77 |
def test_no_fstring_with_api_key_in_command(self) |
test_no_os_system_in_ai_module |
method | tests/test_security_hardening_v2.py:43 |
def test_no_os_system_in_ai_module(self) |
test_no_os_system_in_misc_module_code |
method | tests/test_security_hardening_v2.py:264 |
def test_no_os_system_in_misc_module_code(self) |
test_no_shell_true_in_ai_module |
method | tests/test_security_hardening_v2.py:57 |
def test_no_shell_true_in_ai_module(self) |
test_no_sshpass_minus_p_in_code |
method | tests/test_security_hardening_v2.py:99 |
def test_no_sshpass_minus_p_in_code(self) |
test_no_subprocess_in_ai_module |
method | tests/test_security_hardening_v2.py:49 |
def test_no_subprocess_in_ai_module(self) |
test_password_not_in_fstring_command |
method | tests/test_security_hardening_v2.py:134 |
def test_password_not_in_fstring_command(self) |
test_postexp_no_sshpass_in_fstring_code |
method | tests/test_security_hardening_v2.py:361 |
def test_postexp_no_sshpass_in_fstring_code(self) |
test_record_credentials_encrypts_password |
method | tests/test_security_hardening_v2.py:313 |
def test_record_credentials_encrypts_password(self) |
test_sshpass_in_list_form |
method | tests/test_security_hardening_v2.py:128 |
def test_sshpass_in_list_form(self) |
test_sshpass_uses_e_flag |
method | tests/test_security_hardening_v2.py:116 |
def test_sshpass_uses_e_flag(self) |
test_ssppass_env_var_used |
method | tests/test_security_hardening_v2.py:122 |
def test_ssppass_env_var_used(self) |
test_uses_aes_encryption |
method | tests/test_security_hardening_v2.py:325 |
def test_uses_aes_encryption(self) |
TestAntiForensicsCommands |
class | tests/test_security_hardening_v3.py:439 |
class TestAntiForensicsCommands |
TestBuildSshpassCommand |
class | tests/test_security_hardening_v3.py:134 |
class TestBuildSshpassCommand |
TestEscapeHtmlContent |
class | tests/test_security_hardening_v3.py:182 |
class TestEscapeHtmlContent |
TestIcmpServerCommandExecution |
class | tests/test_security_hardening_v3.py:379 |
class TestIcmpServerCommandExecution |
TestPhishingOrchestratorKey |
class | tests/test_security_hardening_v3.py:356 |
class TestPhishingOrchestratorKey |
TestPivotingCommands |
class | tests/test_security_hardening_v3.py:420 |
class TestPivotingCommands |
TestRequireEncryptionKey |
class | tests/test_security_hardening_v3.py:305 |
class TestRequireEncryptionKey |
TestResourceScriptEngine |
class | tests/test_security_hardening_v3.py:405 |
class TestResourceScriptEngine |
TestSafeClipboardCopy |
class | tests/test_security_hardening_v3.py:116 |
class TestSafeClipboardCopy |
TestSafePathJoin |
class | tests/test_security_hardening_v3.py:213 |
class TestSafePathJoin |
TestSafeSubprocessRun |
class | tests/test_security_hardening_v3.py:21 |
class TestSafeSubprocessRun |
TestSanitizeFilename |
class | tests/test_security_hardening_v3.py:332 |
class TestSanitizeFilename |
TestSetSshpassEnv |
class | tests/test_security_hardening_v3.py:159 |
class TestSetSshpassEnv |
TestValidateHost |
class | tests/test_security_hardening_v3.py:284 |
class TestValidateHost |
TestValidateNetworkCidr |
class | tests/test_security_hardening_v3.py:244 |
class TestValidateNetworkCidr |
TestValidatePortSpec |
class | tests/test_security_hardening_v3.py:266 |
class TestValidatePortSpec |
test_accepts_valid_cidr |
method | tests/test_security_hardening_v3.py:248 |
def test_accepts_valid_cidr(self) |
test_accepts_valid_hostname |
method | tests/test_security_hardening_v3.py:293 |
def test_accepts_valid_hostname(self) |
test_accepts_valid_ip |
method | tests/test_security_hardening_v3.py:288 |
def test_accepts_valid_ip(self) |
test_accepts_valid_ports |
method | tests/test_security_hardening_v3.py:270 |
def test_accepts_valid_ports(self) |
test_allows_safe_paths |
method | tests/test_security_hardening_v3.py:217 |
def test_allows_safe_paths(self, tmp_path) |
test_anti_forensics_has_no_shell_true |
method | tests/test_security_hardening_v3.py:443 |
def test_anti_forensics_has_no_shell_true(self) |
test_blocks_symlink_escape |
method | tests/test_security_hardening_v3.py:229 |
def test_blocks_symlink_escape(self, tmp_path) |
test_blocks_traversal |
method | tests/test_security_hardening_v3.py:223 |
def test_blocks_traversal(self, tmp_path) |
test_capture_output_default_true |
method | tests/test_security_hardening_v3.py:82 |
def test_capture_output_default_true(self) |
test_captures_stderr |
method | tests/test_security_hardening_v3.py:44 |
def test_captures_stderr(self) |
test_check_false |
method | tests/test_security_hardening_v3.py:93 |
def test_check_false(self) |
test_escapes_quotes |
method | tests/test_security_hardening_v3.py:193 |
def test_escapes_quotes(self) |
test_escapes_script_tags |
method | tests/test_security_hardening_v3.py:186 |
def test_escapes_script_tags(self) |
test_execute_command_uses_list_form |
method | tests/test_security_hardening_v3.py:383 |
def test_execute_command_uses_list_form(self) |
test_handles_empty |
method | tests/test_security_hardening_v3.py:343 |
def test_handles_empty(self) |
test_handles_empty_command |
method | tests/test_security_hardening_v3.py:392 |
def test_handles_empty_command(self) |
test_handles_empty_string |
method | tests/test_security_hardening_v3.py:206 |
def test_handles_empty_string(self) |
test_handles_invalid_command |
method | tests/test_security_hardening_v3.py:398 |
def test_handles_invalid_command(self) |
test_pivoting_module_has_no_shell_true |
method | tests/test_security_hardening_v3.py:424 |
def test_pivoting_module_has_no_shell_true(self) |
test_preserves_existing_env |
method | tests/test_security_hardening_v3.py:169 |
def test_preserves_existing_env(self) |
test_preserves_safe_content |
method | tests/test_security_hardening_v3.py:200 |
def test_preserves_safe_content(self) |
test_raises_without_key |
method | tests/test_security_hardening_v3.py:309 |
def test_raises_without_key(self) |
test_raises_without_key |
method | tests/test_security_hardening_v3.py:360 |
def test_raises_without_key(self) |
test_reads_from_env |
method | tests/test_security_hardening_v3.py:316 |
def test_reads_from_env(self) |
test_reads_from_file |
method | tests/test_security_hardening_v3.py:323 |
def test_reads_from_file(self, tmp_path) |
test_rejects_empty |
method | tests/test_security_hardening_v3.py:260 |
def test_rejects_empty(self) |
test_rejects_empty_argv |
method | tests/test_security_hardening_v3.py:25 |
def test_rejects_empty_argv(self) |
test_rejects_empty_path |
method | tests/test_security_hardening_v3.py:237 |
def test_rejects_empty_path(self, tmp_path) |
test_rejects_invalid |
method | tests/test_security_hardening_v3.py:298 |
def test_rejects_invalid(self) |
test_rejects_invalid_cidr |
method | tests/test_security_hardening_v3.py:254 |
def test_rejects_invalid_cidr(self) |
test_rejects_invalid_ports |
method | tests/test_security_hardening_v3.py:277 |
def test_rejects_invalid_ports(self) |
test_rejects_null_bytes |
method | tests/test_security_hardening_v3.py:31 |
def test_rejects_null_bytes(self) |
test_rejects_null_bytes |
method | tests/test_security_hardening_v3.py:175 |
def test_rejects_null_bytes(self) |
test_rejects_null_bytes_in_password |
method | tests/test_security_hardening_v3.py:152 |
def test_rejects_null_bytes_in_password(self) |
test_rejects_oversized_content |
method | tests/test_security_hardening_v3.py:120 |
def test_rejects_oversized_content(self) |
test_rejects_oversized_password |
method | tests/test_security_hardening_v3.py:146 |
def test_rejects_oversized_password(self) |
test_removes_dangerous_chars |
method | tests/test_security_hardening_v3.py:336 |
def test_removes_dangerous_chars(self) |
test_returns_completed_process_fields |
method | tests/test_security_hardening_v3.py:62 |
def test_returns_completed_process_fields(self) |
test_returns_false_without_clipboard_tool |
method | tests/test_security_hardening_v3.py:126 |
def test_returns_false_without_clipboard_tool(self) |
test_run_command_uses_list_form |
method | tests/test_security_hardening_v3.py:409 |
def test_run_command_uses_list_form(self) |
test_runs_command_without_shell |
method | tests/test_security_hardening_v3.py:37 |
def test_runs_command_without_shell(self) |
test_sets_ssplash_env |
method | tests/test_security_hardening_v3.py:163 |
def test_sets_ssplash_env(self) |
test_shell_false_enforced |
method | tests/test_security_hardening_v3.py:51 |
def test_shell_false_enforced(self) |
test_text_mode_enabled |
method | tests/test_security_hardening_v3.py:104 |
def test_text_mode_enabled(self) |
test_timeout_passed_through |
method | tests/test_security_hardening_v3.py:71 |
def test_timeout_passed_through(self) |
test_truncates_long_names |
method | tests/test_security_hardening_v3.py:349 |
def test_truncates_long_names(self) |
test_uses_e_flag_not_p |
method | tests/test_security_hardening_v3.py:138 |
def test_uses_e_flag_not_p(self) |
test_works_with_env_key |
method | tests/test_security_hardening_v3.py:371 |
def test_works_with_env_key(self) |
TestC2BuilderNoOsSystem |
class | tests/test_security_hardening_v4.py:359 |
class TestC2BuilderNoOsSystem |
TestConditionalHooksInjectionPrevention |
class | tests/test_security_hardening_v4.py:512 |
class TestConditionalHooksInjectionPrevention |
TestExecuteCommandShellFalse |
class | tests/test_security_hardening_v4.py:391 |
class TestExecuteCommandShellFalse |
TestMiscMigratedIpDisplay |
class | tests/test_security_hardening_v4.py:415 |
class TestMiscMigratedIpDisplay |
TestMorseNoOsSystem |
class | tests/test_security_hardening_v4.py:336 |
class TestMorseNoOsSystem |
TestNoHardcodedPaths |
class | tests/test_security_hardening_v4.py:439 |
class TestNoHardcodedPaths |
TestPluginLoaderUrlInjection |
class | tests/test_security_hardening_v4.py:266 |
class TestPluginLoaderUrlInjection |
TestReconMigratedNoOsSystem |
class | tests/test_security_hardening_v4.py:559 |
class TestReconMigratedNoOsSystem |
TestSafeClearScreen |
class | tests/test_security_hardening_v4.py:529 |
class TestSafeClearScreen |
TestSafeFileRead |
class | tests/test_security_hardening_v4.py:576 |
class TestSafeFileRead |
TestSafeFindTool |
class | tests/test_security_hardening_v4.py:624 |
class TestSafeFindTool |
TestSafeGitClone |
class | tests/test_security_hardening_v4.py:201 |
class TestSafeGitClone |
TestSafeIpShow |
class | tests/test_security_hardening_v4.py:231 |
class TestSafeIpShow |
TestSafeRunArgv |
class | tests/test_security_hardening_v4.py:100 |
class TestSafeRunArgv |
TestSafeSystem |
class | tests/test_security_hardening_v4.py:34 |
class TestSafeSystem |
TestValidateUrl |
class | tests/test_security_hardening_v4.py:135 |
class TestValidateUrl |
_get_validate_fn |
method | tests/test_security_hardening_v4.py:270 |
def _get_validate_fn(self) |
test_allows_simple_command |
method | tests/test_security_hardening_v4.py:86 |
def test_allows_simple_command(self) |
test_allows_valid_http_url |
method | tests/test_security_hardening_v4.py:187 |
def test_allows_valid_http_url(self) |
test_allows_valid_https_url |
method | tests/test_security_hardening_v4.py:179 |
def test_allows_valid_https_url(self) |
test_executes_without_shell |
method | tests/test_security_hardening_v4.py:120 |
def test_executes_without_shell(self) |
test_finds_existing_tool |
method | tests/test_security_hardening_v4.py:628 |
def test_finds_existing_tool(self) |
test_handles_missing_command |
method | tests/test_security_hardening_v4.py:251 |
def test_handles_missing_command(self) |
test_ip_uses_subprocess_list_form |
method | tests/test_security_hardening_v4.py:419 |
def test_ip_uses_subprocess_list_form(self) |
test_no_home_grisun0_in_configs_and_docs |
method | tests/test_security_hardening_v4.py:467 |
def test_no_home_grisun0_in_configs_and_docs(self) |
test_no_home_grisun0_in_production |
method | tests/test_security_hardening_v4.py:443 |
def test_no_home_grisun0_in_production(self) |
test_no_os_system |
method | tests/test_security_hardening_v4.py:533 |
def test_no_os_system(self) |
test_no_os_system_for_encryption |
method | tests/test_security_hardening_v4.py:363 |
def test_no_os_system_for_encryption(self) |
test_no_os_system_for_path_setup |
method | tests/test_security_hardening_v4.py:563 |
def test_no_os_system_for_path_setup(self) |
test_no_os_system_for_tunnel |
method | tests/test_security_hardening_v4.py:370 |
def test_no_os_system_for_tunnel(self) |
test_no_os_system_in_morse |
method | tests/test_security_hardening_v4.py:339 |
def test_no_os_system_in_morse(self) |
test_no_root_home_in_anti_forensics |
method | tests/test_security_hardening_v4.py:491 |
def test_no_root_home_in_anti_forensics(self) |
test_no_xclip_shell_true |
method | tests/test_security_hardening_v4.py:426 |
def test_no_xclip_shell_true(self) |
test_reads_valid_file |
method | tests/test_security_hardening_v4.py:595 |
def test_reads_valid_file(self) |
test_rejects_backtick |
method | tests/test_security_hardening_v4.py:54 |
def test_rejects_backtick(self) |
test_rejects_backtick_in_url |
method | tests/test_security_hardening_v4.py:147 |
def test_rejects_backtick_in_url(self) |
test_rejects_dollar_paren |
method | tests/test_security_hardening_v4.py:62 |
def test_rejects_dollar_paren(self) |
test_rejects_empty_argv |
method | tests/test_security_hardening_v4.py:112 |
def test_rejects_empty_argv(self) |
test_rejects_empty_command |
method | tests/test_security_hardening_v4.py:70 |
def test_rejects_empty_command(self) |
test_rejects_empty_url |
method | tests/test_security_hardening_v4.py:163 |
def test_rejects_empty_url(self) |
test_rejects_ftp_scheme |
method | tests/test_security_hardening_v4.py:155 |
def test_rejects_ftp_scheme(self) |
test_rejects_injection_in_url |
method | tests/test_security_hardening_v4.py:205 |
def test_rejects_injection_in_url(self) |
test_rejects_missing_file |
method | tests/test_security_hardening_v4.py:610 |
def test_rejects_missing_file(self) |
test_rejects_missing_netloc |
method | tests/test_security_hardening_v4.py:171 |
def test_rejects_missing_netloc(self) |
test_rejects_null_byte |
method | tests/test_security_hardening_v4.py:104 |
def test_rejects_null_byte(self) |
test_rejects_oversized_file |
method | tests/test_security_hardening_v4.py:580 |
def test_rejects_oversized_file(self) |
test_rejects_pipe |
method | tests/test_security_hardening_v4.py:46 |
def test_rejects_pipe(self) |
test_rejects_semicolon |
method | tests/test_security_hardening_v4.py:38 |
def test_rejects_semicolon(self) |
test_rejects_semicolon_in_url |
method | tests/test_security_hardening_v4.py:139 |
def test_rejects_semicolon_in_url(self) |
test_rejects_whitespace_only |
method | tests/test_security_hardening_v4.py:78 |
def test_rejects_whitespace_only(self) |
test_returns_list_of_dicts |
method | tests/test_security_hardening_v4.py:235 |
def test_returns_list_of_dicts(self) |
test_returns_none_for_missing_tool |
method | tests/test_security_hardening_v4.py:637 |
def test_returns_none_for_missing_tool(self) |
test_telegram_hermes_uses_env_shebang |
method | tests/test_security_hardening_v4.py:499 |
def test_telegram_hermes_uses_env_shebang(self) |
test_uses_python_native_for_encryption |
method | tests/test_security_hardening_v4.py:377 |
def test_uses_python_native_for_encryption(self) |
test_uses_shell_false |
method | tests/test_security_hardening_v4.py:395 |
def test_uses_shell_false(self) |
test_uses_shlex_quote |
method | tests/test_security_hardening_v4.py:516 |
def test_uses_shlex_quote(self) |
test_uses_shlex_split |
method | tests/test_security_hardening_v4.py:402 |
def test_uses_shlex_split(self) |
test_uses_subprocess |
method | tests/test_security_hardening_v4.py:543 |
def test_uses_subprocess(self) |
test_uses_subprocess_instead |
method | tests/test_security_hardening_v4.py:346 |
def test_uses_subprocess_instead(self) |
test_uses_subprocess_list_form |
method | tests/test_security_hardening_v4.py:214 |
def test_uses_subprocess_list_form(self, mock_run) |
test_validate_clone_url_allows_valid_url |
method | tests/test_security_hardening_v4.py:323 |
def test_validate_clone_url_allows_valid_url(self) |
test_validate_clone_url_rejects_backtick |
method | tests/test_security_hardening_v4.py:302 |
def test_validate_clone_url_rejects_backtick(self) |
test_validate_clone_url_rejects_dollar |
method | tests/test_security_hardening_v4.py:295 |
def test_validate_clone_url_rejects_dollar(self) |
test_validate_clone_url_rejects_empty |
method | tests/test_security_hardening_v4.py:309 |
def test_validate_clone_url_rejects_empty(self) |
test_validate_clone_url_rejects_non_http |
method | tests/test_security_hardening_v4.py:316 |
def test_validate_clone_url_rejects_non_http(self) |
test_validate_clone_url_rejects_pipe |
method | tests/test_security_hardening_v4.py:288 |
def test_validate_clone_url_rejects_pipe(self) |
test_validate_clone_url_rejects_semicolon |
method | tests/test_security_hardening_v4.py:281 |
def test_validate_clone_url_rejects_semicolon(self) |
BrokenDB |
class | tests/test_security_hardening_v5.py:280 |
class BrokenDB |
TestBootstrapPasswordNotPrinted |
class | tests/test_security_hardening_v5.py:196 |
class TestBootstrapPasswordNotPrinted |
TestCalderaConfigNoHardcodedSecrets |
class | tests/test_security_hardening_v5.py:119 |
class TestCalderaConfigNoHardcodedSecrets |
TestCredentialLogHashing |
class | tests/test_security_hardening_v5.py:93 |
class TestCredentialLogHashing |
TestCsrfCookieInjection |
class | tests/test_security_hardening_v5.py:235 |
class TestCsrfCookieInjection |
TestHealthEndpointNoExceptionLeak |
class | tests/test_security_hardening_v5.py:259 |
class TestHealthEndpointNoExceptionLeak |
TestIcmpAuthenticatedCrypto |
class | tests/test_security_hardening_v5.py:43 |
class TestIcmpAuthenticatedCrypto |
TestNetworkOpsecTlsVersion |
class | tests/test_security_hardening_v5.py:222 |
class TestNetworkOpsecTlsVersion |
TestPhishingWizardEncryptsCredentials |
class | tests/test_security_hardening_v5.py:173 |
class TestPhishingWizardEncryptsCredentials |
TestSprayNoClearTextPassword |
class | tests/test_security_hardening_v5.py:155 |
class TestSprayNoClearTextPassword |
_read |
function | tests/test_security_hardening_v5.py:33 |
def _read(rel) |
test_client_has_no_ecb |
method | tests/test_security_hardening_v5.py:50 |
def test_client_has_no_ecb(self) |
test_client_sudo_is_guarded |
method | tests/test_security_hardening_v5.py:82 |
def test_client_sudo_is_guarded(self) |
test_client_uses_gcm |
method | tests/test_security_hardening_v5.py:56 |
def test_client_uses_gcm(self) |
test_database_error_is_generic |
method | tests/test_security_hardening_v5.py:267 |
def test_database_error_is_generic(self) |
test_does_not_log_password |
method | tests/test_security_hardening_v5.py:158 |
def test_does_not_log_password(self) |
test_encrypt_decrypt_roundtrip |
method | tests/test_security_hardening_v5.py:59 |
def test_encrypt_decrypt_roundtrip(self) |
test_encrypts_password_before_storage |
method | tests/test_security_hardening_v5.py:177 |
def test_encrypts_password_before_storage(self) |
test_fingerprint_is_hmac_of_proper_key |
method | tests/test_security_hardening_v5.py:105 |
def test_fingerprint_is_hmac_of_proper_key(self) |
test_functional_generates_no_static_passwords |
method | tests/test_security_hardening_v5.py:138 |
def test_functional_generates_no_static_passwords(self) |
test_generated_user_passwords |
method | tests/test_security_hardening_v5.py:128 |
def test_generated_user_passwords(self) |
test_hashes_password_before_log |
method | tests/test_security_hardening_v5.py:181 |
def test_hashes_password_before_log(self) |
test_imports_encryption_contract |
method | tests/test_security_hardening_v5.py:185 |
def test_imports_encryption_contract(self) |
test_listener_error_is_generic |
method | tests/test_security_hardening_v5.py:271 |
def test_listener_error_is_generic(self) |
test_loads_only_generic_error |
method | tests/test_security_hardening_v5.py:275 |
def test_loads_only_generic_error(self) |
test_logs_success_without_secret |
method | tests/test_security_hardening_v5.py:163 |
def test_logs_success_without_secret(self) |
test_no_exception_interpolation |
method | tests/test_security_hardening_v5.py:263 |
def test_no_exception_interpolation(self) |
test_no_hardcoded_user_passwords |
method | tests/test_security_hardening_v5.py:123 |
def test_no_hardcoded_user_passwords(self) |
test_no_password_print |
method | tests/test_security_hardening_v5.py:200 |
def test_no_password_print(self) |
test_no_salted_sha256_fingerprint |
method | tests/test_security_hardening_v5.py:101 |
def test_no_salted_sha256_fingerprint(self) |
test_persist_helper_exists |
method | tests/test_security_hardening_v5.py:204 |
def test_persist_helper_exists(self) |
test_persist_uses_owner_only_permissions |
method | tests/test_security_hardening_v5.py:208 |
def test_persist_uses_owner_only_permissions(self) |
test_persist_writes_to_file |
method | tests/test_security_hardening_v5.py:212 |
def test_persist_writes_to_file(self) |
test_pins_minimum_version |
method | tests/test_security_hardening_v5.py:225 |
def test_pins_minimum_version(self) |
test_server_has_no_ecb |
method | tests/test_security_hardening_v5.py:47 |
def test_server_has_no_ecb(self) |
test_server_uses_gcm |
method | tests/test_security_hardening_v5.py:53 |
def test_server_uses_gcm(self) |
test_short_payload_rejected |
method | tests/test_security_hardening_v5.py:76 |
def test_short_payload_rejected(self) |
test_tampered_payload_rejected |
method | tests/test_security_hardening_v5.py:67 |
def test_tampered_payload_rejected(self) |
test_uses_hmac_not_plain_sha256 |
method | tests/test_security_hardening_v5.py:97 |
def test_uses_hmac_not_plain_sha256(self) |
test_validates_client_id |
method | tests/test_security_hardening_v5.py:239 |
def test_validates_client_id(self) |
test_validator_accepts_only_urlsafe_token |
method | tests/test_security_hardening_v5.py:243 |
def test_validator_accepts_only_urlsafe_token(self) |
test_writes_with_owner_permissions |
method | tests/test_security_hardening_v5.py:134 |
def test_writes_with_owner_permissions(self) |
TestAESKeyManager |
class | tests/test_security_lazyc2.py:321 |
class TestAESKeyManager |
TestAESKeyValidator |
class | tests/test_security_lazyc2.py:151 |
class TestAESKeyValidator |
TestFilePathWithinBaseValidator |
class | tests/test_security_lazyc2.py:212 |
class TestFilePathWithinBaseValidator |
TestPasswordLengthValidator |
class | tests/test_security_lazyc2.py:174 |
class TestPasswordLengthValidator |
TestRequestDataValidator |
class | tests/test_security_lazyc2.py:127 |
class TestRequestDataValidator |
TestRoutePathValidator |
class | tests/test_security_lazyc2.py:59 |
class TestRoutePathValidator |
TestSafeFileService |
class | tests/test_security_lazyc2.py:272 |
class TestSafeFileService |
TestSecretKeyManager |
class | tests/test_security_lazyc2.py:249 |
class TestSecretKeyManager |
TestSecureCommandQueuePath |
class | tests/test_security_lazyc2.py:366 |
class TestSecureCommandQueuePath |
TestTemplateNameValidator |
class | tests/test_security_lazyc2.py:84 |
class TestTemplateNameValidator |
TestUploadSizeValidator |
class | tests/test_security_lazyc2.py:192 |
class TestUploadSizeValidator |
TestUploadSizeValidatorService |
class | tests/test_security_lazyc2.py:345 |
class TestUploadSizeValidatorService |
TestYamlFilenameValidator |
class | tests/test_security_lazyc2.py:107 |
class TestYamlFilenameValidator |
_build_command_queue_path |
function | tests/test_security_lazyc2.py:32 |
def _build_command_queue_path(client_id, base_dir) |
test_alphanumeric_plus_hyphen_underscore_accepted |
method | tests/test_security_lazyc2.py:404 |
def test_alphanumeric_plus_hyphen_underscore_accepted(self, tmp_path) |
test_below_minimum_length |
method | tests/test_security_lazyc2.py:182 |
def test_below_minimum_length(self) |
test_empty_after_sanitization_raises |
method | tests/test_security_lazyc2.py:381 |
def test_empty_after_sanitization_raises(self, tmp_path) |
test_empty_key_is_invalid |
method | tests/test_security_lazyc2.py:169 |
def test_empty_key_is_invalid(self) |
test_exact_max |
method | tests/test_security_lazyc2.py:207 |
def test_exact_max(self) |
test_exact_max_length_is_valid |
method | tests/test_security_lazyc2.py:135 |
def test_exact_max_length_is_valid(self) |
test_exact_max_passes |
method | tests/test_security_lazyc2.py:352 |
def test_exact_max_passes(self) |
test_exact_minimum_length |
method | tests/test_security_lazyc2.py:177 |
def test_exact_minimum_length(self) |
test_exceeds_max |
method | tests/test_security_lazyc2.py:203 |
def test_exceeds_max(self) |
test_exceeds_max_raises |
method | tests/test_security_lazyc2.py:356 |
def test_exceeds_max_raises(self) |
test_exists_returns_false_for_missing |
method | tests/test_security_lazyc2.py:307 |
def test_exists_returns_false_for_missing(self, tmp_path) |
test_exists_returns_true_for_valid_path |
method | tests/test_security_lazyc2.py:300 |
def test_exists_returns_true_for_valid_path(self, tmp_path) |
test_exists_traversal_raises |
method | tests/test_security_lazyc2.py:313 |
def test_exists_traversal_raises(self, tmp_path) |
test_generates_new_key |
method | tests/test_security_lazyc2.py:324 |
def test_generates_new_key(self, tmp_path) |
test_generates_new_key_on_first_run |
method | tests/test_security_lazyc2.py:252 |
def test_generates_new_key_on_first_run(self, tmp_path) |
test_invalid_16_byte_key |
method | tests/test_security_lazyc2.py:160 |
def test_invalid_16_byte_key(self) |
test_invalid_string_key |
method | tests/test_security_lazyc2.py:165 |
def test_invalid_string_key(self) |
test_key_file_has_restrictive_permissions |
method | tests/test_security_lazyc2.py:264 |
def test_key_file_has_restrictive_permissions(self, tmp_path) |
test_non_string_is_invalid |
method | tests/test_security_lazyc2.py:146 |
def test_non_string_is_invalid(self) |
test_non_string_password |
method | tests/test_security_lazyc2.py:187 |
def test_non_string_password(self) |
test_none_content_length |
method | tests/test_security_lazyc2.py:195 |
def test_none_content_length(self) |
test_none_passes |
method | tests/test_security_lazyc2.py:361 |
def test_none_passes(self) |
test_normal_path_is_valid |
method | tests/test_security_lazyc2.py:215 |
def test_normal_path_is_valid(self, tmp_path) |
test_over_max_length_is_invalid |
method | tests/test_security_lazyc2.py:140 |
def test_over_max_length_is_invalid(self) |
test_raises_on_invalid_existing_key |
method | tests/test_security_lazyc2.py:337 |
def test_raises_on_invalid_existing_key(self, tmp_path) |
test_read_bytes_traversal_raises |
method | tests/test_security_lazyc2.py:284 |
def test_read_bytes_traversal_raises(self, tmp_path) |
test_read_bytes_within_base |
method | tests/test_security_lazyc2.py:275 |
def test_read_bytes_within_base(self, tmp_path) |
test_returns_valid_os_path |
method | tests/test_security_lazyc2.py:410 |
def test_returns_valid_os_path(self, tmp_path) |
test_reuses_existing_key |
method | tests/test_security_lazyc2.py:258 |
def test_reuses_existing_key(self, tmp_path) |
test_reuses_existing_valid_key |
method | tests/test_security_lazyc2.py:330 |
def test_reuses_existing_valid_key(self, tmp_path) |
test_route_path_validation |
method | tests/test_security_lazyc2.py:79 |
def test_route_path_validation(self, route_path, expected_valid) |
test_short_data_is_valid |
method | tests/test_security_lazyc2.py:130 |
def test_short_data_is_valid(self) |
test_symlink_escape_raises |
method | tests/test_security_lazyc2.py:385 |
def test_symlink_escape_raises(self, tmp_path) |
test_symlink_traversal_is_detected |
method | tests/test_security_lazyc2.py:238 |
def test_symlink_traversal_is_detected(self, tmp_path) |
test_template_name_validation |
method | tests/test_security_lazyc2.py:102 |
def test_template_name_validation(self, template_name, expected_valid) |
test_traversal_characters_are_stripped |
method | tests/test_security_lazyc2.py:396 |
def test_traversal_characters_are_stripped(self, tmp_path) |
test_traversal_outside_base_is_invalid |
method | tests/test_security_lazyc2.py:222 |
def test_traversal_outside_base_is_invalid(self, tmp_path) |
test_traversal_with_dotdot_is_invalid |
method | tests/test_security_lazyc2.py:231 |
def test_traversal_with_dotdot_is_invalid(self, tmp_path) |
test_valid_32_byte_key |
method | tests/test_security_lazyc2.py:154 |
def test_valid_32_byte_key(self) |
test_valid_client_id_returns_path_in_base |
method | tests/test_security_lazyc2.py:376 |
def test_valid_client_id_returns_path_in_base(self, tmp_path) |
test_valid_size |
method | tests/test_security_lazyc2.py:199 |
def test_valid_size(self) |
test_valid_size_passes |
method | tests/test_security_lazyc2.py:348 |
def test_valid_size_passes(self) |
test_write_bytes_creates_file |
method | tests/test_security_lazyc2.py:293 |
def test_write_bytes_creates_file(self, tmp_path) |
test_yaml_filename_validation |
method | tests/test_security_lazyc2.py:122 |
def test_yaml_filename_validation(self, filename, expected_valid) |
Custom |
class | tests/test_security_sanitizers.py:303 |
class Custom |
TestBindAddressResolver |
class | tests/test_security_sanitizers.py:169 |
class TestBindAddressResolver |
TestCommandRedactor |
class | tests/test_security_sanitizers.py:201 |
class TestCommandRedactor |
TestHeaderValueSanitizer |
class | tests/test_security_sanitizers.py:74 |
class TestHeaderValueSanitizer |
TestIntegrationFromPayloadFile |
class | tests/test_security_sanitizers.py:311 |
class TestIntegrationFromPayloadFile |
TestOutputSanitizer |
class | tests/test_security_sanitizers.py:251 |
class TestOutputSanitizer |
TestSecurityConfig |
class | tests/test_security_sanitizers.py:33 |
class TestSecurityConfig |
TestSessionPathResolver |
class | tests/test_security_sanitizers.py:116 |
class TestSessionPathResolver |
__str__ |
method | tests/test_security_sanitizers.py:304 |
def __str__(self) |
cfg |
function | tests/test_security_sanitizers.py:28 |
def cfg() |
test_accepts_first_valid_preferred |
method | tests/test_security_sanitizers.py:177 |
def test_accepts_first_valid_preferred(self, cfg) |
test_accepts_ipv6_literal |
method | tests/test_security_sanitizers.py:182 |
def test_accepts_ipv6_literal(self, cfg) |
test_breadth_is_bounded |
method | tests/test_security_sanitizers.py:277 |
def test_breadth_is_bounded(self, cfg) |
test_build_default_config_handles_none |
method | tests/test_security_sanitizers.py:67 |
def test_build_default_config_handles_none(self) |
test_constructor_rejects_bad_base |
method | tests/test_security_sanitizers.py:161 |
def test_constructor_rejects_bad_base(self, cfg) |
test_constructor_rejects_non_config |
method | tests/test_security_sanitizers.py:110 |
def test_constructor_rejects_non_config(self) |
test_constructor_rejects_non_config |
method | tests/test_security_sanitizers.py:195 |
def test_constructor_rejects_non_config(self) |
test_decodes_bytes |
method | tests/test_security_sanitizers.py:294 |
def test_decodes_bytes(self, cfg) |
test_defaults_are_conservative |
method | tests/test_security_sanitizers.py:36 |
def test_defaults_are_conservative(self, cfg) |
test_display_omits_real_credentials |
method | tests/test_security_sanitizers.py:204 |
def test_display_omits_real_credentials(self, cfg) |
test_exception_is_replaced |
method | tests/test_security_sanitizers.py:254 |
def test_exception_is_replaced(self, cfg) |
test_exception_nested_in_collection |
method | tests/test_security_sanitizers.py:261 |
def test_exception_nested_in_collection(self, cfg) |
test_executable_renders_substitutions |
method | tests/test_security_sanitizers.py:230 |
def test_executable_renders_substitutions(self, cfg) |
test_falls_back_to_loopback |
method | tests/test_security_sanitizers.py:172 |
def test_falls_back_to_loopback(self, cfg) |
test_file_exists_false_on_invalid |
method | tests/test_security_sanitizers.py:155 |
def test_file_exists_false_on_invalid(self, cfg, tmp_path) |
test_from_payload_accepts_known_keys |
method | tests/test_security_sanitizers.py:44 |
def test_from_payload_accepts_known_keys(self) |
test_from_payload_drops_wrong_types |
method | tests/test_security_sanitizers.py:56 |
def test_from_payload_drops_wrong_types(self) |
test_invalid_name_rejected |
method | tests/test_security_sanitizers.py:102 |
def test_invalid_name_rejected(self, cfg) |
test_length_capped |
method | tests/test_security_sanitizers.py:90 |
def test_length_capped(self, cfg) |
test_module_exports_are_complete |
function | tests/test_security_sanitizers.py:333 |
def test_module_exports_are_complete() |
test_passes_through_scalars |
method | tests/test_security_sanitizers.py:285 |
def test_passes_through_scalars(self, cfg) |
test_placeholder_username_is_visible |
method | tests/test_security_sanitizers.py:218 |
def test_placeholder_username_is_visible(self, cfg) |
test_real_payload_file_builds_config |
method | tests/test_security_sanitizers.py:314 |
def test_real_payload_file_builds_config(self) |
test_recursion_is_bounded |
method | tests/test_security_sanitizers.py:267 |
def test_recursion_is_bounded(self, cfg) |
test_rejects_absolute |
method | tests/test_security_sanitizers.py:125 |
def test_rejects_absolute(self, cfg, tmp_path) |
test_rejects_control_characters |
method | tests/test_security_sanitizers.py:85 |
def test_rejects_control_characters(self, cfg) |
test_rejects_non_string_template |
method | tests/test_security_sanitizers.py:242 |
def test_rejects_non_string_template(self, cfg) |
test_rejects_null_byte |
method | tests/test_security_sanitizers.py:131 |
def test_rejects_null_byte(self, cfg, tmp_path) |
test_rejects_parent_traversal |
method | tests/test_security_sanitizers.py:119 |
def test_rejects_parent_traversal(self, cfg, tmp_path) |
test_rejects_too_many_segments |
method | tests/test_security_sanitizers.py:136 |
def test_rejects_too_many_segments(self, cfg, tmp_path) |
test_resolves_valid_path |
method | tests/test_security_sanitizers.py:142 |
def test_resolves_valid_path(self, cfg, tmp_path) |
test_strips_cr_lf_nul |
method | tests/test_security_sanitizers.py:77 |
def test_strips_cr_lf_nul(self, cfg) |
test_unknown_objects_become_sentinel |
method | tests/test_security_sanitizers.py:300 |
def test_unknown_objects_become_sentinel(self, cfg) |
test_unspecified_requires_opt_in |
method | tests/test_security_sanitizers.py:187 |
def test_unspecified_requires_opt_in(self, cfg) |
test_valid_name_accepts_rfc7230_tokens |
method | tests/test_security_sanitizers.py:96 |
def test_valid_name_accepts_rfc7230_tokens(self, cfg) |
SessionOpsSuiteConfig |
class | tests/test_session_ops_command_set.py:38 |
class SessionOpsSuiteConfig |
_add_repo_root_to_syspath |
function | tests/test_session_ops_command_set.py:32 |
def _add_repo_root_to_syspath() |
_methods_of |
function | tests/test_session_ops_command_set.py:82 |
def _methods_of(path, class_name) |
test_no_command_collisions_with_source |
function | tests/test_session_ops_command_set.py:129 |
def test_no_command_collisions_with_source() |
test_registry_registers_target |
function | tests/test_session_ops_command_set.py:122 |
def test_registry_registers_target() |
test_source_no_longer_defines_cluster |
function | tests/test_session_ops_command_set.py:116 |
def test_source_no_longer_defines_cluster() |
test_target_exposes_full_session_cluster |
function | tests/test_session_ops_command_set.py:103 |
def test_target_exposes_full_session_cluster() |
test_target_is_active_command_set |
function | tests/test_session_ops_command_set.py:94 |
def test_target_is_active_command_set() |
test_target_phase_metadata |
function | tests/test_session_ops_command_set.py:110 |
def test_target_phase_metadata() |
_populate |
function | tests/test_sessions_browser.py:24 |
def _populate(tmp_path) |
test_category_label_for_known_identifier |
function | tests/test_sessions_browser.py:89 |
def test_category_label_for_known_identifier(tmp_path) |
test_index_groups_known_files |
function | tests/test_sessions_browser.py:34 |
def test_index_groups_known_files(tmp_path) |
test_index_other_bucket_contains_unmatched_files |
function | tests/test_sessions_browser.py:47 |
def test_index_other_bucket_contains_unmatched_files(tmp_path) |
test_preview_flags_binary_files |
function | tests/test_sessions_browser.py:64 |
def test_preview_flags_binary_files(tmp_path) |
test_preview_rejects_path_traversal |
function | tests/test_sessions_browser.py:71 |
def test_preview_rejects_path_traversal(tmp_path) |
test_preview_returns_text_for_text_files |
function | tests/test_sessions_browser.py:56 |
def test_preview_returns_text_for_text_files(tmp_path) |
test_state_filter_keeps_matching_entries |
function | tests/test_sessions_browser.py:79 |
def test_state_filter_keeps_matching_entries(tmp_path) |
_FakePopen |
class | tests/test_shell_semantics.py:75 |
class _FakePopen |
__init__ |
method | tests/test_shell_semantics.py:76 |
def __init__(self, argv) |
test_linpeas_http_server_is_detached |
function | tests/test_shell_semantics.py:69 |
def test_linpeas_http_server_is_detached(monkeypatch) |
test_needs_shell_accepts_plain_argv |
function | tests/test_shell_semantics.py:32 |
def test_needs_shell_accepts_plain_argv() |
test_needs_shell_detects_control_and_expansion |
function | tests/test_shell_semantics.py:17 |
def test_needs_shell_detects_control_and_expansion() |
test_run_command_expands_tilde_and_glob |
function | tests/test_shell_semantics.py:45 |
def test_run_command_expands_tilde_and_glob(tmp_path, monkeypatch) |
test_run_command_interprets_semicolon |
function | tests/test_shell_semantics.py:38 |
def test_run_command_interprets_semicolon() |
test_safe_runner_interprets_shell_syntax |
function | tests/test_shell_semantics.py:87 |
def test_safe_runner_interprets_shell_syntax() |
test_terminal_env_forces_color |
function | tests/test_shell_semantics.py:53 |
def test_terminal_env_forces_color(monkeypatch) |
test_terminal_env_respects_no_color |
function | tests/test_shell_semantics.py:61 |
def test_terminal_env_respects_no_color(monkeypatch) |
ShellsysSuiteConfig |
class | tests/test_shellsys_command_set.py:38 |
class ShellsysSuiteConfig |
_add_repo_root_to_syspath |
function | tests/test_shellsys_command_set.py:32 |
def _add_repo_root_to_syspath() |
_methods_of |
function | tests/test_shellsys_command_set.py:61 |
def _methods_of(path, class_name) |
test_no_command_collisions_with_source |
function | tests/test_shellsys_command_set.py:108 |
def test_no_command_collisions_with_source() |
test_registry_registers_target |
function | tests/test_shellsys_command_set.py:101 |
def test_registry_registers_target() |
test_source_no_longer_defines_cluster |
function | tests/test_shellsys_command_set.py:95 |
def test_source_no_longer_defines_cluster() |
test_target_exposes_full_shellsys_cluster |
function | tests/test_shellsys_command_set.py:82 |
def test_target_exposes_full_shellsys_cluster() |
test_target_is_active_command_set |
function | tests/test_shellsys_command_set.py:73 |
def test_target_is_active_command_set() |
test_target_phase_metadata |
function | tests/test_shellsys_command_set.py:89 |
def test_target_phase_metadata() |
TestBlueprintRouteContainment |
class | tests/test_short_url_file_containment.py:105 |
class TestBlueprintRouteContainment |
TestContainedPaths |
class | tests/test_short_url_file_containment.py:36 |
class TestContainedPaths |
TestRejectedPaths |
class | tests/test_short_url_file_containment.py:51 |
class TestRejectedPaths |
TestRouteStatusContract |
class | tests/test_short_url_file_containment.py:78 |
class TestRouteStatusContract |
sessions_dir |
function | tests/test_short_url_file_containment.py:26 |
def sessions_dir(tmp_path, monkeypatch) |
test_abort_propagates |
method | tests/test_short_url_file_containment.py:86 |
def test_abort_propagates(self) |
test_absolute_inside_base |
method | tests/test_short_url_file_containment.py:41 |
def test_absolute_inside_base(self, sessions_dir) |
test_absolute_outside_rejected |
method | tests/test_short_url_file_containment.py:55 |
def test_absolute_outside_rejected(self, sessions_dir) |
test_bare_relative_inside_base |
method | tests/test_short_url_file_containment.py:37 |
def test_bare_relative_inside_base(self, sessions_dir) |
test_blueprint_redirect_uses_contained_resolver |
method | tests/test_short_url_file_containment.py:112 |
def test_blueprint_redirect_uses_contained_resolver(self) |
test_empty_rejected |
method | tests/test_short_url_file_containment.py:74 |
def test_empty_rejected(self, sessions_dir) |
test_file_scheme_inside_base |
method | tests/test_short_url_file_containment.py:45 |
def test_file_scheme_inside_base(self, sessions_dir) |
test_file_scheme_outside_rejected |
method | tests/test_short_url_file_containment.py:58 |
def test_file_scheme_outside_rejected(self, sessions_dir) |
test_remote_url_rejected |
method | tests/test_short_url_file_containment.py:52 |
def test_remote_url_rejected(self, sessions_dir) |
test_symlink_escape_rejected |
method | tests/test_short_url_file_containment.py:64 |
def test_symlink_escape_rejected(self, sessions_dir, tmp_path) |
test_traversal_rejected |
method | tests/test_short_url_file_containment.py:61 |
def test_traversal_rejected(self, sessions_dir) |
TestDeadForkRemoved |
class | tests/test_single_implementation.py:54 |
class TestDeadForkRemoved |
test_live_utils_implementations_intact |
method | tests/test_single_implementation.py:68 |
def test_live_utils_implementations_intact(self) |
test_no_divergent_copies_in_core_namespace |
method | tests/test_single_implementation.py:59 |
def test_no_divergent_copies_in_core_namespace(self) |
test_no_divergent_copies_in_core_parsers |
method | tests/test_single_implementation.py:55 |
def test_no_divergent_copies_in_core_parsers(self) |
test_shared_kernel_still_available |
method | tests/test_single_implementation.py:63 |
def test_shared_kernel_still_available(self) |
TestBedEnumValues |
class | tests/test_sleep_obfuscation.py:307 |
class TestBedEnumValues |
TestSleepObfuscationConfig |
class | tests/test_sleep_obfuscation.py:71 |
class TestSleepObfuscationConfig |
TestSleepObfuscationEngine |
class | tests/test_sleep_obfuscation.py:212 |
class TestSleepObfuscationEngine |
TestSleepTechnique |
class | tests/test_sleep_obfuscation.py:33 |
class TestSleepTechnique |
TestSleepTechniqueCatalog |
class | tests/test_sleep_obfuscation.py:114 |
class TestSleepTechniqueCatalog |
TestSleepTechniqueValidator |
class | tests/test_sleep_obfuscation.py:164 |
class TestSleepTechniqueValidator |
test_configure_updates_config |
method | tests/test_sleep_obfuscation.py:230 |
def test_configure_updates_config(self) |
test_configure_without_overrides |
method | tests/test_sleep_obfuscation.py:239 |
def test_configure_without_overrides(self) |
test_construction_and_properties |
method | tests/test_sleep_obfuscation.py:34 |
def test_construction_and_properties(self) |
test_custom_catalog |
method | tests/test_sleep_obfuscation.py:293 |
def test_custom_catalog(self) |
test_default_catalog_has_techniques |
method | tests/test_sleep_obfuscation.py:115 |
def test_default_catalog_has_techniques(self) |
test_default_construction |
method | tests/test_sleep_obfuscation.py:72 |
def test_default_construction(self) |
test_default_engine |
method | tests/test_sleep_obfuscation.py:213 |
def test_default_engine(self) |
test_defaults |
method | tests/test_sleep_obfuscation.py:48 |
def test_defaults(self) |
test_ekko_requires_rop_gadgets |
method | tests/test_sleep_obfuscation.py:173 |
def test_ekko_requires_rop_gadgets(self) |
test_excessive_rop_gadget_count |
method | tests/test_sleep_obfuscation.py:181 |
def test_excessive_rop_gadget_count(self) |
test_excessive_sleep_delay |
method | tests/test_sleep_obfuscation.py:197 |
def test_excessive_sleep_delay(self) |
test_from_dict_empty |
method | tests/test_sleep_obfuscation.py:102 |
def test_from_dict_empty(self) |
test_from_dict_empty |
method | tests/test_sleep_obfuscation.py:288 |
def test_from_dict_empty(self) |
test_from_dict_partial |
method | tests/test_sleep_obfuscation.py:107 |
def test_from_dict_partial(self) |
test_from_dict_roundtrip |
method | tests/test_sleep_obfuscation.py:278 |
def test_from_dict_roundtrip(self) |
test_get_missing_raises_keyerror |
method | tests/test_sleep_obfuscation.py:131 |
def test_get_missing_raises_keyerror(self) |
test_immutability |
method | tests/test_sleep_obfuscation.py:60 |
def test_immutability(self) |
test_list_all_sorted_by_resistance |
method | tests/test_sleep_obfuscation.py:136 |
def test_list_all_sorted_by_resistance(self) |
test_list_by_platform_linux |
method | tests/test_sleep_obfuscation.py:149 |
def test_list_by_platform_linux(self) |
test_list_by_platform_windows |
method | tests/test_sleep_obfuscation.py:142 |
def test_list_by_platform_windows(self) |
test_list_names |
method | tests/test_sleep_obfuscation.py:156 |
def test_list_names(self) |
test_negative_sleep_delay |
method | tests/test_sleep_obfuscation.py:189 |
def test_negative_sleep_delay(self) |
test_os_platform_values |
method | tests/test_sleep_obfuscation.py:308 |
def test_os_platform_values(self) |
test_recommend_linux |
method | tests/test_sleep_obfuscation.py:263 |
def test_recommend_linux(self) |
test_recommend_windows |
method | tests/test_sleep_obfuscation.py:257 |
def test_recommend_windows(self) |
test_register_and_get |
method | tests/test_sleep_obfuscation.py:120 |
def test_register_and_get(self) |
test_select_existing_technique |
method | tests/test_sleep_obfuscation.py:219 |
def test_select_existing_technique(self) |
test_select_missing_technique |
method | tests/test_sleep_obfuscation.py:225 |
def test_select_missing_technique(self) |
test_serialization_roundtrip |
method | tests/test_sleep_obfuscation.py:79 |
def test_serialization_roundtrip(self) |
test_technique_risk_values |
method | tests/test_sleep_obfuscation.py:312 |
def test_technique_risk_values(self) |
test_to_dict |
method | tests/test_sleep_obfuscation.py:270 |
def test_to_dict(self) |
test_valid_config_passes |
method | tests/test_sleep_obfuscation.py:165 |
def test_valid_config_passes(self) |
test_validate_config_enabled_without_name |
method | tests/test_sleep_obfuscation.py:205 |
def test_validate_config_enabled_without_name(self) |
test_validate_unknown_technique |
method | tests/test_sleep_obfuscation.py:251 |
def test_validate_unknown_technique(self) |
test_validate_valid_config |
method | tests/test_sleep_obfuscation.py:246 |
def test_validate_valid_config(self) |
TestSocksEnums |
class | tests/test_socks_proxy.py:373 |
class TestSocksEnums |
TestSocksProxyConfig |
class | tests/test_socks_proxy.py:33 |
class TestSocksProxyConfig |
TestSocksProxyEngine |
class | tests/test_socks_proxy.py:247 |
class TestSocksProxyEngine |
TestSocksReply |
class | tests/test_socks_proxy.py:359 |
class TestSocksReply |
TestSocksSession |
class | tests/test_socks_proxy.py:84 |
class TestSocksSession |
TestSocksValidator |
class | tests/test_socks_proxy.py:119 |
class TestSocksValidator |
test_add_bytes |
method | tests/test_socks_proxy.py:288 |
def test_add_bytes(self) |
test_add_bytes_to_nonexistent |
method | tests/test_socks_proxy.py:296 |
def test_add_bytes_to_nonexistent(self) |
test_address_type_values |
method | tests/test_socks_proxy.py:384 |
def test_address_type_values(self) |
test_auth_method_values |
method | tests/test_socks_proxy.py:374 |
def test_auth_method_values(self) |
test_build_spec |
method | tests/test_socks_proxy.py:253 |
def test_build_spec(self) |
test_byte_counters |
method | tests/test_socks_proxy.py:97 |
def test_byte_counters(self) |
test_cleanup_expired |
method | tests/test_socks_proxy.py:309 |
def test_cleanup_expired(self) |
test_command_values |
method | tests/test_socks_proxy.py:379 |
def test_command_values(self) |
test_construction_and_defaults |
method | tests/test_socks_proxy.py:85 |
def test_construction_and_defaults(self) |
test_create_session |
method | tests/test_socks_proxy.py:260 |
def test_create_session(self) |
test_default_construction |
method | tests/test_socks_proxy.py:34 |
def test_default_construction(self) |
test_default_engine |
method | tests/test_socks_proxy.py:248 |
def test_default_engine(self) |
test_elapsed_seconds_with_zero_timestamp |
method | tests/test_socks_proxy.py:113 |
def test_elapsed_seconds_with_zero_timestamp(self) |
test_from_dict |
method | tests/test_socks_proxy.py:326 |
def test_from_dict(self) |
test_from_dict_empty |
method | tests/test_socks_proxy.py:73 |
def test_from_dict_empty(self) |
test_from_dict_unknown_auth_method_handled |
method | tests/test_socks_proxy.py:78 |
def test_from_dict_unknown_auth_method_handled(self) |
test_from_payload |
method | tests/test_socks_proxy.py:337 |
def test_from_payload(self) |
test_from_payload_empty |
method | tests/test_socks_proxy.py:348 |
def test_from_payload_empty(self) |
test_general_failure_message |
method | tests/test_socks_proxy.py:363 |
def test_general_failure_message(self) |
test_get_nonexistent_session |
method | tests/test_socks_proxy.py:284 |
def test_get_nonexistent_session(self) |
test_get_session |
method | tests/test_socks_proxy.py:277 |
def test_get_session(self) |
test_invalid_allowed_ports |
method | tests/test_socks_proxy.py:178 |
def test_invalid_allowed_ports(self) |
test_invalid_bind_address |
method | tests/test_socks_proxy.py:126 |
def test_invalid_bind_address(self) |
test_invalid_bind_port |
method | tests/test_socks_proxy.py:132 |
def test_invalid_bind_port(self) |
test_list_sessions |
method | tests/test_socks_proxy.py:317 |
def test_list_sessions(self) |
test_max_connections_limit |
method | tests/test_socks_proxy.py:300 |
def test_max_connections_limit(self) |
test_max_connections_zero |
method | tests/test_socks_proxy.py:138 |
def test_max_connections_zero(self) |
test_negative_bandwidth |
method | tests/test_socks_proxy.py:156 |
def test_negative_bandwidth(self) |
test_no_auth_methods |
method | tests/test_socks_proxy.py:172 |
def test_no_auth_methods(self) |
test_port_in_both_lists |
method | tests/test_socks_proxy.py:184 |
def test_port_in_both_lists(self) |
test_remove_nonexistent_session |
method | tests/test_socks_proxy.py:273 |
def test_remove_nonexistent_session(self) |
test_remove_session |
method | tests/test_socks_proxy.py:267 |
def test_remove_session(self) |
test_serialization_roundtrip |
method | tests/test_socks_proxy.py:42 |
def test_serialization_roundtrip(self) |
test_session_timeout_too_high |
method | tests/test_socks_proxy.py:150 |
def test_session_timeout_too_high(self) |
test_session_timeout_too_low |
method | tests/test_socks_proxy.py:144 |
def test_session_timeout_too_low(self) |
test_succeeded_message |
method | tests/test_socks_proxy.py:360 |
def test_succeeded_message(self) |
test_to_dict |
method | tests/test_socks_proxy.py:104 |
def test_to_dict(self) |
test_unknown_code_message |
method | tests/test_socks_proxy.py:366 |
def test_unknown_code_message(self) |
test_username_password_without_credentials |
method | tests/test_socks_proxy.py:162 |
def test_username_password_without_credentials(self) |
test_valid_config_passes |
method | tests/test_socks_proxy.py:120 |
def test_valid_config_passes(self) |
test_validate_custom_config |
method | tests/test_socks_proxy.py:352 |
def test_validate_custom_config(self) |
test_validate_request_denied_port_ac |
method | tests/test_socks_proxy.py:233 |
def test_validate_request_denied_port_ac(self, tmp_path) |
test_validate_request_invalid_port |
method | tests/test_socks_proxy.py:223 |
def test_validate_request_invalid_port(self) |
test_validate_request_unsupported_address_type |
method | tests/test_socks_proxy.py:212 |
def test_validate_request_unsupported_address_type(self) |
test_validate_request_unsupported_command |
method | tests/test_socks_proxy.py:201 |
def test_validate_request_unsupported_command(self) |
test_validate_request_valid_connect |
method | tests/test_socks_proxy.py:190 |
def test_validate_request_valid_connect(self) |
_write_operators |
function | tests/test_status_bar_operators.py:28 |
def _write_operators(tmp_path, records) |
test_build_default_manager_skips_operators_by_default |
function | tests/test_status_bar_operators.py:86 |
def test_build_default_manager_skips_operators_by_default(tmp_path) |
test_build_default_manager_wires_operators_when_enabled |
function | tests/test_status_bar_operators.py:92 |
def test_build_default_manager_wires_operators_when_enabled(tmp_path) |
test_collab_presence_counts_active_operators |
function | tests/test_status_bar_operators.py:41 |
def test_collab_presence_counts_active_operators(tmp_path) |
Next: SYMBOLS_p42.md
Generated offline by readmenator from commit aeecdf2da35a. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_cli_commands
- community_10_modules_surface_graph
- community_11_modules_opsec_scorer
- community_12_modules_kerberos_core
- community_13_modules_saas_attacks
- community_14_modules_polymorphic_engine
- community_15_contrib_legacy
- community_16_scripts_journal
- community_17_modules_backdoor
- community_18_poc_tui
- community_19_scripts_check_contract_manifest
- community_1_modules_lazyc2
- community_20_scripts_migrate_lazyown
- community_21_tools
- community_22_orphans
- community_2_modules_autonomous_daemon
- community_3_cli
- community_4_modules_lazy_loop
- community_5_lazygui_panels
- community_6_modules_llm_budget
- community_7_static_js
- community_8_skills_claude_md_orchestrator
- community_9_modules_lazyown_facts
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p22
- API_p23
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- ARCHITECTURE_p5
- ARCHITECTURE_p6
- ARCHITECTURE_p7
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- INDEX_p3
- KB_backdoor
- KB_blueprints
- KB_cgi-bin
- KB_claude_md_orchestrator
- KB_cli
- KB_cli_p2
- KB_cli_p3
- KB_cli_p4
- KB_cli_p5
- KB_commands
- KB_commands_p2
- KB_commands_p3
- KB_commands_p4
- KB_config
- KB_contract
- KB_core
- KB_core_p2
- KB_devtools
- KB_extensions
- KB_hermes-lazyown
- KB_integrations
- KB_js
- KB_js_p2
- KB_js_p3
- KB_js_p4
- KB_lazyc2
- KB_lazygui
- KB_lazyown-docker
- KB_legacy
- KB_legacy_p2
- KB_misc
- KB_modules
- KB_modules_p10
- KB_modules_p11
- KB_modules_p12
- KB_modules_p13
- KB_modules_p14
- KB_modules_p15
- KB_modules_p2
- KB_modules_p3
- KB_modules_p4
- KB_modules_p5
- KB_modules_p6
- KB_modules_p7
- KB_modules_p8
- KB_modules_p9
- KB_modules_tools
- KB_palettes
- KB_panels
- KB_plugins
- KB_poc_tui
- KB_root
- KB_root_p2
- KB_rootkit
- KB_scripts
- KB_security
- KB_services
- KB_sinks
- KB_skills
- KB_skills_claude_md_orchestrator_tests
- KB_skills_p2
- KB_skills_p3
- KB_skills_p4
- KB_skills_p5
- KB_skills_tests
- KB_tests
- KB_tests_p10
- KB_tests_p11
- KB_tests_p12
- KB_tests_p13
- KB_tests_p14
- KB_tests_p15
- KB_tests_p16
- KB_tests_p17
- KB_tests_p2
- KB_tests_p3
- KB_tests_p4
- KB_tests_p5
- KB_tests_p6
- KB_tests_p7
- KB_tests_p8
- KB_tests_p9
- KB_theme
- KB_tools
- KB_widgets
- KB_win_rootkit
- KB_windows
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p28
- SYMBOLS_p29
- SYMBOLS_p3
- SYMBOLS_p30
- SYMBOLS_p31
- SYMBOLS_p32
- SYMBOLS_p33
- SYMBOLS_p34
- SYMBOLS_p35
- SYMBOLS_p36
- SYMBOLS_p37
- SYMBOLS_p38
- SYMBOLS_p39
- SYMBOLS_p4
- SYMBOLS_p40
- SYMBOLS_p41
- SYMBOLS_p42
- SYMBOLS_p43
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes