Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
58 of your 226 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.
Upstream (GitHub) caused delay on this scan — not Repobility.
  • GitHub API rate-limited (HTTP 403) — preflight skipped, fell back to direct git clone.
  • Clone from GitHub took 55.04s for a 200.1 MB repo slow.
  • Repobility's analysis ran in 49.92s after the clone landed.

kubernetes/kubernetes

https://github.com/kubernetes/kubernetes · scanned 2026-06-05 05:10 UTC (8 hours, 40 minutes ago) · 10 languages

1074 findings (178 legacy + 896 scanner) 11/13 scanners ran 50th percentile · Go · huge (>500K LoC)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 8 hours, 40 minutes ago · v2 · 626 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 85.0 0.15 12.75
security_score 100.0 0.25 25.00
testing_score 85.0 0.20 17.00
documentation_score 98.0 0.15 14.70
practices_score 42.0 0.15 6.30
code_quality 69.0 0.10 6.90
Overall 1.00 82.7
security_score may be inflated — optional security scanners were skipped on this fast scan
Severity distribution — click a segment to filter
Active filters: source: legacy × excluding tests × Reset all
Scan summary Repository scanned at 84.0/100 with 100.0% coverage. It contains 32570 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 448 findings — concentrated in quality (356), hardware (50), network (18). Risk profile is high: 7 critical, 3 high, 72 medium. Recommended next step: open the quality layer findings first — that's where the highest-impact wins live.

Showing 105 of 626 findings. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

low Legacy quality quality conf 1.00 ✓ Repobility [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
Review and fix per the pattern semantics. See CWE-327 / A02:2021 for context.
hack/update-vendor-licenses.sh:184 qualitylegacy
low Legacy quality quality conf 1.00 ✓ Repobility [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
Review and fix per the pattern semantics. See CWE-327 / A02:2021 for context.
cluster/get-kube-binaries.sh:134 qualitylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED118] Dockerfile FROM `alpine:latest` not pinned by digest: `FROM alpine:latest` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM alpine:latest@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
staging/src/k8s.io/kms/internal/plugins/_mock/Dockerfile:31 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED118] Dockerfile FROM `gcr.io/distroless/base-debian10:latest` not pinned by digest: `FROM gcr.io/distroless/base-debian10:latest` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM gcr.io/distroless/base-debian10:latest@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
staging/src/k8s.io/apiextensions-apiserver/artifacts/simple-image/Dockerfile:14 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED118] Dockerfile FROM `gcr.io/distroless/static:latest` not pinned by digest: `FROM gcr.io/distroless/static:latest` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM gcr.io/distroless/static:latest@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
cluster/images/etcd-version-monitor/Dockerfile:14 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED118] Dockerfile FROM `gcr.io/distroless/static:latest` not pinned by digest: `FROM gcr.io/distroless/static:latest` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM gcr.io/distroless/static:latest@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
staging/src/k8s.io/pod-security-admission/webhook/Dockerfile:14 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED118] Dockerfile FROM `registry.k8s.io/build-image/go-runner:v2.3.1-go1.17.2-bullseye.0` not pinned by digest: `FROM registry.k8s.io/build-image/go-runner:v2.3.1-go1.17.2-bullseye.0` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM registry.k8s.io/build-image/go-runner:v2.3.1-go1.17.2-bullseye.0@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
cluster/images/kubemark/Dockerfile:22 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED118] Dockerfile FROM `ubuntu:xenial` not pinned by digest: `FROM ubuntu:xenial` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM ubuntu:xenial@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
cluster/gce/gci/mounter/Dockerfile:14 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/sample-controller/go.mod:67 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/component-base/go.mod:96 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/kube-aggregator/go.mod:123 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/sample-apiserver/go.mod:120 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/apiserver/go.mod:132 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/sample-cli-plugin/go.mod:76 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/pod-security-admission/go.mod:117 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/endpointslice/go.mod:76 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/cli-runtime/go.mod:79 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/kube-controller-manager/go.mod:34 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/client-go/go.mod:72 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/apiextensions-apiserver/go.mod:134 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/kubectl/go.mod:105 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/csi-translation-lib/go.mod:38 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/metrics/go.mod:70 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/cloud-provider/go.mod:121 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/kubelet/go.mod:57 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/controller-manager/go.mod:113 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/component-helpers/go.mod:61 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/cluster-bootstrap/go.mod:39 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../apimachinery` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/api/go.mod:35 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../apimachinery` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/code-generator/go.mod:60 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ../cri-api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/cri-streaming/go.mod:37 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `(` — points to a LOCAL path: `replace ( => ./staging/src/k8s.io/api` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
go.mod:228 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED128] go.mod replaces `k8s.io/streaming` — points to a LOCAL path: `replace k8s.io/streaming => ../streaming` overrides the canonical dependency with a different source (points to a LOCAL path). Local-path replaces are fine for monorepos but in published modules they can hide malicious forks from anyone who only audits the require lines.
If the replace is intentional (e.g. waiting on an upstream fix), vendor the dependency into the repo and add a comment explaining the reason. Remove the replace once upstream merges.
staging/src/k8s.io/apimachinery/go.mod:62 dependencylegacy
high Legacy quality quality conf 1.00 [SEC088] Go: TLS InsecureSkipVerify=true: tls.Config{InsecureSkipVerify:true} disables certificate verification — MITM risk. Ported from gosec G402 (Apache-2.0).
Remove the option. If self-signed certs are required, pin via RootCAs.
pkg/probe/http/http.go:41 qualitylegacy
high Legacy quality quality conf 1.00 [SEC093] Go: exec.Command with non-literal: exec.Command(<var>) — variable command name allows command injection. Ported from gosec G204 (Apache-2.0).
Use a constant command name and validate args via a whitelist.
pkg/kubelet/kubelet_server_journal_linux.go:68 qualitylegacy
high Legacy quality quality conf 1.00 [SEC093] Go: exec.Command with non-literal: exec.Command(<var>) — variable command name allows command injection. Ported from gosec G204 (Apache-2.0).
Use a constant command name and validate args via a whitelist.
cmd/importverifier/importverifier.go:231 qualitylegacy
high Legacy quality quality conf 1.00 [SEC093] Go: exec.Command with non-literal: exec.Command(<var>) — variable command name allows command injection. Ported from gosec G204 (Apache-2.0).
Use a constant command name and validate args via a whitelist.
cluster/gce/gci/mounter/mounter.go:70 qualitylegacy
high Legacy quality quality conf 1.00 ✓ Repobility [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
Either narrow the exception type, log the exception with `logger.exception(...)`, or re-raise after handling.
hack/verify-flags-underscore.py:42 qualitylegacy
medium Legacy quality quality conf 1.00 [SEC091] Go: net/http server without timeouts: HTTP server without ReadHeaderTimeout/ReadTimeout/WriteTimeout is vulnerable to Slowloris. Ported from gosec G112 + G114 (Apache-2.0).
Construct `&http.Server{Addr: ..., ReadHeaderTimeout: 5*time.Second, ReadTimeout: 10*time.Second, WriteTimeout: 30*time.Second}`.
pkg/proxy/healthcheck/common.go:60 qualitylegacy
medium Legacy quality quality conf 1.00 [SEC091] Go: net/http server without timeouts: HTTP server without ReadHeaderTimeout/ReadTimeout/WriteTimeout is vulnerable to Slowloris. Ported from gosec G112 + G114 (Apache-2.0).
Construct `&http.Server{Addr: ..., ReadHeaderTimeout: 5*time.Second, ReadTimeout: 10*time.Second, WriteTimeout: 30*time.Second}`.
cluster/images/etcd-version-monitor/etcd-version-monitor.go:403 qualitylegacy
medium Legacy quality quality conf 1.00 [SEC094] Go: world-writable file permissions: File or directory created with world-writable mode (e.g. 0666, 0777). Ported from gosec G301 / G302 / G306 (Apache-2.0).
Use 0600 for files, 0700 for dirs that should be private.
cmd/prune-junit-xml/prunexml.go:64 qualitylegacy
medium Legacy software xss conf 1.00 [SEC112] Go html/template bypass — text/template used for HTML output, or template.HTML on user input: Go's `text/template` does no HTML escaping. `template.HTML(x)` marks data as already-safe. Using either with user input = XSS.
Use `html/template` (NOT `text/template`) for HTML responses. Never wrap user input with `template.HTML/JS/URL`.
cmd/kubeadm/app/util/output/output.go:166 xsslegacy
medium Legacy software xss conf 1.00 [SEC112] Go html/template bypass — text/template used for HTML output, or template.HTML on user input: Go's `text/template` does no HTML escaping. `template.HTML(x)` marks data as already-safe. Using either with user input = XSS.
Use `html/template` (NOT `text/template`) for HTML responses. Never wrap user input with `template.HTML/JS/URL`.
cmd/kubeadm/app/cmd/version.go:78 xsslegacy
medium Legacy quality quality conf 1.00 [SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all exception block that silently returns success or no-ops. AI agents reach for this pattern when a flaky test or an unfamiliar API throws — wrap, swallow, return success. Real bugs are masked, observability is destroyed, and callers think the operation worked. CWE-396 (improperly-generalized exception). Distinct from intentional fallback because there's no log line and the success value is fabricated.
Catch the specific exception type, log at error level with full exception info, and return a failure-shaped result. If the operation is genuinely best-effort, log at warning and document why in a comment so the next reader (or scanner) knows.
hack/verify-flags-underscore.py:42 qualitylegacy
high Legacy quality quality conf 0.72 Agent control bridge may listen on a network interface without visible auth
Bind local agent bridges to 127.0.0.1 by default. If remote access is required, require a bearer token or mTLS, enforce origin/CSRF checks for browser clients, and document the threat model.
cluster/gce/config-default.sh:13 qualitylegacy
medium Legacy cicd docker conf 0.90 Docker build context has no .dockerignore
Add .dockerignore with at least .git, .env, private keys, dependency folders, build outputs, and local databases.
.dockerignore dockerlegacy
medium Legacy cicd docker conf 0.84 Docker build context is very large
Shrink the build context with .dockerignore, move generated/runtime data outside the build context, and copy only the manifest files needed for cached dependency layers.
.dockerignore dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
staging/src/k8s.io/sample-apiserver/artifacts/simple-image/Dockerfile:15 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
staging/src/k8s.io/kube-aggregator/artifacts/simple-image/Dockerfile:15 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
staging/src/k8s.io/kms/internal/plugins/_mock/Dockerfile:32 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
staging/src/k8s.io/client-go/examples/in-cluster-client-configuration/Dockerfile:15 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
cluster/images/kubemark/Dockerfile:22 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
cluster/gce/gci/mounter/Dockerfile:15 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
cluster/addons/addon-manager/Dockerfile:17 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
build/server-image/kubectl/Dockerfile:21 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
build/server-image/kube-apiserver/Dockerfile:28 dockerlegacy
high Legacy cicd docker conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
build/server-image/Dockerfile:21 dockerlegacy
medium Legacy cicd docker conf 0.94 Dockerfile base image uses the latest tag
Pin to a maintained version tag or digest and update it deliberately through dependency automation.
staging/src/k8s.io/pod-security-admission/webhook/Dockerfile:15 dockerlegacy
medium Legacy cicd docker conf 0.94 Dockerfile base image uses the latest tag
Pin to a maintained version tag or digest and update it deliberately through dependency automation.
staging/src/k8s.io/kms/internal/plugins/_mock/Dockerfile:32 dockerlegacy
medium Legacy cicd docker conf 0.94 Dockerfile base image uses the latest tag
Pin to a maintained version tag or digest and update it deliberately through dependency automation.
staging/src/k8s.io/apiextensions-apiserver/artifacts/simple-image/Dockerfile:15 dockerlegacy
medium Legacy cicd docker conf 0.94 Dockerfile base image uses the latest tag
Pin to a maintained version tag or digest and update it deliberately through dependency automation.
cluster/images/etcd-version-monitor/Dockerfile:15 dockerlegacy
medium Legacy cicd docker conf 0.88 Heavy generated directories are included in Docker build context
Add these paths to .dockerignore or move runtime data outside the repository root used as the Docker build context.
.dockerignore dockerlegacy
high Legacy quality quality conf 0.82 Parallel implementation file sits beside a canonical file
Merge the intended change into the canonical file, update tests/imports, and delete the parallel implementation if it is not the active entry point.
staging/src/k8s.io/apiserver/pkg/registry/rest/create_update.go:1 qualitylegacy
high Legacy software dependency conf 0.70 Remote install command pipes network code directly to a shell
Publish a package-manager install path or add checksum/signature verification before execution. For docs, show the inspect-then-run flow and pin the downloaded artifact version.
pkg/proxy/ipvs/README.md:329 dependencylegacy
high Legacy software dependency conf 0.70 Remote install command pipes network code directly to a shell
Publish a package-manager install path or add checksum/signature verification before execution. For docs, show the inspect-then-run flow and pin the downloaded artifact version.
cluster/get-kube.sh:19 dependencylegacy
low Legacy quality error_handling conf 1.00 [ERR003] Ignored Error (Go): Ignoring error return values.
Handle the error or use errcheck linter.
cmd/kubeadm/app/cmd/upgrade/common.go:203 error_handlinglegacy
low Legacy quality error_handling conf 1.00 [ERR003] Ignored Error (Go): Ignoring error return values.
Handle the error or use errcheck linter.
cmd/kubeadm/app/cmd/phases/upgrade/apply/preflight.go:91 error_handlinglegacy
low Legacy quality error_handling conf 1.00 [ERR003] Ignored Error (Go): Ignoring error return values.
Handle the error or use errcheck linter.
cmd/kubeadm/app/cmd/options/generic.go:66 error_handlinglegacy
low Legacy cicd docker conf 0.72 Dockerfile installs recommended OS packages
Add `--no-install-recommends` and explicitly list only packages the image needs.
cluster/gce/gci/mounter/Dockerfile:17 dockerlegacy
low Legacy cicd docker conf 0.74 Dockerfile leaves apt package indexes in the image layer
End the apt install layer with `rm -rf /var/lib/apt/lists/*`.
cluster/gce/gci/mounter/Dockerfile:17 dockerlegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/kube-apiserver/app/options/options.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/kube-apiserver/apiserver.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/kube-apiserver/apiserver.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/importverifier/importverifier.go:4 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/importverifier/importverifier.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/importverifier/importverifier.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/import-boss/main.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/gotemplate/gotemplate.go:6 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/gotemplate/gotemplate.go:3 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/gotemplate/gotemplate.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/gotemplate/gotemplate.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genyaml/gen_kubectl_yaml.go:125 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genyaml/gen_kubectl_yaml.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genyaml/gen_kubectl_yaml.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genswaggertypedocs/swagger_type_docs.go:3 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genswaggertypedocs/swagger_type_docs.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genman/gen_kube_man.go:3 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genman/gen_kube_man.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genman/gen_kube_man.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genkubedocs/postprocessing.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genkubedocs/postprocessing.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genkubedocs/gen_kube_docs.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/genkubedocs/gen_kube_docs.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/gendocs/gen_kubectl_docs.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/fieldnamedocscheck/field_name_docs_check.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/dependencyverifier/dependencyverifier.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/dependencycheck/dependencycheck.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/cloud-controller-manager/main.go:1 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cmd/clicheck/check_cli_conventions.go:2 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
cluster/images/etcd-version-monitor/etcd-version-monitor.go:1 qualitylegacy
low Legacy quality quality conf 0.70 Generated build artifact directory is present at repository root
Remove generated output from version control, add it to .gitignore and .dockerignore where relevant, and regenerate it in CI or release jobs.
build:1 qualitylegacy
high Legacy quality quality conf 0.62 Source file name looks like an AI patch artifact
Rename it to the domain concept it implements or merge it into the existing module it was meant to change.
pkg/kubelet/types/pod_update.go:1 qualitylegacy
low Legacy quality quality conf 1.00 ✓ Repobility [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
Review and fix per the pattern semantics. See CWE-319 / A02:2021 for context.
cluster/gce/gci/master-helper.sh:215 qualitylegacy
low Legacy quality quality conf 1.00 ✓ Repobility [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
Review and fix per the pattern semantics. See CWE-319 / A02:2021 for context.
cluster/gce/gci/kube-master-internal-route.sh:17 qualitylegacy
low Legacy quality quality conf 1.00 ✓ Repobility [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
Review and fix per the pattern semantics. See CWE-319 / A02:2021 for context.
cluster/gce/gci/flexvolume_node_setup.sh:136 qualitylegacy
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/ff9a7d79-b095-4271-96e0-6710ec3d6b0f/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/ff9a7d79-b095-4271-96e0-6710ec3d6b0f/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.