E-mails, subdomains and names Harvester - OSINT
447 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/discovery/test_thc.py | 153 | except Exception: |
| LOW | tests/discovery/test_thc.py | 166 | except Exception: |
| LOW | tests/discovery/test_thc.py | 179 | except Exception: |
| LOW | tests/discovery/test_thc.py | 192 | except Exception: |
| MEDIUM | theHarvester/__main__.py | 1069 | print(f'Error in Shodan search: {e}') |
| MEDIUM | theHarvester/__main__.py | 232 | print(f'Error initializing StashManager: {init_error}') |
| MEDIUM | theHarvester/__main__.py | 1917 | def entry_point() -> None: |
| LOW | theHarvester/__main__.py | 1068 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1076 | except Exception as e: |
| LOW | theHarvester/__main__.py | 446 | except Exception as e: |
| LOW | theHarvester/__main__.py | 460 | except Exception as e: |
| LOW | theHarvester/__main__.py | 474 | except Exception as ex: |
| LOW | theHarvester/__main__.py | 491 | except Exception as e: |
| LOW | theHarvester/__main__.py | 505 | except Exception as e: |
| LOW | theHarvester/__main__.py | 512 | except Exception as e: |
| LOW | theHarvester/__main__.py | 542 | except Exception as e: |
| LOW | theHarvester/__main__.py | 562 | except Exception as e: |
| LOW | theHarvester/__main__.py | 576 | except Exception as e: |
| LOW | theHarvester/__main__.py | 593 | except Exception as e: |
| LOW | theHarvester/__main__.py | 608 | except Exception as e: |
| LOW | theHarvester/__main__.py | 619 | except Exception as e: |
| LOW | theHarvester/__main__.py | 633 | except Exception as e: |
| LOW | theHarvester/__main__.py | 654 | except Exception as e: |
| LOW | theHarvester/__main__.py | 672 | except Exception as e: |
| LOW | theHarvester/__main__.py | 690 | except Exception as e: |
| LOW | theHarvester/__main__.py | 701 | except Exception as e: |
| LOW | theHarvester/__main__.py | 732 | except Exception as e: |
| LOW | theHarvester/__main__.py | 739 | except Exception as e: |
| LOW | theHarvester/__main__.py | 752 | except Exception as e: |
| LOW | theHarvester/__main__.py | 771 | except Exception as e: |
| LOW | theHarvester/__main__.py | 785 | except Exception as e: |
| LOW | theHarvester/__main__.py | 794 | except Exception as e: |
| LOW | theHarvester/__main__.py | 812 | except Exception as e: |
| LOW | theHarvester/__main__.py | 830 | except Exception as e: |
| LOW | theHarvester/__main__.py | 843 | except Exception as e: |
| LOW | theHarvester/__main__.py | 860 | except Exception as e: |
| LOW | theHarvester/__main__.py | 877 | except Exception as e: |
| LOW | theHarvester/__main__.py | 906 | except Exception as e: |
| LOW | theHarvester/__main__.py | 933 | except Exception as e: |
| LOW | theHarvester/__main__.py | 941 | except Exception as e: |
| LOW | theHarvester/__main__.py | 952 | except Exception as e: |
| LOW | theHarvester/__main__.py | 975 | except Exception as e: |
| LOW | theHarvester/__main__.py | 990 | except Exception as e: |
| LOW | theHarvester/__main__.py | 997 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1017 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1034 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1100 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1120 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1128 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1139 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1153 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1167 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1197 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1214 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1225 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1240 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1247 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1266 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1292 | except Exception as e: |
| LOW | theHarvester/__main__.py | 1310 | except Exception as e: |
| 209 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_hackertarget_apikey.py | 9 | async def test_do_search_with_apikey(self, monkeypatch): |
| LOW | tests/test_hackertarget_apikey.py | 28 | async def test_do_search_without_apikey(self, monkeypatch): |
| LOW | tests/test_security.py | 15 | def test_cors_does_not_allow_credentials_with_wildcard_origins(self): |
| LOW | tests/test_security.py | 44 | def test_cors_restricts_http_methods(self): |
| LOW | tests/test_security.py | 78 | def test_sanitize_for_xml_escapes_special_characters(self): |
| LOW | tests/test_security.py | 100 | def test_sanitize_for_xml_prevents_xml_entity_injection(self): |
| LOW | tests/test_security.py | 117 | def test_command_line_args_are_sanitized_in_xml_output(self): |
| LOW | tests/test_security.py | 149 | def test_api_does_not_expose_traceback_in_error_responses(self, client): |
| LOW | tests/test_security.py | 165 | def test_error_responses_do_not_leak_internal_paths(self, client): |
| LOW | tests/test_security.py | 190 | def test_debug_mode_does_not_expose_sensitive_info(self, client, monkeypatch): |
| LOW | tests/test_security.py | 216 | def test_additional_endpoints_fail_closed_without_configured_api_key(self, client, monkeypatch): |
| LOW | tests/test_security.py | 223 | def test_additional_endpoints_reject_missing_or_invalid_api_key(self, client, monkeypatch): |
| LOW | tests/test_security.py | 232 | def test_additional_endpoints_do_not_expose_internal_errors(self, client, monkeypatch): |
| LOW | tests/test_security.py | 257 | def test_sanitize_filename_removes_path_components(self): |
| LOW | tests/test_security.py | 284 | def test_sanitize_filename_removes_dangerous_characters(self): |
| LOW | tests/test_security.py | 311 | def test_sanitize_filename_prevents_hidden_files(self): |
| LOW | tests/test_security.py | 324 | def test_filename_sanitization_preserves_safe_filenames(self): |
| LOW | tests/test_security.py | 342 | def test_path_traversal_in_file_operations(self): |
| LOW | tests/test_security.py | 367 | def test_no_hardcoded_secrets_in_code(self): |
| LOW | tests/test_security.py | 404 | def test_api_has_rate_limiting(self): |
| LOW | tests/test_security.py | 414 | def test_sensitive_endpoints_require_validation(self): |
| LOW | tests/discovery/test_rocketreach.py | 29 | async def test_do_search_uses_people_data_endpoint_and_start_pagination(monkeypatch) -> None: |
| LOW | tests/discovery/test_rocketreach.py | 98 | async def test_do_search_stops_on_throttling_message(monkeypatch) -> None: |
| LOW | tests/discovery/test_dymosearch.py | 38 | async def test_process_extracts_canonical_and_suggestion(self, monkeypatch): |
| LOW | tests/discovery/test_dymosearch.py | 82 | async def test_process_handles_empty_payload(self, monkeypatch): |
| LOW | tests/discovery/test_dymosearch.py | 98 | async def test_process_ignores_unrelated_suggestion(self, monkeypatch): |
| LOW | tests/discovery/test_dymosearch.py | 120 | async def test_process_handles_non_dict_response(self, monkeypatch): |
| LOW | tests/discovery/test_dymosearch.py | 137 | def test_module_exposes_class(self, monkeypatch): |
| LOW | tests/discovery/test_dymosearch.py | 142 | def test_supportedengines_lists_dymo(self): |
| LOW | tests/discovery/test_censys.py | 38 | async def test_search_uses_documented_pagination_and_fields(monkeypatch) -> None: |
| LOW | tests/discovery/test_censys.py | 77 | async def test_search_respects_limit_across_page_data(monkeypatch) -> None: |
| LOW | tests/discovery/test_thc.py | 32 | async def test_api_subdomains_download_endpoint_responds(self) -> None: |
| LOW | tests/discovery/test_thc.py | 146 | async def test_search_nonexistent_domain(self) -> None: |
| LOW | tests/discovery/test_thc.py | 172 | async def test_search_special_characters_domain(self) -> None: |
| LOW | tests/discovery/test_thc.py | 185 | async def test_search_unicode_domain(self) -> None: |
| LOW | tests/discovery/test_thc.py | 198 | async def test_search_subdomain_as_input(self) -> None: |
| LOW | tests/discovery/test_thc.py | 220 | async def test_process_accepts_proxy_parameter(self) -> None: |
| LOW | tests/discovery/test_thc.py | 231 | async def test_proxy_attribute_is_set(self) -> None: |
| LOW | tests/discovery/test_thc.py | 249 | def test_init_creates_empty_results(self) -> None: |
| LOW | tests/discovery/test_thc.py | 255 | def test_init_proxy_default_false(self) -> None: |
| LOW | tests/discovery/test_thc.py | 260 | def test_init_has_rate_limit_settings(self) -> None: |
| LOW | tests/discovery/test_thc.py | 268 | def test_class_has_required_methods(self) -> None: |
| LOW | tests/discovery/test_thc.py | 290 | async def test_hostnames_are_strings(self) -> None: |
| LOW | tests/discovery/test_thc.py | 336 | async def test_module_can_be_imported(self) -> None: |
| LOW | tests/discovery/test_thc.py | 43 | async def test_api_subdomains_returns_text_format(self) -> None: |
| LOW | tests/discovery/test_thc.py | 55 | async def test_api_cli_subdomain_endpoint(self) -> None: |
| LOW | tests/discovery/test_thc.py | 66 | async def test_api_returns_rate_limit_headers(self) -> None: |
| LOW | tests/discovery/test_thc.py | 104 | async def test_search_finds_subdomains(self) -> None: |
| LOW | tests/discovery/test_thc.py | 115 | async def test_search_results_contain_target_domain(self) -> None: |
| LOW | tests/discovery/test_thc.py | 127 | async def test_search_no_duplicates(self) -> None: |
| LOW | tests/discovery/test_thc.py | 302 | async def test_hostnames_are_valid_format(self) -> None: |
| LOW | tests/discovery/test_thc.py | 316 | async def test_hostnames_are_lowercase(self) -> None: |
| LOW | tests/discovery/test_thc.py | 348 | async def test_compatible_with_store_function(self) -> None: |
| LOW | tests/discovery/test_githubcode_additions.py | 10 | async def test_process_stops_after_max_retries(self, monkeypatch): |
| LOW | tests/discovery/test_githubcode_additions.py | 36 | async def test_process_stops_on_error_result(self, monkeypatch): |
| LOW | tests/discovery/test_githubcode_additions.py | 59 | async def test_process_breaks_on_same_page_pagination(self, monkeypatch): |
| LOW | tests/discovery/test_baidusearch.py | 50 | async def test_pagination_limit_exclusive(self, monkeypatch): |
| LOW | tests/discovery/test_githubcode.py | 63 | async def test_fragments_from_response(self): |
| LOW | tests/discovery/test_githubcode.py | 73 | async def test_invalid_fragments_from_response(self): |
| LOW | tests/discovery/test_githubcode.py | 96 | async def test_infinite_loop_fix_page_zero(self): |
| 32 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/discovery/test_thc.py | 25 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 27 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 139 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 141 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 209 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 211 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 237 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 239 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 279 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 281 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 328 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 330 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 78 | # ============================================================================= |
| MEDIUM | tests/discovery/test_thc.py | 80 | # ============================================================================= |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | theHarvester/__main__.py | 110 | |
| LOW | theHarvester/parsers/venacusparser.py | 38 | |
| LOW | theHarvester/parsers/securitytrailsparser.py | 11 | |
| LOW | theHarvester/parsers/intelxparser.py | 6 | |
| LOW | theHarvester/discovery/fofa.py | 50 | |
| LOW | theHarvester/discovery/rocketreach.py | 21 | |
| LOW | theHarvester/discovery/bitbucket.py | 109 | |
| LOW | theHarvester/discovery/certspottersearch.py | 10 | |
| LOW | theHarvester/discovery/search_dnsdumpster.py | 16 | |
| LOW | theHarvester/discovery/censysearch.py | 36 | |
| LOW | theHarvester/discovery/duckduckgosearch.py | 32 | |
| LOW | theHarvester/discovery/leaklookup.py | 20 | |
| LOW | theHarvester/discovery/mojeek.py | 24 | |
| LOW | theHarvester/discovery/thc.py | 18 | |
| LOW | theHarvester/discovery/hudsonrocksearch.py | 209 | |
| LOW | theHarvester/discovery/hudsonrocksearch.py | 302 | |
| LOW | theHarvester/discovery/rapiddns.py | 13 | |
| LOW | theHarvester/discovery/zoomeyesearch.py | 260 | |
| LOW | theHarvester/discovery/githubcode.py | 113 | |
| LOW | theHarvester/discovery/chaos.py | 47 | |
| LOW | theHarvester/discovery/builtwith.py | 46 | |
| LOW | theHarvester/discovery/criminalip.py | 186 | |
| LOW | theHarvester/discovery/robtex.py | 44 | |
| LOW | theHarvester/discovery/onyphe.py | 35 | |
| LOW | theHarvester/discovery/waybackarchive.py | 31 | |
| LOW | theHarvester/discovery/leakix.py | 42 | |
| LOW | theHarvester/discovery/bravesearch.py | 22 | |
| LOW | theHarvester/discovery/api_endpoints.py | 477 | |
| LOW | theHarvester/discovery/api_endpoints.py | 539 | |
| LOW | theHarvester/discovery/threatcrowd.py | 38 | |
| LOW | theHarvester/discovery/additional_apis.py | 110 | |
| LOW | theHarvester/discovery/commoncrawl.py | 58 | |
| LOW | theHarvester/discovery/search_dehashed.py | 26 | |
| LOW | theHarvester/discovery/gitlabsearch.py | 75 | |
| LOW | theHarvester/discovery/gitlabsearch.py | 136 | |
| LOW | theHarvester/discovery/windvane.py | 85 | |
| LOW | theHarvester/discovery/windvane.py | 125 | |
| LOW | theHarvester/discovery/windvane.py | 169 | |
| LOW | theHarvester/discovery/windvane.py | 202 | |
| LOW | theHarvester/discovery/windvane.py | 244 | |
| LOW | theHarvester/discovery/shodansearch.py | 18 | |
| LOW | theHarvester/lib/stash.py | 170 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | theHarvester/__main__.py | 1511 | # Check if Rest API is being used if so return found hosts |
| LOW | theHarvester/__main__.py | 1636 | # Check if the result is a string (error message) |
| LOW | theHarvester/__main__.py | 1797 | # Print results |
| LOW | theHarvester/discovery/waybackarchive.py | 59 | # Check if it's a subdomain of our target |
| LOW | theHarvester/discovery/leakix.py | 66 | # Check if the response is an error message |
| LOW | theHarvester/discovery/api_endpoints.py | 606 | # Check if rate limited |
| LOW | theHarvester/discovery/api_endpoints.py | 615 | # Check if this is an interesting endpoint |
| LOW | theHarvester/discovery/commoncrawl.py | 92 | # Check if it's a subdomain of our target |
| LOW | theHarvester/discovery/windvane.py | 99 | # Check if response is successful |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | theHarvester/discovery/fullhuntsearch.py | 216 | """Get comprehensive details about a domain""" |
| MEDIUM | theHarvester/discovery/constants.py | 93 | # That means we will try out second option which will utilize proxies |
| MEDIUM | theHarvester/discovery/securitytrailssearch.py | 19 | # Hold structured responses for robust parsing |
| MEDIUM | theHarvester/discovery/securitytrailssearch.py | 38 | # Request JSON payloads for robust parsing |
| MEDIUM | theHarvester/discovery/api_endpoints.py | 106 | # Add comprehensive API paths categorized by functionality |
| MEDIUM | theHarvester/discovery/api_endpoints.py | 725 | """Get a comprehensive summary of scan results. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_security.py | 4 | |
| LOW | tests/discovery/test_certspotter.py | 10 | |
| LOW | tests/discovery/test_otx.py | 9 | |
| LOW | tests/lib/test_core.py | 1 | |
| LOW | tests/lib/test_output.py | 1 | |
| LOW | theHarvester/lib/hostchecker.py | 7 | |
| LOW | theHarvester/lib/core.py | 1 | |
| LOW | theHarvester/lib/output.py | 1 | |
| LOW | theHarvester/lib/api/api.py | 4 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | theHarvester/__main__.py | 1759 | # Define a default wordlist if none is specified |
| MEDIUM | theHarvester/__main__.py | 1765 | # Create a default simple API endpoint list |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/discovery/test_censys.py | 52 | {'names': ['a.example.com'], 'parsed': {'subject': {'email_address': 'admin@example.com'}}}, |
| LOW | tests/discovery/test_censys.py | 73 | assert await search.get_emails() == {'admin@example.com', 'ops@example.com'} |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | theHarvester/lib/hostchecker.py | 21 | self.hosts: list[str] = hosts |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need |