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

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