NGINX and NGINX Plus Ingress Controllers for Kubernetes
This report presents the forensic synthetic code analysis of nginx/kubernetes-ingress, a Go project with 5,068 GitHub stars. SynthScan v2.0 examined 316,764 lines of code across 1999 source files, recording 1306 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 6.8 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1306 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/requirements.txt | 875 | # WARNING: The following packages were not pinned, but pip requires them to be | COMMENT |
| LOW | tests/README.md | 24 | #### Step 1 - Create a Minikube Cluster | COMMENT |
| LOW | tests/README.md | 30 | #### Step 2 - Run the Tests | COMMENT |
| LOW | tests/README.md | 88 | #### Step 1 - Create a Kind Cluster | COMMENT |
| LOW | tests/README.md | 94 | #### Step 2 - Run the Tests | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 179 | # Step 2: conf file was removed — no traffic served for this TS | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 184 | # Step 3: traffic is rejected/no response for this TS | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 267 | # Step 1: TS has valid config and serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 276 | # Step 2: patch TS with invalid server snippet | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 287 | # Step 3: TS traffic still works — invalid config was rolled back | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 295 | # Step 4: TS config rolled back, invalid directive absent from conf | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 305 | # Step 5: TS is Invalid, status contains actual nginx error and rollback confirmation | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 388 | # Step 2: VS serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 391 | # Step 3: apply ConfigMap with invalid setting | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 421 | # Step 5: VS still serves traffic — Valid status | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 425 | # Step 6: TS traffic still works | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 433 | # Step 7: TS config unchanged | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 166 | # Step 1: TS is Invalid — no previous config to fall back to | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 319 | # Step 6: VS still serves traffic — unaffected by TS rollback | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 373 | # Step 1: capture TS config before change, verify traffic | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 402 | # Step 4: IC logs confirm main config rollback | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 68 | # Step 1: create VS with invalid server-snippet baked in (sub_filter_once invalid) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 75 | # Step 2: VS is Invalid — no previous config to fall back to, status contains actual nginx error | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 176 | # Step 1: valid VS serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 178 | # Step 2: load VS YAML, apply invalid patch, send to cluster | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 268 | # Step 1: VS serves traffic, capture TS config | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 277 | # Step 2: apply ConfigMap with invalid setting | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 287 | # Step 3: IC logs confirm rollback with actual nginx error | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 305 | # Step 4: VS still responds — nginx.conf was rolled back, VS not affected | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 308 | # Step 5: TS config unchanged | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 357 | # Step 2: capture TS config before ConfigMap change | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 366 | # Step 3: apply ConfigMap with invalid location-snippets | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 421 | # Step 6: ConfigMap event reflects partial failure | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 431 | # Step 7: restoring the ConfigMap returns the controller to the normal state | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 87 | # Step 3: conf file was removed — no traffic served for this host | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 189 | # Step 3: traffic still works — invalid config was rolled back | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 200 | # Step 4: VS is Invalid, status contains actual nginx error and rollback confirmation | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 213 | # Step 5: add new VS to prove nginx -t still passes after rollback | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 333 | # Step 1: create three valid VirtualServers | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 377 | # Step 4: the later VS resources fail; the controller then takes the shared-input early-exit path | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 410 | # Step 5: TS config unchanged (stream blocks not affected by location-snippets) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 88 | # Step 1: create Ingress with invalid server-snippet baked in | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 96 | # Step 2: conf file removed — no traffic served | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 218 | # Step 1: Ingress serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 221 | # Step 2: patch Ingress with invalid annotation(s) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 230 | # Step 3: traffic still works — invalid config rolled back | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 293 | # Step 1: Ingress serves traffic, capture TS config | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 303 | # Step 2: apply ConfigMap with invalid setting | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 333 | # Step 4: Ingress still responds | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 336 | # Step 5: TS config unchanged | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 379 | # Step 2: capture TS config before ConfigMap change | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 388 | # Step 3: apply ConfigMap with invalid location-snippets | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 399 | # Step 4: logs show threshold-triggered early exit; previous-good traffic keeps working | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 409 | # Step 5: TS config unchanged (stream blocks not affected by location-snippets) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 420 | # Step 6: ConfigMap event reflects partial failure | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 430 | # Step 7: restoring the ConfigMap returns the controller to the normal state | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 110 | # Step 3: event contains actual nginx error, but no "rolled back" (nothing to roll back to) | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 241 | # Step 4: event contains actual nginx error and rollback confirmation | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 314 | # Step 3: IC logs confirm rollback with actual nginx error | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 363 | # Step 1: create three valid Ingresses | COMMENT |
| 313 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 163 | def pytest_collection_modifyitems(config, items) -> None: | CODE |
| LOW | tests/conftest.py | 221 | def pytest_runtest_makereport(item) -> None: | CODE |
| LOW | tests/suite/test_filter_secrets.py | 15 | def setup_single_secret_and_ns(request, kube_apis): | CODE |
| LOW | tests/suite/test_filter_secrets.py | 39 | def test_filter_secret_single_namespace(self, request, kube_apis, ingress_controller, setup_single_secret_and_ns): | CODE |
| LOW | tests/suite/test_filter_secrets.py | 52 | def test_filter_secret_created_after_ic(self, request, kube_apis, ingress_controller): | CODE |
| LOW | tests/suite/test_filter_secrets.py | 69 | def setup_multiple_ns_and_multiple_secrets(request, kube_apis): | CODE |
| LOW | tests/suite/test_filter_secrets.py | 106 | def test_filter_secret_multi_namespace( | CODE |
| LOW | tests/suite/test_filter_secrets.py | 121 | def test_filter_secret_multiplue_created_after_ic(self, request, kube_apis, ingress_controller): | CODE |
| LOW | tests/suite/test_watch_namespace_label.py | 98 | def create_and_setup_namespace(kube_apis, ingress_controller_endpoint, ns_name, is_vs=False): | CODE |
| LOW | tests/suite/test_ingress_mtls_ingress.py | 72 | def setup_invalid_ingress_mtls(self, kube_apis, test_namespace): | CODE |
| LOW | tests/suite/test_ingress_mtls_ingress.py | 90 | def test_ingress_mtls_policy_ingress( | CODE |
| LOW | tests/suite/test_ingress_mtls_ingress.py | 188 | def test_invalid_ingress_mtls_policy_ingress( | CODE |
| LOW | tests/suite/test_ingress_mtls_ingress.py | 267 | def test_ingress_mtls_chain_validation( | CODE |
| LOW | tests/suite/test_ingress_mtls_ingress.py | 370 | def test_ingress_mtls_missing_secret_ingress( | CODE |
| LOW | tests/suite/test_config_rollback_ts.py | 348 | def test_configmap_main_snippet_rollback( | CODE |
| LOW | tests/suite/test_app_protect_integration.py | 165 | def test_ap_nginx_config_entries(self, kube_apis, crd_ingress_controller_with_ap, appprotect_setup, test_namespace): | CODE |
| LOW | tests/suite/test_app_protect_integration.py | 194 | def test_ap_enable_true_policy_correct( | CODE |
| LOW | tests/suite/test_app_protect_integration.py | 217 | def test_ap_enable_false_policy_correct( | CODE |
| LOW | tests/suite/test_app_protect_integration.py | 241 | def test_ap_enable_true_policy_incorrect( | CODE |
| LOW | tests/suite/test_app_protect_integration.py | 268 | def test_ap_enable_false_policy_incorrect( | CODE |
| LOW | tests/suite/test_app_protect_integration.py | 408 | def test_ap_enable_true_policy_correct_uds( | CODE |
| LOW | tests/suite/test_virtual_server_validation.py | 12 | def assert_reject_events_emitted(virtual_server_setup, new_list, previous_list, expected_amount): | CODE |
| LOW | tests/suite/test_virtual_server_validation.py | 20 | def assert_event_count_increased_in_list(virtual_server_setup, new_list, previous_list): | CODE |
| LOW | tests/suite/test_virtual_server_validation.py | 50 | def test_virtual_server_behavior( | CODE |
| LOW | tests/suite/test_hsts.py | 126 | def test_headers_without_secret(self, kube_apis, hsts_setup, ingress_controller_prerequisites): | CODE |
| LOW | tests/suite/test_jwt_policies_jwksuri.py | 265 | def test_jwt_invalid_policy_jwksuri( | CODE |
| LOW | tests/suite/test_jwt_policies_jwksuri.py | 327 | def test_jwt_policy_subroute_jwksuri( | CODE |
| LOW | tests/suite/test_jwt_policies_jwksuri.py | 395 | def test_jwt_policy_subroute_jwksuri_multiple_vs( | CODE |
| LOW | tests/suite/test_config_rollback_vs.py | 249 | def test_configmap_main_snippet_rollback( | CODE |
| LOW | tests/suite/test_config_rollback_vs.py | 319 | def test_configmap_partial_rollback( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 74 | def test_response_for_regex_location( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 135 | def test_flow_for_invalid_vsr( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 236 | def test_exact_match_overrides_all( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 249 | def test_regexp_overrides_prefix( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 270 | def test_longest_prefix_overrides_regexp( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 346 | def test_response_for_regex_location( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 417 | def test_flow_for_invalid_vsr( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 480 | def vsr_selector_regexp_setup( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 530 | def test_exact_match_overrides_all( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 543 | def test_regexp_overrides_prefix( | CODE |
| LOW | tests/suite/test_v_s_route_regexp_location.py | 567 | def test_longest_prefix_overrides_regexp( | CODE |
| LOW | tests/suite/test_rewrite_target.py | 83 | def test_static_rewrite_target(self, rewrite_target_setup): | CODE |
| LOW | tests/suite/test_rewrite_target.py | 102 | def test_regex_rewrite_target(self, rewrite_target_setup): | CODE |
| LOW | tests/suite/test_v_s_route_split_traffic.py | 26 | def get_upstreams_of_splitting(file) -> []: | CODE |
| LOW | tests/suite/test_app_protect_waf_bundle_source_ing.py | 85 | def test_bundle_source_block_ingress( | CODE |
| LOW | tests/suite/test_app_protect_waf_bundle_source_ing.py | 130 | def test_bundle_source_mtls_block_ingress( | CODE |
| LOW⚡ | tests/suite/test_external_auth_policies_vsr.py | 484 | def test_tls_ssl_enabled_only( | CODE |
| LOW⚡ | tests/suite/test_external_auth_policies_vsr.py | 629 | def test_tls_nonexistent_ca_secret( | CODE |
| LOW⚡ | tests/suite/test_external_auth_policies_vsr.py | 930 | def test_tls_policy_override_vs_vsr( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 94 | def test_external_auth_policy_credentials( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 142 | def test_external_auth_policy_valid( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 193 | def test_external_auth_policy_invalid_rejected_by_crd( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 213 | def test_external_auth_policy_nonexistent_svc( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 252 | def test_external_auth_policy_delete_policy( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 317 | def test_external_auth_policy_override( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 373 | def test_external_auth_policy_override_vs_vsr( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 668 | def test_tls_wrong_ca_secret_type( | CODE |
| LOW | tests/suite/test_external_auth_policies_vsr.py | 756 | def test_tls_verify_no_trusted_cert( | CODE |
| LOW | …e/test_virtual_server_weight_changes_without_reload.py | 50 | def test_weight_changes_reload_behavior( | CODE |
| LOW | tests/suite/test_wildcard_tls_secret.py | 54 | def wildcard_tls_secret_setup( | CODE |
| 439 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/suite/test_app_protect_integration.py | 0 | encapsulate the example details. attributes: req_url (str): | STRING |
| HIGH | tests/suite/test_app_protect_watch_namespace.py | 0 | encapsulate the example details. attributes: req_url (str): | STRING |
| HIGH | tests/suite/test_app_protect_watch_namespace_label.py | 0 | encapsulate the example details. attributes: req_url (str): | STRING |
| HIGH | perf-tests/suite/test_ap_reload_perf.py | 0 | encapsulate the example details. attributes: req_url (str): | STRING |
| HIGH | tests/suite/test_app_protect_integration.py | 0 | deploy simple application and all the appprotect(dataguard-alarm) resources under test in one namespace. :param request: | STRING |
| HIGH | perf-tests/suite/test_ap_reload_perf.py | 0 | deploy simple application and all the appprotect(dataguard-alarm) resources under test in one namespace. :param request: | STRING |
| HIGH | tests/suite/test_batch_reloads.py | 0 | deploy simple application and all the appprotect(dataguard-alarm) resources under test in one namespace. :param request: | STRING |
| HIGH | tests/suite/test_ingress_class.py | 0 | deploy simple application and all the appprotect(dataguard-alarm) resources under test in one namespace. :param request: | STRING |
| HIGH | tests/suite/test_batch_startup_times.py | 0 | deploy simple application and all the appprotect(dataguard-alarm) resources under test in one namespace. :param request: | STRING |
| HIGH | tests/suite/test_app_protect_waf_policies.py | 0 | deploy simple application and all the appprotect(dataguard-alarm) resources under test in one namespace. :param request: | STRING |
| HIGH | tests/suite/test_app_protect_integration.py | 0 | assert responses when policy config is blocking requests :param response: response | STRING |
| HIGH | tests/suite/test_app_protect_waf_policies.py | 0 | assert responses when policy config is blocking requests :param response: response | STRING |
| HIGH | perf-tests/suite/test_ap_reload_perf.py | 0 | assert responses when policy config is blocking requests :param response: response | STRING |
| HIGH | tests/suite/test_v_s_route_regexp_location.py | 0 | prepare an example app for advanced routing vsr. single namespace with vs+vsr and simple app. :param request: internal p | STRING |
| HIGH | tests/suite/test_v_s_route_advanced_routing.py | 0 | prepare an example app for advanced routing vsr. single namespace with vs+vsr and simple app. :param request: internal p | STRING |
| HIGH | tests/suite/test_v_s_route_focused_canary.py | 0 | prepare an example app for advanced routing vsr. single namespace with vs+vsr and simple app. :param request: internal p | STRING |
| HIGH | tests/suite/test_v_s_route_split_traffic.py | 0 | parse yaml file into an array of upstreams. :param file: an absolute path to file :return: [] | STRING |
| HIGH | tests/suite/test_v_s_route_focused_canary.py | 0 | parse yaml file into an array of upstreams. :param file: an absolute path to file :return: [] | STRING |
| HIGH | tests/suite/test_virtual_server_split_traffic.py | 0 | parse yaml file into an array of upstreams. :param file: an absolute path to file :return: [] | STRING |
| HIGH | tests/suite/test_virtual_server_focused_canary.py | 0 | parse yaml file into an array of upstreams. :param file: an absolute path to file :return: [] | STRING |
| HIGH | tests/suite/test_external_auth_policies_vsr.py | 0 | test that a policy with an invalid authuri (no leading slash) is rejected at the crd validation level by the kubernetes | STRING |
| HIGH | tests/suite/test_external_auth_policies_ingress.py | 0 | test that a policy with an invalid authuri (no leading slash) is rejected at the crd validation level by the kubernetes | STRING |
| HIGH | tests/suite/test_external_auth_policies_vs.py | 0 | test that a policy with an invalid authuri (no leading slash) is rejected at the crd validation level by the kubernetes | STRING |
| HIGH | tests/suite/test_jwt_policies_vsr.py | 0 | test if requests result in 500 when secret is deleted | STRING |
| HIGH | tests/suite/test_auth_basic_policies_vsr.py | 0 | test if requests result in 500 when secret is deleted | STRING |
| HIGH | tests/suite/test_jwt_policies.py | 0 | test if requests result in 500 when secret is deleted | STRING |
| HIGH | tests/suite/test_auth_basic_policies.py | 0 | test if requests result in 500 when secret is deleted | STRING |
| HIGH | tests/suite/test_jwt_policies_vsr.py | 0 | test if requests result in 500 when policy is deleted | STRING |
| HIGH | tests/suite/test_auth_basic_policies_vsr.py | 0 | test if requests result in 500 when policy is deleted | STRING |
| HIGH | tests/suite/test_jwt_policies.py | 0 | test if requests result in 500 when policy is deleted | STRING |
| HIGH | tests/suite/test_auth_basic_policies.py | 0 | test if requests result in 500 when policy is deleted | STRING |
| HIGH | tests/suite/test_transport_server_status.py | 0 | function to revert a transportserver resource to a valid state. | STRING |
| HIGH | tests/suite/test_transport_server_tcp_load_balance.py | 0 | function to revert a transportserver resource to a valid state. | STRING |
| HIGH | tests/suite/test_transport_server_udp_load_balance.py | 0 | function to revert a transportserver resource to a valid state. | STRING |
| HIGH | tests/suite/test_app_protect_wafv5_integration.py | 0 | function to revert vsr selector deployments to standard state | STRING |
| HIGH | tests/suite/test_app_protect_wafv5_integration_rorfs.py | 0 | function to revert vsr selector deployments to standard state | STRING |
| HIGH | tests/suite/test_app_protect_waf_policies.py | 0 | function to revert vsr selector deployments to standard state | STRING |
| HIGH | tests/suite/test_virtual_server_external_name.py | 0 | encapsulate externalname example details. attributes: ic_pod_name: external_host: external service host | STRING |
| HIGH | tests/suite/test_virtual_server_backup_service.py | 0 | encapsulate externalname example details. attributes: ic_pod_name: external_host: external service host | STRING |
| HIGH | tests/suite/test_transport_server_external_name.py | 0 | encapsulate externalname example details. attributes: ic_pod_name: external_host: external service host | STRING |
| HIGH | tests/suite/test_transport_server_backup_service.py | 0 | encapsulate externalname example details. attributes: ic_pod_name: external_host: external service host | STRING |
| HIGH | tests/suite/test_batch_reloads.py | 0 | encapsulate the smoke example details. attributes: public_endpoint (publicendpoint): ingress_host (str): | STRING |
| HIGH | tests/suite/test_smoke.py | 0 | encapsulate the smoke example details. attributes: public_endpoint (publicendpoint): ingress_host (str): | STRING |
| HIGH | tests/suite/test_prometheus_metrics.py | 0 | encapsulate the smoke example details. attributes: public_endpoint (publicendpoint): ingress_host (str): | STRING |
| HIGH | tests/suite/test_batch_startup_times.py | 0 | encapsulate the smoke example details. attributes: public_endpoint (publicendpoint): ingress_host (str): | STRING |
| HIGH | tests/suite/test_batch_reloads.py | 0 | deploy a simple application and appprotect manifests. :param request: pytest fixture :param kube_apis: client apis :para | STRING |
| HIGH | tests/suite/test_app_protect_watch_namespace.py | 0 | deploy a simple application and appprotect manifests. :param request: pytest fixture :param kube_apis: client apis :para | STRING |
| HIGH | tests/suite/test_app_protect_watch_namespace_label.py | 0 | deploy a simple application and appprotect manifests. :param request: pytest fixture :param kube_apis: client apis :para | STRING |
| HIGH | tests/suite/test_batch_startup_times.py | 0 | deploy a simple application and appprotect manifests. :param request: pytest fixture :param kube_apis: client apis :para | STRING |
| HIGH | tests/suite/test_virtual_server_configmap_keys.py | 0 | assert that an event with specific type, reason, and message substring exists. :param event_list: list of events :param | STRING |
| HIGH | tests/suite/test_zone_sync.py | 0 | assert that an event with specific type, reason, and message substring exists. :param event_list: list of events :param | STRING |
| HIGH | tests/suite/test_mgmt_configmap_keys.py | 0 | assert that an event with specific type, reason, and message substring exists. :param event_list: list of events :param | STRING |
| HIGH | tests/suite/test_ac_policies_vsr.py | 0 | replace configmap to add "set-real-ip-from" :param request: pytest fixture :param kube_apis: client apis :param ingress_ | STRING |
| HIGH | tests/suite/test_ac_policies_ingress.py | 0 | replace configmap to add "set-real-ip-from" :param request: pytest fixture :param kube_apis: client apis :param ingress_ | STRING |
| HIGH | tests/suite/test_ac_polices_vs.py | 0 | replace configmap to add "set-real-ip-from" :param request: pytest fixture :param kube_apis: client apis :param ingress_ | STRING |
| HIGH | tests/suite/test_ac_policies_ingress.py | 0 | encapsulate annotations example details. attributes: public_endpoint: publicendpoint ingress_src_file: ingress_name: ing | STRING |
| HIGH | tests/suite/test_annotations.py | 0 | encapsulate annotations example details. attributes: public_endpoint: publicendpoint ingress_src_file: ingress_name: ing | STRING |
| HIGH | tests/suite/test_rl_ingress.py | 0 | encapsulate annotations example details. attributes: public_endpoint: publicendpoint ingress_src_file: ingress_name: ing | STRING |
| HIGH | tests/suite/test_transport_server_backup_service.py | 0 | encapsulate transport server details. attributes: public_endpoint (object): ts_resource (dict): name (str): namespace (s | STRING |
| HIGH | tests/suite/test_ts_tls_passthrough.py | 0 | encapsulate transport server details. attributes: public_endpoint (object): ts_resource (dict): name (str): namespace (s | STRING |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/suite/test_external_auth_policies_vsr.py | 480 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/suite/test_external_auth_policies_vsr.py | 482 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/suite/test_external_auth_policies_vsr.py | 625 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/suite/test_external_auth_policies_vsr.py | 627 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/suite/test_external_auth_policies_vsr.py | 925 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/suite/test_external_auth_policies_vsr.py | 927 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/suite/test_external_auth_policies_vsr.py | 713 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/suite/test_external_auth_policies_vsr.py | 715 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/suite/test_external_auth_policies_vsr.py | 795 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | tests/suite/test_external_auth_policies_vsr.py | 797 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/suite/utils/external_auth_utils.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/suite/utils/external_auth_utils.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 70 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 115 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 168 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 240 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 242 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5669 | // ── Valid inputs ────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5726 | // ── Invalid: $ character ───────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5757 | // ── Invalid: malformed header names ────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5796 | // ── Edge: empty entries are skipped ─────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5829 | // ── Multiple errors in one annotation ──────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5847 | // ── Edge: special chars in value (non-$) ───────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5859 | // ── Edge: whitespace handling ──────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5871 | // ── Edge: empty name combined with dollar in value ─────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5882 | // ── Valid: properly escaped quotes and backslashes ────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5899 | // ── Invalid: unescaped quotes and backslashes ───────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5942 | // ── Valid inputs ────────────────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 5990 | // ── Invalid: $ in value ─────────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 6006 | // ── Invalid: bad header name ────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 6022 | // ── Invalid: bad always flag ────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 6038 | // ── Invalid: empty entries ──────────────────────────────────── | COMMENT |
| MEDIUM | internal/k8s/validation_test.go | 6054 | // ── Invalid: unescaped characters in value ──────────────────── | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 71 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 73 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 94 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 264 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 266 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 296 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 298 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 374 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/tech-specs-update.py | 376 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 179 | # Step 2: conf file was removed — no traffic served for this TS | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 184 | # Step 3: traffic is rejected/no response for this TS | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 267 | # Step 1: TS has valid config and serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 276 | # Step 2: patch TS with invalid server snippet | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 287 | # Step 3: TS traffic still works — invalid config was rolled back | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 295 | # Step 4: TS config rolled back, invalid directive absent from conf | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 305 | # Step 5: TS is Invalid, status contains actual nginx error and rollback confirmation | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 388 | # Step 2: VS serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 391 | # Step 3: apply ConfigMap with invalid setting | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 421 | # Step 5: VS still serves traffic — Valid status | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 425 | # Step 6: TS traffic still works | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ts.py | 433 | # Step 7: TS config unchanged | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 166 | # Step 1: TS is Invalid — no previous config to fall back to | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 319 | # Step 6: VS still serves traffic — unaffected by TS rollback | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 373 | # Step 1: capture TS config before change, verify traffic | COMMENT |
| LOW | tests/suite/test_config_rollback_ts.py | 402 | # Step 4: IC logs confirm main config rollback | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 68 | # Step 1: create VS with invalid server-snippet baked in (sub_filter_once invalid) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 75 | # Step 2: VS is Invalid — no previous config to fall back to, status contains actual nginx error | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 176 | # Step 1: valid VS serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 178 | # Step 2: load VS YAML, apply invalid patch, send to cluster | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 268 | # Step 1: VS serves traffic, capture TS config | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 277 | # Step 2: apply ConfigMap with invalid setting | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 287 | # Step 3: IC logs confirm rollback with actual nginx error | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 305 | # Step 4: VS still responds — nginx.conf was rolled back, VS not affected | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 308 | # Step 5: TS config unchanged | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 357 | # Step 2: capture TS config before ConfigMap change | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 366 | # Step 3: apply ConfigMap with invalid location-snippets | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 421 | # Step 6: ConfigMap event reflects partial failure | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vs.py | 431 | # Step 7: restoring the ConfigMap returns the controller to the normal state | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 87 | # Step 3: conf file was removed — no traffic served for this host | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 189 | # Step 3: traffic still works — invalid config was rolled back | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 200 | # Step 4: VS is Invalid, status contains actual nginx error and rollback confirmation | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 213 | # Step 5: add new VS to prove nginx -t still passes after rollback | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 333 | # Step 1: create three valid VirtualServers | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 377 | # Step 4: the later VS resources fail; the controller then takes the shared-input early-exit path | COMMENT |
| LOW | tests/suite/test_config_rollback_vs.py | 410 | # Step 5: TS config unchanged (stream blocks not affected by location-snippets) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 88 | # Step 1: create Ingress with invalid server-snippet baked in | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 96 | # Step 2: conf file removed — no traffic served | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 218 | # Step 1: Ingress serves traffic | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 221 | # Step 2: patch Ingress with invalid annotation(s) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 230 | # Step 3: traffic still works — invalid config rolled back | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 293 | # Step 1: Ingress serves traffic, capture TS config | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 303 | # Step 2: apply ConfigMap with invalid setting | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 333 | # Step 4: Ingress still responds | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 336 | # Step 5: TS config unchanged | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 379 | # Step 2: capture TS config before ConfigMap change | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 388 | # Step 3: apply ConfigMap with invalid location-snippets | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 399 | # Step 4: logs show threshold-triggered early exit; previous-good traffic keeps working | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 409 | # Step 5: TS config unchanged (stream blocks not affected by location-snippets) | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 420 | # Step 6: ConfigMap event reflects partial failure | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_ingress.py | 430 | # Step 7: restoring the ConfigMap returns the controller to the normal state | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 110 | # Step 3: event contains actual nginx error, but no "rolled back" (nothing to roll back to) | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 241 | # Step 4: event contains actual nginx error and rollback confirmation | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 314 | # Step 3: IC logs confirm rollback with actual nginx error | COMMENT |
| LOW | tests/suite/test_config_rollback_ingress.py | 363 | # Step 1: create three valid Ingresses | COMMENT |
| LOW | tests/suite/test_virtual_server_configmap_keys.py | 452 | # Step 1: Update ConfigMap with valid parameters | COMMENT |
| LOW | tests/suite/test_virtual_server_configmap_keys.py | 479 | # Step 2: Update ConfigMap with invalid parameters | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vsr.py | 81 | # Step 1: verify traffic on both VSR routes | COMMENT |
| LOW⚡ | tests/suite/test_config_rollback_vsr.py | 87 | # Step 2: patch either VS or VSR with invalid snippet | COMMENT |
| LOW | tests/suite/test_config_rollback_vsr.py | 118 | # Step 3: traffic still works on both routes — invalid config was rolled back | COMMENT |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .goreleaser.yml | 21 | main: ./cmd/nginx-ingress/ | COMMENT |
| LOW | .goreleaser.yml | 41 | # - aws | COMMENT |
| LOW | .goreleaser.yml | 61 | # - linux | COMMENT |
| LOW | .goreleaser.yml | 81 | # flags: | COMMENT |
| LOW | tests/requirements.txt | 1 | # | COMMENT |
| LOW | tests/requirements.txt | 821 | --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ | COMMENT |
| LOW | tests/requirements.txt | 861 | --hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \ | COMMENT |
| LOW | internal/k8s/controller.go | 1301 | // This decouples readiness from status API calls, which can take | COMMENT |
| LOW | internal/k8s/controller.go | 2041 | func (lbc *LoadBalancerController) reportCustomResourceStatusEnabled() bool { | COMMENT |
| LOW | internal/k8s/controller.go | 2061 | // Leader safety: when leader election is enabled, runStatusFlush polls | COMMENT |
| LOW | internal/nginx/rollback_manager.go | 201 | COMMENT | |
| LOW | internal/nginx/rollback_manager.go | 241 | COMMENT | |
| LOW | internal/nginx/rollback_manager.go | 381 | if _, tracked := cm.batchFiles[path]; tracked { | COMMENT |
| LOW | internal/configs/configurator.go | 1781 | COMMENT | |
| LOW | internal/certmanager/helper.go | 41 | issuerKindCmField = "tls.cert-manager.issuer-kind" | COMMENT |
| LOW | internal/certmanager/helper.go | 61 | // usages: "digital signature,key encipherment" | COMMENT |
| LOW | internal/certmanager/cm_controller.go | 161 | return c.sync(ctx, vs) | COMMENT |
| LOW | internal/telemetry/collector_test.go | 2781 | // version.Info struct can hold more information about K8s platform, for example: | COMMENT |
| LOW | internal/validation/data_types.go | 261 | // | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 21 | COMMENT | |
| LOW | charts/nginx-ingress/values.yaml | 41 | ## Secret containing TLS client certificate | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 81 | port: 50000 | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 221 | # tag: "5.5.4" | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 241 | annotations: {} | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 261 | ## Format: <namespace>/<secret_name> | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 321 | # allowPrivilegeEscalation: true | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 341 | # memory: 1Gi | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 361 | # name: extra-conf | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 381 | enabled: false | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 481 | # - name: dns-udp | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 601 | ## Secret must exist in the same namespace as the helm release. | COMMENT |
| LOW | charts/nginx-ingress/values.yaml | 661 | # ## Set the port where the startup endpoint is exposed. This is a required value if startupStatus.enable is true. | COMMENT |
| LOW | hack/update-codegen.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/verify-codegen.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/secrets-gen/certs.go | 61 | // we need here are the bytes for the cert and the key. These two will be | COMMENT |
| LOW | …shared-examples/usage-reporting/cluster-connector.yaml | 141 | - -nms-basic-auth-secret=nginx-cluster-connector/nms-basic-auth | COMMENT |
| LOW | .github/workflows/release.yml | 221 | source_tag: ${{ needs.variables.outputs.source_tag }} | COMMENT |
| LOW | .github/workflows/release.yml | 241 | # - "${{ needs.variables.outputs.short_tag }}" | COMMENT |
| LOW | .github/workflows/release.yml | 261 | # name: Release Docker Plus | COMMENT |
| LOW | .github/workflows/release.yml | 281 | # contents: read | COMMENT |
| LOW | .github/workflows/release.yml | 441 | # if: ${{ ! cancelled() && ! failure() && ! inputs.dry_run && ! contains(inputs.skip_step, 'gcp-marketplace') }} | COMMENT |
| LOW | .github/workflows/release.yml | 461 | # env-names: "APP_CLIENT_ID, APP_PRIVATE_KEY_B64" | COMMENT |
| LOW | .github/workflows/release.yml | 481 | # } >> "$GITHUB_OUTPUT" | COMMENT |
| LOW | .github/workflows/release.yml | 501 | # ref: 'main', | COMMENT |
| LOW | .github/workflows/release.yml | 521 | # tenant-id: ${{ secrets.AZURE_COMMON_VAULT_TENANT_ID }} | COMMENT |
| LOW | .github/workflows/release.yml | 541 | # echo "::add-mask::$line" | COMMENT |
| LOW | .github/workflows/release.yml | 561 | # uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 | COMMENT |
| LOW | .github/workflows/release.yml | 581 | # runs-on: ubuntu-24.04 | COMMENT |
| LOW | .github/workflows/release.yml | 601 | # with: | COMMENT |
| LOW | .github/workflows/release.yml | 621 | # with: | COMMENT |
| LOW | .github/workflows/build-artifacts.yml | 121 | if: ${{ always() }} | COMMENT |
| LOW | .github/workflows/build-artifacts.yml | 141 | # - name: Setup Golang Environment | COMMENT |
| LOW | .github/workflows/build-artifacts.yml | 161 | COMMENT | |
| LOW | .github/workflows/build-artifacts.yml | 181 | # builder-version: v0.1.0 | COMMENT |
| LOW | .github/scripts/validate-workflow-gating.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/scripts/validate-workflow-gating_test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deployments/daemon-set/nginx-ingress.yaml | 21 | automountServiceAccountToken: true | COMMENT |
| LOW | deployments/daemon-set/nginx-ingress.yaml | 61 | # cpu: "1" | COMMENT |
| LOW | deployments/daemon-set/nginx-ingress.yaml | 101 | #- -global-configuration=$(POD_NAMESPACE)/nginx-configuration | COMMENT |
| LOW | deployments/daemon-set/nginx-plus-ingress.yaml | 21 | automountServiceAccountToken: true | COMMENT |
| 75 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/suite/test_agent.py | 40 | except Exception as e: | CODE |
| MEDIUM | tests/suite/test_agent.py | 41 | print(f"Error: {e}") | CODE |
| LOW | tests/suite/test_build_info.py | 53 | except Exception as ex: | CODE |
| LOW | tests/suite/test_build_info.py | 67 | except Exception: | CODE |
| LOW | tests/suite/test_app_protect_agent.py | 43 | except Exception as e: | CODE |
| MEDIUM | tests/suite/test_app_protect_agent.py | 44 | print(f"Error: {e}") | CODE |
| LOW | tests/suite/test_app_protect_waf_policies_grpc.py | 81 | except Exception: | CODE |
| LOW | tests/suite/test_virtual_server_foreign_upstream.py | 94 | except Exception as ex: | CODE |
| LOW | tests/suite/test_virtual_server_grpc.py | 56 | except Exception: | CODE |
| LOW | tests/suite/test_v_s_route_grpc.py | 46 | except Exception: | CODE |
| LOW | tests/suite/test_virtual_server_mixed_grpc.py | 50 | except Exception: | CODE |
| LOW | tests/suite/utils/custom_resources_utils.py | 25 | except Exception as ex: | CODE |
| LOW | tests/suite/utils/custom_resources_utils.py | 104 | except Exception: | CODE |
| LOW | tests/suite/utils/bundle_source_utils.py | 120 | except Exception as ex: | CODE |
| LOW | tests/suite/utils/vs_vsr_resources_utils.py | 62 | except Exception: | CODE |
| LOW | tests/suite/utils/vs_vsr_resources_utils.py | 130 | except Exception as ex: | CODE |
| LOW | tests/suite/utils/vs_vsr_resources_utils.py | 193 | except Exception as ex: | CODE |
| LOW⚡ | tests/suite/utils/policy_resources_utils.py | 159 | except Exception: | CODE |
| LOW⚡ | tests/suite/utils/policy_resources_utils.py | 165 | except Exception: | CODE |
| LOW⚡ | tests/suite/utils/policy_resources_utils.py | 172 | except Exception: | CODE |
| LOW | tests/suite/utils/external_auth_utils.py | 288 | except Exception: | CODE |
| LOW | tests/suite/utils/external_auth_utils.py | 325 | except Exception: | CODE |
| LOW | tests/suite/utils/external_auth_utils.py | 348 | except Exception: | CODE |
| MEDIUM | tests/suite/utils/external_auth_utils.py | 285 | def fin(): | CODE |
| MEDIUM⚡ | tests/suite/utils/resources_utils.py | 2265 | print(f"Error: {e}") | CODE |
| MEDIUM⚡ | tests/suite/utils/resources_utils.py | 2273 | print(f"Error: {e}") | CODE |
| MEDIUM | tests/suite/utils/resources_utils.py | 966 | print(f"Error: {e}") | CODE |
| MEDIUM | tests/suite/utils/resources_utils.py | 2349 | print(f"Error in pod restart: {e}") | CODE |
| LOW | tests/suite/utils/resources_utils.py | 965 | except Exception as e: | CODE |
| LOW | tests/suite/utils/resources_utils.py | 1747 | except Exception as ex: | CODE |
| LOW | tests/suite/utils/resources_utils.py | 2348 | except Exception as e: | CODE |
| LOW | .github/scripts/pull-release-notes.py | 132 | except Exception as e: | CODE |
| MEDIUM | .github/scripts/pull-release-notes.py | 128 | def get_pr_labels(repo, pr_number): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/scripts/check_container_packages.py | 18 | # Create a logger | COMMENT |
| MEDIUM⚡ | tests/scripts/check_container_packages.py | 22 | # Create a stream handler (for stdout) | COMMENT |
| MEDIUM⚡ | tests/scripts/check_container_packages.py | 29 | # Create a file handler | COMMENT |
| MEDIUM | tests/suite/test_jwt_policies_jwksuri.py | 91 | # Create a user and set credentials | COMMENT |
| MEDIUM | tests/suite/test_jwt_policies_jwksuri.py | 106 | # Create a client | COMMENT |
| MEDIUM | tests/suite/test_oidc.py | 89 | # Create a user and set credentials | COMMENT |
| MEDIUM | tests/suite/test_oidc_fclo.py | 87 | # Create a user and set credentials | COMMENT |
| MEDIUM | tests/suite/grpc/helloworld_pb2_grpc.py | 49 | # This class is part of an EXPERIMENTAL API. | COMMENT |
| MEDIUM | charts/nginx-ingress/values.yaml | 289 | ## Create the HorizontalPodAutoscaler resource. This can be set to false to manage the HPA externally. | COMMENT |
| MEDIUM | .github/workflows/cherry-pick.yml | 177 | # Create a PR only if one doesn't already exist for this branch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/suite/test_v_s_route.py | 236 | # reset count to 0 because we want to check that the event is added, not just updated, and the event is about de | COMMENT |
| LOW | tests/suite/test_v_s_route.py | 264 | # restore of the VSRoute gets an event about update but not about add, so count is not increased but just set to | COMMENT |
| MEDIUM | tests/suite/utils/ap_resources_utils.py | 1 | """Describe methods to utilize the AppProtect resources.""" | STRING |
| MEDIUM | tests/suite/utils/custom_resources_utils.py | 1 | """Describe methods to utilize the kubernetes-client.""" | STRING |
| MEDIUM | tests/suite/utils/vs_vsr_resources_utils.py | 1 | """Describe methods to utilize the VS/VSR resources.""" | STRING |
| MEDIUM | tests/suite/utils/policy_resources_utils.py | 1 | """Describe methods to utilize the Policy resource.""" | STRING |
| MEDIUM | tests/suite/utils/resources_utils.py | 1 | """Describe methods to utilize the kubernetes-client.""" | STRING |
| MEDIUM | internal/validation/validation.go | 101 | // ValidateURI is a more robust extensible function to validate URIs. It | COMMENT |
| MEDIUM | .github/workflows/release.yml | 638 | # Review the installation instructions https://docs.nginx.com/nginx-ingress-controller/install and utilize t | COMMENT |
| MEDIUM | .github/workflows/release.yml | 638 | # Review the installation instructions https://docs.nginx.com/nginx-ingress-controller/install and utilize t | COMMENT |
| LOW | .github/scripts/release-docs.sh | 211 | # If same year: just add to existing index | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/suite/test_custom_annotations.py | 83 | "# Print the value assigned to the annotation: 512", | CODE |
| LOW | tests/suite/test_custom_annotations.py | 96 | "# Print the value assigned to the annotation: 512", | CODE |
| LOW | …sts/data/custom-annotations/standard/nginx-config.yaml | 16 | # Print the value assigned to the annotation: {{$value}} | COMMENT |
| LOW | …ts/data/custom-annotations/mergeable/nginx-config.yaml | 16 | # Print the value assigned to the annotation: {{$value}} | COMMENT |
| LOW | .github/scripts/pull-release-notes.py | 72 | # Check if the line starts with a section header | COMMENT |
| LOW | .github/scripts/pull-release-notes.py | 86 | # Check if the line starts with "* " or "- " | COMMENT |
| LOW⚡ | .github/scripts/pull-release-notes.py | 192 | # Check if the PR has a "dependencies" label" | COMMENT |
| LOW⚡ | .github/scripts/pull-release-notes.py | 194 | # Check if the PR has a "docker" label, if so add to docker dependencies group | COMMENT |
| LOW⚡ | .github/scripts/pull-release-notes.py | 197 | # Check if the PR has "go", "python" or "github_actions" label, if so add to go dependencies group | COMMENT |
| LOW | .github/scripts/pull-release-notes.py | 231 | # Check if version is a patch release or a minor/major release | COMMENT |
| LOW | .github/scripts/docker-updater.sh | 25 | # Check if the file exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/suite/test_transport_server_backup_service.py | 239 | CODE | |
| LOW | tests/suite/test_dos.py | 310 | CODE | |
| LOW | tests/suite/test_virtual_server_dos.py | 290 | CODE | |
| LOW | tests/suite/test_virtual_server_dos.py | 358 | CODE | |
| LOW | tests/suite/utils/dos_utils.py | 9 | CODE | |
| LOW | tests/suite/utils/custom_assertions.py | 341 | CODE | |
| LOW | tests/suite/utils/yaml_utils.py | 110 | CODE | |
| LOW | tests/suite/utils/vs_vsr_resources_utils.py | 43 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 46 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 71 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 95 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 119 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 1566 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 1587 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 1704 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 1894 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 2252 | CODE | |
| LOW | .github/scripts/tech-specs-update.py | 379 | CODE | |
| LOW | .github/scripts/pull-release-notes.py | 68 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | .github/workflows/external-pr.yml | 40 | core.setOutput('is_fork', pr.data.head.repo.fork.toString()); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hack/secrets.json | 1597 | "name": "Jane Doe", | CODE |
| LOW | hack/secrets.json | 1615 | "name": "John Doe", | CODE |
| LOW⚡ | …custom-resources/rate-limit-tiered-jwt-claim/README.md | 74 | "name": "John Doe" | CODE |
| LOW | …custom-resources/rate-limit-tiered-jwt-claim/README.md | 118 | "name": "Jane Doe" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/skills/nic-code-review/SKILL.md | 17 | ## Review guardrails | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/suite/test_external_auth_policies_tls_vs.py | 235 | verify path is gated by SSLEnabled && SSLVerify (policy.go:309), | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/suite/grpc/helloworld_pb2_grpc.py | 57 | CODE | |
| LOW | tests/suite/utils/resources_utils.py | 1878 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/suite/utils/external_auth_utils.py | 24 | logger = logging.getLogger(__name__) | CODE |