zerov4 0.1.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.
- zerov4-0.1.0/LICENSE +201 -0
- zerov4-0.1.0/MANIFEST.in +2 -0
- zerov4-0.1.0/NOTICE +6 -0
- zerov4-0.1.0/PKG-INFO +327 -0
- zerov4-0.1.0/README.md +278 -0
- zerov4-0.1.0/pyproject.toml +59 -0
- zerov4-0.1.0/setup.cfg +4 -0
- zerov4-0.1.0/zerov4/__init__.py +93 -0
- zerov4-0.1.0/zerov4/agent.py +143 -0
- zerov4-0.1.0/zerov4/arx.py +341 -0
- zerov4-0.1.0/zerov4/auth.py +329 -0
- zerov4-0.1.0/zerov4/challenge.py +338 -0
- zerov4-0.1.0/zerov4/cli.py +688 -0
- zerov4-0.1.0/zerov4/config.py +290 -0
- zerov4-0.1.0/zerov4/feedback.py +263 -0
- zerov4-0.1.0/zerov4/firewall.py +487 -0
- zerov4-0.1.0/zerov4/middleware.py +524 -0
- zerov4-0.1.0/zerov4/panel.py +676 -0
- zerov4-0.1.0/zerov4/signatures/access_control_bypass.py +8 -0
- zerov4-0.1.0/zerov4/signatures/account_takeover.py +12 -0
- zerov4-0.1.0/zerov4/signatures/ad_asreproasting_vector.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_bloodhound_ingestor_scan.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_cert_template_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ad_constrained_delegation.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_dcsync_replication_abuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_dcsync_shadow_copy_exploit.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ad_golden_ticket_usage.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_gpo_malicious_update.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_kerberoasting_probe.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ad_ldap_unsigned_query.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ad_lsass_dump_process.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ad_ntlm_downgrade_force.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_pass_the_hash_behavior.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ad_printer_bug_rprn.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_remote_registry_abuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_sam_account_spoofing.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_shadow_credentials_attack.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_silver_ticket_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_smb_relay_anomaly.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ad_winrm_brute_force.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ad_wmi_persistence_query.py +11 -0
- zerov4-0.1.0/zerov4/signatures/admin_panel_discovery.py +12 -0
- zerov4-0.1.0/zerov4/signatures/admin_scan.py +4 -0
- zerov4-0.1.0/zerov4/signatures/ai_adversarial_patch_image.py +19 -0
- zerov4-0.1.0/zerov4/signatures/ai_bias_exploitation_flood.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ai_embedding_distance_clash.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ai_fine_tuning_hijack.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ai_hallucination_forcing.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ai_indirect_prompt_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ai_llm_agent_reentrancy.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ai_llm_side_channel_timing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ai_llm_sql_agent_bypass.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ai_membership_inference_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ai_model_extraction_api.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ai_model_inversion_face.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ai_neural_payload_stego.py +14 -0
- zerov4-0.1.0/zerov4/signatures/ai_onnx_model_deserialization.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ai_prompt_jailbreak_dan.py +12 -0
- zerov4-0.1.0/zerov4/signatures/ai_prompt_leaking_system.py +12 -0
- zerov4-0.1.0/zerov4/signatures/ai_rag_document_poisoning.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ai_token_decoder_manipulation.py +19 -0
- zerov4-0.1.0/zerov4/signatures/ai_training_data_backdoor.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ai_vector_db_shadow_indexing.py +15 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_api_versioning_probe.py +18 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_body_injection.py +14 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_burst_then_slow.py +20 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_connection_pattern.py +15 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_content_type_mismatch.py +19 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_credential_in_url.py +19 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_endpoint_discovery.py +19 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_extension_mismatch.py +22 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_first_seen_payload.py +30 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_header_count.py +13 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_json_depth.py +13 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_mixed_charset.py +16 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_multi_category_attack.py +5 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_never_seen_path.py +18 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_new_param_flood.py +17 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_null_origin.py +12 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_off_hours_access.py +14 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_oversized_param.py +15 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_param_name_entropy.py +13 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_payload_entropy.py +14 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_protocol_downgrade.py +13 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_rare_http_method.py +16 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_referer_chain.py +26 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_repeated_500.py +19 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_request_response_ratio.py +16 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_response_size.py +18 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_response_timing.py +12 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_scan_pattern.py +30 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_sequential_id_probe.py +24 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_suspicious_accept.py +20 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_ua_mismatch.py +20 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_unauthenticated_protected.py +17 -0
- zerov4-0.1.0/zerov4/signatures/anomaly_unknown_encoding.py +20 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_api_hashing_resolve.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_hardware_breakpoint.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_int3_instruction.py +15 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_isdebuggerpresent.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_isdebuggerpresent_x64.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_pe_header_corruption.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_process_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_ptrace_detection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_string_obfuscation.py +16 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_tls_callback_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_rev_unhandled_exception.py +12 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_cpu_core_count.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_delay_execution.py +16 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_device_driver_cl.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_disk_size_probe.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_domain_joined.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_mac_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_recent_files_chk.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_screen_resolution.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_temp_file_count.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_uptime_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/anti_sandbox_wmi_hardware_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/api_abuse.py +13 -0
- zerov4-0.1.0/zerov4/signatures/api_bola_uuid_brute.py +17 -0
- zerov4-0.1.0/zerov4/signatures/api_content_type_spoofing.py +18 -0
- zerov4-0.1.0/zerov4/signatures/api_enumeration.py +13 -0
- zerov4-0.1.0/zerov4/signatures/api_gateway_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/api_graphql_batch_overflow.py +17 -0
- zerov4-0.1.0/zerov4/signatures/api_graphql_recursion_depth.py +24 -0
- zerov4-0.1.0/zerov4/signatures/api_graphql_sub_exhaustion.py +14 -0
- zerov4-0.1.0/zerov4/signatures/api_grpc_json_transcoding_inj.py +17 -0
- zerov4-0.1.0/zerov4/signatures/api_hateoas_link_manipulation.py +17 -0
- zerov4-0.1.0/zerov4/signatures/api_json_bignum_injection.py +18 -0
- zerov4-0.1.0/zerov4/signatures/api_jwt_header_injection.py +20 -0
- zerov4-0.1.0/zerov4/signatures/api_jwt_jwks_url_injection.py +21 -0
- zerov4-0.1.0/zerov4/signatures/api_key_leakage.py +10 -0
- zerov4-0.1.0/zerov4/signatures/api_mass_assignment_nested.py +17 -0
- zerov4-0.1.0/zerov4/signatures/api_mass_scraping.py +17 -0
- zerov4-0.1.0/zerov4/signatures/api_oauth_token_leak_referrer.py +15 -0
- zerov4-0.1.0/zerov4/signatures/api_rate_limit_header_fuzzing.py +21 -0
- zerov4-0.1.0/zerov4/signatures/api_response_smuggling.py +19 -0
- zerov4-0.1.0/zerov4/signatures/api_shadow_endpoint_discovery.py +20 -0
- zerov4-0.1.0/zerov4/signatures/api_sse_stream_flood.py +14 -0
- zerov4-0.1.0/zerov4/signatures/api_unicode_param_confusion.py +19 -0
- zerov4-0.1.0/zerov4/signatures/api_version_abuse.py +14 -0
- zerov4-0.1.0/zerov4/signatures/api_web_webhook_reentrancy.py +16 -0
- zerov4-0.1.0/zerov4/signatures/api_xml_external_schema.py +10 -0
- zerov4-0.1.0/zerov4/signatures/app_layer_flood.py +10 -0
- zerov4-0.1.0/zerov4/signatures/arbitrary_file_read.py +8 -0
- zerov4-0.1.0/zerov4/signatures/arbitrary_file_write.py +8 -0
- zerov4-0.1.0/zerov4/signatures/arp_spoofing.py +9 -0
- zerov4-0.1.0/zerov4/signatures/asp_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/async_request_inconsistency.py +9 -0
- zerov4-0.1.0/zerov4/signatures/auth_bypass.py +8 -0
- zerov4-0.1.0/zerov4/signatures/auth_captcha_bypass.py +19 -0
- zerov4-0.1.0/zerov4/signatures/auth_jwt_eddsa_key_confusion.py +19 -0
- zerov4-0.1.0/zerov4/signatures/auth_kerberos_pac_validation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/auth_magic_link_enumeration.py +14 -0
- zerov4-0.1.0/zerov4/signatures/auth_multi_tenant_isolation_err.py +25 -0
- zerov4-0.1.0/zerov4/signatures/auth_oauth_token_exchange_err.py +11 -0
- zerov4-0.1.0/zerov4/signatures/auth_openid_claim_spoofing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/auth_saml_response_tampering.py +15 -0
- zerov4-0.1.0/zerov4/signatures/auth_scim_user_enumeration.py +15 -0
- zerov4-0.1.0/zerov4/signatures/auth_session_fixation_header.py +13 -0
- zerov4-0.1.0/zerov4/signatures/auth_webauthn_replay_vector.py +15 -0
- zerov4-0.1.0/zerov4/signatures/aws_metadata.py +9 -0
- zerov4-0.1.0/zerov4/signatures/backend_redis_lua_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/backup_file.py +8 -0
- zerov4-0.1.0/zerov4/signatures/banner_grabbing.py +8 -0
- zerov4-0.1.0/zerov4/signatures/base64_payload.py +17 -0
- zerov4-0.1.0/zerov4/signatures/baseline_content_type_profile.py +27 -0
- zerov4-0.1.0/zerov4/signatures/baseline_endpoint_profile.py +32 -0
- zerov4-0.1.0/zerov4/signatures/baseline_error_rate.py +29 -0
- zerov4-0.1.0/zerov4/signatures/baseline_hour_profile.py +28 -0
- zerov4-0.1.0/zerov4/signatures/baseline_ip_behavior_score.py +43 -0
- zerov4-0.1.0/zerov4/signatures/baseline_ip_cluster.py +29 -0
- zerov4-0.1.0/zerov4/signatures/baseline_method_profile.py +29 -0
- zerov4-0.1.0/zerov4/signatures/baseline_param_count.py +28 -0
- zerov4-0.1.0/zerov4/signatures/baseline_path_depth.py +33 -0
- zerov4-0.1.0/zerov4/signatures/baseline_payload_size.py +36 -0
- zerov4-0.1.0/zerov4/signatures/baseline_request_rate.py +33 -0
- zerov4-0.1.0/zerov4/signatures/baseline_request_size_trend.py +41 -0
- zerov4-0.1.0/zerov4/signatures/baseline_response_code_profile.py +37 -0
- zerov4-0.1.0/zerov4/signatures/baseline_session_duration.py +34 -0
- zerov4-0.1.0/zerov4/signatures/baseline_timing_consistency.py +34 -0
- zerov4-0.1.0/zerov4/signatures/baseline_ua_consistency.py +29 -0
- zerov4-0.1.0/zerov4/signatures/baseline_unique_endpoints.py +24 -0
- zerov4-0.1.0/zerov4/signatures/behavior_data_wipe_shred_cmd.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_destructive_mbr_wipe.py +12 -0
- zerov4-0.1.0/zerov4/signatures/behavior_fork_bomb_prevention.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_gtfobins_socat_reverse.py +12 -0
- zerov4-0.1.0/zerov4/signatures/behavior_lateral_psexec_premium.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_lolbas_certutil_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_lolbas_msiexec_network.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_process_hollowing_v2.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_ransomware_canary_die.py +11 -0
- zerov4-0.1.0/zerov4/signatures/behavior_ransomware_vss_wipe.py +13 -0
- zerov4-0.1.0/zerov4/signatures/behavior_security_svc_kill_cmd.py +12 -0
- zerov4-0.1.0/zerov4/signatures/bfla.py +13 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_airflow_dag_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_cassandra_dos_query.py +15 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_clickhouse_replica_dos.py +15 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_couchbase_api_priv_esc.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_druid_backdoor_exploit.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_elasticsearch_script.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_flink_cluster_takeover.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_flink_jobmanager_rce.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_hadoop_hdfs_unauth_wipe.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_hadoop_yarn_rce_vect.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_hive_metastore_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_kafka_topic_poisoning.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_kubernetes_etcd_wipe.py +12 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_minio_s3_exploit_vec.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_nifi_processor_rce.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_presto_sql_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_rabbitmq_queue_purge.py +15 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_redis_cluster_takeover.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_spark_command_inject.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_splunk_forwarder_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_superset_default_secret.py +11 -0
- zerov4-0.1.0/zerov4/signatures/bigdata_zookeeper_unauth_cmd.py +11 -0
- zerov4-0.1.0/zerov4/signatures/blind_sqli.py +8 -0
- zerov4-0.1.0/zerov4/signatures/blind_ssrf_dns.py +10 -0
- zerov4-0.1.0/zerov4/signatures/blind_ssrf_oob.py +14 -0
- zerov4-0.1.0/zerov4/signatures/blind_xxe.py +9 -0
- zerov4-0.1.0/zerov4/signatures/bola.py +27 -0
- zerov4-0.1.0/zerov4/signatures/bot_detection.py +5 -0
- zerov4-0.1.0/zerov4/signatures/botnet_activity.py +8 -0
- zerov4-0.1.0/zerov4/signatures/broken_crypto.py +10 -0
- zerov4-0.1.0/zerov4/signatures/broken_object_auth.py +18 -0
- zerov4-0.1.0/zerov4/signatures/browser_cache_poison.py +9 -0
- zerov4-0.1.0/zerov4/signatures/brute_force.py +5 -0
- zerov4-0.1.0/zerov4/signatures/business_logic.py +12 -0
- zerov4-0.1.0/zerov4/signatures/business_logic_coupon_race.py +15 -0
- zerov4-0.1.0/zerov4/signatures/business_logic_price.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cache_deception_encoded_path.py +18 -0
- zerov4-0.1.0/zerov4/signatures/cache_deception_path_mapping.py +18 -0
- zerov4-0.1.0/zerov4/signatures/cache_implementation_diff.py +24 -0
- zerov4-0.1.0/zerov4/signatures/cache_key_manipulation.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_cookie_unkeyed.py +19 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_fat_get.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_gzip_bomb.py +13 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_rtt_manipulation.py +15 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_scheme_mix.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_unkeyed.py +19 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_unkeyed_port.py +17 -0
- zerov4-0.1.0/zerov4/signatures/cache_poison_vary_header_mix.py +15 -0
- zerov4-0.1.0/zerov4/signatures/cache_poisoning.py +8 -0
- zerov4-0.1.0/zerov4/signatures/cache_purge_unauthorized.py +15 -0
- zerov4-0.1.0/zerov4/signatures/cache_splitting_crlf.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cache_timing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cert_pinning_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ci_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ci_pipeline_github_actions_psn.py +15 -0
- zerov4-0.1.0/zerov4/signatures/clickjacking.py +8 -0
- zerov4-0.1.0/zerov4/signatures/clickjacking_header.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_aws_cognito_enumeration.py +15 -0
- zerov4-0.1.0/zerov4/signatures/cloud_aws_iam_priv_esc.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_aws_lambda_container_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cloud_aws_s3_takeover.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cloud_azure_automation_runbook.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cloud_azure_imds_v2_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_azure_sas_token_leak.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cloud_cloudflared_tunnel_abuse.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cloud_firebase_database_leak.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_function_ssrf.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_gcp_metadata_flavor.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_iam_cross_account_sts.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cloud_instance_user_data_psn.py +13 -0
- zerov4-0.1.0/zerov4/signatures/cloud_kube_spoke_cluster_esc.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cloud_metadata_ssrf_gcp_token.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cloud_metadata_ssrf_openstack.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_metadata_ssrf_v2_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cloud_oracle_oci_metadata.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cloud_storage.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cloud_storage_signed_url_abuse.py +19 -0
- zerov4-0.1.0/zerov4/signatures/cmdi.py +8 -0
- zerov4-0.1.0/zerov4/signatures/config_exposure.py +8 -0
- zerov4-0.1.0/zerov4/signatures/connection_flood.py +10 -0
- zerov4-0.1.0/zerov4/signatures/container_cgroup_escape.py +10 -0
- zerov4-0.1.0/zerov4/signatures/container_symlink_traversal.py +10 -0
- zerov4-0.1.0/zerov4/signatures/content_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/content_spoofing.py +8 -0
- zerov4-0.1.0/zerov4/signatures/content_type_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cookie_poisoning.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cookie_stealing.py +8 -0
- zerov4-0.1.0/zerov4/signatures/cors_wildcard.py +15 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_arp_payload_inj.py +10 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_bgp_as_path_mut.py +10 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_dns_subdomain.py +18 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_http_whitespace.py +20 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_icmp_id_payload.py +12 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_imap_draft_sync.py +11 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_ipv6_flow_label.py +15 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_ntp_extension.py +11 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_sql_error_blind.py +13 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_tcp_timestamp.py +21 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_tcp_window_size.py +22 -0
- zerov4-0.1.0/zerov4/signatures/covert_channel_tls_session_id.py +14 -0
- zerov4-0.1.0/zerov4/signatures/crlf_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/crypto_cbc_padding_oracle_cbc.py +18 -0
- zerov4-0.1.0/zerov4/signatures/crypto_chacha20_nonce_reuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/crypto_ecdsa_nonce_reuse_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_fault_injection_ecdsa.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_homomorphic_eval_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_homomorphic_malleability.py +10 -0
- zerov4-0.1.0/zerov4/signatures/crypto_jwt_none_algorithm_leak.py +20 -0
- zerov4-0.1.0/zerov4/signatures/crypto_mceliece_public_key.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_md5_collision_signature.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_multi_party_comp_skew.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_rsa_fault_attack_crt.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_rsa_padding_oracle_blei.py +18 -0
- zerov4-0.1.0/zerov4/signatures/crypto_side_channel_em_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_tls_session_ticket_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/crypto_weak_dh_param_logjam.py +16 -0
- zerov4-0.1.0/zerov4/signatures/crypto_zero_knowledge_proof.py +11 -0
- zerov4-0.1.0/zerov4/signatures/csrf.py +5 -0
- zerov4-0.1.0/zerov4/signatures/css_exfil.py +10 -0
- zerov4-0.1.0/zerov4/signatures/css_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/csv_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_apache_log4j_dos.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cve_apache_path.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_citrix.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_confluence.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_drupalgeddon.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_elasticsearch.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_eternalblue.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_f5_bigip.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_fortinet.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_gitlab.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_heartbleed.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_ivanti.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_jenkins.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_log4j2.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cve_log4j_rce.py +13 -0
- zerov4-0.1.0/zerov4/signatures/cve_log4shell_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cve_mongodb.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_palo_alto.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_printnightmare.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_proxylogon.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_proxyshell.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_pwnkit.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_redis.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_spring4shell.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_struts.py +9 -0
- zerov4-0.1.0/zerov4/signatures/cve_text4shell.py +11 -0
- zerov4-0.1.0/zerov4/signatures/cve_vmware.py +10 -0
- zerov4-0.1.0/zerov4/signatures/cve_wordpress.py +14 -0
- zerov4-0.1.0/zerov4/signatures/cve_zerologon.py +9 -0
- zerov4-0.1.0/zerov4/signatures/dangerous_file_upload.py +10 -0
- zerov4-0.1.0/zerov4/signatures/db_cassandra_cql_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_clickhouse_query_fuzzing.py +15 -0
- zerov4-0.1.0/zerov4/signatures/db_couchdb_rce_priv_esc.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_db2_buffer_overflow_vector.py +15 -0
- zerov4-0.1.0/zerov4/signatures/db_dynamodb_scan_cost_dos.py +16 -0
- zerov4-0.1.0/zerov4/signatures/db_elasticsearch_mget_abuse.py +16 -0
- zerov4-0.1.0/zerov4/signatures/db_firebase_rules_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_graphql_sql_hybrid_inj.py +14 -0
- zerov4-0.1.0/zerov4/signatures/db_h2_console_rce_exploit.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_influxql_time_series_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_mariadb_maxscale_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_memcached_slab_allocation.py +14 -0
- zerov4-0.1.0/zerov4/signatures/db_mongodb_aggregate_leak.py +15 -0
- zerov4-0.1.0/zerov4/signatures/db_mssql_xp_cmdshell_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_neo4j_cypher_injection.py +12 -0
- zerov4-0.1.0/zerov4/signatures/db_oracle_utl_http_ssrf.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_postgres_lo_import_rce.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_redis_command_execution.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_sap_hana_sql_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/db_sqlite_at_attach_database.py +11 -0
- zerov4-0.1.0/zerov4/signatures/deep_link_abuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/deserialization.py +8 -0
- zerov4-0.1.0/zerov4/signatures/desync_attack_te.py +12 -0
- zerov4-0.1.0/zerov4/signatures/directory_listing.py +10 -0
- zerov4-0.1.0/zerov4/signatures/directory_scan.py +6 -0
- zerov4-0.1.0/zerov4/signatures/directory_traversal.py +8 -0
- zerov4-0.1.0/zerov4/signatures/dlp_cloud_credentials_env.py +18 -0
- zerov4-0.1.0/zerov4/signatures/dlp_credit_card_luhn_regex.py +29 -0
- zerov4-0.1.0/zerov4/signatures/dlp_database_dump_sql.py +11 -0
- zerov4-0.1.0/zerov4/signatures/dlp_dns_tunneling_iodine.py +15 -0
- zerov4-0.1.0/zerov4/signatures/dlp_excel_macro_vba_leak.py +12 -0
- zerov4-0.1.0/zerov4/signatures/dlp_git_folder_exfiltration.py +14 -0
- zerov4-0.1.0/zerov4/signatures/dlp_http_header_custom_leak.py +22 -0
- zerov4-0.1.0/zerov4/signatures/dlp_icmp_exfiltration_ping.py +10 -0
- zerov4-0.1.0/zerov4/signatures/dlp_jwt_secret_hardcoded.py +20 -0
- zerov4-0.1.0/zerov4/signatures/dlp_memory_dump_dmp.py +10 -0
- zerov4-0.1.0/zerov4/signatures/dlp_national_id_entropy.py +19 -0
- zerov4-0.1.0/zerov4/signatures/dlp_pcap_packet_dump_leak.py +10 -0
- zerov4-0.1.0/zerov4/signatures/dlp_private_key_pem_leak.py +14 -0
- zerov4-0.1.0/zerov4/signatures/dlp_shadow_it_api_post.py +19 -0
- zerov4-0.1.0/zerov4/signatures/dlp_slack_webhook_leak.py +15 -0
- zerov4-0.1.0/zerov4/signatures/dlp_source_code_leak_python.py +17 -0
- zerov4-0.1.0/zerov4/signatures/dlp_ssh_agent_forwarding_leak.py +10 -0
- zerov4-0.1.0/zerov4/signatures/dlp_steganography_image.py +16 -0
- zerov4-0.1.0/zerov4/signatures/dns_exfiltration.py +13 -0
- zerov4-0.1.0/zerov4/signatures/dns_rebinding.py +9 -0
- zerov4-0.1.0/zerov4/signatures/dns_rebinding_advanced.py +10 -0
- zerov4-0.1.0/zerov4/signatures/dns_zone_transfer.py +8 -0
- zerov4-0.1.0/zerov4/signatures/docker_api_rce_probe.py +10 -0
- zerov4-0.1.0/zerov4/signatures/docker_escape_procfs.py +10 -0
- zerov4-0.1.0/zerov4/signatures/docker_registry_v2_pull.py +14 -0
- zerov4-0.1.0/zerov4/signatures/docker_socket.py +11 -0
- zerov4-0.1.0/zerov4/signatures/docx_macro_xxe.py +14 -0
- zerov4-0.1.0/zerov4/signatures/dom_xss.py +8 -0
- zerov4-0.1.0/zerov4/signatures/double_encoding.py +8 -0
- zerov4-0.1.0/zerov4/signatures/ds_store_exposure.py +10 -0
- zerov4-0.1.0/zerov4/signatures/dynamic_api_hooking_detection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/email_harvesting.py +13 -0
- zerov4-0.1.0/zerov4/signatures/env_variable_leak.py +10 -0
- zerov4-0.1.0/zerov4/signatures/error_based_sqli.py +8 -0
- zerov4-0.1.0/zerov4/signatures/exif_metadata_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/exposed_debug.py +10 -0
- zerov4-0.1.0/zerov4/signatures/file_extension_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/file_read_linux.py +10 -0
- zerov4-0.1.0/zerov4/signatures/file_read_windows.py +10 -0
- zerov4-0.1.0/zerov4/signatures/file_upload_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/fingerprinting.py +8 -0
- zerov4-0.1.0/zerov4/signatures/firmware_intel_me_hijack.py +35 -0
- zerov4-0.1.0/zerov4/signatures/flask_debug_exploit.py +10 -0
- zerov4-0.1.0/zerov4/signatures/forced_browsing.py +12 -0
- zerov4-0.1.0/zerov4/signatures/forensic_alternate_data_stream.py +15 -0
- zerov4-0.1.0/zerov4/signatures/forensic_amsi_bypass_string.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_auditd_disable_probe.py +12 -0
- zerov4-0.1.0/zerov4/signatures/forensic_bash_history_bypass.py +15 -0
- zerov4-0.1.0/zerov4/signatures/forensic_clear_evt_logs.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_defender_exclusion_add.py +13 -0
- zerov4-0.1.0/zerov4/signatures/forensic_etw_provider_blocking.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_log_tampering_attempt.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_memory_dump_evasion.py +12 -0
- zerov4-0.1.0/zerov4/signatures/forensic_prefetch_clean_cmd.py +12 -0
- zerov4-0.1.0/zerov4/signatures/forensic_process_hollowing_vec.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_shadow_copy_deletion.py +13 -0
- zerov4-0.1.0/zerov4/signatures/forensic_shimcache_manipulation.py +10 -0
- zerov4-0.1.0/zerov4/signatures/forensic_sysmon_uninstallation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_timestomp_indicator.py +11 -0
- zerov4-0.1.0/zerov4/signatures/forensic_wer_registry_abuse.py +12 -0
- zerov4-0.1.0/zerov4/signatures/formula_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/git_exposure.py +10 -0
- zerov4-0.1.0/zerov4/signatures/google_dork.py +11 -0
- zerov4-0.1.0/zerov4/signatures/graphql_abuse.py +8 -0
- zerov4-0.1.0/zerov4/signatures/graphql_alias_abuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/graphql_batch.py +12 -0
- zerov4-0.1.0/zerov4/signatures/graphql_circular_fragment.py +13 -0
- zerov4-0.1.0/zerov4/signatures/graphql_depth.py +12 -0
- zerov4-0.1.0/zerov4/signatures/graphql_directive_injection.py +17 -0
- zerov4-0.1.0/zerov4/signatures/graphql_field_suggestion.py +16 -0
- zerov4-0.1.0/zerov4/signatures/graphql_field_suggestion_leak.py +13 -0
- zerov4-0.1.0/zerov4/signatures/graphql_introspection.py +23 -0
- zerov4-0.1.0/zerov4/signatures/graphql_introspection_bypass.py +18 -0
- zerov4-0.1.0/zerov4/signatures/graphql_mutation_abuse.py +13 -0
- zerov4-0.1.0/zerov4/signatures/graphql_query_cost_dos.py +17 -0
- zerov4-0.1.0/zerov4/signatures/grpc_fuzzing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/grpc_http2_rst_stream.py +14 -0
- zerov4-0.1.0/zerov4/signatures/grpc_metadata_injection.py +16 -0
- zerov4-0.1.0/zerov4/signatures/grpc_metadata_jwt_leak.py +23 -0
- zerov4-0.1.0/zerov4/signatures/grpc_proto_fuzzing_overflow.py +16 -0
- zerov4-0.1.0/zerov4/signatures/grpc_status_code_abuse.py +15 -0
- zerov4-0.1.0/zerov4/signatures/hardware_badusb_emulation.py +31 -0
- zerov4-0.1.0/zerov4/signatures/header_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/header_pollution.py +10 -0
- zerov4-0.1.0/zerov4/signatures/header_smuggling.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hex_encoded.py +8 -0
- zerov4-0.1.0/zerov4/signatures/homograph_attack.py +11 -0
- zerov4-0.1.0/zerov4/signatures/horizontal_priv_esc.py +16 -0
- zerov4-0.1.0/zerov4/signatures/hpack_qpack_bomb.py +15 -0
- zerov4-0.1.0/zerov4/signatures/html_entity_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/html_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/http2_abuse.py +12 -0
- zerov4-0.1.0/zerov4/signatures/http2_stream_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/http_desync.py +12 -0
- zerov4-0.1.0/zerov4/signatures/http_flood.py +10 -0
- zerov4-0.1.0/zerov4/signatures/http_flood_get.py +12 -0
- zerov4-0.1.0/zerov4/signatures/http_flood_post.py +12 -0
- zerov4-0.1.0/zerov4/signatures/http_host_header.py +14 -0
- zerov4-0.1.0/zerov4/signatures/http_method.py +8 -0
- zerov4-0.1.0/zerov4/signatures/http_method_override_body.py +10 -0
- zerov4-0.1.0/zerov4/signatures/http_param_pollution.py +8 -0
- zerov4-0.1.0/zerov4/signatures/http_parameter_override.py +9 -0
- zerov4-0.1.0/zerov4/signatures/http_pipeline_abuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/http_range_abuse.py +17 -0
- zerov4-0.1.0/zerov4/signatures/http_request_splitting.py +9 -0
- zerov4-0.1.0/zerov4/signatures/http_response_splitting.py +8 -0
- zerov4-0.1.0/zerov4/signatures/http_smuggling.py +9 -0
- zerov4-0.1.0/zerov4/signatures/http_smuggling_cl_cl_mismatch.py +12 -0
- zerov4-0.1.0/zerov4/signatures/http_smuggling_cl_te.py +9 -0
- zerov4-0.1.0/zerov4/signatures/http_smuggling_cl_te_delta.py +16 -0
- zerov4-0.1.0/zerov4/signatures/http_smuggling_te_cl_delta.py +15 -0
- zerov4-0.1.0/zerov4/signatures/http_smuggling_te_te.py +15 -0
- zerov4-0.1.0/zerov4/signatures/http_splitting.py +9 -0
- zerov4-0.1.0/zerov4/signatures/http_verb_tunneling.py +9 -0
- zerov4-0.1.0/zerov4/signatures/hw_baseband_gsm_exploit_vector.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_cold_boot_ram_dump_pattern.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_dirty_pipe_priv_esc_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_firmware_uefi_bootkit_core.py +12 -0
- zerov4-0.1.0/zerov4/signatures/hw_glitching_clock_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_gpu_vram_residual_data_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_hertzbleed_frequency_side.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_ilo_hp_directory_traversal.py +15 -0
- zerov4-0.1.0/zerov4/signatures/hw_ipmi_rmcp_cipher_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/hw_ipmi_sol_console_hijack.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_jtag_debugging_exposure.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_kvm_over_ip_session_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_meltdown_kernel_read_probe.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_pcie_dma_attack_vector.py +10 -0
- zerov4-0.1.0/zerov4/signatures/hw_plundervolt_voltage_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_power_analysis_spa_dpa.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_rfid_proxmark_cloning_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_rowhammer_bit_flip_vector.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_sgx_enclave_memory_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_sound_acoustic_key_leakage.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_spectre_branch_prediction.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_spectre_v4_speculative_store.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_tpm_bus_sniffing_indicator.py +11 -0
- zerov4-0.1.0/zerov4/signatures/hw_usb_rubber_ducky_keystroke.py +15 -0
- zerov4-0.1.0/zerov4/signatures/iframe_clickjacking.py +11 -0
- zerov4-0.1.0/zerov4/signatures/iframe_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/image_pixel_flood.py +19 -0
- zerov4-0.1.0/zerov4/signatures/image_pixel_flood_decompression.py +20 -0
- zerov4-0.1.0/zerov4/signatures/insecure_cors.py +9 -0
- zerov4-0.1.0/zerov4/signatures/insecure_redirect.py +9 -0
- zerov4-0.1.0/zerov4/signatures/integer_overflow.py +9 -0
- zerov4-0.1.0/zerov4/signatures/iot_adb_wireless_rce_vector.py +11 -0
- zerov4-0.1.0/zerov4/signatures/iot_coap_resource_exhaustion.py +14 -0
- zerov4-0.1.0/zerov4/signatures/iot_default_creds.py +9 -0
- zerov4-0.1.0/zerov4/signatures/iot_firmware_update_spoof.py +14 -0
- zerov4-0.1.0/zerov4/signatures/iot_mdns_location_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/iot_mqtt_wildcard_overflow.py +15 -0
- zerov4-0.1.0/zerov4/signatures/iot_rtsp_stream_hijacking.py +14 -0
- zerov4-0.1.0/zerov4/signatures/iot_upnp_port_forward_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/iot_zigbee_gateway_bridge.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ip_spoofing.py +10 -0
- zerov4-0.1.0/zerov4/signatures/java_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/javascript_prototype.py +10 -0
- zerov4-0.1.0/zerov4/signatures/js_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/js_prototype_chain.py +11 -0
- zerov4-0.1.0/zerov4/signatures/jwt_algorithm_confusion_hmac.py +21 -0
- zerov4-0.1.0/zerov4/signatures/jwt_compressed_header_dos.py +18 -0
- zerov4-0.1.0/zerov4/signatures/jwt_expiry_bypass.py +16 -0
- zerov4-0.1.0/zerov4/signatures/jwt_invalid_signature_accept.py +16 -0
- zerov4-0.1.0/zerov4/signatures/jwt_jti_replay_attack.py +24 -0
- zerov4-0.1.0/zerov4/signatures/jwt_jwks_injection.py +17 -0
- zerov4-0.1.0/zerov4/signatures/jwt_key_confusion.py +14 -0
- zerov4-0.1.0/zerov4/signatures/jwt_kid_path_traversal.py +22 -0
- zerov4-0.1.0/zerov4/signatures/jwt_none_algorithm.py +25 -0
- zerov4-0.1.0/zerov4/signatures/jwt_weak_rsa_key_detect.py +15 -0
- zerov4-0.1.0/zerov4/signatures/jwt_weak_secret_brute.py +14 -0
- zerov4-0.1.0/zerov4/signatures/jwt_x5u_url_injection.py +23 -0
- zerov4-0.1.0/zerov4/signatures/k8s_api_anonymous_probe.py +14 -0
- zerov4-0.1.0/zerov4/signatures/k8s_api_request_smuggling_core.py +11 -0
- zerov4-0.1.0/zerov4/signatures/k8s_dashboard_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/k8s_etcd_exposure_check.py +9 -0
- zerov4-0.1.0/zerov4/signatures/k8s_kubelet_rce_vector.py +10 -0
- zerov4-0.1.0/zerov4/signatures/k8s_pod_security_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/kernel_acpi_table_poisoning.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_cr4_register_bit_flip.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_dkom_process_hiding.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_dkom_token_priv_escalate.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_driver_signature_by.py +12 -0
- zerov4-0.1.0/zerov4/signatures/kernel_ebpf_malicious_program.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_ebpf_packet_drop_stealth.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_hal_modification_probe.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_idtr_register_sniffing.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_kprobes_hijacking_core.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_memory_corrupt_uaf.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_mpo_policy_tampering.py +12 -0
- zerov4-0.1.0/zerov4/signatures/kernel_msr_register_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_netfilter_hook_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_page_table_isolation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_proc_net_tcp_filter.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_rootkit_lkm_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_selinux_disable_vector.py +12 -0
- zerov4-0.1.0/zerov4/signatures/kernel_syscall_hooking_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/kernel_sysctl_runtime_poison.py +12 -0
- zerov4-0.1.0/zerov4/signatures/kernel_vfs_file_op_override.py +12 -0
- zerov4-0.1.0/zerov4/signatures/kernel_whea_error_injection.py +12 -0
- zerov4-0.1.0/zerov4/signatures/kotlin_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/kubernetes_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/latex_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ldap_blind.py +9 -0
- zerov4-0.1.0/zerov4/signatures/ldap_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/lfi.py +16 -0
- zerov4-0.1.0/zerov4/signatures/lfi_data_url.py +10 -0
- zerov4-0.1.0/zerov4/signatures/lfi_proc_self.py +11 -0
- zerov4-0.1.0/zerov4/signatures/lfi_wrapper.py +10 -0
- zerov4-0.1.0/zerov4/signatures/llm_data_elicit.py +12 -0
- zerov4-0.1.0/zerov4/signatures/llm_membership_inference.py +11 -0
- zerov4-0.1.0/zerov4/signatures/llm_prompt_smuggling_base64.py +20 -0
- zerov4-0.1.0/zerov4/signatures/log4j_jndi.py +23 -0
- zerov4-0.1.0/zerov4/signatures/log_disclosure.py +8 -0
- zerov4-0.1.0/zerov4/signatures/macro_malware.py +8 -0
- zerov4-0.1.0/zerov4/signatures/malware_upload.py +8 -0
- zerov4-0.1.0/zerov4/signatures/markdown_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/mass_assignment.py +8 -0
- zerov4-0.1.0/zerov4/signatures/mass_assignment_json.py +10 -0
- zerov4-0.1.0/zerov4/signatures/mass_data_exposure.py +12 -0
- zerov4-0.1.0/zerov4/signatures/mass_user_enumeration.py +17 -0
- zerov4-0.1.0/zerov4/signatures/memory_bof_format_string_v2.py +16 -0
- zerov4-0.1.0/zerov4/signatures/memory_corruption.py +14 -0
- zerov4-0.1.0/zerov4/signatures/memory_glibc_ptmalloc_corrupt.py +11 -0
- zerov4-0.1.0/zerov4/signatures/memory_heap_grooming_pattern.py +16 -0
- zerov4-0.1.0/zerov4/signatures/memory_heap_spray_shellcode_v2.py +15 -0
- zerov4-0.1.0/zerov4/signatures/memory_integer_underflow_calc.py +16 -0
- zerov4-0.1.0/zerov4/signatures/memory_jit_compiler_spray_by.py +11 -0
- zerov4-0.1.0/zerov4/signatures/memory_race_condition_at_open.py +11 -0
- zerov4-0.1.0/zerov4/signatures/memory_rop_chain_gadget_check.py +17 -0
- zerov4-0.1.0/zerov4/signatures/memory_seccomp_bpf_filter_by.py +11 -0
- zerov4-0.1.0/zerov4/signatures/memory_stack_pivot_indicator.py +12 -0
- zerov4-0.1.0/zerov4/signatures/memory_type_confusion_v8_eng.py +11 -0
- zerov4-0.1.0/zerov4/signatures/memory_uaf_browser_engine_exec.py +11 -0
- zerov4-0.1.0/zerov4/signatures/mime_sniffing.py +9 -0
- zerov4-0.1.0/zerov4/signatures/mobile_api_abuse.py +12 -0
- zerov4-0.1.0/zerov4/signatures/modern_yaml_deserialization_rce.py +18 -0
- zerov4-0.1.0/zerov4/signatures/mqtt_abuse.py +8 -0
- zerov4-0.1.0/zerov4/signatures/multipart_boundary_confusion.py +17 -0
- zerov4-0.1.0/zerov4/signatures/net_bacnet_device_scanning.py +14 -0
- zerov4-0.1.0/zerov4/signatures/net_bgp_route_flapping_sabotage.py +15 -0
- zerov4-0.1.0/zerov4/signatures/net_bgp_route_hijack_probe.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_cisco_smart_install_rce.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_citrix_adc_directory_trav.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_dhcp_starvation_attack.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_dns_amplification_vector.py +14 -0
- zerov4-0.1.0/zerov4/signatures/net_ethernet_ip_fuzzing.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_f5_bigip_icontrol_rce.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_fortinet_ssl_vpn_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_ipmi_cipher_zero_auth.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_juniper_jweb_rce_payload.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_modbus_rtu_disruption.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_netgear_prosafe_exploit.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_ntp_amplification_dos.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_ospf_lsa_poisoning.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_paloalto_panos_cmd_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_radware_ddos_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_s7comm_plc_stop_command.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_snmp_community_brute.py +14 -0
- zerov4-0.1.0/zerov4/signatures/net_ssdp_reflection_flood.py +14 -0
- zerov4-0.1.0/zerov4/signatures/net_ssh_libssh_auth_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/net_telnet_brute_force.py +9 -0
- zerov4-0.1.0/zerov4/signatures/net_upnp_soap_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/net_vnc_auth_bypass_exploit.py +15 -0
- zerov4-0.1.0/zerov4/signatures/nosql_array_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/nosql_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/nosql_js_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/nosql_mongodb_regex_leak.py +22 -0
- zerov4-0.1.0/zerov4/signatures/nosql_operator.py +9 -0
- zerov4-0.1.0/zerov4/signatures/nosql_timing_attack.py +9 -0
- zerov4-0.1.0/zerov4/signatures/null_byte.py +8 -0
- zerov4-0.1.0/zerov4/signatures/oauth_abuse.py +8 -0
- zerov4-0.1.0/zerov4/signatures/oauth_callback_bypass.py +19 -0
- zerov4-0.1.0/zerov4/signatures/oauth_device_code_phishing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/oauth_pkce_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/oauth_pkce_code_verifier_leak.py +19 -0
- zerov4-0.1.0/zerov4/signatures/oauth_reentrancy_flow.py +14 -0
- zerov4-0.1.0/zerov4/signatures/oauth_scope_escalation.py +20 -0
- zerov4-0.1.0/zerov4/signatures/oauth_ssrf_redirect_uri.py +15 -0
- zerov4-0.1.0/zerov4/signatures/oauth_state_flaw.py +15 -0
- zerov4-0.1.0/zerov4/signatures/oauth_state_hijacking.py +19 -0
- zerov4-0.1.0/zerov4/signatures/oauth_token_substitution.py +17 -0
- zerov4-0.1.0/zerov4/signatures/octal_encoding.py +13 -0
- zerov4-0.1.0/zerov4/signatures/oob_extraction.py +9 -0
- zerov4-0.1.0/zerov4/signatures/open_api_fuzzing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/open_api_parameter_fuzzing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/open_redirect.py +8 -0
- zerov4-0.1.0/zerov4/signatures/open_redirect_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/orm_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/os_cmdi.py +8 -0
- zerov4-0.1.0/zerov4/signatures/padding_oracle.py +13 -0
- zerov4-0.1.0/zerov4/signatures/parameter_pollution.py +8 -0
- zerov4-0.1.0/zerov4/signatures/parameter_pollution_json.py +12 -0
- zerov4-0.1.0/zerov4/signatures/parameter_tampering.py +8 -0
- zerov4-0.1.0/zerov4/signatures/path_normalization.py +9 -0
- zerov4-0.1.0/zerov4/signatures/path_parameter_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/path_traversal.py +17 -0
- zerov4-0.1.0/zerov4/signatures/path_traversal_encoded.py +10 -0
- zerov4-0.1.0/zerov4/signatures/pdf_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/pdf_js_execution.py +14 -0
- zerov4-0.1.0/zerov4/signatures/pdf_js_internal_network_exfil.py +14 -0
- zerov4-0.1.0/zerov4/signatures/perl_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/phishing_url.py +10 -0
- zerov4-0.1.0/zerov4/signatures/php_deserialization.py +10 -0
- zerov4-0.1.0/zerov4/signatures/php_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/port_scanning.py +18 -0
- zerov4-0.1.0/zerov4/signatures/pqc_crystals_dilithium_leak.py +10 -0
- zerov4-0.1.0/zerov4/signatures/pqc_dilithium_sign_forge.py +11 -0
- zerov4-0.1.0/zerov4/signatures/pqc_kyber_key_confusion.py +10 -0
- zerov4-0.1.0/zerov4/signatures/pqc_sphincs_hash_exhaustion.py +15 -0
- zerov4-0.1.0/zerov4/signatures/pretexting.py +10 -0
- zerov4-0.1.0/zerov4/signatures/privilege_escalation.py +8 -0
- zerov4-0.1.0/zerov4/signatures/prompt_injection_indirect.py +12 -0
- zerov4-0.1.0/zerov4/signatures/prompt_smuggling_encoded.py +18 -0
- zerov4-0.1.0/zerov4/signatures/prototype_pollution.py +8 -0
- zerov4-0.1.0/zerov4/signatures/prototype_pollution_json.py +10 -0
- zerov4-0.1.0/zerov4/signatures/proxy_auth_header_stripping.py +20 -0
- zerov4-0.1.0/zerov4/signatures/proxy_grpc_web_tunnel_bypass.py +18 -0
- zerov4-0.1.0/zerov4/signatures/proxy_http_version_confusion.py +20 -0
- zerov4-0.1.0/zerov4/signatures/proxy_internal_rewrite_abuse.py +17 -0
- zerov4-0.1.0/zerov4/signatures/proxy_request_smuggling_h2c.py +15 -0
- zerov4-0.1.0/zerov4/signatures/proxy_reverse_ssrf_hop.py +20 -0
- zerov4-0.1.0/zerov4/signatures/proxy_via_header_loop.py +17 -0
- zerov4-0.1.0/zerov4/signatures/proxy_websocket_tunnel_smuggle.py +16 -0
- zerov4-0.1.0/zerov4/signatures/proxy_x_forwarded_host_abuse.py +19 -0
- zerov4-0.1.0/zerov4/signatures/python_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/qr_phishing.py +9 -0
- zerov4-0.1.0/zerov4/signatures/rag_poisoning.py +17 -0
- zerov4-0.1.0/zerov4/signatures/rag_vector_db_poisoning.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ransomware_activity.py +8 -0
- zerov4-0.1.0/zerov4/signatures/rate_abuse.py +10 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_accept_header.py +17 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_case_variation.py +19 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_cookie_rotation.py +17 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_encoding.py +15 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_fragment.py +13 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_header_spoof.py +19 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_ip_rotate.py +20 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_method_switch.py +18 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_null_byte.py +13 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_param_padding.py +14 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_path_variation.py +22 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_timing.py +18 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_trailing_slash.py +16 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_user_agent.py +19 -0
- zerov4-0.1.0/zerov4/signatures/rate_bypass_xff.py +18 -0
- zerov4-0.1.0/zerov4/signatures/rate_limit_bypass.py +12 -0
- zerov4-0.1.0/zerov4/signatures/rce_deserialization.py +10 -0
- zerov4-0.1.0/zerov4/signatures/rce_via_upload.py +10 -0
- zerov4-0.1.0/zerov4/signatures/redos.py +8 -0
- zerov4-0.1.0/zerov4/signatures/reflected_xss.py +8 -0
- zerov4-0.1.0/zerov4/signatures/regex_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/request_desync.py +9 -0
- zerov4-0.1.0/zerov4/signatures/request_smuggling_te_cl.py +10 -0
- zerov4-0.1.0/zerov4/signatures/resource_exhaustion.py +10 -0
- zerov4-0.1.0/zerov4/signatures/rest_error_stack_elicitation.py +21 -0
- zerov4-0.1.0/zerov4/signatures/rest_fuzzing.py +14 -0
- zerov4-0.1.0/zerov4/signatures/reverse_proxy_bypass.py +19 -0
- zerov4-0.1.0/zerov4/signatures/rfi_include.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ruby_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/s3_enumeration.py +9 -0
- zerov4-0.1.0/zerov4/signatures/saml_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/scada_dnp3_object_exhaustion.py +15 -0
- zerov4-0.1.0/zerov4/signatures/scada_ethercat_frame_inject.py +11 -0
- zerov4-0.1.0/zerov4/signatures/scada_iec_104_apci_malformation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/scada_iec_104_command_spoof.py +11 -0
- zerov4-0.1.0/zerov4/signatures/scada_modbus_function_code_mask.py +16 -0
- zerov4-0.1.0/zerov4/signatures/scada_modbus_point_override.py +11 -0
- zerov4-0.1.0/zerov4/signatures/scada_opc_ua_session_hijack.py +11 -0
- zerov4-0.1.0/zerov4/signatures/scada_profinet_dcp_set_ip.py +12 -0
- zerov4-0.1.0/zerov4/signatures/scanner.py +8 -0
- zerov4-0.1.0/zerov4/signatures/secure_header_stripping.py +17 -0
- zerov4-0.1.0/zerov4/signatures/sensitive_files.py +8 -0
- zerov4-0.1.0/zerov4/signatures/server_side_js_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/server_side_proto_pollution.py +10 -0
- zerov4-0.1.0/zerov4/signatures/server_side_redirect.py +9 -0
- zerov4-0.1.0/zerov4/signatures/server_timing_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/serverless_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/serverless_lambda_timeout_dos.py +15 -0
- zerov4-0.1.0/zerov4/signatures/service_enumeration.py +8 -0
- zerov4-0.1.0/zerov4/signatures/session_concurrency_abuse.py +19 -0
- zerov4-0.1.0/zerov4/signatures/session_cookie_samesite_bypass.py +13 -0
- zerov4-0.1.0/zerov4/signatures/session_fixation.py +12 -0
- zerov4-0.1.0/zerov4/signatures/session_fixation_multidomain.py +20 -0
- zerov4-0.1.0/zerov4/signatures/session_hijacking.py +8 -0
- zerov4-0.1.0/zerov4/signatures/session_hijacking_anomaly.py +28 -0
- zerov4-0.1.0/zerov4/signatures/session_prediction.py +12 -0
- zerov4-0.1.0/zerov4/signatures/session_puzzling.py +13 -0
- zerov4-0.1.0/zerov4/signatures/session_termination_bypass.py +20 -0
- zerov4-0.1.0/zerov4/signatures/shellshock_abuse.py +21 -0
- zerov4-0.1.0/zerov4/signatures/slow_read.py +12 -0
- zerov4-0.1.0/zerov4/signatures/slowloris.py +12 -0
- zerov4-0.1.0/zerov4/signatures/soap_injection.py +9 -0
- zerov4-0.1.0/zerov4/signatures/source_code_disclosure.py +8 -0
- zerov4-0.1.0/zerov4/signatures/spring_actuator_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/spyware_activity.py +8 -0
- zerov4-0.1.0/zerov4/signatures/sql_comment_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/sql_hex_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/sql_truncation.py +12 -0
- zerov4-0.1.0/zerov4/signatures/sqli.py +8 -0
- zerov4-0.1.0/zerov4/signatures/sqli_boolean_blind.py +10 -0
- zerov4-0.1.0/zerov4/signatures/sqli_error_verbose.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sqli_heavy_query.py +9 -0
- zerov4-0.1.0/zerov4/signatures/sqli_into_outfile.py +10 -0
- zerov4-0.1.0/zerov4/signatures/sqli_out_of_band.py +9 -0
- zerov4-0.1.0/zerov4/signatures/sqli_second_order.py +9 -0
- zerov4-0.1.0/zerov4/signatures/sqli_stacked.py +8 -0
- zerov4-0.1.0/zerov4/signatures/sqli_whitespace_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ssi_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/ssl_attack.py +9 -0
- zerov4-0.1.0/zerov4/signatures/ssrf.py +17 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_aws_imds.py +12 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_cloud_metadata.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_dict.py +9 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_gopher.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_internal_port_scan.py +19 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_pdf_generator.py +17 -0
- zerov4-0.1.0/zerov4/signatures/ssrf_redirect.py +9 -0
- zerov4-0.1.0/zerov4/signatures/ssti.py +8 -0
- zerov4-0.1.0/zerov4/signatures/ssti_handlebars_advanced.py +15 -0
- zerov4-0.1.0/zerov4/signatures/ssti_jinja2.py +11 -0
- zerov4-0.1.0/zerov4/signatures/ssti_mako.py +10 -0
- zerov4-0.1.0/zerov4/signatures/ssti_velocity.py +10 -0
- zerov4-0.1.0/zerov4/signatures/stored_xss.py +8 -0
- zerov4-0.1.0/zerov4/signatures/subdomain_brute.py +11 -0
- zerov4-0.1.0/zerov4/signatures/subdomain_enumeration.py +14 -0
- zerov4-0.1.0/zerov4/signatures/subdomain_takeover.py +6 -0
- zerov4-0.1.0/zerov4/signatures/supply_artifactory_token_leak.py +15 -0
- zerov4-0.1.0/zerov4/signatures/supply_aws_ami_backdoor_scan.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_chain.py +8 -0
- zerov4-0.1.0/zerov4/signatures/supply_chain_dependency_conf.py +18 -0
- zerov4-0.1.0/zerov4/signatures/supply_codecov_uploader_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_composer_packagist_hijack.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_dependency_confusion_ex.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_docker_base_image_back.py +15 -0
- zerov4-0.1.0/zerov4/signatures/supply_git_commit_signing_forge.py +12 -0
- zerov4-0.1.0/zerov4/signatures/supply_github_action_script_inj.py +12 -0
- zerov4-0.1.0/zerov4/signatures/supply_github_pages_takeover.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_gitlab_runner_rce_vector.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_jenkins_script_console.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_kube_helm_chart_exploit.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_malicious_gh_action_oidc.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_malicious_makefile_macro.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_malicious_vscode_ext.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_maven_pom_xml_repository.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_pre_commit_hook_poison.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_protestware_payload.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_solarwinds_sunburst_vec.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_terraform_provider_fake.py +11 -0
- zerov4-0.1.0/zerov4/signatures/supply_typosquatting_crates_io.py +20 -0
- zerov4-0.1.0/zerov4/signatures/supply_typosquatting_npm_pypi.py +20 -0
- zerov4-0.1.0/zerov4/signatures/svn_exposure.py +10 -0
- zerov4-0.1.0/zerov4/signatures/sys_applocker_bypass_install.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_cron_tab_hidden_whitespace.py +15 -0
- zerov4-0.1.0/zerov4/signatures/sys_gdi_font_parsing_engine.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_glibc_tunables_buffer_ov.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_pam_backdoor_module_check.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_polkit_local_priv_esc_cve.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_polkit_pkexec_cve_2021_356.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_proc_self_mem_write_abuse.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_sudo_edit_file_priv_esc.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_systemd_notify_socket_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_udev_hotplug_priv_esc_vec.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_windows_com_hijacking_vec.py +11 -0
- zerov4-0.1.0/zerov4/signatures/sys_wmi_event_consumer_persist.py +12 -0
- zerov4-0.1.0/zerov4/signatures/technology_detection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/telecom_5g_ausf_vector_spoof.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_5g_http2_sbi_poisoning.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_5g_pfcp_session_leak.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_5g_smf_pdu_session_dos.py +15 -0
- zerov4-0.1.0/zerov4/signatures/telecom_asn1_per_decoding_bomb.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_bcap_protocol_fuzzing.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_diameter_subscriber_an.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_eap_sim_imsi_catching.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_gtp_tunnel_injection.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_gtp_u_extension_hdr.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_h323_voip_buffer_over.py +16 -0
- zerov4-0.1.0/zerov4/signatures/telecom_ims_aka_auth_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_nas_security_header_by.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_radius_coa_packet_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_ran_rrc_reconfig_spoof.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_sctp_chunk_malformation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_sip_invite_flood_dos.py +15 -0
- zerov4-0.1.0/zerov4/signatures/telecom_smpp_pdu_fuzzing.py +15 -0
- zerov4-0.1.0/zerov4/signatures/telecom_ss7_isup_call_drop_dos.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_ss7_location_tracking.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_tr069_cwmp_rce_vector.py +11 -0
- zerov4-0.1.0/zerov4/signatures/telecom_vlr_subscriber_purge.py +11 -0
- zerov4-0.1.0/zerov4/signatures/template_freemarker.py +9 -0
- zerov4-0.1.0/zerov4/signatures/template_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/template_injection_erb.py +10 -0
- zerov4-0.1.0/zerov4/signatures/template_twig.py +10 -0
- zerov4-0.1.0/zerov4/signatures/time_based_sqli.py +8 -0
- zerov4-0.1.0/zerov4/signatures/token_manipulation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/toml_injection.py +14 -0
- zerov4-0.1.0/zerov4/signatures/trojan_activity.py +8 -0
- zerov4-0.1.0/zerov4/signatures/typosquatting.py +15 -0
- zerov4-0.1.0/zerov4/signatures/unicode_bypass.py +8 -0
- zerov4-0.1.0/zerov4/signatures/unicode_normalization.py +9 -0
- zerov4-0.1.0/zerov4/signatures/unicode_right_to_left.py +9 -0
- zerov4-0.1.0/zerov4/signatures/unicode_right_to_left_override.py +11 -0
- zerov4-0.1.0/zerov4/signatures/union_sqli.py +8 -0
- zerov4-0.1.0/zerov4/signatures/unsafe_deserialization_java.py +11 -0
- zerov4-0.1.0/zerov4/signatures/user_enumeration.py +12 -0
- zerov4-0.1.0/zerov4/signatures/vertical_priv_esc.py +8 -0
- zerov4-0.1.0/zerov4/signatures/vlan_hopping.py +9 -0
- zerov4-0.1.0/zerov4/signatures/vm_escape_hyperv_vmbus_overflow.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_escape_kvm_io_ioctl.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_escape_qemu_slirp_rce_vector.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_escape_qemu_virtio_net.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_escape_vmware_vfd_overflow.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_escape_xen_grant_table.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_nested_virtualization_err.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vm_side_channel_cache_warp.py +11 -0
- zerov4-0.1.0/zerov4/signatures/vulnerability_scanning.py +8 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_asp_url_unicode.py +15 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_base64_padding_conf.py +18 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_double_url_encode.py +14 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_html_numeric_entity.py +15 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_http_chunked_split.py +18 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_http_param_cloning.py +14 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_invalid_hex_sequence.py +13 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_javascript_obfuscate.py +16 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_json_char_encoding.py +15 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_mixed_case_polyglot.py +15 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_multipart.py +11 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_multipart_boundary.py +14 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_nested_tags.py +16 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_null_byte_string.py +13 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_sql_hex_concat.py +15 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_sql_inline_comment.py +14 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_unicode_homograph.py +20 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_user_agent_spoof.py +20 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_utf8_overlong.py +10 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_whitespace_tab.py +16 -0
- zerov4-0.1.0/zerov4/signatures/waf_bypass_xml_cdata_escape.py +10 -0
- zerov4-0.1.0/zerov4/signatures/warfare_gps_spoofing_indicator.py +12 -0
- zerov4-0.1.0/zerov4/signatures/warfare_maritime_ais_spoofing.py +11 -0
- zerov4-0.1.0/zerov4/signatures/warfare_satcom_protocol_fuzz.py +11 -0
- zerov4-0.1.0/zerov4/signatures/warfare_satcom_terminal_disable.py +11 -0
- zerov4-0.1.0/zerov4/signatures/warfare_tactical_datalink_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/wayback_abuse.py +8 -0
- zerov4-0.1.0/zerov4/signatures/weak_jwt.py +11 -0
- zerov4-0.1.0/zerov4/signatures/weak_password.py +9 -0
- zerov4-0.1.0/zerov4/signatures/web3_access_control_owner.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_bridge_cross_chain_fake.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_delegatecall_context_inj.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_erc20_approve_race_cond.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web3_flash_loan_price_dump.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_front_running_mempool.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_gas_limit_exhaustion_dos.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web3_integer_overflow_uint256.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web3_multisig_threshold_bypass.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_nft_airdrop_mint_flood.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web3_oracle_data_feed_poison.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_rpc_node_fuzzing.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web3_selfdestruct_drain.py +10 -0
- zerov4-0.1.0/zerov4/signatures/web3_shadow_variable_override.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_signature_replay_attack.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_smart_contract_reentrancy.py +10 -0
- zerov4-0.1.0/zerov4/signatures/web3_solidity_compiler_bug.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_tx_origin_phishing.py +10 -0
- zerov4-0.1.0/zerov4/signatures/web3_upgradeable_proxy_poison.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web3_vanity_address_collision.py +19 -0
- zerov4-0.1.0/zerov4/signatures/web3_weak_randomness_block.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web_cache_deception.py +8 -0
- zerov4-0.1.0/zerov4/signatures/web_cache_deception_static.py +18 -0
- zerov4-0.1.0/zerov4/signatures/web_cache_poisoning_fat_get.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web_client_side_desync_attack.py +16 -0
- zerov4-0.1.0/zerov4/signatures/web_cookie_tld_poisoning.py +13 -0
- zerov4-0.1.0/zerov4/signatures/web_cors_null_origin_bypass.py +14 -0
- zerov4-0.1.0/zerov4/signatures/web_cross_site_leaks_xs_leaks.py +19 -0
- zerov4-0.1.0/zerov4/signatures/web_csp_bypass_gadgets.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web_form_action_hijacking.py +16 -0
- zerov4-0.1.0/zerov4/signatures/web_graphql_alias_overload.py +18 -0
- zerov4-0.1.0/zerov4/signatures/web_hpack_decompression_bomb.py +15 -0
- zerov4-0.1.0/zerov4/signatures/web_http2_stream_multiplex_dos.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web_http_cleartext_h2c_smuggle.py +11 -0
- zerov4-0.1.0/zerov4/signatures/web_http_header_smuggling_cllf.py +10 -0
- zerov4-0.1.0/zerov4/signatures/web_http_keep_alive_timeout_dos.py +16 -0
- zerov4-0.1.0/zerov4/signatures/web_http_parameter_cloning_post.py +13 -0
- zerov4-0.1.0/zerov4/signatures/web_json_key_collision_parse.py +12 -0
- zerov4-0.1.0/zerov4/signatures/web_json_rpc_batch_exhaustion.py +17 -0
- zerov4-0.1.0/zerov4/signatures/web_sec_ch_ua_fingerprint_evas.py +25 -0
- zerov4-0.1.0/zerov4/signatures/web_server_side_prototype_poll.py +12 -0
- zerov4-0.1.0/zerov4/signatures/web_shibboleth_saml_attributes.py +13 -0
- zerov4-0.1.0/zerov4/signatures/web_signed_exchange_sxg_spoof.py +12 -0
- zerov4-0.1.0/zerov4/signatures/web_tabnabbing_target_blank.py +14 -0
- zerov4-0.1.0/zerov4/signatures/web_websocket_smuggling_upgrade.py +14 -0
- zerov4-0.1.0/zerov4/signatures/webshell_upload.py +8 -0
- zerov4-0.1.0/zerov4/signatures/websocket_abuse.py +13 -0
- zerov4-0.1.0/zerov4/signatures/websocket_deflate_abuse.py +15 -0
- zerov4-0.1.0/zerov4/signatures/websocket_hijack.py +16 -0
- zerov4-0.1.0/zerov4/signatures/websocket_per_msg_deflate_bomb.py +14 -0
- zerov4-0.1.0/zerov4/signatures/workflow_manipulation.py +8 -0
- zerov4-0.1.0/zerov4/signatures/worm_propagation.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xml_injection.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xpath_advanced.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xpath_blind.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xpath_error_based.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xpath_injection.py +8 -0
- zerov4-0.1.0/zerov4/signatures/xss.py +18 -0
- zerov4-0.1.0/zerov4/signatures/xss_angular.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xss_base64_payload.py +19 -0
- zerov4-0.1.0/zerov4/signatures/xss_dom_clobbering.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xss_event_handler.py +12 -0
- zerov4-0.1.0/zerov4/signatures/xss_filter_evasion.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xss_href_bypass.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xss_mutation.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xss_on_error.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xss_polyglot.py +10 -0
- zerov4-0.1.0/zerov4/signatures/xss_react.py +9 -0
- zerov4-0.1.0/zerov4/signatures/xss_srcdoc.py +9 -0
- zerov4-0.1.0/zerov4/signatures/xss_via_upload.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xss_vue.py +9 -0
- zerov4-0.1.0/zerov4/signatures/xxe_billion_laughs.py +12 -0
- zerov4-0.1.0/zerov4/signatures/xxe_blind_dtd.py +11 -0
- zerov4-0.1.0/zerov4/signatures/xxe_svg.py +14 -0
- zerov4-0.1.0/zerov4/signatures/xxe_via_json.py +11 -0
- zerov4-0.1.0/zerov4/signatures/yaml_deserialization.py +11 -0
- zerov4-0.1.0/zerov4/signatures/zero_v4_ultimate_seal.py +48 -0
- zerov4-0.1.0/zerov4/signatures/zip_bomb.py +9 -0
- zerov4-0.1.0/zerov4/signatures/zip_bomb_multi_layer.py +16 -0
- zerov4-0.1.0/zerov4/signatures/zip_file_traversal.py +14 -0
- zerov4-0.1.0/zerov4/signatures/zip_slip.py +9 -0
- zerov4-0.1.0/zerov4/state.py +354 -0
- zerov4-0.1.0/zerov4/store.py +406 -0
- zerov4-0.1.0/zerov4/utils.py +621 -0
- zerov4-0.1.0/zerov4.egg-info/PKG-INFO +327 -0
- zerov4-0.1.0/zerov4.egg-info/SOURCES.txt +1004 -0
- zerov4-0.1.0/zerov4.egg-info/dependency_links.txt +1 -0
- zerov4-0.1.0/zerov4.egg-info/entry_points.txt +2 -0
- zerov4-0.1.0/zerov4.egg-info/requires.txt +29 -0
- zerov4-0.1.0/zerov4.egg-info/top_level.txt +1 -0
zerov4-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright 2026 Barış (BRSX-Labs)
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
zerov4-0.1.0/MANIFEST.in
ADDED
zerov4-0.1.0/NOTICE
ADDED
zerov4-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: zerov4
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Request-level protection for WSGI applications: signatures, rate limiting, honeypots, IP reputation and a bot challenge, inspected before your app sees the request.
|
|
5
|
+
Author: Barış
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/brsx-labs/zerov4
|
|
8
|
+
Project-URL: Issues, https://github.com/brsx-labs/zerov4/issues
|
|
9
|
+
Keywords: security,waf,firewall,wsgi,flask,rate-limiting,bot-detection,honeypot,intrusion-detection
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Environment :: Web Environment
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: System Administrators
|
|
14
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
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 :: Internet :: WWW/HTTP :: WSGI :: Middleware
|
|
23
|
+
Classifier: Topic :: Security
|
|
24
|
+
Classifier: Topic :: System :: Networking :: Firewalls
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
License-File: NOTICE
|
|
29
|
+
Requires-Dist: werkzeug>=2.0
|
|
30
|
+
Provides-Extra: redis
|
|
31
|
+
Requires-Dist: redis>=4.0; extra == "redis"
|
|
32
|
+
Provides-Extra: geoip
|
|
33
|
+
Requires-Dist: geoip2>=4.0; extra == "geoip"
|
|
34
|
+
Provides-Extra: prod
|
|
35
|
+
Requires-Dist: waitress>=2.0; extra == "prod"
|
|
36
|
+
Provides-Extra: toml
|
|
37
|
+
Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "toml"
|
|
38
|
+
Provides-Extra: all
|
|
39
|
+
Requires-Dist: redis>=4.0; extra == "all"
|
|
40
|
+
Requires-Dist: geoip2>=4.0; extra == "all"
|
|
41
|
+
Requires-Dist: waitress>=2.0; extra == "all"
|
|
42
|
+
Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "all"
|
|
43
|
+
Provides-Extra: dev
|
|
44
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
45
|
+
Requires-Dist: flask>=2.0; extra == "dev"
|
|
46
|
+
Requires-Dist: build; extra == "dev"
|
|
47
|
+
Requires-Dist: twine; extra == "dev"
|
|
48
|
+
Dynamic: license-file
|
|
49
|
+
|
|
50
|
+
# ZeroV4
|
|
51
|
+
|
|
52
|
+
Request-level protection for WSGI applications. Signatures, rate limiting, honeypots, IP reputation, and a bot challenge — all applied **before** your app sees the request.
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from zerov4 import arx
|
|
56
|
+
from myapp import app
|
|
57
|
+
|
|
58
|
+
arx.run(app)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
That's it. ZeroV4 asks for a port, a debug flag and a protection level, then serves your app with every request inspected first.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Install
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install zerov4
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Optional extras:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
pip install zerov4[redis] # Redis-backed storage
|
|
75
|
+
pip install zerov4[geoip] # country lookup for blocked IPs
|
|
76
|
+
pip install zerov4[prod] # waitress, for serving in production
|
|
77
|
+
pip install zerov4[all]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Core dependency: `werkzeug`. That's the whole list. A security package that pulls in half of PyPI has a larger attack surface than the attacks it stops.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Usage
|
|
85
|
+
|
|
86
|
+
### The quick way
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
from zerov4 import arx
|
|
90
|
+
from myapp import app
|
|
91
|
+
|
|
92
|
+
arx.run(app) # menu, then serve
|
|
93
|
+
arx.run(app, port=8080) # port answered, so not asked
|
|
94
|
+
arx.run("myapp:app") # import it by name
|
|
95
|
+
arx.run(interactive=False) # no questions at all
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Under gunicorn
|
|
99
|
+
|
|
100
|
+
`run()` serves the app itself. If gunicorn/uwsgi is doing that, wrap instead:
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
# wsgi.py
|
|
104
|
+
from zerov4 import arx
|
|
105
|
+
from myapp import app
|
|
106
|
+
|
|
107
|
+
application = arx.wrap(app)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
gunicorn wsgi:application -w 4
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### As middleware
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
from flask import Flask
|
|
118
|
+
from zerov4 import ZeroGuard, make_config
|
|
119
|
+
|
|
120
|
+
app = Flask(__name__)
|
|
121
|
+
app.wsgi_app = ZeroGuard(app.wsgi_app, cfg=make_config("balanced"))
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
It's plain WSGI, so Django, Bottle, Pyramid and anything else that speaks the protocol work the same way.
|
|
125
|
+
|
|
126
|
+
### From the shell
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
zerov4 init # configure interactively, write zerov4.toml
|
|
130
|
+
zerov4 run myapp:app # serve
|
|
131
|
+
zerov4 status # what the firewall knows
|
|
132
|
+
zerov4 unblock 1.2.3.4
|
|
133
|
+
zerov4 whitelist 10.0.0.5
|
|
134
|
+
zerov4 signatures # what's loaded
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Protection levels
|
|
140
|
+
|
|
141
|
+
| | `permissive` | `balanced` *(default)* | `paranoid` |
|
|
142
|
+
|---|---|---|---|
|
|
143
|
+
| Ban threshold | 20 hits | 10 hits | 10 hits |
|
|
144
|
+
| Rate limit | 300 / 10s | 100 / 10s | 10 / 1s |
|
|
145
|
+
| 404s count as attacks | no | no | **yes** |
|
|
146
|
+
| Non-JSON body is an attack | no | no | **yes** |
|
|
147
|
+
| Fuzzy keyword matching | no | no | **yes** |
|
|
148
|
+
| Session bound to IP | no | no | **yes** |
|
|
149
|
+
| Bot challenge | off | on | on |
|
|
150
|
+
| Pattern analysis | off | on | on |
|
|
151
|
+
| Blocking throttle | no | no | **yes** |
|
|
152
|
+
|
|
153
|
+
**Balanced** is tuned for a site with real visitors and is what you want unless you have a reason.
|
|
154
|
+
|
|
155
|
+
**Paranoid** is the original Autonomous Agent Zero-V4 behaviour, kept intact. It treats ordinary traffic as hostile: every 404, every HTML form post, and fuzzy keyword matches all count toward a ban. Mobile users switching from WiFi to cellular change IP, which paranoid reads as session theft. It is for a target you control, not a public site. ZeroV4 asks you to confirm before enabling it.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## What it does
|
|
160
|
+
|
|
161
|
+
**Signatures.** Keyword matching plus stateful `detect()` functions that count across a time window. Keywords are word-bounded, so `select` does not match `/products/selectbox`.
|
|
162
|
+
|
|
163
|
+
**Escalating throttle.** Hit 1 costs 2 seconds, hit 2 costs 4, hit 9 costs 300 (capped). Hit 10 is a permanent ban. Throttling returns `429` with `Retry-After` immediately — it does not hold a worker asleep.
|
|
164
|
+
|
|
165
|
+
**IP reputation.** Banned addresses are remembered and blocked on sight next time, without earning hits again. Entries expire when they haven't been seen for a while, so an address that changed hands isn't blocked forever.
|
|
166
|
+
|
|
167
|
+
**Honeypots.** `/.env`, `/wp-admin`, `/phpmyadmin` and friends. One request is an instant ban.
|
|
168
|
+
|
|
169
|
+
**Bot challenge.** Throttled browsers get an arithmetic question plus pointer-movement analysis instead of a flat 429, so a real person can prove it and carry on. Touch devices are not punished for having no `mousemove`.
|
|
170
|
+
|
|
171
|
+
**Pattern analysis.** Correlates across IPs: coordinated attacks, slow reconnaissance, multi-category probing, rapid escalation.
|
|
172
|
+
|
|
173
|
+
**Feedback loop.** Mark a decision wrong; after enough marks for the same signature, ZeroV4 tells you which file to look at. It never edits its own rules, never unbans on its own, never weakens anything by itself. The decision is yours.
|
|
174
|
+
|
|
175
|
+
**SOC panel.** Live stats, blocked list, reputation, whitelist, event log, suggestions. Password-protected, hash in `.env`.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Configuration
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
from zerov4 import make_config, arx
|
|
183
|
+
|
|
184
|
+
cfg = make_config(
|
|
185
|
+
"balanced",
|
|
186
|
+
port=8080,
|
|
187
|
+
trusted_proxies=("10.0.0.0/8",), # required behind nginx/Cloudflare
|
|
188
|
+
redis_url="redis://localhost:6379",
|
|
189
|
+
geoip_db="GeoLite2-Country.mmdb",
|
|
190
|
+
)
|
|
191
|
+
arx.run(app, cfg=cfg)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Or `zerov4.toml`:
|
|
195
|
+
|
|
196
|
+
```toml
|
|
197
|
+
[zerov4]
|
|
198
|
+
level = "balanced"
|
|
199
|
+
port = 5000
|
|
200
|
+
storage = "auto"
|
|
201
|
+
panel_enabled = true
|
|
202
|
+
trusted_proxies = ["10.0.0.0/8"]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Or the environment: `ZEROV4_PORT=8080 ZEROV4_LEVEL=paranoid`.
|
|
206
|
+
|
|
207
|
+
### Behind a proxy
|
|
208
|
+
|
|
209
|
+
**Set `trusted_proxies` if anything sits in front of your app.** Forwarding headers are only honoured when the direct peer is on that list. Without it, an attacker sends `X-Real-IP: <your customer>` and gets your customer banned while staying clean. With no proxy configured, `REMOTE_ADDR` is used and headers are ignored.
|
|
210
|
+
|
|
211
|
+
### Hooks
|
|
212
|
+
|
|
213
|
+
ZeroV4 does not touch your machine's network, kill processes, or click anything. If you want that, wire it up:
|
|
214
|
+
|
|
215
|
+
```python
|
|
216
|
+
def on_coordinated(ips, reason):
|
|
217
|
+
print(f"{len(ips)} attackers: {reason}")
|
|
218
|
+
# your own response here
|
|
219
|
+
|
|
220
|
+
cfg = make_config("balanced",
|
|
221
|
+
on_coordinated_attack=on_coordinated,
|
|
222
|
+
on_ban=lambda ip, attack, entry: notify(ip),
|
|
223
|
+
on_threat_cleared=lambda: print("clear"))
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Custom signatures
|
|
229
|
+
|
|
230
|
+
A signature is a module with a `NAME` and either `KEYWORDS`, a `detect()` function, or both.
|
|
231
|
+
|
|
232
|
+
```python
|
|
233
|
+
# signatures/my_rule.py
|
|
234
|
+
NAME = "Admin Panel Probing"
|
|
235
|
+
KEYWORDS = ["/wp-login", "/administrator"]
|
|
236
|
+
|
|
237
|
+
def detect(line, parsed, now, counters):
|
|
238
|
+
ip = parsed["ip"]
|
|
239
|
+
if "admin" in line.lower():
|
|
240
|
+
counters["admin_probe"][ip].append(now)
|
|
241
|
+
counters["admin_probe"][ip] = [
|
|
242
|
+
t for t in counters["admin_probe"][ip] if now - t <= 60
|
|
243
|
+
]
|
|
244
|
+
if len(counters["admin_probe"][ip]) >= 5:
|
|
245
|
+
return f"{len(counters['admin_probe'][ip])} admin probes in 60s"
|
|
246
|
+
return None
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Point at your own directory:
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
cfg = make_config("balanced", signatures_dir="./signatures")
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
A signature that raises is logged and quarantined for the run, not allowed to take the request down with it.
|
|
256
|
+
|
|
257
|
+
Loading a signature directory imports and executes those `.py` files. Don't point it at a directory other people can write to.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Panel
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
zerov4 init # asks for a panel password
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
The password is never written to disk — only a PBKDF2-SHA256 hash, into `.env` at mode 0600. Add `.env` to your `.gitignore`; ZeroV4 warns you if you haven't.
|
|
268
|
+
|
|
269
|
+
Panel lives at `/panel` by default. It fails closed: no password set means no logins, not an open door.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## API
|
|
274
|
+
|
|
275
|
+
```python
|
|
276
|
+
from zerov4 import arx
|
|
277
|
+
|
|
278
|
+
arx.run(app) # serve
|
|
279
|
+
arx.wrap(app) # wrap only (gunicorn)
|
|
280
|
+
arx.stop()
|
|
281
|
+
|
|
282
|
+
arx.status() # stats dict
|
|
283
|
+
arx.blocked() # list of blocked IPs
|
|
284
|
+
arx.reputation() # learned bad IPs
|
|
285
|
+
arx.attacks(20) # recent detections
|
|
286
|
+
arx.is_blocked("1.2.3.4")
|
|
287
|
+
|
|
288
|
+
arx.unblock("1.2.3.4")
|
|
289
|
+
arx.ban("1.2.3.4")
|
|
290
|
+
arx.whitelist("10.0.0.5") # never blocked
|
|
291
|
+
arx.whitelist() # list
|
|
292
|
+
|
|
293
|
+
arx.events() # firewall decisions, with ids
|
|
294
|
+
arx.wrong(event_id) # mark a false positive
|
|
295
|
+
arx.suggestions() # signatures worth reviewing
|
|
296
|
+
|
|
297
|
+
arx.set_panel_password()
|
|
298
|
+
arx.reload_signatures()
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Notes
|
|
304
|
+
|
|
305
|
+
**Locked out?** A whitelisted address is never blocked by any rule. Add yours before tightening anything: `zerov4 whitelist YOUR.IP`. Whitelisting an already-banned IP clears the ban.
|
|
306
|
+
|
|
307
|
+
**Storage.** Redis if reachable, JSON files otherwise, both automatic. `storage="redis"` fails loudly instead of silently degrading — a security system whose bans quietly stop persisting is worse than one that tells you.
|
|
308
|
+
|
|
309
|
+
**Multiple workers.** Under `gunicorn -w 4`, use Redis. With JSON, each worker keeps its own view and rate limits count per worker.
|
|
310
|
+
|
|
311
|
+
**Failure mode.** If ZeroV4 itself crashes mid-inspection, the request is allowed and the error is logged. A bug here should cost you protection, not uptime.
|
|
312
|
+
|
|
313
|
+
**Threads.** A background agent handles pattern analysis and cleanup, and a saver persists state periodically. Both are daemon threads that stop cleanly.
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Status
|
|
318
|
+
|
|
319
|
+
Beta. Test it against your own traffic before putting it in front of anything that matters — start at `permissive` or `balanced`, watch what gets blocked, then tighten. A misconfigured WAF either bans your users or waves the attacker through, and only your traffic can tell you which one you have.
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Credits
|
|
324
|
+
|
|
325
|
+
Derived from Autonomous Agent Zero-V4 by Barış ([BRSX-Labs](https://github.com/brsx-labs)).
|
|
326
|
+
|
|
327
|
+
MIT.
|