Test infrastructure for the Kubernetes project.
This report summarizes scanner evidence for kubernetes/test-infra, a Go project with 4,025 GitHub stars. SynthScan examined 351,720 lines of code across 1430 source files, recording 556 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 2.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 472 finding(s).
Are imports declared and package/API names verified? 39 finding(s).
Are wrappers, guards, and repeated structures necessary? 151 finding(s).
Which changes need focused human review? 556 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 556 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | metrics/bigquery_test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | metrics/bigquery.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | metrics/get_jq.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | testgrid/config-upload.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | testgrid/config-updater-sa.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | testgrid/config-updater-sa.sh | 21 | # to update the TG config and load a service account key into the cluster's | COMMENT |
| LOW | testgrid/conformance/upload_e2e.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | testgrid/conformance/upload_e2e.py | 21 | # - the log file contains ginkgo's output (true for kubetest and sonobuoy..) | COMMENT |
| LOW | logexporter/cluster/log-dump.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | logexporter/cluster/log-dump.sh | 941 | # `gsutil cp -r /tmp/dir/logs ${gcs_artifacts_dir}` will | COMMENT |
| LOW | config/pj-on-kind.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | config/mkpj.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ig/jobs/kubernetes-sigs/agent-sandbox/generate_jobs.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | …bernetes-sigs/cluster-api/cluster-api-prowjob-gen.yaml | 1 | # This is the configuration file for cluster-apis prowjob-gen which is located | COMMENT |
| LOW | …ra-driver-nvidia-gpu/dra-driver-nvidia-gpu-lambda.yaml | 1 | # Prow jobs for DRA GPU e2e tests on Lambda Cloud. | COMMENT |
| LOW | …nfig/jobs/image-pushing/k8s-staging-e2e-test-images.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | config/jobs/image-pushing/k8s-staging-perf-tests.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …s/image-pushing/k8s-staging-karpenter-cluster-api.yaml | 1 | postsubmits: | COMMENT |
| LOW | config/jobs/image-pushing/k8s-staging-sig-storage.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | config/jobs/kubernetes-csi/gen-jobs.sh | 1 | #! /bin/bash -e | COMMENT |
| LOW | config/jobs/kubernetes-csi/gen-jobs.sh | 281 | COMMENT | |
| LOW | config/jobs/kubernetes-csi/gen-jobs.sh | 621 | # docker-in-docker needs privileged mode | COMMENT |
| LOW | …kubernetes/sig-k8s-infra/trusted/sig-k8s-infra-apps.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …obs/kubernetes/sig-k8s-infra/trusted/releng/sync-ar.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ig-k8s-infra/releng/artifact-promotion-presubmits.yaml | 41 | # branches: | COMMENT |
| LOW | …der-openstack/cloud-provider-openstack-presubmits.yaml | 141 | # - ^master$ | COMMENT |
| LOW | …g/jobs/kubernetes/sig-cloud-provider/azure/generate.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | config/jobs/kubernetes/kops/build_vars.py | 1 | # Copyright 2025 The Kubernetes Authors. | COMMENT |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1 | # Copyright 2020 The Kubernetes Authors. | COMMENT |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 981 | "--set=cluster.spec.kubeControllerManager.controllers=selinux-warning-controller" | COMMENT |
| LOW | config/jobs/kubernetes/kops/helpers.py | 1 | # Copyright 2020 The Kubernetes Authors. | COMMENT |
| LOW | config/jobs/kubernetes/sig-node/node-kubelet.yaml | 1341 | #- name: ci-kubernetes-node-kubelet-performance-test | COMMENT |
| LOW | config/jobs/kubernetes/sig-node/node-kubelet.yaml | 1361 | # - --provider=gce | COMMENT |
| LOW | images/bootstrap/runner.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/bootstrap/runner.sh | 61 | # A cgroup cannot both contain processes and parent controller-enabled | COMMENT |
| LOW | images/bootstrap/entrypoint.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/kubekins-e2e-v2/login.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/kubekins-e2e-v2/runner.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/kubekins-e2e-v2/runner.sh | 41 | # we need enabled by default | COMMENT |
| LOW | images/krte/wrapper.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/builder/run.sh | 1 | #!/bin/sh | COMMENT |
| LOW | images/kubekins-e2e/login.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/kubekins-e2e/install-bazel.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | images/kubekins-e2e/kops-e2e-runner.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/analyze-memory-profiles.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | hack/coalesce.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | hack/pylint_bin.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | hack/generate-jobs.py | 1 | # Copyright 2025 The Kubernetes Authors. | COMMENT |
| LOW | hack/run-in-python-container.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/coalesce_test.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | hack/run-in-node-container.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/rollup-js.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/ci/test-infra-e2e-k8s.sh | 1 | #!/bin/sh | COMMENT |
| LOW | hack/ci/test-infra-e2e-k8s.sh | 21 | # This version has no defaults which restrict which tests are running. | COMMENT |
| LOW | hack/ci/test-infra-e2e-k8s.sh | 41 | # JSON or YAML encoding of a string/string (!) map: {"apia.example.com/v1alpha1": "true", "apib.example.com/v1b | COMMENT |
| LOW | hack/ci/test-infra-e2e-k8s.sh | 181 | COMMENT | |
| LOW | hack/make-rules/update/gofmt.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/make-rules/update/file-perms.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/make-rules/update/ts-rollup.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hack/make-rules/update/misspell.sh | 1 | #!/usr/bin/env bash | COMMENT |
| 178 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | metrics/bigquery_test.py | 116 | def test_validate_metric_name(self): | CODE |
| LOW | metrics/bigquery_test.py | 191 | def test_collect_valid_jobs_nonexistent_dir(self): | CODE |
| LOW | metrics/bigquery_test.py | 196 | def test_collect_valid_jobs_real_config(self): | CODE |
| LOW⚡ | metrics/bigquery_test.py | 222 | def test_collect_valid_jobs_null_values(self): | CODE |
| LOW | metrics/bigquery_test.py | 265 | def test_filter_json_by_jobs_object_format(self): | CODE |
| LOW | metrics/bigquery_test.py | 290 | def test_filter_json_by_jobs_array_format(self): | CODE |
| LOW | metrics/bigquery.py | 93 | def _extract_jobs_from_config(config): | CODE |
| LOW | testgrid/conformance/upload_e2e.py | 66 | def log_line_strip_escape_sequences(line): | CODE |
| LOW | testgrid/conformance/upload_e2e.py | 125 | def testgrid_started_json_contents(start_time): | CODE |
| LOW | testgrid/conformance/upload_e2e.py | 140 | def testgrid_finished_json_contents(finish_time, passed, metadata): | CODE |
| LOW | …ig/jobs/kubernetes-sigs/agent-sandbox/generate_jobs.py | 85 | def presubmit_test_autogen_up_to_date(job): | CODE |
| LOW | …ig/jobs/kubernetes-sigs/agent-sandbox/generate_jobs.py | 127 | def presubmit_benchmarks_kops_gcp_claims(job): | CODE |
| LOW | …ig/jobs/kubernetes-sigs/agent-sandbox/generate_jobs.py | 137 | def presubmit_verify_olm_bundle(job): | CODE |
| LOW | config/jobs/kubernetes/kops/build_vars.py | 37 | def drop_unsupported_versions(original_list, version_to_drop): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1357 | def generate_presubmits_ai_conformance(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1487 | def generate_presubmits_distros(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1720 | def generate_periodics_upgrades_dns_none(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1758 | def generate_periodics_dns_none(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1807 | def generate_presubmits_dns_none(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1851 | def generate_presubmits_upgrades_dns_none(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 1888 | def generate_presubmits_scale(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 2189 | def generate_presubmits_branch(): | CODE |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 2220 | def generate_presubmits_network_plugins(): | CODE |
| LOW | kettle/make_json_test.py | 494 | def test_path_to_job_and_number(self): | CODE |
| LOW | kettle/make_db_test.py | 90 | def test_get_builds_normal_list(self): | STRING |
| LOW⚡ | kettle/make_db_test.py | 106 | def test_get_builds_latest_fallback(self): | STRING |
| LOW⚡ | kettle/make_db_test.py | 110 | def test_get_builds_non_sequential(self): | STRING |
| LOW⚡ | kettle/make_db_test.py | 116 | def test_get_builds_exclude_list_no_match(self): | STRING |
| LOW⚡ | kettle/make_db_test.py | 121 | def test_get_builds_exclude_list_match(self): | STRING |
| LOW⚡ | kettle/make_db_test.py | 126 | def test_get_builds_exclude_list_match_using_regexp(self): | STRING |
| LOW | kettle/make_json.py | 113 | def populate_path_to_job_and_number(self): | CODE |
| LOW | gubernator/view_build_test.py | 196 | def test_finished_has_revision(self): | CODE |
| LOW | gubernator/view_build_test.py | 254 | def test_build_show_passed_skipped(self): | CODE |
| LOW | gubernator/view_build_test.py | 273 | def test_build_testgrid_links(self): | CODE |
| LOW | gubernator/view_build_test.py | 280 | def test_build_failure_no_text(self): | CODE |
| LOW | gubernator/view_build_test.py | 376 | def test_build_directory_redir(self): | CODE |
| LOW⚡ | gubernator/view_build_test.py | 406 | def test_view_build_list_with_latest(self): | CODE |
| LOW⚡ | gubernator/view_build_test.py | 410 | def test_view_build_list_with_old_latest(self): | CODE |
| LOW⚡ | gubernator/view_build_test.py | 415 | def test_view_build_list_no_latest(self): | CODE |
| LOW⚡ | gubernator/view_build_test.py | 418 | def test_view_build_list_indirect_with_latest(self): | CODE |
| LOW⚡ | gubernator/view_build_test.py | 422 | def test_view_build_list_indirect_no_latest(self): | CODE |
| LOW | gubernator/view_build_test.py | 436 | def test_recent_runs_across_prs(self): | CODE |
| LOW | gubernator/filters_test.py | 108 | def test_render_status_complex(self): | CODE |
| LOW | gubernator/gcs_async_test.py | 34 | def install_handler_dispatcher(stub, matches, dispatch): | CODE |
| LOW | gubernator/pull_request_test.py | 45 | def test_builds_to_table_no_header(self): | CODE |
| LOW | gubernator/pull_request_test.py | 56 | def test_builds_to_table_podutils(self): | CODE |
| LOW | gubernator/main_test.py | 89 | def test_nodelog_missing_files(self): | CODE |
| LOW | gubernator/main_test.py | 133 | def test_nodelog_no_junit_apiserver(self): | CODE |
| LOW | gubernator/main_test.py | 184 | def test_timestamp_no_apiserver(self): | CODE |
| LOW | gubernator/filters.py | 164 | def has_lgtm_without_missing_approval(payload, user): | CODE |
| LOW | gubernator/view_pr_test.py | 118 | def test_pr_build_log_redirect(self): | CODE |
| LOW | gubernator/third_party/cloudstorage/cloudstorage_api.py | 534 | def _should_get_another_batch(self, content): | CODE |
| LOW | gubernator/third_party/cloudstorage/common.py | 176 | def get_stored_content_length(headers): | CODE |
| LOW | gubernator/third_party/cloudstorage/api_utils.py | 72 | def _get_default_retry_params(): | CODE |
| LOW | gubernator/third_party/cloudstorage/api_utils.py | 302 | def belong_to_current_request(self): | CODE |
| LOW⚡ | gubernator/third_party/defusedxml/expatbuilder.py | 29 | def defused_start_doctype_decl(self, name, sysid, pubid, | CODE |
| LOW⚡ | gubernator/third_party/defusedxml/expatbuilder.py | 37 | def defused_unparsed_entity_decl(self, name, base, sysid, pubid, | CODE |
| LOW⚡ | gubernator/third_party/defusedxml/expatbuilder.py | 42 | def defused_external_entity_ref_handler(self, context, base, sysid, | CODE |
| LOW⚡ | gubernator/third_party/defusedxml/xmlrpc.py | 125 | def defused_start_doctype_decl(self, name, sysid, pubid, | CODE |
| LOW⚡ | gubernator/third_party/defusedxml/xmlrpc.py | 133 | def defused_unparsed_entity_decl(self, name, base, sysid, pubid, | CODE |
| 43 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | metrics/bigquery_test.py | 136 | # Create a temporary directory with test job configs | COMMENT |
| MEDIUM | metrics/bigquery_test.py | 140 | # Create a presubmits config | COMMENT |
| MEDIUM | metrics/bigquery_test.py | 152 | # Create a postsubmits config | COMMENT |
| MEDIUM | metrics/bigquery_test.py | 163 | # Create a periodics config | COMMENT |
| MEDIUM⚡ | metrics/bigquery_test.py | 224 | # Create a temporary directory with test job configs | COMMENT |
| MEDIUM⚡ | metrics/bigquery_test.py | 228 | # Create a config with explicit null values (common in real configs) | COMMENT |
| MEDIUM | metrics/bigquery_test.py | 240 | # Create a config with only some fields present | COMMENT |
| MEDIUM | metrics/bigquery_test.py | 252 | # Create an empty config (yaml.safe_load returns None) | COMMENT |
| MEDIUM | testgrid/config-updater-sa.sh | 52 | # Create a service account for performing Prow deployments in a GCP project. | COMMENT |
| MEDIUM | logexporter/cluster/log-dump.sh | 113 | # Create a temp dir that'll be deleted at the end of this bash session. | COMMENT |
| MEDIUM | logexporter/cluster/log-dump.sh | 735 | # Create the logexporter namespace, service-account secret and the logexporter daemonset within that namespace. | COMMENT |
| MEDIUM | config/jobs/kubernetes/kops/build_vars.py | 15 | # This file contains common variables and lists for generating kops prow jobs. | COMMENT |
| MEDIUM | images/kubekins-e2e/kops-e2e-runner.sh | 62 | # Define a custom instance lister for cluster/log-dump/log-dump.sh. | COMMENT |
| MEDIUM | scenarios/kubernetes_e2e.py | 143 | # Create a suffix based on the build number and job name. | COMMENT |
| MEDIUM | experiment/find-merge-conflicts.sh | 85 | # Create a branch to attempt the merge | COMMENT |
| MEDIUM | experiment/create-build-project.sh | 18 | # Create a new GCP project | COMMENT |
| MEDIUM | experiment/create-build-project.sh | 21 | # Create a default build cluster | COMMENT |
| MEDIUM | experiment/compatibility-versions/common.sh | 21 | # This file contains shared functions and variables for kind e2e scripts | COMMENT |
| MEDIUM | …ent/compatibility-versions/e2e-skip-version-testing.sh | 72 | # Define the path within the temp directory for the cloned repo | COMMENT |
| MEDIUM | …riment/compatibility-versions/e2e-two-steps-upgrade.sh | 113 | # Define the path within the temp directory for the cloned repo | COMMENT |
| MEDIUM | …mpatibility-versions/e2e-k8s-compatibility-versions.sh | 110 | # Define the path within the temp directory for the cloned repo | COMMENT |
| MEDIUM | jenkins/bootstrap.py | 936 | # Create a script for use with GIT_SSH, which defines the program git uses | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | hack/coalesce.py | 87 | except OSError: | CODE |
| HIGH | kettle/make_db.py | 293 | except ET.ParseError: | CODE |
| HIGH | kettle/make_db.py | 157 | except (ValueError, TypeError): | CODE |
| HIGH | gubernator/main.py | 58 | except KeyError: | CODE |
| HIGH | gubernator/filters.py | 95 | except (AttributeError, TypeError): | CODE |
| HIGH | gubernator/github/main_test.py | 109 | except AttributeError: | CODE |
| HIGH | experiment/parse_build_log.py | 44 | except: # pylint: disable=bare-except | CODE |
| HIGH | jenkins/bootstrap.py | 507 | except subprocess.CalledProcessError: | CODE |
| HIGH | jenkins/bootstrap.py | 516 | except subprocess.CalledProcessError: | CODE |
| HIGH | jenkins/bootstrap.py | 269 | except OSError: | CODE |
| HIGH | jenkins/bootstrap.py | 777 | except subprocess.CalledProcessError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | metrics/bigquery.py | 364 | print('Error: --filter-stale-jobs requires --jobs-dir', file=sys.stderr) | CODE |
| LOW | triage/generate_job_repos.py | 41 | except Exception: | CODE |
| MEDIUM | kettle/stream.py | 114 | print(f"Error running {func.__name__} \ | CODE |
| LOW | kettle/model.py | 177 | except Exception as e: # pylint: disable=broad-except | STRING |
| LOW | experiment/move-annotations.py | 84 | except Exception as e: | CODE |
| LOW | experiment/edit-prowjobs.py | 117 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | experiment/compare-yaml.py | 43 | except Exception as e: | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 62 | print(f"Error: Failed to parse YAML content from {url}") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 70 | print(f"Error: Failed to download {endpoint_type} from {url}") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 75 | print(f"Error: Unexpected failure loading {endpoint_type} from {url}") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 76 | print(f"Error details: {e}") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 197 | print(f"Error downloading Swagger spec: {e}") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 201 | print(f"Error parsing Swagger JSON: {e}") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 731 | print(f"Error: File {file_path} not found") | CODE |
| MEDIUM⚡ | experiment/audit/audit_log_parser.py | 734 | print(f"Error reading file {file_path}: {e}") | CODE |
| MEDIUM | experiment/audit/audit_log_parser.py | 110 | print(f"Error: Expected YAML list format for {endpoint_type}, got {type(yaml_data)}") | CODE |
| MEDIUM | experiment/audit/audit_log_parser.py | 850 | print(f"Error writing to file: {e}") | CODE |
| MEDIUM | experiment/audit/audit_log_parser.py | 954 | print(f"Error writing {json_output_path}: {e}") | CODE |
| LOW⚡ | experiment/audit/audit_log_parser.py | 74 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW⚡ | experiment/audit/audit_log_parser.py | 204 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW⚡ | experiment/audit/audit_log_parser.py | 724 | except Exception: # pylint: disable=broad-except | CODE |
| MEDIUM | experiment/audit/audit_log_parser.py | 1000 | print("Error: Failed to load Swagger specification") | STRING |
| MEDIUM | experiment/audit/kubernetes_api_analysis.py | 64 | print(f"Error reading swagger specification: {e}") | CODE |
| MEDIUM | experiment/audit/kubernetes_api_analysis.py | 108 | print(f"Error: Audit file not found: {audit_file}") | CODE |
| MEDIUM | experiment/audit/kubernetes_api_analysis.py | 249 | print(f"Error accessing GCS bucket: {e}") | CODE |
| MEDIUM | experiment/audit/kubernetes_api_analysis.py | 252 | print("Error: gsutil not found. Please install Google Cloud SDK.") | CODE |
| LOW | jenkins/bootstrap.py | 1113 | except Exception: # pylint: disable=broad-except | CODE |
| MEDIUM | jenkins/bootstrap.py | 234 | def commit_date(git, commit, call): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | metrics/bigquery.py | 121 | CODE | |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 89 | CODE | |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 335 | CODE | |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 531 | CODE | |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 2888 | CODE | |
| LOW | hack/coalesce.py | 55 | CODE | |
| LOW | hack/generate-jobs.py | 48 | CODE | |
| LOW | hack/boilerplate/verify_boilerplate.py | 177 | CODE | |
| LOW | triage/generate_job_repos.py | 26 | CODE | |
| LOW | kettle/make_db.py | 284 | CODE | |
| LOW | kettle/make_db.py | 51 | CODE | |
| LOW | kettle/make_db.py | 176 | CODE | |
| LOW | kettle/stream.py | 74 | CODE | |
| LOW | kettle/model.py | 161 | CODE | |
| LOW | kettle/make_json.py | 163 | CODE | |
| LOW | kettle/make_json.py | 226 | CODE | |
| LOW | kettle/make_json.py | 249 | CODE | |
| LOW | gubernator/pb_glance.py | 24 | CODE | |
| LOW | gubernator/update_config.py | 23 | CODE | |
| LOW | gubernator/testgrid.py | 97 | CODE | |
| LOW | gubernator/gcs_async.py | 29 | CODE | |
| LOW | gubernator/filters.py | 100 | CODE | |
| LOW | gubernator/third_party/cloudstorage/cloudstorage_api.py | 282 | CODE | |
| LOW | gubernator/third_party/cloudstorage/cloudstorage_api.py | 443 | CODE | |
| LOW | gubernator/third_party/cloudstorage/cloudstorage_api.py | 493 | CODE | |
| LOW | gubernator/third_party/cloudstorage/errors.py | 96 | CODE | |
| LOW | gubernator/github/classifier.py | 94 | CODE | |
| LOW | gubernator/github/classifier.py | 280 | CODE | |
| LOW | gubernator/github/classifier.py | 354 | CODE | |
| LOW | gubernator/github/models.py | 30 | CODE | |
| LOW | scenarios/kubernetes_e2e.py | 179 | CODE | |
| LOW | scenarios/kubernetes_janitor.py | 134 | CODE | |
| LOW | experiment/move-annotations.py | 41 | CODE | |
| LOW | experiment/move-annotations.py | 72 | CODE | |
| LOW | experiment/edit-prowjobs.py | 64 | CODE | |
| LOW | experiment/migrate_testgrid_tabs.py | 40 | CODE | |
| LOW | experiment/migrate_testgrid_tabs.py | 63 | CODE | |
| LOW | experiment/migrate_testgrid_tabs.py | 110 | CODE | |
| LOW | experiment/migrate_testgrid_tabs.py | 190 | CODE | |
| LOW | experiment/dependencies/unwanted_deps.py | 213 | CODE | |
| LOW | experiment/dependencies/unwanted_deps.py | 297 | CODE | |
| LOW | experiment/dependencies/gomod_staleness.py | 66 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 81 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 528 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 636 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 757 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 167 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 209 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 235 | CODE | |
| LOW | experiment/audit/audit_log_parser.py | 303 | CODE | |
| LOW | experiment/audit/kubernetes_api_analysis.py | 44 | CODE | |
| LOW | experiment/audit/kubernetes_api_analysis.py | 93 | CODE | |
| LOW | experiment/audit/kubernetes_api_analysis.py | 129 | CODE | |
| LOW | experiment/audit/kubernetes_api_analysis.py | 182 | CODE | |
| LOW | jenkins/bootstrap.py | 435 | CODE | |
| LOW | jenkins/bootstrap.py | 672 | CODE | |
| LOW | jenkins/bootstrap_test.py | 1138 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gubernator/third_party/cloudstorage/cloudstorage_api.py | 53 | Opens a Google Cloud Storage file and returns it as a File-like object. Args: filename: A Google Cloud Storage fi | STRING |
| HIGH | gubernator/third_party/cloudstorage/cloudstorage_api.py | 130 | Get GCSFileStat of a Google Cloud storage file. Args: filename: A Google Cloud Storage filename of form '/bucket/ | STRING |
| HIGH | gubernator/third_party/cloudstorage/cloudstorage_api.py | 197 | Returns a GCSFileStat iterator over a bucket. Optional arguments can limit the result to a subset of files under buck | STRING |
| HIGH | gubernator/third_party/cloudstorage/common.py | 247 | Validate and process a Google Cloud Stoarge path prefix. Args: path_prefix: a Google Cloud Storage path prefix of | STRING |
| HIGH | gubernator/third_party/cloudstorage/storage_api.py | 324 | Read one line delimited by '\n' from the file. A trailing newline character is kept in the string. It may be absent | STRING |
| HIGH | gubernator/third_party/cloudstorage/storage_api.py | 366 | Read data from RAW file. Args: size: Number of bytes to read as integer. Actual number of bytes read | STRING |
| HIGH | gubernator/third_party/cloudstorage/storage_api.py | 456 | Get a segment of the file from Google Storage. Args: start: start offset of the segment. Inclusive. Have to b | STRING |
| HIGH | gubernator/third_party/cloudstorage/api_utils.py | 139 | Run a tasklet with retry. The retry should be transparent to the caller: if no results are successful, the exce | STRING |
| HIGH | gubernator/third_party/cloudstorage/api_utils.py | 272 | Check init arguments. Args: name: name of the argument. For logging purpose. val: value. Value has to b | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gubernator/third_party/cloudstorage/cloudstorage_api.py | 19 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 20 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 21 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 22 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 23 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 24 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 25 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 26 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 27 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 28 | CODE | |
| LOW | gubernator/third_party/cloudstorage/__init__.py | 29 | CODE | |
| LOW | gubernator/third_party/defusedxml/pulldom.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/pulldom.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/expatbuilder.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/expatbuilder.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/xmlrpc.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/xmlrpc.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/cElementTree.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/cElementTree.py | 12 | CODE | |
| LOW | gubernator/third_party/defusedxml/sax.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/sax.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/__init__.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/lxml.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/lxml.py | 10 | CODE | |
| LOW | gubernator/third_party/defusedxml/minidom.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/minidom.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/expatreader.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/expatreader.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/ElementTree.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/ElementTree.py | 8 | CODE | |
| LOW | gubernator/third_party/defusedxml/ElementTree.py | 24 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | images/bootstrap/runner.sh | 39 | # Check if the job has opted-in to docker-in-docker availability. | COMMENT |
| LOW | images/kubekins-e2e-v2/runner.sh | 34 | # Check if the job has opted-in to docker-in-docker availability. | COMMENT |
| LOW | images/krte/wrapper.sh | 70 | # Check if the job has opted-in to docker-in-docker | COMMENT |
| LOW | hack/make-rules/py-test/activate-python_venv.sh | 27 | # Check if the virtual environment exists and matches the current python version | COMMENT |
| LOW | experiment/kubelet-serving-certificates/e2e-k8s.sh | 229 | # Check if this CSR was already approved | COMMENT |
| LOW | experiment/kubelet-serving-certificates/e2e-k8s.sh | 239 | # Check if username matches system:node:<node-name> for any of our nodes | COMMENT |
| LOW | experiment/kubelet-serving-certificates/e2e-k8s.sh | 266 | # Check if all nodes have approved CSRs | COMMENT |
| LOW | experiment/compatibility-versions/common.sh | 346 | # Check if kubectl version reports the current version | COMMENT |
| LOW | …sions/validate-compatibility-versions-feature-gates.sh | 229 | # Check if gate is: | COMMENT |
| LOW | …y-versions/compatibility-versions-feature-gate-test.sh | 198 | # Check if gitVersion contains alpha.0 and increment VERSION_DELTA if needed | COMMENT |
| LOW | …y-versions/compatibility-versions-feature-gate-test.sh | 226 | # Check if files exist at the current paths and update if needed with alternative paths | COMMENT |
| LOW | …ent/compatibility-versions/e2e-skip-version-testing.sh | 120 | # Check if gitVersion contains alpha.0 and increment VERSION_DELTA if needed | COMMENT |
| LOW | …riment/compatibility-versions/e2e-two-steps-upgrade.sh | 64 | # Check if gitVersion contains alpha.0 and increment VERSION_DELTA if needed | COMMENT |
| LOW | …mpatibility-versions/e2e-k8s-compatibility-versions.sh | 64 | # Check if gitVersion contains alpha.0 and increment VERSION_DELTA if needed | COMMENT |
| LOW | experiment/audit/audit_log_parser.py | 221 | # Check if operation is deprecated | COMMENT |
| LOW | experiment/audit/audit_log_parser.py | 266 | # Check if this looks like a resource type (plural noun at end of path or before {name}) | COMMENT |
| LOW | experiment/audit/audit_log_parser.py | 412 | # Check if this is a watch operation by looking at query parameters | COMMENT |
| LOW | experiment/audit/audit_log_parser.py | 534 | # Check if this is a watch operation from query parameters | COMMENT |
| LOW | experiment/audit/audit_log_parser.py | 689 | # Check if this is a watch operation based on query parameters | COMMENT |
| LOW | experiment/audit/audit_log_parser.py | 1018 | # Check if any pending eligible endpoints are already being exercised in audit logs | STRING |
| LOW | experiment/audit/kubernetes_api_analysis.py | 218 | # Check if finished.json exists in this directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | kubetest/util.go | 43 | // Essentially curl url | writer including request headers | COMMENT |
| MEDIUM | kubetest/util.go | 69 | // Essentially curl url | writer | COMMENT |
| MEDIUM | kubetest/stage.go | 68 | // Essentially release/push-build.sh --bucket=B --ci? --gcs-suffix=S --noupdatelatest | COMMENT |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 228 | # reference the cluster name is to just pass it into the script | COMMENT |
| LOW | config/jobs/kubernetes/kops/helpers.py | 276 | # for now, we just return the image from this hardcoded list | COMMENT |
| MEDIUM | jenkins/bootstrap.py | 1181 | # and utilize this flag | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …netes-sigs/cluster-api/cluster-api-main-periodics.yaml | 172 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …etes-sigs/cluster-api/cluster-api-main-presubmits.yaml | 188 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …gs/cluster-api/cluster-api-release-1-12-periodics.yaml | 172 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …gs/cluster-api/cluster-api-release-1-13-periodics.yaml | 172 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …gs/cluster-api/cluster-api-release-1-14-periodics.yaml | 172 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …s/cluster-api/cluster-api-release-1-12-presubmits.yaml | 188 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …bernetes-sigs/cluster-api/cluster-api-prowjob-gen.yaml | 20 | # # Please also make sure to refer a version where a kindest/node image exists for (see https://github.com/kubern | COMMENT |
| LOW | …s/cluster-api/cluster-api-release-1-13-presubmits.yaml | 188 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| LOW | …s/cluster-api/cluster-api-release-1-14-presubmits.yaml | 188 | # Please also make sure to refer a version where a kindest/node image exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gubernator/third_party/cloudstorage/cloudstorage_api.py | 23 | __all__ = ['copy2', | CODE |
| LOW | gubernator/third_party/cloudstorage/common.py | 21 | __all__ = ['CS_XML_NS', | CODE |
| LOW | gubernator/third_party/cloudstorage/errors.py | 21 | __all__ = ['AuthorizationError', | CODE |
| LOW | gubernator/third_party/cloudstorage/storage_api.py | 21 | __all__ = ['ReadBuffer', | CODE |
| LOW | gubernator/third_party/cloudstorage/api_utils.py | 19 | __all__ = ['set_default_retry_params', | CODE |
| LOW | gubernator/third_party/cloudstorage/rest_api.py | 21 | __all__ = ['add_sync_methods'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 89 | CODE | |
| LOW | config/jobs/kubernetes/kops/build_jobs.py | 335 | CODE | |
| LOW | experiment/find_developers.py | 36 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | experiment/lambda/e2e-test.sh | 16 | # e2e-test.sh -- orchestrates GPU e2e tests on a Lambda Cloud instance. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | testgrid/config.md | 318 | alert_mail_to_addresses: 'foo@bar.com' | CODE |
| LOW⚡ | jenkins/bootstrap_test.py | 870 | bootstrap.GCE_KEY_ENV: 'fake-key', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | config/jobs/kubernetes-csi/gen-jobs.sh | 304 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | robots/issue-creator/sources/flakyjob-reporter.go | 251 | // TODO: implement priority calculations later | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | triage/interactive.js | 305 | function getData() { | CODE |