tblue 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tblue-2.0.0/LICENSE +21 -0
- tblue-2.0.0/PKG-INFO +459 -0
- tblue-2.0.0/README.md +414 -0
- tblue-2.0.0/pyproject.toml +62 -0
- tblue-2.0.0/setup.cfg +22 -0
- tblue-2.0.0/tblue/__init__.py +67 -0
- tblue-2.0.0/tblue/__main__.py +3 -0
- tblue-2.0.0/tblue/ai_analysis.py +263 -0
- tblue-2.0.0/tblue/browser/__init__.py +0 -0
- tblue-2.0.0/tblue/browser/engine.py +235 -0
- tblue-2.0.0/tblue/cache.py +131 -0
- tblue-2.0.0/tblue/cli.py +2597 -0
- tblue-2.0.0/tblue/compliance.py +1772 -0
- tblue-2.0.0/tblue/config.py +181 -0
- tblue-2.0.0/tblue/constants.py +47 -0
- tblue-2.0.0/tblue/crawler.py +242 -0
- tblue-2.0.0/tblue/cve_feed.py +407 -0
- tblue-2.0.0/tblue/dashboard.py +688 -0
- tblue-2.0.0/tblue/definitions/__init__.py +3 -0
- tblue-2.0.0/tblue/definitions/dom_risks.py +103 -0
- tblue-2.0.0/tblue/definitions/headers.py +151 -0
- tblue-2.0.0/tblue/history.py +192 -0
- tblue-2.0.0/tblue/http.py +156 -0
- tblue-2.0.0/tblue/logger.py +70 -0
- tblue-2.0.0/tblue/mcp_server.py +599 -0
- tblue-2.0.0/tblue/mitre.py +1362 -0
- tblue-2.0.0/tblue/monitor.py +236 -0
- tblue-2.0.0/tblue/notify.py +276 -0
- tblue-2.0.0/tblue/py.typed +0 -0
- tblue-2.0.0/tblue/remediation.py +1931 -0
- tblue-2.0.0/tblue/report/__init__.py +4 -0
- tblue-2.0.0/tblue/report/html.py +5450 -0
- tblue-2.0.0/tblue/report/json.py +52 -0
- tblue-2.0.0/tblue/report/kql.py +161 -0
- tblue-2.0.0/tblue/report/poc.py +294 -0
- tblue-2.0.0/tblue/report/sarif.py +154 -0
- tblue-2.0.0/tblue/report/siem.py +263 -0
- tblue-2.0.0/tblue/report/sigma.py +178 -0
- tblue-2.0.0/tblue/report/splunk_spl.py +164 -0
- tblue-2.0.0/tblue/report/stride.py +233 -0
- tblue-2.0.0/tblue/report/terminal.py +349 -0
- tblue-2.0.0/tblue/scanner/__init__.py +28 -0
- tblue-2.0.0/tblue/scanner/abort_controller_security.py +74 -0
- tblue-2.0.0/tblue/scanner/access_control.py +192 -0
- tblue-2.0.0/tblue/scanner/account_enumeration.py +189 -0
- tblue-2.0.0/tblue/scanner/account_enumeration_security.py +75 -0
- tblue-2.0.0/tblue/scanner/account_lockout.py +222 -0
- tblue-2.0.0/tblue/scanner/account_recovery.py +233 -0
- tblue-2.0.0/tblue/scanner/account_takeover_passive.py +163 -0
- tblue-2.0.0/tblue/scanner/active_cors_origin_fuzz.py +108 -0
- tblue-2.0.0/tblue/scanner/active_http_verb_probe.py +105 -0
- tblue-2.0.0/tblue/scanner/active_port_probe.py +83 -0
- tblue-2.0.0/tblue/scanner/active_subdomain_enum.py +137 -0
- tblue-2.0.0/tblue/scanner/active_tls_cipher_probe.py +130 -0
- tblue-2.0.0/tblue/scanner/actuator_endpoint_exposure.py +100 -0
- tblue-2.0.0/tblue/scanner/admin_exposure.py +176 -0
- tblue-2.0.0/tblue/scanner/ai_api_exposure.py +231 -0
- tblue-2.0.0/tblue/scanner/ambient_light_security.py +69 -0
- tblue-2.0.0/tblue/scanner/anchor_positioning_security.py +72 -0
- tblue-2.0.0/tblue/scanner/animation_worklet_security.py +75 -0
- tblue-2.0.0/tblue/scanner/apache_status_exposure.py +57 -0
- tblue-2.0.0/tblue/scanner/api_auth_security.py +190 -0
- tblue-2.0.0/tblue/scanner/api_authentication_exposure.py +182 -0
- tblue-2.0.0/tblue/scanner/api_collection.py +303 -0
- tblue-2.0.0/tblue/scanner/api_documentation_exposure.py +105 -0
- tblue-2.0.0/tblue/scanner/api_error_disclosure.py +175 -0
- tblue-2.0.0/tblue/scanner/api_gateway_security.py +203 -0
- tblue-2.0.0/tblue/scanner/api_key_in_js.py +121 -0
- tblue-2.0.0/tblue/scanner/api_key_rotation.py +229 -0
- tblue-2.0.0/tblue/scanner/api_pagination_abuse.py +110 -0
- tblue-2.0.0/tblue/scanner/api_pagination_security.py +93 -0
- tblue-2.0.0/tblue/scanner/api_rate_limit_deep.py +216 -0
- tblue-2.0.0/tblue/scanner/api_rate_limit_headers.py +74 -0
- tblue-2.0.0/tblue/scanner/api_schema_exposure.py +199 -0
- tblue-2.0.0/tblue/scanner/api_security_headers.py +284 -0
- tblue-2.0.0/tblue/scanner/api_surface.py +220 -0
- tblue-2.0.0/tblue/scanner/api_versioning.py +335 -0
- tblue-2.0.0/tblue/scanner/api_versioning_security.py +133 -0
- tblue-2.0.0/tblue/scanner/array_buffer_security.py +75 -0
- tblue-2.0.0/tblue/scanner/attribution_reporting_security.py +62 -0
- tblue-2.0.0/tblue/scanner/audio_decoder_security.py +75 -0
- tblue-2.0.0/tblue/scanner/audio_worklet_security.py +76 -0
- tblue-2.0.0/tblue/scanner/auth_bypass_pattern_security.py +72 -0
- tblue-2.0.0/tblue/scanner/autocomplete_security.py +120 -0
- tblue-2.0.0/tblue/scanner/back_forward_cache_security.py +79 -0
- tblue-2.0.0/tblue/scanner/background_fetch_security.py +68 -0
- tblue-2.0.0/tblue/scanner/background_sync_security.py +71 -0
- tblue-2.0.0/tblue/scanner/badging_api_security.py +79 -0
- tblue-2.0.0/tblue/scanner/base.py +84 -0
- tblue-2.0.0/tblue/scanner/base_uri_injection.py +193 -0
- tblue-2.0.0/tblue/scanner/battery_status_security.py +75 -0
- tblue-2.0.0/tblue/scanner/beacon_api_security.py +68 -0
- tblue-2.0.0/tblue/scanner/before_install_prompt_security.py +79 -0
- tblue-2.0.0/tblue/scanner/broadcast_channel_advanced_security.py +74 -0
- tblue-2.0.0/tblue/scanner/broadcast_channel_security.py +153 -0
- tblue-2.0.0/tblue/scanner/broken_object_level_auth.py +80 -0
- tblue-2.0.0/tblue/scanner/browser_dom_xss.py +273 -0
- tblue-2.0.0/tblue/scanner/browser_spa_scan.py +242 -0
- tblue-2.0.0/tblue/scanner/browser_storage.py +263 -0
- tblue-2.0.0/tblue/scanner/business_logic.py +239 -0
- tblue-2.0.0/tblue/scanner/business_logic_exposure.py +115 -0
- tblue-2.0.0/tblue/scanner/cache_api_security.py +69 -0
- tblue-2.0.0/tblue/scanner/cache_control_security.py +234 -0
- tblue-2.0.0/tblue/scanner/cache_poisoning.py +178 -0
- tblue-2.0.0/tblue/scanner/cache_poisoning_passive.py +111 -0
- tblue-2.0.0/tblue/scanner/canvas_fingerprinting.py +224 -0
- tblue-2.0.0/tblue/scanner/cdn_misconfiguration.py +198 -0
- tblue-2.0.0/tblue/scanner/certificate_transparency.py +159 -0
- tblue-2.0.0/tblue/scanner/channel_messaging_security.py +74 -0
- tblue-2.0.0/tblue/scanner/cicd_exposure.py +251 -0
- tblue-2.0.0/tblue/scanner/clickjacking.py +175 -0
- tblue-2.0.0/tblue/scanner/clickjacking_advanced.py +139 -0
- tblue-2.0.0/tblue/scanner/clickjacking_deep.py +218 -0
- tblue-2.0.0/tblue/scanner/client_hints_security.py +188 -0
- tblue-2.0.0/tblue/scanner/client_side_redirect.py +252 -0
- tblue-2.0.0/tblue/scanner/client_side_validation_only.py +98 -0
- tblue-2.0.0/tblue/scanner/client_storage.py +385 -0
- tblue-2.0.0/tblue/scanner/clipboard_advanced_security.py +75 -0
- tblue-2.0.0/tblue/scanner/clipboard_api_security.py +80 -0
- tblue-2.0.0/tblue/scanner/cloud_metadata.py +212 -0
- tblue-2.0.0/tblue/scanner/cloud_storage.py +163 -0
- tblue-2.0.0/tblue/scanner/cms_detection.py +270 -0
- tblue-2.0.0/tblue/scanner/coep_security.py +74 -0
- tblue-2.0.0/tblue/scanner/color_scheme_security.py +76 -0
- tblue-2.0.0/tblue/scanner/command_injection.py +226 -0
- tblue-2.0.0/tblue/scanner/command_injection_client_security.py +72 -0
- tblue-2.0.0/tblue/scanner/compression_oracle.py +161 -0
- tblue-2.0.0/tblue/scanner/compression_streams_security.py +75 -0
- tblue-2.0.0/tblue/scanner/compute_pressure_security.py +57 -0
- tblue-2.0.0/tblue/scanner/contact_picker_security.py +72 -0
- tblue-2.0.0/tblue/scanner/content_disposition_security.py +215 -0
- tblue-2.0.0/tblue/scanner/content_index_security.py +79 -0
- tblue-2.0.0/tblue/scanner/content_injection.py +193 -0
- tblue-2.0.0/tblue/scanner/content_negotiation.py +197 -0
- tblue-2.0.0/tblue/scanner/content_security_framing.py +112 -0
- tblue-2.0.0/tblue/scanner/content_sniffing_bypass.py +86 -0
- tblue-2.0.0/tblue/scanner/content_type_confusion.py +101 -0
- tblue-2.0.0/tblue/scanner/content_type_sniffing.py +130 -0
- tblue-2.0.0/tblue/scanner/content_visibility_security.py +75 -0
- tblue-2.0.0/tblue/scanner/cookie_advanced.py +174 -0
- tblue-2.0.0/tblue/scanner/cookie_prefix_security.py +261 -0
- tblue-2.0.0/tblue/scanner/cookie_samesite_deep.py +178 -0
- tblue-2.0.0/tblue/scanner/cookie_store_security.py +79 -0
- tblue-2.0.0/tblue/scanner/cookies.py +483 -0
- tblue-2.0.0/tblue/scanner/cookies_partitioned_security.py +207 -0
- tblue-2.0.0/tblue/scanner/coop_security.py +73 -0
- tblue-2.0.0/tblue/scanner/corp_security.py +63 -0
- tblue-2.0.0/tblue/scanner/cors.py +175 -0
- tblue-2.0.0/tblue/scanner/cors_advanced.py +186 -0
- tblue-2.0.0/tblue/scanner/cors_credential_security.py +78 -0
- tblue-2.0.0/tblue/scanner/cors_deep_analysis.py +170 -0
- tblue-2.0.0/tblue/scanner/cors_expose_headers.py +154 -0
- tblue-2.0.0/tblue/scanner/cors_max_age_deep.py +140 -0
- tblue-2.0.0/tblue/scanner/cors_misconfiguration_deep.py +225 -0
- tblue-2.0.0/tblue/scanner/cors_null_origin.py +97 -0
- tblue-2.0.0/tblue/scanner/cors_origin_reflection.py +102 -0
- tblue-2.0.0/tblue/scanner/cors_policy_advanced.py +89 -0
- tblue-2.0.0/tblue/scanner/cors_preflight_deep.py +93 -0
- tblue-2.0.0/tblue/scanner/cors_wildcard_api.py +70 -0
- tblue-2.0.0/tblue/scanner/credential_api_advanced.py +75 -0
- tblue-2.0.0/tblue/scanner/credential_exposure.py +159 -0
- tblue-2.0.0/tblue/scanner/credential_management_security.py +79 -0
- tblue-2.0.0/tblue/scanner/credentialless_iframe_security.py +62 -0
- tblue-2.0.0/tblue/scanner/crlf_injection.py +178 -0
- tblue-2.0.0/tblue/scanner/cross_origin_isolation.py +173 -0
- tblue-2.0.0/tblue/scanner/cross_origin_policy_deep.py +185 -0
- tblue-2.0.0/tblue/scanner/crossdomain_policy.py +385 -0
- tblue-2.0.0/tblue/scanner/crt_sh.py +94 -0
- tblue-2.0.0/tblue/scanner/cryptographic_weakness_passive.py +112 -0
- tblue-2.0.0/tblue/scanner/csp.py +405 -0
- tblue-2.0.0/tblue/scanner/csp_advanced.py +290 -0
- tblue-2.0.0/tblue/scanner/csp_nonce.py +261 -0
- tblue-2.0.0/tblue/scanner/csp_nonce_reuse.py +162 -0
- tblue-2.0.0/tblue/scanner/csp_reporting.py +276 -0
- tblue-2.0.0/tblue/scanner/csp_violation_report.py +224 -0
- tblue-2.0.0/tblue/scanner/csrf_double_submit.py +105 -0
- tblue-2.0.0/tblue/scanner/csrf_token_strength.py +117 -0
- tblue-2.0.0/tblue/scanner/css_cascade_layers_security.py +71 -0
- tblue-2.0.0/tblue/scanner/css_container_query_security.py +72 -0
- tblue-2.0.0/tblue/scanner/css_counter_security.py +73 -0
- tblue-2.0.0/tblue/scanner/css_custom_highlight_security.py +79 -0
- tblue-2.0.0/tblue/scanner/css_custom_properties_security.py +74 -0
- tblue-2.0.0/tblue/scanner/css_exfiltration.py +224 -0
- tblue-2.0.0/tblue/scanner/css_font_palette_security.py +73 -0
- tblue-2.0.0/tblue/scanner/css_grid_security.py +76 -0
- tblue-2.0.0/tblue/scanner/css_houdini_security.py +74 -0
- tblue-2.0.0/tblue/scanner/css_injection.py +241 -0
- tblue-2.0.0/tblue/scanner/css_injection_passive.py +88 -0
- tblue-2.0.0/tblue/scanner/css_masonry_security.py +61 -0
- tblue-2.0.0/tblue/scanner/css_math_security.py +73 -0
- tblue-2.0.0/tblue/scanner/css_nesting_security.py +71 -0
- tblue-2.0.0/tblue/scanner/css_paint_api_security.py +79 -0
- tblue-2.0.0/tblue/scanner/css_scope_security.py +72 -0
- tblue-2.0.0/tblue/scanner/css_transitions_security.py +75 -0
- tblue-2.0.0/tblue/scanner/css_typed_om_security.py +74 -0
- tblue-2.0.0/tblue/scanner/csti.py +449 -0
- tblue-2.0.0/tblue/scanner/csv_injection.py +296 -0
- tblue-2.0.0/tblue/scanner/custom_element_registry_security.py +75 -0
- tblue-2.0.0/tblue/scanner/custom_elements_security.py +62 -0
- tblue-2.0.0/tblue/scanner/dangling_markup.py +248 -0
- tblue-2.0.0/tblue/scanner/date_security.py +76 -0
- tblue-2.0.0/tblue/scanner/debug_endpoint_exposure.py +102 -0
- tblue-2.0.0/tblue/scanner/debug_mode_detection.py +116 -0
- tblue-2.0.0/tblue/scanner/declarative_shadow_dom_security.py +75 -0
- tblue-2.0.0/tblue/scanner/deep_link_security.py +199 -0
- tblue-2.0.0/tblue/scanner/define_property_security.py +77 -0
- tblue-2.0.0/tblue/scanner/dependency_confusion.py +188 -0
- tblue-2.0.0/tblue/scanner/dependency_hijacking.py +73 -0
- tblue-2.0.0/tblue/scanner/deserialization.py +252 -0
- tblue-2.0.0/tblue/scanner/deserialization_gadget_passive.py +108 -0
- tblue-2.0.0/tblue/scanner/dev_artifact.py +334 -0
- tblue-2.0.0/tblue/scanner/device_motion_security.py +75 -0
- tblue-2.0.0/tblue/scanner/device_orientation_security.py +77 -0
- tblue-2.0.0/tblue/scanner/dialog_element_security.py +86 -0
- tblue-2.0.0/tblue/scanner/directory_listing.py +151 -0
- tblue-2.0.0/tblue/scanner/dns_advanced.py +199 -0
- tblue-2.0.0/tblue/scanner/dns_caa.py +260 -0
- tblue-2.0.0/tblue/scanner/dns_rebinding.py +204 -0
- tblue-2.0.0/tblue/scanner/dns_rebinding_passive.py +77 -0
- tblue-2.0.0/tblue/scanner/dns_security.py +154 -0
- tblue-2.0.0/tblue/scanner/docker_exposure.py +219 -0
- tblue-2.0.0/tblue/scanner/document_domain_security.py +73 -0
- tblue-2.0.0/tblue/scanner/document_fragment_security.py +75 -0
- tblue-2.0.0/tblue/scanner/document_picture_in_picture_security.py +74 -0
- tblue-2.0.0/tblue/scanner/document_pip_api_security.py +79 -0
- tblue-2.0.0/tblue/scanner/document_pip_security.py +73 -0
- tblue-2.0.0/tblue/scanner/document_policy_security.py +182 -0
- tblue-2.0.0/tblue/scanner/document_visibility_security.py +79 -0
- tblue-2.0.0/tblue/scanner/dom.py +151 -0
- tblue-2.0.0/tblue/scanner/dom_clobbering.py +266 -0
- tblue-2.0.0/tblue/scanner/dom_parser_security.py +73 -0
- tblue-2.0.0/tblue/scanner/dom_xss_sources.py +216 -0
- tblue-2.0.0/tblue/scanner/drag_drop_security.py +62 -0
- tblue-2.0.0/tblue/scanner/dynamic_import_security.py +68 -0
- tblue-2.0.0/tblue/scanner/el_injection.py +456 -0
- tblue-2.0.0/tblue/scanner/elasticsearch_exposure.py +99 -0
- tblue-2.0.0/tblue/scanner/element_internals_security.py +74 -0
- tblue-2.0.0/tblue/scanner/element_timing_security.py +79 -0
- tblue-2.0.0/tblue/scanner/email_advanced.py +287 -0
- tblue-2.0.0/tblue/scanner/email_config_exposure.py +89 -0
- tblue-2.0.0/tblue/scanner/email_header_injection.py +160 -0
- tblue-2.0.0/tblue/scanner/email_security.py +275 -0
- tblue-2.0.0/tblue/scanner/error_event_security.py +76 -0
- tblue-2.0.0/tblue/scanner/error_pages.py +162 -0
- tblue-2.0.0/tblue/scanner/etag_fingerprinting.py +218 -0
- tblue-2.0.0/tblue/scanner/event_target_security.py +76 -0
- tblue-2.0.0/tblue/scanner/eventsource_security.py +63 -0
- tblue-2.0.0/tblue/scanner/exif_metadata_exposure.py +116 -0
- tblue-2.0.0/tblue/scanner/exposed_backup_files.py +151 -0
- tblue-2.0.0/tblue/scanner/exposure.py +186 -0
- tblue-2.0.0/tblue/scanner/eyedropper_api_security.py +71 -0
- tblue-2.0.0/tblue/scanner/feature_flag_exposure.py +140 -0
- tblue-2.0.0/tblue/scanner/feature_policy_security.py +75 -0
- tblue-2.0.0/tblue/scanner/fedcm_security.py +68 -0
- tblue-2.0.0/tblue/scanner/federated_identity_security.py +75 -0
- tblue-2.0.0/tblue/scanner/fenced_frame_security.py +68 -0
- tblue-2.0.0/tblue/scanner/fetch_metadata.py +298 -0
- tblue-2.0.0/tblue/scanner/fetch_priority_security.py +72 -0
- tblue-2.0.0/tblue/scanner/file_inclusion.py +225 -0
- tblue-2.0.0/tblue/scanner/file_inclusion_security.py +75 -0
- tblue-2.0.0/tblue/scanner/file_system_access_security.py +84 -0
- tblue-2.0.0/tblue/scanner/file_upload.py +239 -0
- tblue-2.0.0/tblue/scanner/file_upload_security.py +86 -0
- tblue-2.0.0/tblue/scanner/focus_management_security.py +75 -0
- tblue-2.0.0/tblue/scanner/font_access_security.py +74 -0
- tblue-2.0.0/tblue/scanner/font_loading_security.py +79 -0
- tblue-2.0.0/tblue/scanner/form_action_hijacking.py +205 -0
- tblue-2.0.0/tblue/scanner/form_action_security.py +88 -0
- tblue-2.0.0/tblue/scanner/form_data_api_security.py +75 -0
- tblue-2.0.0/tblue/scanner/form_data_security.py +63 -0
- tblue-2.0.0/tblue/scanner/form_security.py +205 -0
- tblue-2.0.0/tblue/scanner/framework_config.py +436 -0
- tblue-2.0.0/tblue/scanner/fullscreen_security.py +74 -0
- tblue-2.0.0/tblue/scanner/function_constructor_security.py +74 -0
- tblue-2.0.0/tblue/scanner/gamepad_security.py +73 -0
- tblue-2.0.0/tblue/scanner/gdpr_privacy.py +206 -0
- tblue-2.0.0/tblue/scanner/generator_security.py +74 -0
- tblue-2.0.0/tblue/scanner/generic_sensor_security.py +75 -0
- tblue-2.0.0/tblue/scanner/geolocation_api_security.py +70 -0
- tblue-2.0.0/tblue/scanner/geolocation_security.py +75 -0
- tblue-2.0.0/tblue/scanner/graphql.py +142 -0
- tblue-2.0.0/tblue/scanner/graphql_advanced.py +249 -0
- tblue-2.0.0/tblue/scanner/graphql_authorization.py +142 -0
- tblue-2.0.0/tblue/scanner/graphql_batch_abuse.py +175 -0
- tblue-2.0.0/tblue/scanner/graphql_batch_attack.py +218 -0
- tblue-2.0.0/tblue/scanner/graphql_batching.py +278 -0
- tblue-2.0.0/tblue/scanner/graphql_csrf.py +112 -0
- tblue-2.0.0/tblue/scanner/graphql_depth.py +205 -0
- tblue-2.0.0/tblue/scanner/graphql_field_suggestion.py +242 -0
- tblue-2.0.0/tblue/scanner/graphql_info_disclosure.py +101 -0
- tblue-2.0.0/tblue/scanner/graphql_introspection_security.py +92 -0
- tblue-2.0.0/tblue/scanner/graphql_persisted_queries.py +197 -0
- tblue-2.0.0/tblue/scanner/graphql_subscription.py +240 -0
- tblue-2.0.0/tblue/scanner/grpc.py +171 -0
- tblue-2.0.0/tblue/scanner/handwriting_recognition_security.py +76 -0
- tblue-2.0.0/tblue/scanner/hardcoded_credentials.py +220 -0
- tblue-2.0.0/tblue/scanner/header_injection_sink.py +230 -0
- tblue-2.0.0/tblue/scanner/headers.py +187 -0
- tblue-2.0.0/tblue/scanner/health_endpoint_exposure.py +143 -0
- tblue-2.0.0/tblue/scanner/hid_api_security.py +76 -0
- tblue-2.0.0/tblue/scanner/highlight_api_security.py +74 -0
- tblue-2.0.0/tblue/scanner/hipaa_compliance.py +135 -0
- tblue-2.0.0/tblue/scanner/history_api_security.py +62 -0
- tblue-2.0.0/tblue/scanner/host_header.py +88 -0
- tblue-2.0.0/tblue/scanner/host_header_injection.py +117 -0
- tblue-2.0.0/tblue/scanner/hsts_deep_analysis.py +174 -0
- tblue-2.0.0/tblue/scanner/hsts_preload.py +273 -0
- tblue-2.0.0/tblue/scanner/html_comments.py +120 -0
- tblue-2.0.0/tblue/scanner/http2_push_security.py +150 -0
- tblue-2.0.0/tblue/scanner/http2_rapid_reset.py +133 -0
- tblue-2.0.0/tblue/scanner/http2_security.py +174 -0
- tblue-2.0.0/tblue/scanner/http3_quic.py +175 -0
- tblue-2.0.0/tblue/scanner/http_caching_security.py +197 -0
- tblue-2.0.0/tblue/scanner/http_desync_passive.py +89 -0
- tblue-2.0.0/tblue/scanner/http_early_hints_security.py +97 -0
- tblue-2.0.0/tblue/scanner/http_method_override.py +103 -0
- tblue-2.0.0/tblue/scanner/http_method_tampering.py +125 -0
- tblue-2.0.0/tblue/scanner/http_methods.py +113 -0
- tblue-2.0.0/tblue/scanner/http_observatory.py +277 -0
- tblue-2.0.0/tblue/scanner/http_parameter_pollution.py +169 -0
- tblue-2.0.0/tblue/scanner/http_range_security.py +188 -0
- tblue-2.0.0/tblue/scanner/http_request_smuggling.py +78 -0
- tblue-2.0.0/tblue/scanner/http_response_splitting.py +167 -0
- tblue-2.0.0/tblue/scanner/http_security_baseline.py +268 -0
- tblue-2.0.0/tblue/scanner/http_security_consistency.py +148 -0
- tblue-2.0.0/tblue/scanner/http_security_headers_deep.py +117 -0
- tblue-2.0.0/tblue/scanner/http_strict_transport_upgrade.py +96 -0
- tblue-2.0.0/tblue/scanner/http_verb_tampering.py +182 -0
- tblue-2.0.0/tblue/scanner/identity_credential_security.py +73 -0
- tblue-2.0.0/tblue/scanner/idle_detection_api_security.py +56 -0
- tblue-2.0.0/tblue/scanner/idle_detection_security.py +75 -0
- tblue-2.0.0/tblue/scanner/idor_detection.py +208 -0
- tblue-2.0.0/tblue/scanner/iframe_allow_security.py +211 -0
- tblue-2.0.0/tblue/scanner/iframe_sandbox_security.py +162 -0
- tblue-2.0.0/tblue/scanner/iframe_security_deep.py +102 -0
- tblue-2.0.0/tblue/scanner/image_decoder_security.py +74 -0
- tblue-2.0.0/tblue/scanner/import_assertions_security.py +70 -0
- tblue-2.0.0/tblue/scanner/import_map_security.py +73 -0
- tblue-2.0.0/tblue/scanner/importmap_security.py +198 -0
- tblue-2.0.0/tblue/scanner/inert_security.py +74 -0
- tblue-2.0.0/tblue/scanner/info_disclosure.py +545 -0
- tblue-2.0.0/tblue/scanner/infra.py +197 -0
- tblue-2.0.0/tblue/scanner/ink_api_security.py +79 -0
- tblue-2.0.0/tblue/scanner/input_event_security.py +75 -0
- tblue-2.0.0/tblue/scanner/insecure_data_exposure.py +105 -0
- tblue-2.0.0/tblue/scanner/insecure_deserialization_passive.py +117 -0
- tblue-2.0.0/tblue/scanner/insecure_direct_object_reference.py +73 -0
- tblue-2.0.0/tblue/scanner/integer_overflow_passive.py +97 -0
- tblue-2.0.0/tblue/scanner/interest_group_security.py +68 -0
- tblue-2.0.0/tblue/scanner/intersection_observer_security.py +74 -0
- tblue-2.0.0/tblue/scanner/intl_security.py +75 -0
- tblue-2.0.0/tblue/scanner/introspection_disclosure.py +124 -0
- tblue-2.0.0/tblue/scanner/iso27001_compliance.py +152 -0
- tblue-2.0.0/tblue/scanner/iterator_protocol_security.py +75 -0
- tblue-2.0.0/tblue/scanner/javascript_prototype_chain.py +92 -0
- tblue-2.0.0/tblue/scanner/javascript_prototype_pollution_deep.py +76 -0
- tblue-2.0.0/tblue/scanner/javascript_template_literal.py +88 -0
- tblue-2.0.0/tblue/scanner/js_dangerous_patterns.py +230 -0
- tblue-2.0.0/tblue/scanner/js_file_analysis.py +326 -0
- tblue-2.0.0/tblue/scanner/js_framework_detection.py +219 -0
- tblue-2.0.0/tblue/scanner/js_libraries.py +191 -0
- tblue-2.0.0/tblue/scanner/js_secrets.py +207 -0
- tblue-2.0.0/tblue/scanner/js_supply_chain_integrity.py +241 -0
- tblue-2.0.0/tblue/scanner/json_injection.py +379 -0
- tblue-2.0.0/tblue/scanner/json_security.py +74 -0
- tblue-2.0.0/tblue/scanner/jsonp_endpoint.py +149 -0
- tblue-2.0.0/tblue/scanner/jwks_exposure.py +280 -0
- tblue-2.0.0/tblue/scanner/jwt_advanced.py +294 -0
- tblue-2.0.0/tblue/scanner/jwt_advanced_security.py +88 -0
- tblue-2.0.0/tblue/scanner/jwt_algorithm_confusion.py +96 -0
- tblue-2.0.0/tblue/scanner/jwt_claim_analysis.py +174 -0
- tblue-2.0.0/tblue/scanner/jwt_security.py +207 -0
- tblue-2.0.0/tblue/scanner/jwt_token_exposure.py +139 -0
- tblue-2.0.0/tblue/scanner/k8s_exposure.py +161 -0
- tblue-2.0.0/tblue/scanner/keyboard_lock_security.py +69 -0
- tblue-2.0.0/tblue/scanner/latex_injection_passive.py +86 -0
- tblue-2.0.0/tblue/scanner/launch_handler_security.py +79 -0
- tblue-2.0.0/tblue/scanner/layout_worklet_security.py +74 -0
- tblue-2.0.0/tblue/scanner/ldap_injection.py +228 -0
- tblue-2.0.0/tblue/scanner/ldap_injection_passive.py +93 -0
- tblue-2.0.0/tblue/scanner/ldap_injection_security.py +76 -0
- tblue-2.0.0/tblue/scanner/link_header_injection.py +150 -0
- tblue-2.0.0/tblue/scanner/link_injection_passive.py +91 -0
- tblue-2.0.0/tblue/scanner/link_preview_exposure.py +219 -0
- tblue-2.0.0/tblue/scanner/link_resource_hints_security.py +218 -0
- tblue-2.0.0/tblue/scanner/link_security.py +295 -0
- tblue-2.0.0/tblue/scanner/live_cve.py +142 -0
- tblue-2.0.0/tblue/scanner/llm_prompt_injection.py +318 -0
- tblue-2.0.0/tblue/scanner/local_storage_sensitive.py +182 -0
- tblue-2.0.0/tblue/scanner/lock_api_security.py +66 -0
- tblue-2.0.0/tblue/scanner/log4shell_passive.py +207 -0
- tblue-2.0.0/tblue/scanner/log_injection.py +191 -0
- tblue-2.0.0/tblue/scanner/log_injection_probe.py +72 -0
- tblue-2.0.0/tblue/scanner/login_security.py +379 -0
- tblue-2.0.0/tblue/scanner/login_status_api_security.py +58 -0
- tblue-2.0.0/tblue/scanner/long_animation_frame_security.py +73 -0
- tblue-2.0.0/tblue/scanner/longtask_observer_security.py +79 -0
- tblue-2.0.0/tblue/scanner/magic_link_security.py +74 -0
- tblue-2.0.0/tblue/scanner/map_set_security.py +75 -0
- tblue-2.0.0/tblue/scanner/mass_assignment.py +195 -0
- tblue-2.0.0/tblue/scanner/mass_assignment_security.py +75 -0
- tblue-2.0.0/tblue/scanner/media_capabilities_security.py +75 -0
- tblue-2.0.0/tblue/scanner/media_devices_security.py +75 -0
- tblue-2.0.0/tblue/scanner/media_recorder_security.py +65 -0
- tblue-2.0.0/tblue/scanner/media_session_security.py +79 -0
- tblue-2.0.0/tblue/scanner/media_source_extension_security.py +69 -0
- tblue-2.0.0/tblue/scanner/message_channel_security.py +79 -0
- tblue-2.0.0/tblue/scanner/mfa_detection.py +149 -0
- tblue-2.0.0/tblue/scanner/midi_api_security.py +69 -0
- tblue-2.0.0/tblue/scanner/mime_type_security.py +179 -0
- tblue-2.0.0/tblue/scanner/mixed_content.py +149 -0
- tblue-2.0.0/tblue/scanner/mongodb_exposure.py +141 -0
- tblue-2.0.0/tblue/scanner/mutation_observer_security.py +75 -0
- tblue-2.0.0/tblue/scanner/mutation_xss.py +203 -0
- tblue-2.0.0/tblue/scanner/navigation_api_security.py +77 -0
- tblue-2.0.0/tblue/scanner/nel_reporting.py +228 -0
- tblue-2.0.0/tblue/scanner/network_information_security.py +66 -0
- tblue-2.0.0/tblue/scanner/nginx_alias_traversal.py +85 -0
- tblue-2.0.0/tblue/scanner/nist_csf_compliance.py +133 -0
- tblue-2.0.0/tblue/scanner/nosql_injection.py +183 -0
- tblue-2.0.0/tblue/scanner/nosql_injection_advanced.py +101 -0
- tblue-2.0.0/tblue/scanner/notification_api_security.py +77 -0
- tblue-2.0.0/tblue/scanner/notification_security.py +75 -0
- tblue-2.0.0/tblue/scanner/oauth.py +206 -0
- tblue-2.0.0/tblue/scanner/oauth_advanced.py +246 -0
- tblue-2.0.0/tblue/scanner/oauth_device_flow.py +164 -0
- tblue-2.0.0/tblue/scanner/oauth_implicit_flow.py +123 -0
- tblue-2.0.0/tblue/scanner/oauth_misconfiguration_passive.py +90 -0
- tblue-2.0.0/tblue/scanner/oauth_pkce.py +282 -0
- tblue-2.0.0/tblue/scanner/oauth_redirect_uri_validation.py +91 -0
- tblue-2.0.0/tblue/scanner/oauth_token_leak.py +242 -0
- tblue-2.0.0/tblue/scanner/object_spread_security.py +74 -0
- tblue-2.0.0/tblue/scanner/object_url_security.py +68 -0
- tblue-2.0.0/tblue/scanner/observable_api_security.py +73 -0
- tblue-2.0.0/tblue/scanner/open_api_exposure.py +238 -0
- tblue-2.0.0/tblue/scanner/open_graph_exposure.py +247 -0
- tblue-2.0.0/tblue/scanner/open_graph_security.py +186 -0
- tblue-2.0.0/tblue/scanner/open_redirect.py +113 -0
- tblue-2.0.0/tblue/scanner/open_redirect_deep.py +112 -0
- tblue-2.0.0/tblue/scanner/open_s3_bucket.py +114 -0
- tblue-2.0.0/tblue/scanner/opfs_security.py +79 -0
- tblue-2.0.0/tblue/scanner/origin_trial_exposure.py +185 -0
- tblue-2.0.0/tblue/scanner/package_manifest_exposure.py +181 -0
- tblue-2.0.0/tblue/scanner/page_lifecycle_security.py +76 -0
- tblue-2.0.0/tblue/scanner/parameter_pollution.py +96 -0
- tblue-2.0.0/tblue/scanner/parameter_pollution_passive.py +89 -0
- tblue-2.0.0/tblue/scanner/password_policy.py +225 -0
- tblue-2.0.0/tblue/scanner/password_reset.py +405 -0
- tblue-2.0.0/tblue/scanner/path_confusion.py +379 -0
- tblue-2.0.0/tblue/scanner/path_normalization_security.py +103 -0
- tblue-2.0.0/tblue/scanner/path_parameter_pollution.py +194 -0
- tblue-2.0.0/tblue/scanner/path_traversal.py +252 -0
- tblue-2.0.0/tblue/scanner/path_traversal_deep.py +136 -0
- tblue-2.0.0/tblue/scanner/payment_handler_security.py +62 -0
- tblue-2.0.0/tblue/scanner/payment_page_security.py +258 -0
- tblue-2.0.0/tblue/scanner/payment_request_security.py +86 -0
- tblue-2.0.0/tblue/scanner/pci_dss_compliance.py +149 -0
- tblue-2.0.0/tblue/scanner/performance_observer_security.py +77 -0
- tblue-2.0.0/tblue/scanner/periodic_background_sync_security.py +79 -0
- tblue-2.0.0/tblue/scanner/permission_policy_security.py +74 -0
- tblue-2.0.0/tblue/scanner/permissions_api_security.py +91 -0
- tblue-2.0.0/tblue/scanner/permissions_policy.py +206 -0
- tblue-2.0.0/tblue/scanner/permissions_policy_deep.py +198 -0
- tblue-2.0.0/tblue/scanner/phi_exposure.py +100 -0
- tblue-2.0.0/tblue/scanner/picture_in_picture_security.py +72 -0
- tblue-2.0.0/tblue/scanner/pointer_events_security.py +76 -0
- tblue-2.0.0/tblue/scanner/pointer_lock_security.py +57 -0
- tblue-2.0.0/tblue/scanner/polyfill_supply_chain.py +117 -0
- tblue-2.0.0/tblue/scanner/popover_api_security.py +75 -0
- tblue-2.0.0/tblue/scanner/portals_security.py +80 -0
- tblue-2.0.0/tblue/scanner/ports.py +171 -0
- tblue-2.0.0/tblue/scanner/postmessage_security.py +180 -0
- tblue-2.0.0/tblue/scanner/prerendering_security.py +74 -0
- tblue-2.0.0/tblue/scanner/presentation_api_security.py +76 -0
- tblue-2.0.0/tblue/scanner/privacy_sandbox_apis.py +240 -0
- tblue-2.0.0/tblue/scanner/private_aggregation_security.py +62 -0
- tblue-2.0.0/tblue/scanner/private_network_access.py +176 -0
- tblue-2.0.0/tblue/scanner/promise_security.py +76 -0
- tblue-2.0.0/tblue/scanner/protocol_confusion.py +188 -0
- tblue-2.0.0/tblue/scanner/prototype_pollution.py +233 -0
- tblue-2.0.0/tblue/scanner/prototype_pollution_advanced.py +71 -0
- tblue-2.0.0/tblue/scanner/proximity_sensor_security.py +60 -0
- tblue-2.0.0/tblue/scanner/proxy_reflect_security.py +75 -0
- tblue-2.0.0/tblue/scanner/prssi.py +229 -0
- tblue-2.0.0/tblue/scanner/push_api_security.py +80 -0
- tblue-2.0.0/tblue/scanner/pwa_manifest_security.py +89 -0
- tblue-2.0.0/tblue/scanner/race_condition.py +414 -0
- tblue-2.0.0/tblue/scanner/race_condition_passive.py +93 -0
- tblue-2.0.0/tblue/scanner/rate_limit.py +131 -0
- tblue-2.0.0/tblue/scanner/rate_limit_bypass_security.py +76 -0
- tblue-2.0.0/tblue/scanner/rate_limiting.py +195 -0
- tblue-2.0.0/tblue/scanner/rate_limiting_detection.py +91 -0
- tblue-2.0.0/tblue/scanner/readable_stream_security.py +68 -0
- tblue-2.0.0/tblue/scanner/redirect_chain.py +175 -0
- tblue-2.0.0/tblue/scanner/redis_exposure.py +114 -0
- tblue-2.0.0/tblue/scanner/redos_passive.py +167 -0
- tblue-2.0.0/tblue/scanner/referrer_policy.py +266 -0
- tblue-2.0.0/tblue/scanner/referrer_policy_deep.py +174 -0
- tblue-2.0.0/tblue/scanner/reflected_file_download.py +344 -0
- tblue-2.0.0/tblue/scanner/regex_security.py +73 -0
- tblue-2.0.0/tblue/scanner/relative_path_overwrite.py +191 -0
- tblue-2.0.0/tblue/scanner/remote_playback_security.py +74 -0
- tblue-2.0.0/tblue/scanner/reporting_api_security.py +113 -0
- tblue-2.0.0/tblue/scanner/reporting_observer_security.py +58 -0
- tblue-2.0.0/tblue/scanner/request_smuggling.py +192 -0
- tblue-2.0.0/tblue/scanner/resize_observer_security.py +74 -0
- tblue-2.0.0/tblue/scanner/resource_timing_security.py +74 -0
- tblue-2.0.0/tblue/scanner/response_headers.py +187 -0
- tblue-2.0.0/tblue/scanner/robots_txt.py +159 -0
- tblue-2.0.0/tblue/scanner/rtc_encoded_transform_security.py +74 -0
- tblue-2.0.0/tblue/scanner/same_site_cookie_security.py +75 -0
- tblue-2.0.0/tblue/scanner/saml.py +206 -0
- tblue-2.0.0/tblue/scanner/saml_passive.py +108 -0
- tblue-2.0.0/tblue/scanner/saml_security_passive.py +87 -0
- tblue-2.0.0/tblue/scanner/sanitizer_api_security.py +74 -0
- tblue-2.0.0/tblue/scanner/sbom_scanner.py +193 -0
- tblue-2.0.0/tblue/scanner/sca.py +249 -0
- tblue-2.0.0/tblue/scanner/scheduler_api_security.py +79 -0
- tblue-2.0.0/tblue/scanner/scim.py +123 -0
- tblue-2.0.0/tblue/scanner/screen_capture_security.py +76 -0
- tblue-2.0.0/tblue/scanner/screen_details_security.py +79 -0
- tblue-2.0.0/tblue/scanner/screen_wake_lock_security.py +72 -0
- tblue-2.0.0/tblue/scanner/scroll_snap_security.py +75 -0
- tblue-2.0.0/tblue/scanner/scroll_timeline_security.py +74 -0
- tblue-2.0.0/tblue/scanner/secret_in_error_page.py +100 -0
- tblue-2.0.0/tblue/scanner/security_misconfiguration.py +102 -0
- tblue-2.0.0/tblue/scanner/security_txt.py +107 -0
- tblue-2.0.0/tblue/scanner/security_txt_deep.py +331 -0
- tblue-2.0.0/tblue/scanner/sensitive_cache_control.py +82 -0
- tblue-2.0.0/tblue/scanner/sensitive_data_exposure.py +251 -0
- tblue-2.0.0/tblue/scanner/sensitive_endpoint_exposure.py +65 -0
- tblue-2.0.0/tblue/scanner/sensitive_params.py +139 -0
- tblue-2.0.0/tblue/scanner/server_info_deep.py +196 -0
- tblue-2.0.0/tblue/scanner/server_sent_events_security.py +108 -0
- tblue-2.0.0/tblue/scanner/server_side_template_passive.py +77 -0
- tblue-2.0.0/tblue/scanner/server_timing.py +235 -0
- tblue-2.0.0/tblue/scanner/server_timing_disclosure.py +101 -0
- tblue-2.0.0/tblue/scanner/serverless_exposure.py +173 -0
- tblue-2.0.0/tblue/scanner/service_worker_security.py +231 -0
- tblue-2.0.0/tblue/scanner/service_worker_security_deep.py +123 -0
- tblue-2.0.0/tblue/scanner/session_entropy_passive.py +104 -0
- tblue-2.0.0/tblue/scanner/session_fixation.py +236 -0
- tblue-2.0.0/tblue/scanner/session_fixation_passive.py +164 -0
- tblue-2.0.0/tblue/scanner/session_fixation_security.py +74 -0
- tblue-2.0.0/tblue/scanner/session_security.py +206 -0
- tblue-2.0.0/tblue/scanner/session_token_exposure.py +134 -0
- tblue-2.0.0/tblue/scanner/shadow_dom_security.py +185 -0
- tblue-2.0.0/tblue/scanner/shape_detection_security.py +79 -0
- tblue-2.0.0/tblue/scanner/shared_storage_security.py +68 -0
- tblue-2.0.0/tblue/scanner/shared_worker_security.py +79 -0
- tblue-2.0.0/tblue/scanner/soc2_compliance.py +134 -0
- tblue-2.0.0/tblue/scanner/social_login_security.py +184 -0
- tblue-2.0.0/tblue/scanner/source_map.py +373 -0
- tblue-2.0.0/tblue/scanner/source_map_exposure.py +82 -0
- tblue-2.0.0/tblue/scanner/sourcemap_exposure.py +166 -0
- tblue-2.0.0/tblue/scanner/spa_hash_routing_security.py +76 -0
- tblue-2.0.0/tblue/scanner/speculation_rules_security.py +190 -0
- tblue-2.0.0/tblue/scanner/speech_recognition_security.py +62 -0
- tblue-2.0.0/tblue/scanner/speech_synthesis_security.py +62 -0
- tblue-2.0.0/tblue/scanner/spring_actuator.py +232 -0
- tblue-2.0.0/tblue/scanner/sql_error_passive.py +62 -0
- tblue-2.0.0/tblue/scanner/sql_injection_client_security.py +75 -0
- tblue-2.0.0/tblue/scanner/srcdoc_injection.py +90 -0
- tblue-2.0.0/tblue/scanner/sri_advanced.py +170 -0
- tblue-2.0.0/tblue/scanner/sse_security.py +195 -0
- tblue-2.0.0/tblue/scanner/ssl.py +241 -0
- tblue-2.0.0/tblue/scanner/ssrf_advanced.py +247 -0
- tblue-2.0.0/tblue/scanner/ssrf_detection.py +226 -0
- tblue-2.0.0/tblue/scanner/ssrf_params.py +168 -0
- tblue-2.0.0/tblue/scanner/ssrf_passive.py +115 -0
- tblue-2.0.0/tblue/scanner/ssti.py +227 -0
- tblue-2.0.0/tblue/scanner/storage_access_api_security.py +73 -0
- tblue-2.0.0/tblue/scanner/storage_bucket_security.py +62 -0
- tblue-2.0.0/tblue/scanner/storage_event_security.py +76 -0
- tblue-2.0.0/tblue/scanner/storage_manager_security.py +79 -0
- tblue-2.0.0/tblue/scanner/structured_clone_security.py +69 -0
- tblue-2.0.0/tblue/scanner/subdomain_enum_passive.py +152 -0
- tblue-2.0.0/tblue/scanner/subdomain_takeover.py +181 -0
- tblue-2.0.0/tblue/scanner/subdomain_takeover_passive.py +60 -0
- tblue-2.0.0/tblue/scanner/subresource_integrity_deep.py +90 -0
- tblue-2.0.0/tblue/scanner/supply_chain.py +257 -0
- tblue-2.0.0/tblue/scanner/supply_chain_lockfile.py +195 -0
- tblue-2.0.0/tblue/scanner/svg_security.py +217 -0
- tblue-2.0.0/tblue/scanner/symbol_security.py +75 -0
- tblue-2.0.0/tblue/scanner/tabnabbing.py +92 -0
- tblue-2.0.0/tblue/scanner/tabnapping_passive.py +90 -0
- tblue-2.0.0/tblue/scanner/template_injection_client_security.py +75 -0
- tblue-2.0.0/tblue/scanner/text_fragment_security.py +71 -0
- tblue-2.0.0/tblue/scanner/third_party_exposure.py +263 -0
- tblue-2.0.0/tblue/scanner/threat_intel.py +226 -0
- tblue-2.0.0/tblue/scanner/timing_attack_passive.py +90 -0
- tblue-2.0.0/tblue/scanner/timing_oracle.py +271 -0
- tblue-2.0.0/tblue/scanner/tls_certificate_deep.py +147 -0
- tblue-2.0.0/tblue/scanner/tls_deep.py +295 -0
- tblue-2.0.0/tblue/scanner/tls_downgrade_passive.py +139 -0
- tblue-2.0.0/tblue/scanner/tls_protocol_version.py +197 -0
- tblue-2.0.0/tblue/scanner/token_exposure_passive.py +118 -0
- tblue-2.0.0/tblue/scanner/token_refresh_security.py +75 -0
- tblue-2.0.0/tblue/scanner/topics_api_security.py +62 -0
- tblue-2.0.0/tblue/scanner/tree_walker_security.py +74 -0
- tblue-2.0.0/tblue/scanner/trojan_source.py +205 -0
- tblue-2.0.0/tblue/scanner/trust_token_security.py +75 -0
- tblue-2.0.0/tblue/scanner/trusted_types_csp.py +75 -0
- tblue-2.0.0/tblue/scanner/trusted_types_policy.py +184 -0
- tblue-2.0.0/tblue/scanner/trusted_types_security.py +79 -0
- tblue-2.0.0/tblue/scanner/typed_array_security.py +78 -0
- tblue-2.0.0/tblue/scanner/typosquatting.py +203 -0
- tblue-2.0.0/tblue/scanner/url_parser_differential.py +198 -0
- tblue-2.0.0/tblue/scanner/url_protocol_handler_security.py +85 -0
- tblue-2.0.0/tblue/scanner/user_timing_security.py +78 -0
- tblue-2.0.0/tblue/scanner/version_cve.py +277 -0
- tblue-2.0.0/tblue/scanner/vibration_api_security.py +72 -0
- tblue-2.0.0/tblue/scanner/vibration_security.py +72 -0
- tblue-2.0.0/tblue/scanner/video_decoder_security.py +74 -0
- tblue-2.0.0/tblue/scanner/view_transition_security.py +79 -0
- tblue-2.0.0/tblue/scanner/virtual_keyboard_security.py +74 -0
- tblue-2.0.0/tblue/scanner/waf.py +170 -0
- tblue-2.0.0/tblue/scanner/waf_bypass_detection.py +182 -0
- tblue-2.0.0/tblue/scanner/wasm_security.py +229 -0
- tblue-2.0.0/tblue/scanner/wasm_security_deep.py +100 -0
- tblue-2.0.0/tblue/scanner/weak_crypto.py +194 -0
- tblue-2.0.0/tblue/scanner/weakmap_security.py +75 -0
- tblue-2.0.0/tblue/scanner/web_audio_security.py +81 -0
- tblue-2.0.0/tblue/scanner/web_authentication_security.py +75 -0
- tblue-2.0.0/tblue/scanner/web_bluetooth_security.py +73 -0
- tblue-2.0.0/tblue/scanner/web_cache_deception.py +193 -0
- tblue-2.0.0/tblue/scanner/web_components_security.py +76 -0
- tblue-2.0.0/tblue/scanner/web_crypto_weaknesses.py +109 -0
- tblue-2.0.0/tblue/scanner/web_hid_security.py +73 -0
- tblue-2.0.0/tblue/scanner/web_locks_security.py +79 -0
- tblue-2.0.0/tblue/scanner/web_manifest_security.py +253 -0
- tblue-2.0.0/tblue/scanner/web_nfc_security.py +73 -0
- tblue-2.0.0/tblue/scanner/web_otp_security.py +76 -0
- tblue-2.0.0/tblue/scanner/web_serial_security.py +60 -0
- tblue-2.0.0/tblue/scanner/web_share_security.py +74 -0
- tblue-2.0.0/tblue/scanner/web_usb_security.py +71 -0
- tblue-2.0.0/tblue/scanner/web_worker_security.py +151 -0
- tblue-2.0.0/tblue/scanner/web_worker_security_deep.py +109 -0
- tblue-2.0.0/tblue/scanner/webauthn_security.py +311 -0
- tblue-2.0.0/tblue/scanner/webcodecs_security.py +72 -0
- tblue-2.0.0/tblue/scanner/webgl_security.py +62 -0
- tblue-2.0.0/tblue/scanner/webgpu_security.py +69 -0
- tblue-2.0.0/tblue/scanner/webhook_security.py +213 -0
- tblue-2.0.0/tblue/scanner/webrtc_exposure.py +155 -0
- tblue-2.0.0/tblue/scanner/websocket.py +180 -0
- tblue-2.0.0/tblue/scanner/websocket_origin_check.py +97 -0
- tblue-2.0.0/tblue/scanner/websocket_security_deep.py +76 -0
- tblue-2.0.0/tblue/scanner/webtransport_security.py +69 -0
- tblue-2.0.0/tblue/scanner/webxr_security.py +82 -0
- tblue-2.0.0/tblue/scanner/window_management_security.py +74 -0
- tblue-2.0.0/tblue/scanner/worker_module_security.py +69 -0
- tblue-2.0.0/tblue/scanner/xml_external_entity_advanced.py +95 -0
- tblue-2.0.0/tblue/scanner/xml_security_passive.py +106 -0
- tblue-2.0.0/tblue/scanner/xml_xxe.py +207 -0
- tblue-2.0.0/tblue/scanner/xpath_injection_passive.py +125 -0
- tblue-2.0.0/tblue/scanner/xpath_injection_security.py +77 -0
- tblue-2.0.0/tblue/scanner/xsleak.py +249 -0
- tblue-2.0.0/tblue/scanner/xss.py +358 -0
- tblue-2.0.0/tblue/scanner/xssi.py +266 -0
- tblue-2.0.0/tblue/scanner/xxe_injection.py +216 -0
- tblue-2.0.0/tblue/scanner/xxe_probe.py +128 -0
- tblue-2.0.0/tblue/scanner/zip_slip_passive.py +98 -0
- tblue-2.0.0/tblue/scoring.py +1528 -0
- tblue-2.0.0/tblue/soar.py +344 -0
- tblue-2.0.0/tblue.egg-info/PKG-INFO +459 -0
- tblue-2.0.0/tblue.egg-info/SOURCES.txt +1458 -0
- tblue-2.0.0/tblue.egg-info/dependency_links.txt +1 -0
- tblue-2.0.0/tblue.egg-info/entry_points.txt +3 -0
- tblue-2.0.0/tblue.egg-info/requires.txt +18 -0
- tblue-2.0.0/tblue.egg-info/top_level.txt +1 -0
- tblue-2.0.0/tests/test_abort_controller_security.py +69 -0
- tblue-2.0.0/tests/test_access_control.py +128 -0
- tblue-2.0.0/tests/test_access_control_extra.py +103 -0
- tblue-2.0.0/tests/test_account_enumeration.py +174 -0
- tblue-2.0.0/tests/test_account_enumeration_extra.py +132 -0
- tblue-2.0.0/tests/test_account_enumeration_security.py +69 -0
- tblue-2.0.0/tests/test_account_lockout.py +219 -0
- tblue-2.0.0/tests/test_account_recovery.py +117 -0
- tblue-2.0.0/tests/test_account_takeover_passive.py +124 -0
- tblue-2.0.0/tests/test_actuator_endpoint_exposure.py +69 -0
- tblue-2.0.0/tests/test_admin_exposure.py +135 -0
- tblue-2.0.0/tests/test_admin_exposure_extra.py +109 -0
- tblue-2.0.0/tests/test_ai_analysis.py +155 -0
- tblue-2.0.0/tests/test_ai_api_exposure.py +340 -0
- tblue-2.0.0/tests/test_ai_api_exposure_extra.py +116 -0
- tblue-2.0.0/tests/test_ambient_light_security.py +62 -0
- tblue-2.0.0/tests/test_anchor_positioning_security.py +67 -0
- tblue-2.0.0/tests/test_animation_worklet_security.py +64 -0
- tblue-2.0.0/tests/test_apache_status_exposure.py +85 -0
- tblue-2.0.0/tests/test_api_auth_security.py +127 -0
- tblue-2.0.0/tests/test_api_auth_security_extra.py +94 -0
- tblue-2.0.0/tests/test_api_authentication_exposure.py +85 -0
- tblue-2.0.0/tests/test_api_collection.py +399 -0
- tblue-2.0.0/tests/test_api_collection_extra.py +121 -0
- tblue-2.0.0/tests/test_api_documentation_exposure.py +80 -0
- tblue-2.0.0/tests/test_api_error_disclosure.py +197 -0
- tblue-2.0.0/tests/test_api_gateway_security.py +102 -0
- tblue-2.0.0/tests/test_api_key_in_js.py +86 -0
- tblue-2.0.0/tests/test_api_key_rotation.py +120 -0
- tblue-2.0.0/tests/test_api_pagination_abuse.py +69 -0
- tblue-2.0.0/tests/test_api_pagination_security.py +67 -0
- tblue-2.0.0/tests/test_api_rate_limit_deep.py +107 -0
- tblue-2.0.0/tests/test_api_rate_limit_headers.py +62 -0
- tblue-2.0.0/tests/test_api_schema_exposure.py +144 -0
- tblue-2.0.0/tests/test_api_security_headers.py +230 -0
- tblue-2.0.0/tests/test_api_security_headers_extra.py +142 -0
- tblue-2.0.0/tests/test_api_surface.py +358 -0
- tblue-2.0.0/tests/test_api_surface_extra.py +127 -0
- tblue-2.0.0/tests/test_api_versioning.py +309 -0
- tblue-2.0.0/tests/test_api_versioning_extra.py +108 -0
- tblue-2.0.0/tests/test_api_versioning_security.py +80 -0
- tblue-2.0.0/tests/test_array_buffer_security.py +65 -0
- tblue-2.0.0/tests/test_attribution_reporting_security.py +61 -0
- tblue-2.0.0/tests/test_audio_decoder_security.py +68 -0
- tblue-2.0.0/tests/test_audio_worklet_security.py +67 -0
- tblue-2.0.0/tests/test_auth_bypass_pattern_security.py +64 -0
- tblue-2.0.0/tests/test_autocomplete_security.py +71 -0
- tblue-2.0.0/tests/test_back_forward_cache_security.py +64 -0
- tblue-2.0.0/tests/test_background_fetch_security.py +61 -0
- tblue-2.0.0/tests/test_background_sync_security.py +62 -0
- tblue-2.0.0/tests/test_badging_api_security.py +64 -0
- tblue-2.0.0/tests/test_base_uri_injection.py +126 -0
- tblue-2.0.0/tests/test_battery_status_security.py +63 -0
- tblue-2.0.0/tests/test_beacon_api_security.py +61 -0
- tblue-2.0.0/tests/test_before_install_prompt_security.py +64 -0
- tblue-2.0.0/tests/test_broadcast_channel_advanced_security.py +65 -0
- tblue-2.0.0/tests/test_broadcast_channel_security.py +88 -0
- tblue-2.0.0/tests/test_broken_object_level_auth.py +63 -0
- tblue-2.0.0/tests/test_browser_scanners.py +401 -0
- tblue-2.0.0/tests/test_business_logic.py +222 -0
- tblue-2.0.0/tests/test_business_logic_exposure.py +63 -0
- tblue-2.0.0/tests/test_business_logic_extra.py +96 -0
- tblue-2.0.0/tests/test_cache_api_security.py +98 -0
- tblue-2.0.0/tests/test_cache_control_security.py +159 -0
- tblue-2.0.0/tests/test_cache_poisoning.py +279 -0
- tblue-2.0.0/tests/test_cache_poisoning_extra.py +102 -0
- tblue-2.0.0/tests/test_cache_poisoning_passive.py +68 -0
- tblue-2.0.0/tests/test_canvas_fingerprinting.py +124 -0
- tblue-2.0.0/tests/test_cdn_misconfiguration.py +92 -0
- tblue-2.0.0/tests/test_certificate_transparency.py +91 -0
- tblue-2.0.0/tests/test_channel_messaging_security.py +67 -0
- tblue-2.0.0/tests/test_cicd_exposure.py +255 -0
- tblue-2.0.0/tests/test_cicd_exposure_extra.py +140 -0
- tblue-2.0.0/tests/test_clickjacking.py +136 -0
- tblue-2.0.0/tests/test_clickjacking_advanced.py +73 -0
- tblue-2.0.0/tests/test_clickjacking_deep.py +140 -0
- tblue-2.0.0/tests/test_clickjacking_extra.py +77 -0
- tblue-2.0.0/tests/test_client_hints_security.py +140 -0
- tblue-2.0.0/tests/test_client_side_redirect.py +129 -0
- tblue-2.0.0/tests/test_client_side_validation_only.py +63 -0
- tblue-2.0.0/tests/test_client_storage.py +152 -0
- tblue-2.0.0/tests/test_client_storage_extra.py +114 -0
- tblue-2.0.0/tests/test_clipboard_advanced_security.py +66 -0
- tblue-2.0.0/tests/test_clipboard_api_security.py +63 -0
- tblue-2.0.0/tests/test_cloud_metadata.py +155 -0
- tblue-2.0.0/tests/test_cloud_metadata_extra.py +149 -0
- tblue-2.0.0/tests/test_cloud_storage.py +150 -0
- tblue-2.0.0/tests/test_cloud_storage_extra.py +110 -0
- tblue-2.0.0/tests/test_cms_detection.py +196 -0
- tblue-2.0.0/tests/test_cms_detection_extra.py +99 -0
- tblue-2.0.0/tests/test_coep_security.py +67 -0
- tblue-2.0.0/tests/test_color_scheme_security.py +65 -0
- tblue-2.0.0/tests/test_command_injection.py +131 -0
- tblue-2.0.0/tests/test_command_injection_client_security.py +63 -0
- tblue-2.0.0/tests/test_command_injection_extra.py +91 -0
- tblue-2.0.0/tests/test_compliance.py +184 -0
- tblue-2.0.0/tests/test_compliance_extra.py +74 -0
- tblue-2.0.0/tests/test_compression_oracle.py +124 -0
- tblue-2.0.0/tests/test_compression_streams_security.py +71 -0
- tblue-2.0.0/tests/test_compute_pressure_security.py +61 -0
- tblue-2.0.0/tests/test_config.py +135 -0
- tblue-2.0.0/tests/test_config_extra.py +92 -0
- tblue-2.0.0/tests/test_contact_picker_security.py +62 -0
- tblue-2.0.0/tests/test_content_disposition_security.py +162 -0
- tblue-2.0.0/tests/test_content_index_security.py +64 -0
- tblue-2.0.0/tests/test_content_injection.py +139 -0
- tblue-2.0.0/tests/test_content_injection_extra.py +78 -0
- tblue-2.0.0/tests/test_content_negotiation.py +140 -0
- tblue-2.0.0/tests/test_content_security_framing.py +79 -0
- tblue-2.0.0/tests/test_content_sniffing_bypass.py +69 -0
- tblue-2.0.0/tests/test_content_type_confusion.py +57 -0
- tblue-2.0.0/tests/test_content_type_sniffing.py +145 -0
- tblue-2.0.0/tests/test_content_visibility_security.py +69 -0
- tblue-2.0.0/tests/test_cookie_advanced.py +128 -0
- tblue-2.0.0/tests/test_cookie_advanced_extra.py +85 -0
- tblue-2.0.0/tests/test_cookie_prefix_security.py +144 -0
- tblue-2.0.0/tests/test_cookie_samesite_deep.py +111 -0
- tblue-2.0.0/tests/test_cookie_store_security.py +64 -0
- tblue-2.0.0/tests/test_cookies.py +326 -0
- tblue-2.0.0/tests/test_cookies_extra.py +88 -0
- tblue-2.0.0/tests/test_cookies_partitioned_security.py +110 -0
- tblue-2.0.0/tests/test_coop_security.py +67 -0
- tblue-2.0.0/tests/test_corp_security.py +65 -0
- tblue-2.0.0/tests/test_cors.py +178 -0
- tblue-2.0.0/tests/test_cors_advanced.py +140 -0
- tblue-2.0.0/tests/test_cors_advanced_extra.py +105 -0
- tblue-2.0.0/tests/test_cors_credential_security.py +65 -0
- tblue-2.0.0/tests/test_cors_deep_analysis.py +119 -0
- tblue-2.0.0/tests/test_cors_expose_headers.py +130 -0
- tblue-2.0.0/tests/test_cors_extra.py +107 -0
- tblue-2.0.0/tests/test_cors_max_age_deep.py +88 -0
- tblue-2.0.0/tests/test_cors_misconfiguration_deep.py +160 -0
- tblue-2.0.0/tests/test_cors_null_origin.py +75 -0
- tblue-2.0.0/tests/test_cors_origin_reflection.py +78 -0
- tblue-2.0.0/tests/test_cors_policy_advanced.py +68 -0
- tblue-2.0.0/tests/test_cors_preflight_deep.py +38 -0
- tblue-2.0.0/tests/test_cors_wildcard_api.py +67 -0
- tblue-2.0.0/tests/test_crawler.py +260 -0
- tblue-2.0.0/tests/test_crawler_extra.py +126 -0
- tblue-2.0.0/tests/test_credential_api_advanced.py +64 -0
- tblue-2.0.0/tests/test_credential_exposure.py +117 -0
- tblue-2.0.0/tests/test_credential_management_security.py +89 -0
- tblue-2.0.0/tests/test_credential_scoping.py +121 -0
- tblue-2.0.0/tests/test_credentialless_iframe_security.py +61 -0
- tblue-2.0.0/tests/test_crlf_injection.py +135 -0
- tblue-2.0.0/tests/test_crlf_injection_extra.py +105 -0
- tblue-2.0.0/tests/test_cross_origin_isolation.py +133 -0
- tblue-2.0.0/tests/test_cross_origin_policy_deep.py +123 -0
- tblue-2.0.0/tests/test_crossdomain_policy.py +498 -0
- tblue-2.0.0/tests/test_crossdomain_policy_extra.py +130 -0
- tblue-2.0.0/tests/test_crt_sh.py +104 -0
- tblue-2.0.0/tests/test_crt_sh_extra.py +81 -0
- tblue-2.0.0/tests/test_cryptographic_weakness_passive.py +65 -0
- tblue-2.0.0/tests/test_csp.py +196 -0
- tblue-2.0.0/tests/test_csp_advanced.py +145 -0
- tblue-2.0.0/tests/test_csp_advanced_bypasses.py +104 -0
- tblue-2.0.0/tests/test_csp_advanced_bypasses_extra.py +96 -0
- tblue-2.0.0/tests/test_csp_advanced_extra.py +167 -0
- tblue-2.0.0/tests/test_csp_extra.py +82 -0
- tblue-2.0.0/tests/test_csp_nonce.py +156 -0
- tblue-2.0.0/tests/test_csp_nonce_reuse.py +113 -0
- tblue-2.0.0/tests/test_csp_reporting.py +238 -0
- tblue-2.0.0/tests/test_csp_violation_report.py +167 -0
- tblue-2.0.0/tests/test_csrf_double_submit.py +69 -0
- tblue-2.0.0/tests/test_csrf_token_strength.py +51 -0
- tblue-2.0.0/tests/test_css_cascade_layers_security.py +65 -0
- tblue-2.0.0/tests/test_css_container_query_security.py +64 -0
- tblue-2.0.0/tests/test_css_counter_security.py +63 -0
- tblue-2.0.0/tests/test_css_custom_highlight_security.py +64 -0
- tblue-2.0.0/tests/test_css_custom_properties_security.py +65 -0
- tblue-2.0.0/tests/test_css_exfiltration.py +132 -0
- tblue-2.0.0/tests/test_css_font_palette_security.py +66 -0
- tblue-2.0.0/tests/test_css_grid_security.py +64 -0
- tblue-2.0.0/tests/test_css_houdini_security.py +67 -0
- tblue-2.0.0/tests/test_css_injection.py +164 -0
- tblue-2.0.0/tests/test_css_injection_extra.py +159 -0
- tblue-2.0.0/tests/test_css_injection_passive.py +62 -0
- tblue-2.0.0/tests/test_css_masonry_security.py +63 -0
- tblue-2.0.0/tests/test_css_math_security.py +64 -0
- tblue-2.0.0/tests/test_css_nesting_security.py +65 -0
- tblue-2.0.0/tests/test_css_paint_api_security.py +64 -0
- tblue-2.0.0/tests/test_css_scope_security.py +64 -0
- tblue-2.0.0/tests/test_css_transitions_security.py +64 -0
- tblue-2.0.0/tests/test_css_typed_om_security.py +67 -0
- tblue-2.0.0/tests/test_csti.py +229 -0
- tblue-2.0.0/tests/test_csti_extra.py +245 -0
- tblue-2.0.0/tests/test_csv_injection.py +202 -0
- tblue-2.0.0/tests/test_csv_injection_extra.py +155 -0
- tblue-2.0.0/tests/test_custom_element_registry_security.py +77 -0
- tblue-2.0.0/tests/test_custom_elements_security.py +61 -0
- tblue-2.0.0/tests/test_dangling_markup.py +187 -0
- tblue-2.0.0/tests/test_date_security.py +65 -0
- tblue-2.0.0/tests/test_debug_endpoint_exposure.py +65 -0
- tblue-2.0.0/tests/test_debug_mode_detection.py +101 -0
- tblue-2.0.0/tests/test_declarative_shadow_dom_security.py +65 -0
- tblue-2.0.0/tests/test_deep_link_security.py +103 -0
- tblue-2.0.0/tests/test_define_property_security.py +73 -0
- tblue-2.0.0/tests/test_dependency_confusion.py +69 -0
- tblue-2.0.0/tests/test_dependency_confusion_extra.py +120 -0
- tblue-2.0.0/tests/test_dependency_hijacking.py +64 -0
- tblue-2.0.0/tests/test_deserialization.py +134 -0
- tblue-2.0.0/tests/test_deserialization_extra.py +81 -0
- tblue-2.0.0/tests/test_deserialization_gadget_passive.py +62 -0
- tblue-2.0.0/tests/test_dev_artifact.py +371 -0
- tblue-2.0.0/tests/test_dev_artifact_extra.py +113 -0
- tblue-2.0.0/tests/test_device_motion_security.py +70 -0
- tblue-2.0.0/tests/test_device_orientation_security.py +71 -0
- tblue-2.0.0/tests/test_dialog_element_security.py +71 -0
- tblue-2.0.0/tests/test_directory_listing.py +165 -0
- tblue-2.0.0/tests/test_directory_listing_extra.py +98 -0
- tblue-2.0.0/tests/test_dns_advanced.py +179 -0
- tblue-2.0.0/tests/test_dns_advanced_extra.py +134 -0
- tblue-2.0.0/tests/test_dns_caa.py +95 -0
- tblue-2.0.0/tests/test_dns_rebinding.py +126 -0
- tblue-2.0.0/tests/test_dns_rebinding_passive.py +43 -0
- tblue-2.0.0/tests/test_dns_security.py +175 -0
- tblue-2.0.0/tests/test_dns_security_extra.py +71 -0
- tblue-2.0.0/tests/test_docker_exposure.py +158 -0
- tblue-2.0.0/tests/test_document_domain_security.py +64 -0
- tblue-2.0.0/tests/test_document_fragment_security.py +65 -0
- tblue-2.0.0/tests/test_document_picture_in_picture_security.py +67 -0
- tblue-2.0.0/tests/test_document_pip_api_security.py +64 -0
- tblue-2.0.0/tests/test_document_pip_security.py +63 -0
- tblue-2.0.0/tests/test_document_policy_security.py +101 -0
- tblue-2.0.0/tests/test_document_visibility_security.py +64 -0
- tblue-2.0.0/tests/test_dom.py +178 -0
- tblue-2.0.0/tests/test_dom_clobbering.py +180 -0
- tblue-2.0.0/tests/test_dom_clobbering_extra.py +153 -0
- tblue-2.0.0/tests/test_dom_extra.py +101 -0
- tblue-2.0.0/tests/test_dom_parser_security.py +64 -0
- tblue-2.0.0/tests/test_dom_xss_sources.py +113 -0
- tblue-2.0.0/tests/test_drag_drop_security.py +61 -0
- tblue-2.0.0/tests/test_dynamic_import_security.py +61 -0
- tblue-2.0.0/tests/test_el_injection.py +215 -0
- tblue-2.0.0/tests/test_el_injection_extra.py +108 -0
- tblue-2.0.0/tests/test_elasticsearch_exposure.py +95 -0
- tblue-2.0.0/tests/test_element_internals_security.py +66 -0
- tblue-2.0.0/tests/test_element_timing_security.py +64 -0
- tblue-2.0.0/tests/test_email_advanced.py +350 -0
- tblue-2.0.0/tests/test_email_advanced_extra.py +116 -0
- tblue-2.0.0/tests/test_email_config_exposure.py +89 -0
- tblue-2.0.0/tests/test_email_header_injection.py +94 -0
- tblue-2.0.0/tests/test_email_security.py +295 -0
- tblue-2.0.0/tests/test_email_security_extra.py +105 -0
- tblue-2.0.0/tests/test_error_event_security.py +69 -0
- tblue-2.0.0/tests/test_error_pages.py +108 -0
- tblue-2.0.0/tests/test_error_pages_extra.py +98 -0
- tblue-2.0.0/tests/test_etag_fingerprinting.py +115 -0
- tblue-2.0.0/tests/test_event_target_security.py +66 -0
- tblue-2.0.0/tests/test_eventsource_security.py +61 -0
- tblue-2.0.0/tests/test_exif_metadata_exposure.py +71 -0
- tblue-2.0.0/tests/test_exposed_backup_files.py +102 -0
- tblue-2.0.0/tests/test_exposure.py +235 -0
- tblue-2.0.0/tests/test_exposure_extra.py +106 -0
- tblue-2.0.0/tests/test_eyedropper_api_security.py +62 -0
- tblue-2.0.0/tests/test_feature_flag_exposure.py +82 -0
- tblue-2.0.0/tests/test_feature_policy_security.py +46 -0
- tblue-2.0.0/tests/test_fedcm_security.py +61 -0
- tblue-2.0.0/tests/test_federated_identity_security.py +66 -0
- tblue-2.0.0/tests/test_fenced_frame_security.py +61 -0
- tblue-2.0.0/tests/test_fetch_metadata.py +286 -0
- tblue-2.0.0/tests/test_fetch_metadata_extra.py +105 -0
- tblue-2.0.0/tests/test_fetch_priority_security.py +65 -0
- tblue-2.0.0/tests/test_file_inclusion.py +151 -0
- tblue-2.0.0/tests/test_file_inclusion_extra.py +129 -0
- tblue-2.0.0/tests/test_file_inclusion_security.py +62 -0
- tblue-2.0.0/tests/test_file_system_access_security.py +87 -0
- tblue-2.0.0/tests/test_file_upload.py +123 -0
- tblue-2.0.0/tests/test_file_upload_extra.py +113 -0
- tblue-2.0.0/tests/test_file_upload_security.py +47 -0
- tblue-2.0.0/tests/test_focus_management_security.py +65 -0
- tblue-2.0.0/tests/test_font_access_security.py +67 -0
- tblue-2.0.0/tests/test_font_loading_security.py +64 -0
- tblue-2.0.0/tests/test_form_action_hijacking.py +122 -0
- tblue-2.0.0/tests/test_form_action_security.py +103 -0
- tblue-2.0.0/tests/test_form_data_api_security.py +77 -0
- tblue-2.0.0/tests/test_form_data_security.py +61 -0
- tblue-2.0.0/tests/test_form_security.py +168 -0
- tblue-2.0.0/tests/test_form_security_extra.py +117 -0
- tblue-2.0.0/tests/test_framework_config.py +516 -0
- tblue-2.0.0/tests/test_framework_config_extra.py +135 -0
- tblue-2.0.0/tests/test_fullscreen_security.py +71 -0
- tblue-2.0.0/tests/test_function_constructor_security.py +64 -0
- tblue-2.0.0/tests/test_gamepad_security.py +72 -0
- tblue-2.0.0/tests/test_gdpr_privacy.py +180 -0
- tblue-2.0.0/tests/test_gdpr_privacy_extra.py +101 -0
- tblue-2.0.0/tests/test_generator_security.py +73 -0
- tblue-2.0.0/tests/test_generic_sensor_security.py +62 -0
- tblue-2.0.0/tests/test_geolocation_api_security.py +78 -0
- tblue-2.0.0/tests/test_geolocation_security.py +68 -0
- tblue-2.0.0/tests/test_graphql.py +156 -0
- tblue-2.0.0/tests/test_graphql_advanced.py +201 -0
- tblue-2.0.0/tests/test_graphql_advanced_extra.py +139 -0
- tblue-2.0.0/tests/test_graphql_authorization.py +108 -0
- tblue-2.0.0/tests/test_graphql_batch_abuse.py +93 -0
- tblue-2.0.0/tests/test_graphql_batch_attack.py +149 -0
- tblue-2.0.0/tests/test_graphql_batching.py +193 -0
- tblue-2.0.0/tests/test_graphql_batching_extra.py +212 -0
- tblue-2.0.0/tests/test_graphql_csrf.py +65 -0
- tblue-2.0.0/tests/test_graphql_depth.py +197 -0
- tblue-2.0.0/tests/test_graphql_depth_extra.py +82 -0
- tblue-2.0.0/tests/test_graphql_extra.py +122 -0
- tblue-2.0.0/tests/test_graphql_field_suggestion.py +432 -0
- tblue-2.0.0/tests/test_graphql_field_suggestion_extra.py +82 -0
- tblue-2.0.0/tests/test_graphql_info_disclosure.py +68 -0
- tblue-2.0.0/tests/test_graphql_introspection_security.py +65 -0
- tblue-2.0.0/tests/test_graphql_persisted_queries.py +84 -0
- tblue-2.0.0/tests/test_graphql_subscription.py +156 -0
- tblue-2.0.0/tests/test_grpc.py +125 -0
- tblue-2.0.0/tests/test_grpc_extra.py +107 -0
- tblue-2.0.0/tests/test_handwriting_recognition_security.py +66 -0
- tblue-2.0.0/tests/test_hardcoded_credentials.py +120 -0
- tblue-2.0.0/tests/test_header_injection_sink.py +119 -0
- tblue-2.0.0/tests/test_headers.py +316 -0
- tblue-2.0.0/tests/test_headers_extra.py +82 -0
- tblue-2.0.0/tests/test_health_endpoint_exposure.py +136 -0
- tblue-2.0.0/tests/test_hid_api_security.py +73 -0
- tblue-2.0.0/tests/test_highlight_api_security.py +67 -0
- tblue-2.0.0/tests/test_hipaa_compliance.py +92 -0
- tblue-2.0.0/tests/test_history.py +135 -0
- tblue-2.0.0/tests/test_history_api_security.py +61 -0
- tblue-2.0.0/tests/test_history_extra.py +77 -0
- tblue-2.0.0/tests/test_host_header.py +116 -0
- tblue-2.0.0/tests/test_host_header_extra.py +78 -0
- tblue-2.0.0/tests/test_host_header_injection.py +79 -0
- tblue-2.0.0/tests/test_hsts_deep_analysis.py +108 -0
- tblue-2.0.0/tests/test_hsts_preload.py +212 -0
- tblue-2.0.0/tests/test_hsts_preload_extra.py +132 -0
- tblue-2.0.0/tests/test_html_comments.py +149 -0
- tblue-2.0.0/tests/test_html_comments_extra.py +88 -0
- tblue-2.0.0/tests/test_http2_push_security.py +84 -0
- tblue-2.0.0/tests/test_http2_rapid_reset.py +107 -0
- tblue-2.0.0/tests/test_http2_security.py +103 -0
- tblue-2.0.0/tests/test_http2_security_extra.py +83 -0
- tblue-2.0.0/tests/test_http3_quic.py +100 -0
- tblue-2.0.0/tests/test_http_caching_security.py +100 -0
- tblue-2.0.0/tests/test_http_desync_passive.py +89 -0
- tblue-2.0.0/tests/test_http_early_hints_security.py +99 -0
- tblue-2.0.0/tests/test_http_method_override.py +73 -0
- tblue-2.0.0/tests/test_http_method_tampering.py +60 -0
- tblue-2.0.0/tests/test_http_methods.py +75 -0
- tblue-2.0.0/tests/test_http_methods_extra.py +76 -0
- tblue-2.0.0/tests/test_http_observatory.py +124 -0
- tblue-2.0.0/tests/test_http_parameter_pollution.py +136 -0
- tblue-2.0.0/tests/test_http_parameter_pollution_extra.py +98 -0
- tblue-2.0.0/tests/test_http_range_security.py +151 -0
- tblue-2.0.0/tests/test_http_request_smuggling.py +69 -0
- tblue-2.0.0/tests/test_http_response_splitting.py +102 -0
- tblue-2.0.0/tests/test_http_security_baseline.py +198 -0
- tblue-2.0.0/tests/test_http_security_consistency.py +78 -0
- tblue-2.0.0/tests/test_http_security_headers_deep.py +89 -0
- tblue-2.0.0/tests/test_http_strict_transport_upgrade.py +89 -0
- tblue-2.0.0/tests/test_http_verb_tampering.py +179 -0
- tblue-2.0.0/tests/test_http_verb_tampering_extra.py +92 -0
- tblue-2.0.0/tests/test_identity_credential_security.py +65 -0
- tblue-2.0.0/tests/test_idle_detection_api_security.py +88 -0
- tblue-2.0.0/tests/test_idle_detection_security.py +69 -0
- tblue-2.0.0/tests/test_idor_detection.py +212 -0
- tblue-2.0.0/tests/test_idor_detection_extra.py +109 -0
- tblue-2.0.0/tests/test_iframe_allow_security.py +104 -0
- tblue-2.0.0/tests/test_iframe_sandbox_security.py +88 -0
- tblue-2.0.0/tests/test_iframe_security_deep.py +77 -0
- tblue-2.0.0/tests/test_image_decoder_security.py +68 -0
- tblue-2.0.0/tests/test_import_assertions_security.py +62 -0
- tblue-2.0.0/tests/test_import_map_security.py +70 -0
- tblue-2.0.0/tests/test_importmap_security.py +120 -0
- tblue-2.0.0/tests/test_inert_security.py +65 -0
- tblue-2.0.0/tests/test_info_disclosure.py +353 -0
- tblue-2.0.0/tests/test_info_disclosure_extra.py +143 -0
- tblue-2.0.0/tests/test_infra.py +220 -0
- tblue-2.0.0/tests/test_infra_extra.py +98 -0
- tblue-2.0.0/tests/test_ink_api_security.py +64 -0
- tblue-2.0.0/tests/test_input_event_security.py +70 -0
- tblue-2.0.0/tests/test_insecure_data_exposure.py +65 -0
- tblue-2.0.0/tests/test_insecure_deserialization_passive.py +62 -0
- tblue-2.0.0/tests/test_insecure_direct_object_reference.py +65 -0
- tblue-2.0.0/tests/test_integer_overflow_passive.py +62 -0
- tblue-2.0.0/tests/test_interest_group_security.py +61 -0
- tblue-2.0.0/tests/test_intersection_observer_security.py +70 -0
- tblue-2.0.0/tests/test_intl_security.py +67 -0
- tblue-2.0.0/tests/test_introspection_disclosure.py +157 -0
- tblue-2.0.0/tests/test_iso27001_compliance.py +112 -0
- tblue-2.0.0/tests/test_iterator_protocol_security.py +66 -0
- tblue-2.0.0/tests/test_javascript_prototype_chain.py +61 -0
- tblue-2.0.0/tests/test_javascript_prototype_pollution_deep.py +84 -0
- tblue-2.0.0/tests/test_javascript_template_literal.py +79 -0
- tblue-2.0.0/tests/test_js_dangerous_patterns.py +139 -0
- tblue-2.0.0/tests/test_js_file_analysis.py +480 -0
- tblue-2.0.0/tests/test_js_file_analysis_extra.py +118 -0
- tblue-2.0.0/tests/test_js_framework_detection.py +112 -0
- tblue-2.0.0/tests/test_js_libraries.py +122 -0
- tblue-2.0.0/tests/test_js_libraries_extra.py +83 -0
- tblue-2.0.0/tests/test_js_secrets.py +205 -0
- tblue-2.0.0/tests/test_js_secrets_extra.py +90 -0
- tblue-2.0.0/tests/test_js_supply_chain_integrity.py +131 -0
- tblue-2.0.0/tests/test_json_injection.py +391 -0
- tblue-2.0.0/tests/test_json_injection_extra.py +90 -0
- tblue-2.0.0/tests/test_json_security.py +64 -0
- tblue-2.0.0/tests/test_jsonp_endpoint.py +79 -0
- tblue-2.0.0/tests/test_jwks_exposure.py +214 -0
- tblue-2.0.0/tests/test_jwt_advanced.py +152 -0
- tblue-2.0.0/tests/test_jwt_advanced_extra.py +81 -0
- tblue-2.0.0/tests/test_jwt_advanced_security.py +64 -0
- tblue-2.0.0/tests/test_jwt_algorithm_confusion.py +55 -0
- tblue-2.0.0/tests/test_jwt_claim_analysis.py +105 -0
- tblue-2.0.0/tests/test_jwt_security.py +200 -0
- tblue-2.0.0/tests/test_jwt_security_extra.py +120 -0
- tblue-2.0.0/tests/test_jwt_token_exposure.py +71 -0
- tblue-2.0.0/tests/test_k8s_exposure.py +115 -0
- tblue-2.0.0/tests/test_k8s_exposure_extra.py +83 -0
- tblue-2.0.0/tests/test_keyboard_lock_security.py +67 -0
- tblue-2.0.0/tests/test_kql.py +99 -0
- tblue-2.0.0/tests/test_kql_extra.py +78 -0
- tblue-2.0.0/tests/test_latex_injection_passive.py +62 -0
- tblue-2.0.0/tests/test_launch_handler_security.py +64 -0
- tblue-2.0.0/tests/test_layout_worklet_security.py +69 -0
- tblue-2.0.0/tests/test_ldap_injection.py +150 -0
- tblue-2.0.0/tests/test_ldap_injection_extra.py +56 -0
- tblue-2.0.0/tests/test_ldap_injection_passive.py +62 -0
- tblue-2.0.0/tests/test_ldap_injection_security.py +65 -0
- tblue-2.0.0/tests/test_link_header_injection.py +91 -0
- tblue-2.0.0/tests/test_link_injection_passive.py +62 -0
- tblue-2.0.0/tests/test_link_preview_exposure.py +115 -0
- tblue-2.0.0/tests/test_link_resource_hints_security.py +146 -0
- tblue-2.0.0/tests/test_link_security.py +241 -0
- tblue-2.0.0/tests/test_link_security_extra.py +66 -0
- tblue-2.0.0/tests/test_live_cve.py +235 -0
- tblue-2.0.0/tests/test_llm_prompt_injection.py +358 -0
- tblue-2.0.0/tests/test_llm_prompt_injection_extra.py +70 -0
- tblue-2.0.0/tests/test_local_storage_sensitive.py +103 -0
- tblue-2.0.0/tests/test_lock_api_security.py +83 -0
- tblue-2.0.0/tests/test_log4shell_passive.py +131 -0
- tblue-2.0.0/tests/test_log_injection.py +146 -0
- tblue-2.0.0/tests/test_log_injection_extra.py +70 -0
- tblue-2.0.0/tests/test_log_injection_probe.py +42 -0
- tblue-2.0.0/tests/test_login_security.py +451 -0
- tblue-2.0.0/tests/test_login_security_extra.py +111 -0
- tblue-2.0.0/tests/test_login_status_api_security.py +61 -0
- tblue-2.0.0/tests/test_long_animation_frame_security.py +68 -0
- tblue-2.0.0/tests/test_longtask_observer_security.py +64 -0
- tblue-2.0.0/tests/test_magic_link_security.py +65 -0
- tblue-2.0.0/tests/test_map_set_security.py +65 -0
- tblue-2.0.0/tests/test_mass_assignment.py +187 -0
- tblue-2.0.0/tests/test_mass_assignment_extra.py +87 -0
- tblue-2.0.0/tests/test_mass_assignment_security.py +63 -0
- tblue-2.0.0/tests/test_media_capabilities_security.py +71 -0
- tblue-2.0.0/tests/test_media_devices_security.py +67 -0
- tblue-2.0.0/tests/test_media_recorder_security.py +61 -0
- tblue-2.0.0/tests/test_media_session_security.py +64 -0
- tblue-2.0.0/tests/test_media_source_extension_security.py +75 -0
- tblue-2.0.0/tests/test_message_channel_security.py +64 -0
- tblue-2.0.0/tests/test_mfa_detection.py +98 -0
- tblue-2.0.0/tests/test_midi_api_security.py +62 -0
- tblue-2.0.0/tests/test_mime_type_security.py +113 -0
- tblue-2.0.0/tests/test_mitre.py +139 -0
- tblue-2.0.0/tests/test_mitre_catalogue.py +89 -0
- tblue-2.0.0/tests/test_mitre_extra.py +51 -0
- tblue-2.0.0/tests/test_mixed_content.py +119 -0
- tblue-2.0.0/tests/test_mixed_content_extra.py +78 -0
- tblue-2.0.0/tests/test_mongodb_exposure.py +110 -0
- tblue-2.0.0/tests/test_monitor.py +300 -0
- tblue-2.0.0/tests/test_mutation_observer_security.py +61 -0
- tblue-2.0.0/tests/test_mutation_xss.py +128 -0
- tblue-2.0.0/tests/test_navigation_api_security.py +63 -0
- tblue-2.0.0/tests/test_nel_reporting.py +162 -0
- tblue-2.0.0/tests/test_network_information_security.py +84 -0
- tblue-2.0.0/tests/test_nginx_alias_traversal.py +81 -0
- tblue-2.0.0/tests/test_nist_csf_compliance.py +103 -0
- tblue-2.0.0/tests/test_nosql_injection.py +117 -0
- tblue-2.0.0/tests/test_nosql_injection_advanced.py +62 -0
- tblue-2.0.0/tests/test_nosql_injection_extra.py +70 -0
- tblue-2.0.0/tests/test_notification_api_security.py +62 -0
- tblue-2.0.0/tests/test_notification_security.py +64 -0
- tblue-2.0.0/tests/test_notify.py +335 -0
- tblue-2.0.0/tests/test_notify_extra.py +52 -0
- tblue-2.0.0/tests/test_oauth.py +240 -0
- tblue-2.0.0/tests/test_oauth_advanced.py +205 -0
- tblue-2.0.0/tests/test_oauth_advanced_extra.py +86 -0
- tblue-2.0.0/tests/test_oauth_device_flow.py +136 -0
- tblue-2.0.0/tests/test_oauth_extra.py +87 -0
- tblue-2.0.0/tests/test_oauth_implicit_flow.py +71 -0
- tblue-2.0.0/tests/test_oauth_misconfiguration_passive.py +62 -0
- tblue-2.0.0/tests/test_oauth_pkce.py +173 -0
- tblue-2.0.0/tests/test_oauth_redirect_uri_validation.py +43 -0
- tblue-2.0.0/tests/test_oauth_token_leak.py +151 -0
- tblue-2.0.0/tests/test_oauth_token_leak_extra.py +134 -0
- tblue-2.0.0/tests/test_object_spread_security.py +64 -0
- tblue-2.0.0/tests/test_object_url_security.py +65 -0
- tblue-2.0.0/tests/test_observable_api_security.py +73 -0
- tblue-2.0.0/tests/test_open_api_exposure.py +177 -0
- tblue-2.0.0/tests/test_open_api_exposure_extra.py +100 -0
- tblue-2.0.0/tests/test_open_graph_exposure.py +150 -0
- tblue-2.0.0/tests/test_open_graph_security.py +95 -0
- tblue-2.0.0/tests/test_open_redirect.py +144 -0
- tblue-2.0.0/tests/test_open_redirect_deep.py +70 -0
- tblue-2.0.0/tests/test_open_redirect_extra.py +83 -0
- tblue-2.0.0/tests/test_open_s3_bucket.py +84 -0
- tblue-2.0.0/tests/test_opfs_security.py +64 -0
- tblue-2.0.0/tests/test_origin_trial_exposure.py +139 -0
- tblue-2.0.0/tests/test_package_manifest_exposure.py +102 -0
- tblue-2.0.0/tests/test_page_lifecycle_security.py +68 -0
- tblue-2.0.0/tests/test_parameter_pollution.py +44 -0
- tblue-2.0.0/tests/test_parameter_pollution_passive.py +62 -0
- tblue-2.0.0/tests/test_passive_by_default.py +123 -0
- tblue-2.0.0/tests/test_password_policy.py +103 -0
- tblue-2.0.0/tests/test_password_reset.py +416 -0
- tblue-2.0.0/tests/test_password_reset_extra.py +87 -0
- tblue-2.0.0/tests/test_path_confusion.py +406 -0
- tblue-2.0.0/tests/test_path_confusion_extra.py +85 -0
- tblue-2.0.0/tests/test_path_normalization_security.py +115 -0
- tblue-2.0.0/tests/test_path_parameter_pollution.py +83 -0
- tblue-2.0.0/tests/test_path_traversal.py +242 -0
- tblue-2.0.0/tests/test_path_traversal_deep.py +98 -0
- tblue-2.0.0/tests/test_path_traversal_extra.py +83 -0
- tblue-2.0.0/tests/test_payment_handler_security.py +61 -0
- tblue-2.0.0/tests/test_payment_page_security.py +172 -0
- tblue-2.0.0/tests/test_payment_request_security.py +90 -0
- tblue-2.0.0/tests/test_pci_dss_compliance.py +104 -0
- tblue-2.0.0/tests/test_performance_observer_security.py +65 -0
- tblue-2.0.0/tests/test_periodic_background_sync_security.py +64 -0
- tblue-2.0.0/tests/test_permission_policy_security.py +64 -0
- tblue-2.0.0/tests/test_permissions_api_security.py +73 -0
- tblue-2.0.0/tests/test_permissions_policy.py +127 -0
- tblue-2.0.0/tests/test_permissions_policy_deep.py +112 -0
- tblue-2.0.0/tests/test_permissions_policy_extra.py +65 -0
- tblue-2.0.0/tests/test_phi_exposure.py +64 -0
- tblue-2.0.0/tests/test_picture_in_picture_security.py +71 -0
- tblue-2.0.0/tests/test_poc_report.py +136 -0
- tblue-2.0.0/tests/test_pointer_events_security.py +68 -0
- tblue-2.0.0/tests/test_pointer_lock_security.py +61 -0
- tblue-2.0.0/tests/test_polyfill_supply_chain.py +98 -0
- tblue-2.0.0/tests/test_popover_api_security.py +67 -0
- tblue-2.0.0/tests/test_portals_security.py +62 -0
- tblue-2.0.0/tests/test_ports.py +104 -0
- tblue-2.0.0/tests/test_ports_extra.py +56 -0
- tblue-2.0.0/tests/test_postmessage_security.py +98 -0
- tblue-2.0.0/tests/test_prerendering_security.py +70 -0
- tblue-2.0.0/tests/test_presentation_api_security.py +67 -0
- tblue-2.0.0/tests/test_privacy_sandbox_apis.py +124 -0
- tblue-2.0.0/tests/test_private_aggregation_security.py +61 -0
- tblue-2.0.0/tests/test_private_network_access.py +85 -0
- tblue-2.0.0/tests/test_promise_security.py +65 -0
- tblue-2.0.0/tests/test_protocol_confusion.py +125 -0
- tblue-2.0.0/tests/test_prototype_pollution.py +260 -0
- tblue-2.0.0/tests/test_prototype_pollution_advanced.py +62 -0
- tblue-2.0.0/tests/test_prototype_pollution_extra.py +66 -0
- tblue-2.0.0/tests/test_proximity_sensor_security.py +73 -0
- tblue-2.0.0/tests/test_proxy_reflect_security.py +70 -0
- tblue-2.0.0/tests/test_prssi.py +189 -0
- tblue-2.0.0/tests/test_prssi_extra.py +192 -0
- tblue-2.0.0/tests/test_push_api_security.py +70 -0
- tblue-2.0.0/tests/test_pwa_manifest_security.py +64 -0
- tblue-2.0.0/tests/test_race_condition.py +433 -0
- tblue-2.0.0/tests/test_race_condition_extra.py +76 -0
- tblue-2.0.0/tests/test_race_condition_passive.py +64 -0
- tblue-2.0.0/tests/test_rate_limit.py +115 -0
- tblue-2.0.0/tests/test_rate_limit_bypass_security.py +64 -0
- tblue-2.0.0/tests/test_rate_limit_extra.py +65 -0
- tblue-2.0.0/tests/test_rate_limiting.py +149 -0
- tblue-2.0.0/tests/test_rate_limiting_detection.py +47 -0
- tblue-2.0.0/tests/test_rate_limiting_extra.py +62 -0
- tblue-2.0.0/tests/test_readable_stream_security.py +61 -0
- tblue-2.0.0/tests/test_redirect_chain.py +211 -0
- tblue-2.0.0/tests/test_redirect_chain_extra.py +110 -0
- tblue-2.0.0/tests/test_redis_exposure.py +98 -0
- tblue-2.0.0/tests/test_redos_passive.py +99 -0
- tblue-2.0.0/tests/test_referrer_policy.py +189 -0
- tblue-2.0.0/tests/test_referrer_policy_deep.py +96 -0
- tblue-2.0.0/tests/test_referrer_policy_extra.py +165 -0
- tblue-2.0.0/tests/test_reflected_file_download.py +392 -0
- tblue-2.0.0/tests/test_reflected_file_download_extra.py +86 -0
- tblue-2.0.0/tests/test_regex_security.py +66 -0
- tblue-2.0.0/tests/test_relative_path_overwrite.py +113 -0
- tblue-2.0.0/tests/test_remediation.py +117 -0
- tblue-2.0.0/tests/test_remediation_extra.py +73 -0
- tblue-2.0.0/tests/test_remote_playback_security.py +66 -0
- tblue-2.0.0/tests/test_reporting_api_security.py +104 -0
- tblue-2.0.0/tests/test_reporting_observer_security.py +61 -0
- tblue-2.0.0/tests/test_request_smuggling.py +254 -0
- tblue-2.0.0/tests/test_request_smuggling_extra.py +75 -0
- tblue-2.0.0/tests/test_resize_observer_security.py +69 -0
- tblue-2.0.0/tests/test_resource_timing_security.py +67 -0
- tblue-2.0.0/tests/test_response_cache.py +162 -0
- tblue-2.0.0/tests/test_response_headers.py +131 -0
- tblue-2.0.0/tests/test_response_headers_extra.py +71 -0
- tblue-2.0.0/tests/test_robots_txt.py +141 -0
- tblue-2.0.0/tests/test_robots_txt_extra.py +65 -0
- tblue-2.0.0/tests/test_rtc_encoded_transform_security.py +69 -0
- tblue-2.0.0/tests/test_same_site_cookie_security.py +62 -0
- tblue-2.0.0/tests/test_saml.py +206 -0
- tblue-2.0.0/tests/test_saml_extra.py +98 -0
- tblue-2.0.0/tests/test_saml_passive.py +41 -0
- tblue-2.0.0/tests/test_saml_security_passive.py +65 -0
- tblue-2.0.0/tests/test_sanitizer_api_security.py +63 -0
- tblue-2.0.0/tests/test_sarif.py +103 -0
- tblue-2.0.0/tests/test_sarif_extra.py +91 -0
- tblue-2.0.0/tests/test_sbom_scanner.py +109 -0
- tblue-2.0.0/tests/test_sca.py +285 -0
- tblue-2.0.0/tests/test_sca_extra.py +64 -0
- tblue-2.0.0/tests/test_scheduler_api_security.py +64 -0
- tblue-2.0.0/tests/test_scim.py +128 -0
- tblue-2.0.0/tests/test_scim_extra.py +56 -0
- tblue-2.0.0/tests/test_scoring.py +163 -0
- tblue-2.0.0/tests/test_scoring_extra.py +69 -0
- tblue-2.0.0/tests/test_screen_capture_security.py +90 -0
- tblue-2.0.0/tests/test_screen_details_security.py +64 -0
- tblue-2.0.0/tests/test_screen_wake_lock_security.py +69 -0
- tblue-2.0.0/tests/test_scroll_snap_security.py +67 -0
- tblue-2.0.0/tests/test_scroll_timeline_security.py +68 -0
- tblue-2.0.0/tests/test_secret_in_error_page.py +65 -0
- tblue-2.0.0/tests/test_security_misconfiguration.py +93 -0
- tblue-2.0.0/tests/test_security_txt.py +116 -0
- tblue-2.0.0/tests/test_security_txt_deep.py +170 -0
- tblue-2.0.0/tests/test_security_txt_extra.py +66 -0
- tblue-2.0.0/tests/test_sensitive_cache_control.py +68 -0
- tblue-2.0.0/tests/test_sensitive_data_exposure.py +151 -0
- tblue-2.0.0/tests/test_sensitive_data_exposure_extra.py +67 -0
- tblue-2.0.0/tests/test_sensitive_endpoint_exposure.py +88 -0
- tblue-2.0.0/tests/test_sensitive_params.py +96 -0
- tblue-2.0.0/tests/test_sensitive_params_extra.py +58 -0
- tblue-2.0.0/tests/test_server_info_deep.py +103 -0
- tblue-2.0.0/tests/test_server_sent_events_security.py +132 -0
- tblue-2.0.0/tests/test_server_side_template_passive.py +64 -0
- tblue-2.0.0/tests/test_server_timing.py +276 -0
- tblue-2.0.0/tests/test_server_timing_disclosure.py +60 -0
- tblue-2.0.0/tests/test_server_timing_extra.py +67 -0
- tblue-2.0.0/tests/test_serverless_exposure.py +86 -0
- tblue-2.0.0/tests/test_service_worker_security.py +163 -0
- tblue-2.0.0/tests/test_service_worker_security_deep.py +110 -0
- tblue-2.0.0/tests/test_service_worker_security_extra.py +62 -0
- tblue-2.0.0/tests/test_session_entropy_passive.py +64 -0
- tblue-2.0.0/tests/test_session_fixation.py +183 -0
- tblue-2.0.0/tests/test_session_fixation_passive.py +93 -0
- tblue-2.0.0/tests/test_session_fixation_security.py +64 -0
- tblue-2.0.0/tests/test_session_security.py +133 -0
- tblue-2.0.0/tests/test_session_security_extra.py +65 -0
- tblue-2.0.0/tests/test_session_token_exposure.py +66 -0
- tblue-2.0.0/tests/test_shadow_dom_security.py +107 -0
- tblue-2.0.0/tests/test_shape_detection_security.py +64 -0
- tblue-2.0.0/tests/test_shared_storage_security.py +61 -0
- tblue-2.0.0/tests/test_shared_worker_security.py +64 -0
- tblue-2.0.0/tests/test_siem.py +266 -0
- tblue-2.0.0/tests/test_siem_extra.py +92 -0
- tblue-2.0.0/tests/test_sigma.py +123 -0
- tblue-2.0.0/tests/test_sigma_extra.py +77 -0
- tblue-2.0.0/tests/test_soar.py +147 -0
- tblue-2.0.0/tests/test_soar_extra.py +66 -0
- tblue-2.0.0/tests/test_soc2_compliance.py +93 -0
- tblue-2.0.0/tests/test_social_login_security.py +86 -0
- tblue-2.0.0/tests/test_source_map.py +447 -0
- tblue-2.0.0/tests/test_source_map_exposure.py +39 -0
- tblue-2.0.0/tests/test_source_map_extra.py +90 -0
- tblue-2.0.0/tests/test_sourcemap_exposure.py +84 -0
- tblue-2.0.0/tests/test_spa_hash_routing_security.py +73 -0
- tblue-2.0.0/tests/test_sparkline.py +185 -0
- tblue-2.0.0/tests/test_sparkline_extra.py +56 -0
- tblue-2.0.0/tests/test_speculation_rules_security.py +132 -0
- tblue-2.0.0/tests/test_speech_recognition_security.py +61 -0
- tblue-2.0.0/tests/test_speech_synthesis_security.py +61 -0
- tblue-2.0.0/tests/test_splunk_spl.py +65 -0
- tblue-2.0.0/tests/test_splunk_spl_extra.py +73 -0
- tblue-2.0.0/tests/test_spring_actuator.py +186 -0
- tblue-2.0.0/tests/test_spring_actuator_extra.py +81 -0
- tblue-2.0.0/tests/test_sql_error_passive.py +92 -0
- tblue-2.0.0/tests/test_sql_injection_client_security.py +65 -0
- tblue-2.0.0/tests/test_srcdoc_injection.py +78 -0
- tblue-2.0.0/tests/test_sri_advanced.py +194 -0
- tblue-2.0.0/tests/test_sri_advanced_extra.py +72 -0
- tblue-2.0.0/tests/test_sse_security.py +118 -0
- tblue-2.0.0/tests/test_ssl.py +292 -0
- tblue-2.0.0/tests/test_ssl_extra.py +45 -0
- tblue-2.0.0/tests/test_ssrf_advanced.py +192 -0
- tblue-2.0.0/tests/test_ssrf_advanced_extra.py +73 -0
- tblue-2.0.0/tests/test_ssrf_detection.py +143 -0
- tblue-2.0.0/tests/test_ssrf_detection_extra.py +62 -0
- tblue-2.0.0/tests/test_ssrf_params.py +187 -0
- tblue-2.0.0/tests/test_ssrf_params_extra.py +63 -0
- tblue-2.0.0/tests/test_ssrf_passive.py +86 -0
- tblue-2.0.0/tests/test_ssti.py +144 -0
- tblue-2.0.0/tests/test_ssti_extra.py +65 -0
- tblue-2.0.0/tests/test_storage_access_api_security.py +70 -0
- tblue-2.0.0/tests/test_storage_bucket_security.py +61 -0
- tblue-2.0.0/tests/test_storage_event_security.py +65 -0
- tblue-2.0.0/tests/test_storage_manager_security.py +64 -0
- tblue-2.0.0/tests/test_stride_report.py +123 -0
- tblue-2.0.0/tests/test_structured_clone_security.py +61 -0
- tblue-2.0.0/tests/test_subdomain_enum_passive.py +148 -0
- tblue-2.0.0/tests/test_subdomain_takeover.py +208 -0
- tblue-2.0.0/tests/test_subdomain_takeover_extra.py +106 -0
- tblue-2.0.0/tests/test_subdomain_takeover_passive.py +45 -0
- tblue-2.0.0/tests/test_subresource_integrity_deep.py +90 -0
- tblue-2.0.0/tests/test_supply_chain.py +215 -0
- tblue-2.0.0/tests/test_supply_chain_extra.py +57 -0
- tblue-2.0.0/tests/test_supply_chain_lockfile.py +139 -0
- tblue-2.0.0/tests/test_svg_security.py +108 -0
- tblue-2.0.0/tests/test_symbol_security.py +67 -0
- tblue-2.0.0/tests/test_tabnabbing.py +80 -0
- tblue-2.0.0/tests/test_tabnapping_passive.py +62 -0
- tblue-2.0.0/tests/test_template_injection_client_security.py +64 -0
- tblue-2.0.0/tests/test_text_fragment_security.py +61 -0
- tblue-2.0.0/tests/test_third_party_exposure.py +158 -0
- tblue-2.0.0/tests/test_threat_intel.py +221 -0
- tblue-2.0.0/tests/test_threat_intel_extra.py +80 -0
- tblue-2.0.0/tests/test_tier_selection.py +73 -0
- tblue-2.0.0/tests/test_timing_attack_passive.py +63 -0
- tblue-2.0.0/tests/test_timing_oracle.py +150 -0
- tblue-2.0.0/tests/test_tls_certificate_deep.py +83 -0
- tblue-2.0.0/tests/test_tls_deep.py +450 -0
- tblue-2.0.0/tests/test_tls_deep_extra.py +48 -0
- tblue-2.0.0/tests/test_tls_downgrade_passive.py +99 -0
- tblue-2.0.0/tests/test_tls_protocol_version.py +115 -0
- tblue-2.0.0/tests/test_token_exposure_passive.py +85 -0
- tblue-2.0.0/tests/test_token_refresh_security.py +65 -0
- tblue-2.0.0/tests/test_topics_api_security.py +61 -0
- tblue-2.0.0/tests/test_tree_walker_security.py +64 -0
- tblue-2.0.0/tests/test_trojan_source.py +215 -0
- tblue-2.0.0/tests/test_trust_token_security.py +67 -0
- tblue-2.0.0/tests/test_trusted_types_csp.py +88 -0
- tblue-2.0.0/tests/test_trusted_types_policy.py +139 -0
- tblue-2.0.0/tests/test_trusted_types_security.py +63 -0
- tblue-2.0.0/tests/test_typed_array_security.py +65 -0
- tblue-2.0.0/tests/test_typosquatting.py +195 -0
- tblue-2.0.0/tests/test_typosquatting_extra.py +110 -0
- tblue-2.0.0/tests/test_url_parser_differential.py +93 -0
- tblue-2.0.0/tests/test_url_protocol_handler_security.py +64 -0
- tblue-2.0.0/tests/test_user_timing_security.py +62 -0
- tblue-2.0.0/tests/test_version_cve.py +302 -0
- tblue-2.0.0/tests/test_version_cve_extra.py +65 -0
- tblue-2.0.0/tests/test_vibration_api_security.py +73 -0
- tblue-2.0.0/tests/test_vibration_security.py +62 -0
- tblue-2.0.0/tests/test_video_decoder_security.py +67 -0
- tblue-2.0.0/tests/test_view_transition_security.py +64 -0
- tblue-2.0.0/tests/test_virtual_keyboard_security.py +71 -0
- tblue-2.0.0/tests/test_waf.py +96 -0
- tblue-2.0.0/tests/test_waf_bypass_detection.py +85 -0
- tblue-2.0.0/tests/test_waf_extra.py +62 -0
- tblue-2.0.0/tests/test_wasm_security.py +173 -0
- tblue-2.0.0/tests/test_wasm_security_deep.py +90 -0
- tblue-2.0.0/tests/test_weak_crypto.py +134 -0
- tblue-2.0.0/tests/test_weak_crypto_extra.py +72 -0
- tblue-2.0.0/tests/test_weakmap_security.py +66 -0
- tblue-2.0.0/tests/test_web_audio_security.py +64 -0
- tblue-2.0.0/tests/test_web_authentication_security.py +66 -0
- tblue-2.0.0/tests/test_web_bluetooth_security.py +78 -0
- tblue-2.0.0/tests/test_web_cache_deception.py +168 -0
- tblue-2.0.0/tests/test_web_cache_deception_extra.py +72 -0
- tblue-2.0.0/tests/test_web_components_security.py +69 -0
- tblue-2.0.0/tests/test_web_crypto_weaknesses.py +78 -0
- tblue-2.0.0/tests/test_web_hid_security.py +66 -0
- tblue-2.0.0/tests/test_web_locks_security.py +64 -0
- tblue-2.0.0/tests/test_web_manifest_security.py +193 -0
- tblue-2.0.0/tests/test_web_nfc_security.py +62 -0
- tblue-2.0.0/tests/test_web_otp_security.py +71 -0
- tblue-2.0.0/tests/test_web_serial_security.py +92 -0
- tblue-2.0.0/tests/test_web_share_security.py +62 -0
- tblue-2.0.0/tests/test_web_usb_security.py +81 -0
- tblue-2.0.0/tests/test_web_worker_security.py +88 -0
- tblue-2.0.0/tests/test_web_worker_security_deep.py +81 -0
- tblue-2.0.0/tests/test_webauthn_security.py +265 -0
- tblue-2.0.0/tests/test_webauthn_security_extra.py +65 -0
- tblue-2.0.0/tests/test_webcodecs_security.py +63 -0
- tblue-2.0.0/tests/test_webgl_security.py +61 -0
- tblue-2.0.0/tests/test_webgpu_security.py +61 -0
- tblue-2.0.0/tests/test_webhook_security.py +137 -0
- tblue-2.0.0/tests/test_webrtc_exposure.py +84 -0
- tblue-2.0.0/tests/test_websocket.py +242 -0
- tblue-2.0.0/tests/test_websocket_extra.py +66 -0
- tblue-2.0.0/tests/test_websocket_origin_check.py +71 -0
- tblue-2.0.0/tests/test_websocket_security_deep.py +44 -0
- tblue-2.0.0/tests/test_webtransport_security.py +61 -0
- tblue-2.0.0/tests/test_webxr_security.py +72 -0
- tblue-2.0.0/tests/test_window_management_security.py +71 -0
- tblue-2.0.0/tests/test_worker_module_security.py +63 -0
- tblue-2.0.0/tests/test_xml_external_entity_advanced.py +62 -0
- tblue-2.0.0/tests/test_xml_security_passive.py +81 -0
- tblue-2.0.0/tests/test_xml_xxe.py +129 -0
- tblue-2.0.0/tests/test_xml_xxe_extra.py +78 -0
- tblue-2.0.0/tests/test_xpath_injection_passive.py +73 -0
- tblue-2.0.0/tests/test_xpath_injection_security.py +64 -0
- tblue-2.0.0/tests/test_xsleak.py +310 -0
- tblue-2.0.0/tests/test_xsleak_extra.py +77 -0
- tblue-2.0.0/tests/test_xss.py +276 -0
- tblue-2.0.0/tests/test_xss_extra.py +158 -0
- tblue-2.0.0/tests/test_xssi.py +478 -0
- tblue-2.0.0/tests/test_xssi_extra.py +79 -0
- tblue-2.0.0/tests/test_xxe_injection.py +161 -0
- tblue-2.0.0/tests/test_xxe_injection_extra.py +79 -0
- tblue-2.0.0/tests/test_xxe_probe.py +65 -0
- tblue-2.0.0/tests/test_zip_slip_passive.py +62 -0
tblue-2.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Taylan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
tblue-2.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tblue
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Open source passive blue-team security scanner for website owners
|
|
5
|
+
Author-email: Taylan Nuhoğlu <taylannuhogluofficial@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/taylannuhogluofficial-png/Tblue
|
|
8
|
+
Project-URL: Repository, https://github.com/taylannuhogluofficial-png/Tblue
|
|
9
|
+
Project-URL: Bug Tracker, https://github.com/taylannuhogluofficial-png/Tblue/issues
|
|
10
|
+
Keywords: security,scanner,blue-team,penetration-testing,vulnerability,web-security,passive-scanning,owasp,csp,cors,jwt,xss,ssrf
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: System Administrators
|
|
14
|
+
Classifier: Intended Audience :: Information Technology
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Topic :: Security
|
|
22
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
23
|
+
Classifier: Topic :: Software Development :: Testing
|
|
24
|
+
Classifier: Environment :: Console
|
|
25
|
+
Classifier: Operating System :: OS Independent
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
License-File: LICENSE
|
|
29
|
+
Requires-Dist: requests>=2.31.0
|
|
30
|
+
Requires-Dist: beautifulsoup4>=4.12.0
|
|
31
|
+
Requires-Dist: lxml>=4.9.0
|
|
32
|
+
Requires-Dist: urllib3>=2.0.0
|
|
33
|
+
Requires-Dist: dnspython>=2.4.0
|
|
34
|
+
Requires-Dist: pyyaml>=6.0
|
|
35
|
+
Provides-Extra: browser
|
|
36
|
+
Requires-Dist: playwright>=1.40; extra == "browser"
|
|
37
|
+
Provides-Extra: mcp
|
|
38
|
+
Requires-Dist: mcp>=1.0.0; extra == "mcp"
|
|
39
|
+
Provides-Extra: dev
|
|
40
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
41
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
42
|
+
Requires-Dist: pytest-xdist; extra == "dev"
|
|
43
|
+
Requires-Dist: pytest-json-report; extra == "dev"
|
|
44
|
+
Dynamic: license-file
|
|
45
|
+
|
|
46
|
+
> ## ⚠️ If you ran 1.0.0 or 1.0.1, rotate your credentials
|
|
47
|
+
>
|
|
48
|
+
> An external review found real problems in those releases. Both are yanked
|
|
49
|
+
> from PyPI and **2.0.0 fixes all of them**, but one needs action from you:
|
|
50
|
+
>
|
|
51
|
+
> - **Authenticated scans leaked credentials.** Values passed with `--cookie`,
|
|
52
|
+
> `--header`, `--bearer` or `--auth` were attached to a shared HTTP session
|
|
53
|
+
> that also contacted third-party lookup services (crt.sh, OSV, NVD,
|
|
54
|
+
> AlienVault OTX), so those services received them. If you ran an
|
|
55
|
+
> authenticated scan on 1.0.0 or 1.0.1, **rotate those credentials.** Sorry.
|
|
56
|
+
> - **The default scan was not passive.** It port-scanned, submitted logins and
|
|
57
|
+
> password resets, and sent XXE and traversal payloads. In 2.0.0 the default
|
|
58
|
+
> is measured read-only and enforced by a test; everything that sends
|
|
59
|
+
> uninvited traffic now sits behind `--probe` or `--active`.
|
|
60
|
+
> - **Generated PoC commands were not shell-quoted**, so copying one from a
|
|
61
|
+
> report of a hostile target could execute shell metacharacters.
|
|
62
|
+
>
|
|
63
|
+
> Full detail is in the [changelog](CHANGELOG.md). Issues and PRs welcome.
|
|
64
|
+
|
|
65
|
+
<div align="center">
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
████████╗ ██████╗ ██╗ ██╗ ██╗ ███████╗
|
|
69
|
+
╚══██╔══╝ ██╔══██╗ ██║ ██║ ██║ ██╔════╝
|
|
70
|
+
██║ ██████╔╝ ██║ ██║ ██║ █████╗
|
|
71
|
+
██║ ██╔══██╗ ██║ ██║ ██║ ██╔══╝
|
|
72
|
+
██║ ██████╔╝ ███████╗ ╚██████╔╝ ███████╗
|
|
73
|
+
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**582 passive blue-team security scanners, plus 32 opt-in probes. Runs on your machine. No accounts. No telemetry.**
|
|
77
|
+
|
|
78
|
+
[](https://www.python.org/)
|
|
79
|
+
[](LICENSE)
|
|
80
|
+
[](#what-it-checks)
|
|
81
|
+
[](#use-as-an-ai-plugin-mcp)
|
|
82
|
+
[](https://pypi.org/project/tblue/)
|
|
83
|
+
[](#)
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
Tblue is a free, open-source security scanner for website owners. You point it at your site and it tells you what looks wrong — no security background required. It runs completely on your machine, sends no data to third parties, and requires no account or API key.
|
|
90
|
+
|
|
91
|
+
**It is blue-team only.** The 582 default scanners read HTTP responses, headers, cookies, JavaScript files, and page content. Nothing is modified and no credentials are ever brute-forced against your application.
|
|
92
|
+
|
|
93
|
+
A default scan is read-only, and that is enforced rather than asserted. Every scanner is run against an instrumented server in CI; any that issues a POST/PUT/PATCH/DELETE, or a GET carrying a traversal, XXE, CRLF or injection payload, fails the build until it is moved out of the default tier. A measured depth-1 run against a live site issues 1218 GET requests and a single CORS preflight, with zero request bodies and zero attack payloads.
|
|
94
|
+
|
|
95
|
+
Scanners are split by what they actually send, measured rather than assumed:
|
|
96
|
+
|
|
97
|
+
| Tier | Flag | Scanners | Sends |
|
|
98
|
+
|---|---|---|---|
|
|
99
|
+
| Passive | *(default)* | 582 | GET/HEAD only. Safe to run against production. |
|
|
100
|
+
| Probe | `--probe` | 12 | Crafted but side-effect-free: GraphQL introspection, CORS origin reflection, TLS cipher negotiation, DNS enumeration. Modifies nothing. |
|
|
101
|
+
| Intrusive | `--active` | 20 | Authentication attempts, password-reset and registration submissions, injection payloads, port scans. |
|
|
102
|
+
|
|
103
|
+
`--active` implies `--probe`. The intrusive tier can lock accounts out, send password-reset emails to real people, create records, and trip WAFs — only use it on systems you own.
|
|
104
|
+
|
|
105
|
+
**What leaves your machine.** Findings are never uploaded. Some scanners look your target up in public intelligence sources (certificate transparency via crt.sh, and vulnerability data from OSV and NVD), which necessarily discloses the domain or version being checked to those services. Credentials you pass with `--bearer`, `--auth`, `--cookie`, or `--header` are sent **only** to the target host and its subdomains, never to those third parties; this is enforced in `HTTPClient` and covered by tests. Run with `--skip` on the enrichment modules for a fully offline scan. AI analysis is opt-in and transmits nothing unless you pass `--ai` or `--ai-key`.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Quick demo
|
|
110
|
+
|
|
111
|
+

|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
$ tblue -u https://example.com
|
|
115
|
+
|
|
116
|
+
Scanning https://example.com — 582 passive modules · 50 workers · depth 3
|
|
117
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
|
+
|
|
119
|
+
[FAIL] hsts_missing HSTS not set — site reachable over plain HTTP
|
|
120
|
+
[FAIL] csp_missing Content-Security-Policy absent — no XSS defence
|
|
121
|
+
[FAIL] x_frame_options X-Frame-Options missing — clickjacking possible
|
|
122
|
+
[FAIL] mixed_content Page loads HTTP resources over HTTPS
|
|
123
|
+
[WARN] cors_wildcard CORS wildcard on /api — any origin can read responses
|
|
124
|
+
[WARN] spf_softfail SPF uses ~all (softfail) — upgrade to -all
|
|
125
|
+
[WARN] dmarc_none DMARC p=none — domain can be spoofed in phishing
|
|
126
|
+
[WARN] cookie_samesite Session cookie missing SameSite attribute
|
|
127
|
+
[INFO] server_banner Server: nginx/1.24.0 — version fingerprint exposed
|
|
128
|
+
[PASS] tls_version TLS 1.3 · certificate valid · no weak ciphers
|
|
129
|
+
[PASS] js_secrets No API keys or secrets found in JavaScript bundles
|
|
130
|
+
[PASS] cookie_secure Cookies — HttpOnly and Secure flags set correctly
|
|
131
|
+
[PASS] dnssec DNSSEC signed and validated
|
|
132
|
+
|
|
133
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
134
|
+
Grade: D · Score: 41/100 · 4 FAIL · 4 WARN · 1 INFO · 4 PASS
|
|
135
|
+
Report saved: example_com_20260816_143201.html
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Why Tblue
|
|
141
|
+
|
|
142
|
+
Most security scanners are built for attackers — they try to exploit things. Tblue is built for defenders. It reads what your site sends back and tells you what a real attacker would learn from it. The difference:
|
|
143
|
+
|
|
144
|
+
| | Tblue | Penetration testing tools |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| Purpose | Find what's exposed | Exploit what's exposed |
|
|
147
|
+
| Modifies anything | Never | Yes |
|
|
148
|
+
| Requires auth | No | Often |
|
|
149
|
+
| Safe to run anytime | Yes | No |
|
|
150
|
+
| Audience | Site owners, devs | Security professionals |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## What it checks
|
|
155
|
+
|
|
156
|
+
582 passive modules run in parallel on every scan. A further 32 are opt-in (`--probe` / `--active`). Categories below cover all 614:
|
|
157
|
+
|
|
158
|
+
| Category | What it looks for |
|
|
159
|
+
|---|---|
|
|
160
|
+
| **TLS and Transport** | Certificate validity, cipher weakness, HSTS, HTTPS redirect, compression oracle |
|
|
161
|
+
| **HTTP Headers** | CSP (with dangerous value detection), CORS, Permissions-Policy, Referrer-Policy, X-Frame-Options, 30+ header checks |
|
|
162
|
+
| **Cookies** | HttpOnly, Secure, SameSite, cookie prefixes, partitioned cookies |
|
|
163
|
+
| **Authentication** | JWT algorithm confusion, session fixation, session entropy, MFA detection, password policy, WebAuthn |
|
|
164
|
+
| **Authorization** | IDOR, broken object-level auth, mass assignment, path traversal, directory listing |
|
|
165
|
+
| **OAuth and Identity** | OAuth implicit flow, PKCE, redirect URI validation, SAML signature wrapping, OIDC nonce |
|
|
166
|
+
| **CSRF and Clickjacking** | CSRF token detection, double-submit cookie, SameSite bypass, tabnapping |
|
|
167
|
+
| **Injection** | Command injection patterns, SSTI, XXE, LDAP injection, log injection, CRLF injection |
|
|
168
|
+
| **XSS** | DOM sink detection (innerHTML, location), prototype pollution, CSS injection, SVG injection |
|
|
169
|
+
| **SSRF** | Cloud metadata exposure, DNS rebinding, open redirect chains |
|
|
170
|
+
| **Secrets** | API keys in JS bundles, debug endpoints, Spring Actuator, source maps, error page disclosure |
|
|
171
|
+
| **API Security** | Rate limiting, versioning downgrade, pagination abuse, schema exposure, GraphQL introspection |
|
|
172
|
+
| **Supply Chain** | SRI validation, dependency confusion signals, importmap security, polyfill hijacking |
|
|
173
|
+
| **Cloud** | Public S3 buckets, K8s API exposure, Docker daemon, CI/CD secret leakage |
|
|
174
|
+
| **DNS and Email** | SPF, DMARC, DKIM, CAA, DNSSEC, subdomain takeover, typosquatting |
|
|
175
|
+
| **Browser APIs** | WebUSB, WebBluetooth, WebXR, Payment Request, Geolocation, File System Access (78 checks) |
|
|
176
|
+
| **JavaScript** | Prototype pollution, RegEx DoS, Function constructor, unsafe eval patterns |
|
|
177
|
+
| **Privacy** | Canvas fingerprinting, EXIF metadata, PHI exposure, cookie consent |
|
|
178
|
+
| **Compliance** | PCI-DSS, HIPAA, SOC 2, ISO 27001, NIST CSF — each mapped to root security controls |
|
|
179
|
+
|
|
180
|
+
Full reference with descriptions, CWE mappings, and remediation guidance: **[SCANNERS.md](SCANNERS.md)**
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Installation
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
pip install tblue
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**From source:**
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
git clone https://github.com/taylannuhogluofficial-png/Tblue.git
|
|
194
|
+
cd Tblue
|
|
195
|
+
pip install -e .
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Docker (no Python setup required):**
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
docker build -t tblue .
|
|
202
|
+
docker run --rm tblue -u https://yoursite.com
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Quick start
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Passive scan — 582 read-only modules, 50 parallel workers.
|
|
211
|
+
# Sends GET requests only. Safe against production.
|
|
212
|
+
tblue -u https://yoursite.com
|
|
213
|
+
|
|
214
|
+
# Add the 12 side-effect-free probes (GraphQL introspection, CORS
|
|
215
|
+
# reflection, TLS ciphers, DNS enumeration). Still modifies nothing.
|
|
216
|
+
tblue -u https://yoursite.com --probe
|
|
217
|
+
|
|
218
|
+
# Add the 20 intrusive checks: authentication attempts, password-reset and
|
|
219
|
+
# registration submissions, injection payloads, port scans. These can lock
|
|
220
|
+
# accounts out and email real users — only on systems you own.
|
|
221
|
+
tblue -u https://yoursite.com --active
|
|
222
|
+
|
|
223
|
+
# Save an HTML report with remediation guidance for every finding
|
|
224
|
+
tblue -u https://yoursite.com -o report.html
|
|
225
|
+
|
|
226
|
+
# JSON output for programmatic use or dashboards
|
|
227
|
+
tblue -u https://yoursite.com --json -o report.json
|
|
228
|
+
|
|
229
|
+
# SARIF for GitHub Code Scanning / VS Code Problems panel
|
|
230
|
+
tblue -u https://yoursite.com --sarif -o results.sarif
|
|
231
|
+
|
|
232
|
+
# SIEM / SOC exports
|
|
233
|
+
tblue -u https://yoursite.com --siem cef # ArcSight CEF format
|
|
234
|
+
tblue -u https://yoursite.com --siem elastic # Elastic SIEM format
|
|
235
|
+
tblue -u https://yoursite.com --splunk # Splunk SPL correlation searches
|
|
236
|
+
tblue -u https://yoursite.com --sigma # Sigma detection rules (.yaml)
|
|
237
|
+
tblue -u https://yoursite.com --sentinel # Microsoft Sentinel KQL analytics rules
|
|
238
|
+
|
|
239
|
+
# Run only specific modules
|
|
240
|
+
tblue -u https://yoursite.com --only headers,ssl,cookies
|
|
241
|
+
|
|
242
|
+
# Intrusive modules need --active; without it Tblue tells you rather than
|
|
243
|
+
# silently scanning nothing
|
|
244
|
+
tblue -u https://yoursite.com --only xss --active
|
|
245
|
+
|
|
246
|
+
# Run an entire category
|
|
247
|
+
tblue -u https://yoursite.com --only authentication
|
|
248
|
+
|
|
249
|
+
# Skip specific modules
|
|
250
|
+
tblue -u https://yoursite.com --skip browser_dom_xss
|
|
251
|
+
|
|
252
|
+
# Authenticated scan — pass your session cookie
|
|
253
|
+
tblue -u https://yoursite.com --cookie "session=abc123; csrftoken=xyz"
|
|
254
|
+
|
|
255
|
+
# Authenticated scan — Bearer token
|
|
256
|
+
tblue -u https://yoursite.com --bearer "eyJhbGci..."
|
|
257
|
+
|
|
258
|
+
# Browser-powered scan — covers SPA routing, DOM XSS, localStorage (requires Playwright)
|
|
259
|
+
tblue -u https://yoursite.com --browser
|
|
260
|
+
|
|
261
|
+
# AI-powered analysis of results (requires Anthropic API key)
|
|
262
|
+
tblue -u https://yoursite.com --ai-key $ANTHROPIC_API_KEY
|
|
263
|
+
|
|
264
|
+
# Continuous monitoring — re-scan every hour, alert on new findings
|
|
265
|
+
tblue -u https://yoursite.com --monitor --interval 3600
|
|
266
|
+
|
|
267
|
+
# CI/CD gate — exit code 1 if score drops below threshold
|
|
268
|
+
tblue -u https://yoursite.com --fail-below 80
|
|
269
|
+
|
|
270
|
+
# Compliance-focused scans (run the relevant compliance modules)
|
|
271
|
+
tblue -u https://yoursite.com --only pci_dss_compliance
|
|
272
|
+
tblue -u https://yoursite.com --only hipaa_compliance
|
|
273
|
+
tblue -u https://yoursite.com --only soc2_compliance,iso27001_compliance
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Use in CI / GitHub Actions
|
|
279
|
+
|
|
280
|
+
Gate your pipeline on security score. The scan fails the build if the score drops below your threshold:
|
|
281
|
+
|
|
282
|
+
```yaml
|
|
283
|
+
# .github/workflows/security.yml
|
|
284
|
+
name: Security scan
|
|
285
|
+
|
|
286
|
+
on:
|
|
287
|
+
push:
|
|
288
|
+
branches: [main]
|
|
289
|
+
pull_request:
|
|
290
|
+
|
|
291
|
+
jobs:
|
|
292
|
+
tblue:
|
|
293
|
+
runs-on: ubuntu-latest
|
|
294
|
+
steps:
|
|
295
|
+
- uses: actions/checkout@v4
|
|
296
|
+
- uses: actions/setup-python@v5
|
|
297
|
+
with:
|
|
298
|
+
python-version: "3.12"
|
|
299
|
+
- run: pip install tblue
|
|
300
|
+
- run: tblue -u https://yoursite.com --fail-below 80 -o tblue-report.html
|
|
301
|
+
- uses: actions/upload-artifact@v4
|
|
302
|
+
if: always()
|
|
303
|
+
with:
|
|
304
|
+
name: tblue-report
|
|
305
|
+
path: tblue-report.html
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
`--fail-below 80` exits with code 1 if the score is under 80, failing the job. Remove it to always pass (report only).
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Output formats
|
|
313
|
+
|
|
314
|
+
| Format | Flag | Best for |
|
|
315
|
+
|---|---|---|
|
|
316
|
+
| Terminal | *(default)* | Quick review — colored PASS / WARN / FAIL, score A–F, trend vs last scan |
|
|
317
|
+
| HTML | `-o report.html` | Sharing with your team — full findings, fix instructions, category scores |
|
|
318
|
+
| JSON | `--json -o report.json` | Dashboards, CI pipelines, custom integrations |
|
|
319
|
+
| SARIF | `--sarif -o results.sarif` | GitHub Code Scanning and VS Code Problems panel |
|
|
320
|
+
| SIEM CEF/LEEF/Elastic | `--siem cef` / `--siem elastic` | SOC ingestion — ArcSight, QRadar, Elastic SIEM |
|
|
321
|
+
| Splunk SPL | `--splunk` | Native Splunk correlation searches |
|
|
322
|
+
| Sigma | `--sigma` | SIEM detection rules for correlation |
|
|
323
|
+
| Microsoft Sentinel KQL | `--sentinel` | Azure Sentinel / Azure Monitor queries |
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Severity levels
|
|
328
|
+
|
|
329
|
+
| Level | Meaning | Suggested action |
|
|
330
|
+
|---|---|---|
|
|
331
|
+
| **FAIL** | Clear security gap — missing header, dangerous config, exposed secret | Fix before next deploy |
|
|
332
|
+
| **WARN** | Weakened defence that needs an additional condition to exploit | Fix this sprint |
|
|
333
|
+
| **INFO** | Context useful for attacker reconnaissance | Review and suppress if intentional |
|
|
334
|
+
| **PASS** | Check passed — control is in place | No action needed |
|
|
335
|
+
|
|
336
|
+
The terminal and HTML report also show a letter grade (A+ to F) and a numeric score (0–100) based on the distribution of findings.
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Architecture
|
|
341
|
+
|
|
342
|
+
Tblue runs the 582 passive scanners in parallel using a `ThreadPoolExecutor` (default 50 workers); the 32 opt-in modules run after them when `--probe` or `--active` is given. A shared response cache prevents redundant HTTP requests when multiple scanners hit the same URL.
|
|
343
|
+
|
|
344
|
+
Each scanner inherits from `BaseScanner`, returns typed result dicts, and short-circuits immediately when the response has no relevant signals — so passive scans stay fast even on slow sites.
|
|
345
|
+
|
|
346
|
+
Browser scanners are optional and powered by Playwright. They cover DOM XSS, SPA routing, and browser storage checks that are invisible from raw HTTP responses.
|
|
347
|
+
|
|
348
|
+
Scan history is stored locally at `~/.tblue/scans/`. Each run is compared against the previous one so you can see what improved and what regressed.
|
|
349
|
+
|
|
350
|
+
### Adding a scanner
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
1. Create tblue/scanner/your_scanner_name.py
|
|
354
|
+
2. Inherit from BaseScanner and implement scan(url) -> list
|
|
355
|
+
3. Return self._result(url, "check_type", "FAIL"|"WARN"|"PASS", detail="...") dicts
|
|
356
|
+
4. Add a gateway check so the scanner short-circuits when no relevant signals exist
|
|
357
|
+
5. Register it in tblue/cli.py — import it, add key to ALL_MODULES, add tuple to _SCANNER_REGISTRY
|
|
358
|
+
6. Write tests in tests/test_your_scanner_name.py
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the complete guide.
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## Requirements
|
|
366
|
+
|
|
367
|
+
- Python 3.10 or higher
|
|
368
|
+
- `pip install tblue` installs all required dependencies automatically
|
|
369
|
+
- Playwright is optional — only needed for `--browser` mode:
|
|
370
|
+
```bash
|
|
371
|
+
pip install playwright && playwright install
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## Use as an AI plugin (MCP)
|
|
377
|
+
|
|
378
|
+
Tblue includes a built-in MCP server so you can give your AI assistant blue-team scanning as a native tool. Once connected, you can ask your AI to scan a site, explain a finding, or focus on a specific category — it handles the rest.
|
|
379
|
+
|
|
380
|
+
### Connect to Claude Code
|
|
381
|
+
|
|
382
|
+
```bash
|
|
383
|
+
claude mcp add tblue -e PYTHONPATH=/path/to/tblue -- python3 -m tblue.mcp_server
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### Connect to Claude Desktop
|
|
387
|
+
|
|
388
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac):
|
|
389
|
+
|
|
390
|
+
```json
|
|
391
|
+
{
|
|
392
|
+
"mcpServers": {
|
|
393
|
+
"tblue": {
|
|
394
|
+
"command": "python3",
|
|
395
|
+
"args": ["-m", "tblue.mcp_server"],
|
|
396
|
+
"env": { "PYTHONPATH": "/path/to/tblue" }
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
### What the AI can do
|
|
403
|
+
|
|
404
|
+
Once connected, your AI has three tools:
|
|
405
|
+
|
|
406
|
+
**`scan`** — Run any or all scanners against a URL. Supports authentication, category filters, and module-level control. Returns severity-sorted findings with a grade, pass count, and diff against the previous scan.
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
"Scan my site for authentication weaknesses"
|
|
410
|
+
→ scan(url="https://yoursite.com", category="authentication")
|
|
411
|
+
|
|
412
|
+
"Full security audit with my session cookie"
|
|
413
|
+
→ scan(url="https://yoursite.com", auth_cookie="session=abc123")
|
|
414
|
+
|
|
415
|
+
"Check only JWT and CORS"
|
|
416
|
+
→ scan(url="https://yoursite.com", modules=["jwt", "cors"])
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
**`list_modules`** — List available scanner modules, optionally filtered by keyword or category.
|
|
420
|
+
|
|
421
|
+
```
|
|
422
|
+
"What JWT-related checks does Tblue have?"
|
|
423
|
+
→ list_modules(search="jwt")
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**`explain_module`** — Get a plain-language explanation of what a specific scanner checks, why it matters, and how to fix it.
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
"What does the CORS scanner actually check?"
|
|
430
|
+
→ explain_module(module_key="cors")
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### Scan categories
|
|
434
|
+
|
|
435
|
+
Pass any of these as `category` to run a focused scan:
|
|
436
|
+
|
|
437
|
+
`authentication` · `authorization` · `cors` · `csp` · `cookies` · `headers` · `tls` · `oauth` · `ssrf` · `secrets` · `api` · `graphql` · `supply_chain` · `cloud` · `dns` · `injection` · `csrf`
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Legal
|
|
442
|
+
|
|
443
|
+
Tblue is built for scanning websites you own or have explicit written permission to test. Running it against a site without authorization is illegal in most jurisdictions. The authors accept no liability for unauthorized use.
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## Disclaimer
|
|
448
|
+
|
|
449
|
+
Tblue is a passive scanner by default — it only reads what your site sends back and never modifies state, and that is enforced by a test rather than asserted. `--probe` adds 12 side-effect-free checks. `--active` adds 20 intrusive ones that submit authentication attempts, password-reset and registration requests, injection payloads and port scans; these can lock accounts out, email real users and trip WAFs, so only use them on targets you own or have explicit written permission to test.
|
|
450
|
+
|
|
451
|
+
It flags things that look wrong based on known security standards. It does not verify that a finding is exploitable in your specific configuration, and it cannot catch issues that are only visible behind authentication or under specific conditions.
|
|
452
|
+
|
|
453
|
+
Treat findings as a starting point for your security review, not a final verdict. Validate critical issues manually before reporting them as confirmed vulnerabilities.
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
## License
|
|
458
|
+
|
|
459
|
+
MIT — see [LICENSE](LICENSE)
|