Skip to content

fix(identity): publish a verified Dex security distribution - #5814

Open
devantler wants to merge 5 commits into
mainfrom
codex/dex-image-security-5811
Open

devantler wants to merge 5 commits into
mainfrom
codex/dex-image-security-5811

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The shared sign-in broker needs a source-bound security correction before fresh adoption, including the portal's dedicated broker.

What

Build and publish a minimal, reviewed distribution with the dependency correction and verified secure connections. Keep runtime adoption as a separate reviewed change.

Part of #5811

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Evaluation at a4efba7c3861c47e870c6ef5c181558f6efba1d8, based on current main 84977ddd692110a9d7a1f9bc728531d085bb75e9:

  • Root-cause dependency correction is generated by Go and confined to the exact upstream release, with independent patch replay and a fixed patched-tree check. The selected dependency and scanner releases pass the normal age policy.
  • The complete Platform root Go suite passed before the base advance. After integration, the new base's 12 module-guard controls, all 11 module tidiness checks and changed merge-heal regressions pass. ShellCheck, Actionlint and the new command's vet/tests pass.
  • Actual upstream command/server/memory-store/OIDC tests pass with normal CGO. The new checker has observed RED controls for unexamined reports, new findings and changed primary advisory metadata. Its native paired control reaches the actual weaker-protocol check; SQLite, allowed/refused HTTPS and gRPC handshakes, certificate reload, wrong CA and wrong hostname controls pass.
  • Repeated native execution exposed a transient SQLite-journal/certificate-watch collision. Certificates and database files now occupy separate fixture directories; ten full repeated controls pass. Endpoint reservations and bounded fictional failure diagnostics are retained. Both earlier failed fixture attempts remain separate adverse evidence.
  • Linux workflow 41602208351/1 completed the actual musl-linked distribution build, scanner/native controls, non-root read-only container execution and packaged-byte recheck. Its publication job correctly stayed skipped on this PR. Wider CI remains a separate gate.

This is evaluation evidence, not an independent review, promotion, deployed adoption or portal activation. Raw scanner details remain private; the specific historical disposition is supported by primary ranges, source-fix ancestry and actual executable behavior. #5811 retains signed publication/admission, digest adoption and the real broker path; business-site #491 retains its dedicated customer scope.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 48 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 7d38b1b and 2b998a5.

Files selected for processing: 9
  • .github/workflows/publish-dex-security-image.yaml
  • k8s/bases/infrastructure/controllers/dex/DexSecurity.Dockerfile
  • k8s/bases/infrastructure/controllers/dex/IMAGE-NOTICE
  • k8s/bases/infrastructure/controllers/dex/README.md
  • k8s/bases/infrastructure/controllers/dex/dex-v2.46.1-network.patch
  • scripts/build-dex-security-image.sh
  • scripts/check-dex-binary/main.go
  • scripts/check-dex-binary/main_test.go
  • scripts/check-dex-binary/workflow_test.go
Walkthrough

The change adds a patched, source-built Dex image and checks its executable, packaged files, and TLS behavior. A GitHub Actions workflow builds and verifies an image archive, then publishes that same archive on pushes to main with an SBOM, signature, and attestations. The documentation describes the image contents, admission checks, and the separate steps required to adopt the image at runtime.

Possibly related issues

Merge Risk: Moderate · previous review a4b6d

Document the workflow permissions and include all identified inputs in its triggers before merging; otherwise the lint gate can fail, and input-only changes can go unverified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 57.14% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documenta… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title names the main change: publishing a verified Dex security distribution. The changeset adds a build script, a Dockerfile, a verify/publish workflow, a dependency patch bumping golang.org/x/ne…
Description check Passed The description states the purpose: a source-bound security correction for the shared sign-in broker, delivered as a minimal, reviewed distribution with a dependency correction and verified secure con…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: publishing a verified Dex security distribution. The changeset adds a build script, a Dockerfile, a verify/publish workflow, a dependency patch bumping golang.org/x/net to v0.60.0, and a binary checker that performs TLS and certificate validation. The title's conventional-commit 'fix(identity)' scope and the 'verified' wording fit the change. It is concise, specific, and free of file lists or vague terms.

Full details: Description check

Explanation

The description states the purpose: a source-bound security correction for the shared sign-in broker, delivered as a minimal, reviewed distribution with a dependency correction and verified secure connections. Runtime adoption is deferred to a separate change. These points match the changeset, which adds the Dex image build, the golang.org/x/net bump, and the TLS checks. The description is brief but specific enough to relate to the changes.

Full details: Docstring Coverage

Explanation

Docstring coverage is 57.14% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 14 functions across 4 files. (5 skipped: 5 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 84977dd and a4b6dec.

Files selected for processing: 9
  • .github/workflows/publish-dex-security-image.yaml
  • k8s/bases/infrastructure/controllers/dex/DexSecurity.Dockerfile
  • k8s/bases/infrastructure/controllers/dex/IMAGE-NOTICE
  • k8s/bases/infrastructure/controllers/dex/README.md
  • k8s/bases/infrastructure/controllers/dex/dex-v2.46.1-network.patch
  • scripts/build-dex-security-image.sh
  • scripts/check-dex-binary/main.go
  • scripts/check-dex-binary/main_test.go
  • scripts/check-dex-binary/workflow_test.go

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Recent review details
Additional context used
Code guidelines: 1
AGENTS.md — auto-discovered
Path-based instructions: 2
Source excerpt: **Put a change in the layer that matches its scope** — edit `k8s/bases/` when it should hold for **every consumer of that resource**; add an overlay `patches/` fragment only for a genuine per-consumer difference.

CodeRabbit inference engine (AGENTS.md)

Files:

  • k8s/bases/infrastructure/controllers/dex/dex-v2.46.1-network.patch
  • k8s/bases/infrastructure/controllers/dex/DexSecurity.Dockerfile
  • k8s/bases/infrastructure/controllers/dex/IMAGE-NOTICE
  • k8s/bases/infrastructure/controllers/dex/README.md
Source excerpt: Resources under `k8s/bases/infrastructure/` are **component-folder-first**: a component's HelmRelease/HelmRepository and its own CRs live together in a folder named after the component — `controllers//` in the con...

CodeRabbit inference engine (AGENTS.md)

Files:

  • k8s/bases/infrastructure/controllers/dex/dex-v2.46.1-network.patch
  • k8s/bases/infrastructure/controllers/dex/DexSecurity.Dockerfile
  • k8s/bases/infrastructure/controllers/dex/IMAGE-NOTICE
  • k8s/bases/infrastructure/controllers/dex/README.md
golangci-lint (2.14.0)
scripts/check-dex-binary/workflow_test.go

[medium] 46-46: G204: Subprocess launched with a potential tainted input or cmd arguments

(gosec)

scripts/check-dex-binary/main_test.go

[error] 17-17: Error return value of listener.Close is not checked

(errcheck)

[error] 26-26: Error return value of other.Close is not checked

(errcheck)

[error] 24-24: net.Listen must not be called. use (*net.ListenConfig).Listen

(noctx)

scripts/check-dex-binary/main.go

[error] 96-96: Error return value of f.Close is not checked

(errcheck)

[error] 97-97: Error return value of os.Remove is not checked

(errcheck)

[error] 140-140: Error return value of f.Close is not checked

(errcheck)

[error] 338-338: Error return value of log.Close is not checked

(errcheck)

[error] 380-380: Error return value of resp.Body.Close is not checked

(errcheck)

[medium] 100-100: G204: Subprocess launched with variable

(gosec)

[medium] 113-113: G304: Potential file inclusion via variable

(gosec)

[medium] 136-136: G304: Potential file inclusion via variable

(gosec)

[medium] 256-256: G304: Potential file inclusion via variable

(gosec)

[high] 331-331: G703: Path traversal via taint analysis

(gosec)

[medium] 341-341: G204: Subprocess launched with variable

(gosec)

[error] 372-372: (*net/http.Client).Get must not be called. use (*net/http.Client).Do(*http.Request)

(noctx)

[error] 424-424: crypto/tls.DialWithDialer must not be called. use (*crypto/tls.Dialer).DialContext with NetDialer

(noctx)

[error] 446-446: crypto/tls.DialWithDialer must not be called. use (*crypto/tls.Dialer).DialContext with NetDialer

(noctx)

[error] 464-464: net.Listen must not be called. use (*net.ListenConfig).Listen

(noctx)

[error] 480-480: crypto/tls.DialWithDialer must not be called. use (*crypto/tls.Dialer).DialContext with NetDialer

(noctx)

[error] 492-492: ST1005: error strings should not be capitalized

(staticcheck)

zizmor (1.30.1)
.github/workflows/publish-dex-security-image.yaml

[warning] 95-95: permissions without explanatory comments (undocumented-permissions): needs an explanatory comment

(undocumented-permissions)

Additional comments: 9
k8s/bases/infrastructure/controllers/dex/dex-v2.46.1-network.patch: 1

1-14: LGTM!

scripts/check-dex-binary/main.go: 1

1-510: LGTM!

scripts/check-dex-binary/main_test.go: 1

1-105: LGTM!

scripts/build-dex-security-image.sh: 1

1-100: LGTM!

k8s/bases/infrastructure/controllers/dex/DexSecurity.Dockerfile: 1

1-11: LGTM!

k8s/bases/infrastructure/controllers/dex/IMAGE-NOTICE: 1

1-18: LGTM!

k8s/bases/infrastructure/controllers/dex/README.md: 1

8-46: LGTM!

.github/workflows/publish-dex-security-image.yaml: 1

1-93: LGTM!

Also applies to: 97-155

scripts/check-dex-binary/workflow_test.go: 1

1-97: LGTM!

Comment thread scripts/check-dex-binary/main.go Resolved
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Re-evaluated a4b6dec7c1cc2719e9fe2306330c05d618f80988 after addressing both review findings:

  • CI 41611639250/1 and Linux image verification 41611639239/1 completed successfully. All 58 native contexts and eight matching workflows are settled; the publication job correctly stayed skipped on this PR.
  • The actual producer/consumer workflow regression was RED for a publish-only retry before repair. Both partial and full retry cases now select the producing job's exact archive. Hash and image identity checks remain required.
  • The previous certificate check incorrectly admitted a controlled stale-certificate build (RED). The repaired control requires both endpoints to present the renewed leaf under distinct trust, repeats the protocol/CA/hostname controls, and rejects retired trust. Linux CI builds this adversarial control separately, restores the source, then compiles the shipping executable.
  • Independently downloaded the resulting native image artifact (13219671231), verified its archive hash, image configuration and all 16 layers, inspected the packaged executable and passive source offer, and confirmed the source contains the restored upstream reloader. The actual executable still binds the reviewed compiler, upstream revision and dependency correction. Fresh scanner output is retained privately.
  • Assessed the ancillary static-analysis report against the implementation. Its file/process warnings concern explicitly selected build tools and generated disposable fixture paths, not request-controlled paths or a deployed service boundary. The fixture has bounded process, HTTP and TLS operations. The remaining reported close/context/style and documentation-permission observations do not invalidate these controls; no check was disabled or waived.

This is evaluation evidence, not substantive review, signed main publication, deployed adoption or portal activation. Both original review threads are resolved. #5811 and business-site #491 retain their remaining publication/admission/adoption obligations.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Full review finished.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Evaluated signed head 2b998a52af4f99ffe8836b494be93bf8273b4ff1, integrated with main 7d38b1bce1f0612f84a9df1d1b115e7abab3aa3e:

  • The full root Go suite passes across 90 packages. All 11 tracked modules pass the actual tidiness command. Native TLS-floor, real certificate-renewal and deliberately stale-certificate controls pass in this round; the complete checker package took 6.445s.
  • Six parsed-workflow controls were independently RED for omitted checker-module and signing-installer inputs, then GREEN after fixing both event filters. The producing-attempt archive retry controls remain green. Publication permissions now document their consumers without changing the grants.
  • Actionlint, ShellCheck, changed-package vet, diff checks and installed Zizmor 1.31.1 offline validation pass. The ancillary file/process/context/style report was assessed against the bounded build-tool and disposable-fixture boundaries; no scanner or gate was disabled.
  • Hosted CI 41628212290/1 and native Linux image verification 41628212626/1 succeeded. The complete current-head census contains 58 settled successful/skipped contexts and eight successful workflows. The PR's image-publication job correctly stays skipped; this is not main publication or deployed adoption.
  • All four review threads are resolved. Fix confirmations and their empty reply-review containers are not a green substantive review of this head.

The portable review cycle is now at the second repaired head; any further findings must be assessed against the complete set under the convergence rule. #5811 and business-site #491 retain actual signed publication/admission/adoption. Portal activation remains separate and disabled.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 48 minutes.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

CodeRabbit explicitly declined the current-head full-review request at 11:47:02 UTC: its included allowance is exhausted, with a stated 48-minute recovery window. Primary response: #5814 (comment). With the minute-window safety margin, do not retry before 12:36:02 UTC. No usage-based billing or credit reset is authorized.

The current-head no-gate guard returns ADMIT; this is not a review verdict. The ordered sequence advances to Codex, preserving all review and merge gates.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-03T11:53:40.856612Z 2b998a5 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 👍

Reviewed commit: 2b998a52af

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Readiness at 2b998a52af4f99ffe8836b494be93bf8273b4ff1, base 7d38b1bce1f0612f84a9df1d1b115e7abab3aa3e:

  • All eight exact-head workflow runs have succeeded, including CI and the actual Linux distribution verification. The latter built the real shipping executable and separate adverse control, exercised TLS and certificate renewal, scanned the resulting distribution, and retained its verified archive; PR publication was correctly skipped. Native checks are complete; CodeRabbit is neutral because of its explicitly reported allowance limit. Configured native code_quality remains UNVERIFIED, not waived; GitHub reports CLEAN.
  • Full comments, reviews, inline findings and four native threads were re-read: every reported finding is addressed and all four threads are resolved. Ordered review progressed only after CodeRabbit's explicit refusal. Codex's substantive current-head review is green, with its completed exact-head summary reporting no findings.
  • Actual native host controls independently observed allowed TLS, rejected lower protocols and incorrect trust/hostname, genuine certificate replacement, and refusal of the deliberately stale-certificate executable. All 90 root Go packages, all 11 module-tidy checks, six RED-before/GREEN-after workflow-selection controls and changed-file lint passed. This is distribution readiness; no production adoption or portal login is claimed.

Fresh holder read reports none, the isolated checkout is owned by this invocation and clean, and the reviewed head is unchanged. Promote this source-only prerequisite; keep production/queue admission separate while the independent platform recovery is unfinished. No health or deployment gate is waived.

@devantler
devantler marked this pull request as ready for review November 3, 2026 12:14
@devantler

devantler commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Blocker cleared (re-verified 2026-11-04 15:20Z): the condition this PR waited on, #5853, merged at 08:01Z (#5843 closed as completed). Head 2b998a52af4f99ffe8836b494be93bf8273b4ff1 is CLEAN with all checks passing, 0 of 4 review threads unresolved and a clean Codex review at this head. The merge queue re-validates it against current main. #5852 stays open only for the separate workflow-enrolment item.

@devantler devantler removed the blocked label Nov 3, 2026
@devantler
devantler added this pull request to the merge queue Nov 3, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Nov 4, 2026
@devantler devantler added blocked and removed blocked labels Nov 4, 2026
@devantler
devantler added this pull request to the merge queue Nov 4, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 4, 2026
@devantler devantler closed this Nov 4, 2026
@devantler devantler reopened this Nov 4, 2026
@github-project-automation github-project-automation Bot moved this from 🫴 Ready to ✅ Done in 🌊 Project Board Nov 4, 2026
@github-project-automation github-project-automation Bot moved this from ✅ Done to 🫴 Ready in 🌊 Project Board Nov 4, 2026
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

❌MegaLinter analysis: Error

❌ REPOSITORY / trivy - 1 error
│
│ aml                                                                              │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/hubble-relay.yaml  │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/hubble-ui.yaml     │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/kyverno-admission- │ kubernetes │        -        │         0         │
│ -controller.yaml                                                                 │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/kyverno-backgroun- │ kubernetes │        -        │         0         │
│ d-controller.yaml                                                                │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/kyverno-cleanup-c- │ kubernetes │        -        │         0         │
│ ontroller.yaml                                                                   │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/kyverno-reports-c- │ kubernetes │        -        │         0         │
│ ontroller.yaml                                                                   │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/metrics-server.ya- │ kubernetes │        -        │         0         │
│ ml                                                                               │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/snapshot-controll- │ kubernetes │        -        │         0         │
│ er.yaml                                                                          │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/tetragon-operator- │ kubernetes │        -        │         0         │
│ .yaml                                                                            │            │                 │                   │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/vertical-pod-autoscalers/tetragon.yaml      │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ k8s/providers/hetzner/infrastructure/volume-snapshot-classes/longhorn.yaml       │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ ksail.prod.yaml                                                                  │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ ksail.yaml                                                                       │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ scripts/private-mail-config/Dockerfile                                           │ dockerfile │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ scripts/tests/fixtures/coroot-dns-probe/pod.yaml                                 │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ scripts/tests/fixtures/crossplane-provider-list/provider-list-api-shape.json     │ kubernetes │        -        │         0         │
├──────────────────────────────────────────────────────────────────────────────────┼────────────┼─────────────────┼───────────────────┤
│ scripts/tests/fixtures/wedding-database-priority/cnpg-cluster.yaml               │ kubernetes │        -        │         0         │
└──────────────────────────────────────────────────────────────────────────────────┴────────────┴─────────────────┴───────────────────┘
Legend:
- '-': Not scanned
- '0': Clean (no security findings detected)


k8s/bases/infrastructure/controllers/dex/DexSecurity.Dockerfile (dockerfile)
============================================================================
Tests: 27 (SUCCESSES: 26, FAILURES: 1)
Failures: 1 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 0, CRITICAL: 0)

DS-0026 (LOW): Add HEALTHCHECK instruction in your Dockerfile
════════════════════════════════════════
You should add HEALTHCHECK instruction in your docker container images to perform the health check on running containers.

See https://avd.aquasec.com/misconfig/ds-0026
────────────────────────────────────────



📣 Notices:
  - Version 0.76.1 of Trivy is now available, current version is 0.74.0

To suppress version checks, run Trivy scans with the --skip-version-check flag

(Truncated to last 6666 characters out of 272670)
⚠️ BASH / bash-exec - 19 errors
epage-service-groups.sh
✅ [SUCCESS] scripts/tests/test-restrict-tenant-network-policies.sh
✅ [SUCCESS] scripts/tests/test-restrict-tenant-secret-stores.sh
✅ [SUCCESS] scripts/tests/test-retire-arc-pool.sh
✅ [SUCCESS] scripts/tests/test-rgd-template-static-scan-wiring.sh
✅ [SUCCESS] scripts/tests/test-rgd-template-static-scan.sh
✅ [SUCCESS] scripts/tests/test-run-parallel-guard-cases.sh
✅ [SUCCESS] scripts/tests/test-run-publication-generator-tests.sh
✅ [SUCCESS] scripts/tests/test-setup-ksail.sh
✅ [SUCCESS] scripts/tests/test-setup-supply-chain-tools.sh
✅ [SUCCESS] scripts/tests/test-setup-talosctl.sh
✅ [SUCCESS] scripts/tests/test-shared-publish-workflow-pin-guard.sh
✅ [SUCCESS] scripts/tests/test-signing-report-publisher-families.sh
✅ [SUCCESS] scripts/tests/test-stranded-autoscaler-node-alerter.sh
✅ [SUCCESS] scripts/tests/test-stranded-volume-attach-alert.sh
✅ [SUCCESS] scripts/tests/test-summarize-sarif-findings.sh
✅ [SUCCESS] scripts/tests/test-talos-apparmor-lsm-regressions.sh
✅ [SUCCESS] scripts/tests/test-talos-apparmor-lsm.sh
✅ [SUCCESS] scripts/tests/test-talos-drain-budget.sh
✅ [SUCCESS] scripts/tests/test-talos-factory-schematic-registration.sh
✅ [SUCCESS] scripts/tests/test-talos-render-kernel-args.sh
✅ [SUCCESS] scripts/tests/test-talos-schematic-readback.sh
✅ [SUCCESS] scripts/tests/test-talos-version-pins.sh
✅ [SUCCESS] scripts/tests/test-tenant-controller-namespace-coverage.sh
✅ [SUCCESS] scripts/tests/test-tenant-edit-networkpolicy-write.sh
✅ [SUCCESS] scripts/tests/test-tenant-kro-pull-secret.sh
✅ [SUCCESS] scripts/tests/test-tenant-publication-binding.sh
✅ [SUCCESS] scripts/tests/test-tenant-route-hostname-boundary.sh
✅ [SUCCESS] scripts/tests/test-tenant-source-constructors.sh
✅ [SUCCESS] scripts/tests/test-tenant-source-discovery.sh
✅ [SUCCESS] scripts/tests/test-tenant-webapp-boundary.sh
✅ [SUCCESS] scripts/tests/test-tetragon-agent-priority.sh
✅ [SUCCESS] scripts/tests/test-tofu-controller-retirement.sh
✅ [SUCCESS] scripts/tests/test-trivyignore-configmap-content-boundary.sh
✅ [SUCCESS] scripts/tests/test-trivyignore-first-party-rbac-boundary.sh
✅ [SUCCESS] scripts/tests/test-trivyignore-private-mail-identity-boundary.sh
✅ [SUCCESS] scripts/tests/test-trivyignore-vault-backup-identity-boundary.sh
✅ [SUCCESS] scripts/tests/test-trivyignore-vault-config-identity-boundary.sh
✅ [SUCCESS] scripts/tests/test-trivyignore-vendored-operator-boundary.sh
✅ [SUCCESS] scripts/tests/test-umami-provisioning-bootstrap.sh
✅ [SUCCESS] scripts/tests/test-umami-rendered-placement.sh
✅ [SUCCESS] scripts/tests/test-umami-sso-dashboard-route.sh
✅ [SUCCESS] scripts/tests/test-umami-tracking-probe.sh
✅ [SUCCESS] scripts/tests/test-use-prod-stable-api-endpoint.sh
✅ [SUCCESS] scripts/tests/test-validate-homepage-bookmarks.sh
✅ [SUCCESS] scripts/tests/test-validate-image-verifier-liveness-workflow.sh
✅ [SUCCESS] scripts/tests/test-validate-image-verifier-liveness.sh
✅ [SUCCESS] scripts/tests/test-validate-kyverno-fixture-evaluation.sh
✅ [SUCCESS] scripts/tests/test-vault-snapshot-group-readable.sh
✅ [SUCCESS] scripts/tests/test-velero-cancellation-release.sh
✅ [SUCCESS] scripts/tests/test-velero-data-mover-resources.sh
✅ [SUCCESS] scripts/tests/test-velero-kopia-renovate-pin.sh
✅ [SUCCESS] scripts/tests/test-velero-maintenance-oom-alert.sh
✅ [SUCCESS] scripts/tests/test-velero-node-agent-priority.sh
✅ [SUCCESS] scripts/tests/test-verify-arc-transport.sh
✅ [SUCCESS] scripts/tests/test-verify-gateway-routes-applied.sh
✅ [SUCCESS] scripts/tests/test-verify-image-unsigned.sh
✅ [SUCCESS] scripts/tests/test-verify-matcher-accepts-digest.sh
✅ [SUCCESS] scripts/tests/test-verify-published-evidence.sh
✅ [SUCCESS] scripts/tests/test-verify-wedding-backup-cutover.sh
✅ [SUCCESS] scripts/tests/test-verify-wedding-backup-denial.sh
✅ [SUCCESS] scripts/tests/test-verify-wedding-shared-backup-coverage.sh
✅ [SUCCESS] scripts/tests/test-vpa-updater-event-rbac.sh
✅ [SUCCESS] scripts/tests/test-wait-for-prod-api-stability.sh
✅ [SUCCESS] scripts/tests/test-webapp-compiled-scan.sh
✅ [SUCCESS] scripts/tests/test-webapp-compiler-wiring.sh
✅ [SUCCESS] scripts/tests/test-webapp-compiler.sh
✅ [SUCCESS] scripts/tests/test-webapp-container-security.sh
✅ [SUCCESS] scripts/tests/test-webapp-inputs-wiring.sh
✅ [SUCCESS] scripts/tests/test-webapp-inputs.sh
✅ [SUCCESS] scripts/tests/test-webapp-runtime-hosted.sh
✅ [SUCCESS] scripts/tests/test-wedding-backup-denial-runtime.sh
✅ [SUCCESS] scripts/tests/test-world-zone-signatures.sh
✅ [SUCCESS] scripts/tests/test-world-zone-trial.sh
✅ [SUCCESS] scripts/tests/test-write-publish-workflow-matchers.sh
✅ [SUCCESS] scripts/update-vendored-operators.sh
✅ [SUCCESS] scripts/use-prod-stable-api-endpoint.sh
✅ [SUCCESS] scripts/validate-alert-coverage.sh
✅ [SUCCESS] scripts/validate-embedded-json.sh
✅ [SUCCESS] scripts/validate-homepage-bookmarks.sh
✅ [SUCCESS] scripts/validate-image-verifier-liveness.sh
✅ [SUCCESS] scripts/validate-kyverno-fixture-evaluation.sh
❌ [ERROR] scripts/validate-webapp-inputs.sh
    Error: File:[scripts/validate-webapp-inputs.sh] is not executable

✅ [SUCCESS] scripts/verify-arc-transport.sh
✅ [SUCCESS] scripts/verify-data-product-rollout.sh
❌ [ERROR] scripts/verify-email-provider/probe-client.sh
    Error: File:[scripts/verify-email-provider/probe-client.sh] is not executable

❌ [ERROR] scripts/verify-email-provider/run.sh
    Error: File:[scripts/verify-email-provider/run.sh] is not executable

✅ [SUCCESS] scripts/verify-gateway-routes-applied.sh
✅ [SUCCESS] scripts/verify-heartbeat-cleanup.sh
✅ [SUCCESS] scripts/verify-image-unsigned.sh
✅ [SUCCESS] scripts/verify-kubelet-config-readback.sh
✅ [SUCCESS] scripts/verify-matcher-accepts-digest.sh
❌ [ERROR] scripts/verify-private-mail-storage-recovery.sh
    Error: File:[scripts/verify-private-mail-storage-recovery.sh] is not executable

✅ [SUCCESS] scripts/verify-prod-recovery-source.sh
✅ [SUCCESS] scripts/verify-published-evidence.sh
❌ [ERROR] scripts/verify-shared-backup-consumers.sh
    Error: File:[scripts/verify-shared-backup-consumers.sh] is not executable

✅ [SUCCESS] scripts/verify-talos-schematic-readback.sh
✅ [SUCCESS] scripts/verify-umami-tracking.sh
✅ [SUCCESS] scripts/verify-wedding-backup-cutover.sh
✅ [SUCCESS] scripts/verify-wedding-backup-denial-pod.sh
✅ [SUCCESS] scripts/verify-wedding-backup-denial.sh
✅ [SUCCESS] scripts/verify-wedding-shared-backup-coverage-pod.sh
✅ [SUCCESS] scripts/verify-wedding-shared-backup-coverage.sh
✅ [SUCCESS] scripts/wait-for-platform-flux-revision.sh
✅ [SUCCESS] scripts/wait-for-prod-api-stability.sh
✅ [SUCCESS] scripts/write-publish-workflow-matchers.sh
✅ [SUCCESS] tests/kyverno-stale-report-prune/assert-probe-result.sh


(Truncated to last 6666 characters out of 26166)
⚠️ SPELL / cspell - 1 error
"publishcorootcheckpoint",
        "publishcorootnodeagent",
        "publishcustomeridentity",
        "publishksailanalysis",
        "publishkubescapenodeagent",
        "publishkubescapestorage",
        "publishkyvernobackground",
        "publishkyvernomigrate",
        "publishkyvernoreports",
        "publishprivatemail",
        "publishprovider",
        "publishwarzone",
        "pushsecret",
        "pushsecrets",
        "qrbvrml",
        "quiescing",
        "randomises",
        "randread",
        "randrepeat",
        "randrw",
        "randseed",
        "randwrite",
        "rawfile",
        "rbacv",
        "rdqwpktr",
        "readarray",
        "readback",
        "readbacks",
        "readyz",
        "realpath",
        "reattributed",
        "reaudit",
        "rebuildable",
        "recharacterize",
        "recognisable",
        "recognisably",
        "recognise",
        "recognised",
        "recognises",
        "recolour",
        "reconverges",
        "redir",
        "redirs",
        "referencegrants",
        "regenerable",
        "registrationv",
        "rego",
        "releaserc",
        "relpath",
        "rematerialise",
        "rematerialised",
        "remediations",
        "replayable",
        "replicaset",
        "replicasets",
        "repoint",
        "repointed",
        "repoints",
        "repositorypermissions",
        "repositoryrulesets",
        "rescan",
        "rescanned",
        "rescanned's",
        "rescans",
        "reserialize",
        "resizer",
        "resourcegraphdefinitions",
        "resourcesets",
        "restic",
        "restrictor",
        "retabbed",
        "retagged",
        "retagging",
        "retarget",
        "retirementproof",
        "rocksdb",
        "rollouts",
        "rtrimstr",
        "rulemanager",
        "runnergroups",
        "runtimerulealertbindings",
        "rwmixread",
        "sanitised",
        "sanitiser",
        "sanitising",
        "sarif",
        "sasl",
        "sbommanager",
        "scheckov",
        "schedulability",
        "schedulable",
        "scheduledbackups",
        "scopeable",
        "scopeless",
        "seccomp",
        "secretbox",
        "secretstore",
        "seedable",
        "selfsubjectaccessreviews",
        "selfsubjectrulesreviews",
        "serialise",
        "serialises",
        "serviceaccount",
        "serviceaccounts",
        "setcap",
        "setgid",
        "setsid",
        "shellcheck",
        "shfmt",
        "shopt",
        "siderolabs",
        "sigstore",
        "skmde",
        "slicelabels",
        "slsa",
        "slurpfile",
        "snapshotfs",
        "snapshotgroups",
        "softwarecomposition",
        "specnull",
        "spiffe",
        "ssooidc",
        "stalwartlabs",
        "standbyok",
        "startswith",
        "statefulset",
        "statefulsets",
        "statemanager",
        "stdlib",
        "storageclass",
        "storageclasses",
        "storageconfig",
        "strategytransition",
        "strenv",
        "strictjson",
        "strvals",
        "subaddress",
        "subjectaccessreviews",
        "subrequest",
        "subresource",
        "subresources",
        "subshell",
        "subtest",
        "summ",
        "summarise",
        "summarised",
        "supplychain",
        "supportbundles",
        "surfaceless",
        "syft",
        "syfttypes",
        "syscall",
        "sysctls",
        "syste",
        "systeminformation",
        "tablespace",
        "talosconfig",
        "talosctl",
        "tanzu",
        "targetless",
        "tdir",
        "templatesyncignore",
        "testdata",
        "testonly",
        "thresholded",
        "tlsv",
        "tmpfs",
        "todate",
        "tokenreviews",
        "tolerations",
        "tolower",
        "tonumber",
        "toplevel",
        "tostring",
        "tracepoints",
        "trimpath",
        "trixie",
        "trueish",
        "trunc",
        "trunnergroups",
        "uids",
        "umami",
        "umami's",
        "unablated",
        "uncharacterized",
        "unclickable",
        "uncompilable",
        "unconfigured",
        "uncordon",
        "uncordoned",
        "uncordoning",
        "uncordons",
        "undecoded",
        "undeployed",
        "undercounts",
        "undispositioned",
        "unexcepted",
        "unexempted",
        "unfetched",
        "unfiled",
        "ungated",
        "ungenerated",
        "unidiff",
        "unifi",
        "uninspectable",
        "uninspected",
        "unjournaled",
        "unjudged",
        "unmarshals",
        "unmatch",
        "unmodelled",
        "unopenable",
        "unparseable",
        "unpatchable",
        "unprovisioned",
        "unpublishing",
        "unrankable",
        "unrecognisable",
        "unrecognised",
        "unrenderable",
        "unrequested",
        "unretained",
        "unretried",
        "unreviewed",
        "unrewritten",
        "unrouted",
        "unrun",
        "unscanned",
        "unshippable",
        "unsignalled",
        "unstarted",
        "unsuspended",
        "unvalidated",
        "unwaited",
        "unwired",
        "upbound",
        "updatekeys",
        "upjet",
        "uprobes",
        "urandom",
        "urlencode",
        "usec",
        "userns",
        "ushfn",
        "validatable",
        "validatingadmissionpolicies",
        "validatingadmissionpolicybindings",
        "validatingpolicy",
        "validatingwebhookconfigurations",
        "valuesfrom",
        "vcluster",
        "vcunav",
        "velero",
        "verticalpodautoscalers",
        "vfio",
        "virt",
        "volumeattachments",
        "volumeconfig",
        "volumesnapshot",
        "volumestatus",
        "vpas",
        "vulnerabilitymanifests",
        "vulnerabilitymanifestsummaries",
        "vulnerabilitymanifestsummary",
        "vulns",
        "wailsapp",
        "wals",
        "webadmin",
        "webapps",
        "webui",
        "wffc",
        "wgpolicyk",
        "wildcarding",
        "wlid",
        "workloadconfigurationscan",
        "workloadconfigurationscans",
        "workloadconfigurationscansummaries",
        "workloadconfigurationscansummary",
        "worktree",
        "worktrees",
        "xcrun",
        "xcrun's",
        "xform",
        "xlated",
        "xpkg",
        "yannh",
        "yubikey",
        "yzwvjjmcyfnl",
        "zizmor",
        "zizmorcore",
        "\u017ftatus"
    ]
}


You can also copy-paste megalinter-reports/.cspell.json at the root of your repository

(Truncated to last 6666 characters out of 1554025)
⚠️ COPYPASTE / jscpd - 646 errors
lidate-merge-group-heal/main.go [59:33 - 64:68] (6 lines, 54 tokens)
   scripts/validate-merge-group-heal/main_test.go [85:9 - 92:2]
Clone found (go)
 - scripts/validate-merge-group-heal/main_test.go [184:335 - 191:7] (8 lines, 61 tokens)
   scripts/validate-merge-group-heal/main_test.go [553:3 - 562:7]
Clone found (go)
 - scripts/validate-policy-actions/main_test.go [27:4 - 33:14] (7 lines, 75 tokens)
   scripts/validate-policy-actions/main_test.go [161:2 - 165:49]
Clone found (go)
 - scripts/validate-policy-actions/main_test.go [30:67 - 39:3] (10 lines, 64 tokens)
   scripts/validate-policy-actions/main_test.go [218:64 - 227:3]
Clone found (go)
 - scripts/validate-policy-actions/main_test.go [179:65 - 186:41] (8 lines, 83 tokens)
   scripts/validate-policy-actions/main_test.go [255:191 - 262:41]
Clone found (go)
 - scripts/validate-policy-actions/main_test.go [215:69 - 228:3] (14 lines, 101 tokens)
   scripts/validate-policy-actions/main_test.go [259:72 - 272:2]
Clone found (go)
 - scripts/verify-arc-app-identity/runner_group.go [170:2 - 176:30] (7 lines, 77 tokens)
   scripts/verify-arc-app-identity/verify.go [249:2 - 255:30]
Clone found (bash)
 - scripts/verify-data-product-rollout.sh [273:78 - 278:7] (6 lines, 129 tokens)
   scripts/verify-data-product-rollout.sh [354:72 - 358:79]
Clone found (go)
 - scripts/verify-email-data-recovery/kubernetes.go [17:37 - 29:2] (13 lines, 72 tokens)
   scripts/verify-email-storage-canary/main.go [45:1 - 58:2]
Clone found (go)
 - scripts/verify-email-data-recovery/kubernetes.go [33:2 - 38:13] (6 lines, 53 tokens)
   scripts/verify-email-provider/main.go [71:2 - 76:13]
Clone found (go)
 - scripts/verify-email-data-recovery/kubernetes.go [90:16 - 99:33] (10 lines, 88 tokens)
   scripts/verify-email-storage-canary/main.go [108:16 - 117:33]
Clone found (go)
 - scripts/verify-email-data-recovery/kubernetes.go [263:18 - 282:2] (20 lines, 117 tokens)
   scripts/verify-email-storage-canary/main.go [160:13 - 179:2]
Clone found (go)
 - scripts/verify-email-data-recovery/resources_test.go [93:2 - 101:3] (9 lines, 62 tokens)
   scripts/verify-email-data-recovery/resources_test.go [128:4 - 136:5]
Clone found (go)
 - scripts/verify-email-storage-canary/main.go [350:22 - 357:4] (8 lines, 68 tokens)
   scripts/verify-email-storage-canary/main.go [382:22 - 389:4]
Clone found (go)
 - scripts/verify-email-storage-canary/main.go [458:2 - 467:11] (10 lines, 62 tokens)
   scripts/verify-email-storage-canary/main.go [472:2 - 481:11]
Clone found (go)
 - scripts/verify-email-storage-canary/main.go [458:37 - 467:11] (10 lines, 50 tokens)
   scripts/verify-email-storage-canary/main.go [486:5 - 495:11]
Clone found (go)
 - scripts/verify-email-storage-canary/main.go [468:35 - 477:3] (10 lines, 50 tokens)
   scripts/verify-email-storage-canary/main.go [517:39 - 526:3]
Clone found (bash)
 - scripts/verify-kubelet-config-readback.sh [52:1 - 57:10] (6 lines, 63 tokens)
   scripts/verify-talos-schematic-readback.sh [16:46 - 20:42]
Clone found (bash)
 - scripts/verify-shared-backup-consumers.sh [55:86 - 60:47] (6 lines, 72 tokens)
   scripts/verify-wedding-backup-cutover.sh [74:45 - 80:47]
Clone found (go)
 - scripts/verify-wedding-backup-bootstrap/proof_test.go [95:67 - 100:62] (6 lines, 63 tokens)
   scripts/verify-wedding-backup-bootstrap/proof_test.go [165:70 - 170:62]
Clone found (go)
 - scripts/verify-wedding-backup-bootstrap/runtime.go [39:2 - 59:41] (21 lines, 172 tokens)
   scripts/verify-wedding-dedicated-restore/main.go [163:2 - 183:41]
Clone found (bash)
 - scripts/verify-wedding-backup-denial.sh [114:1 - 128:68] (15 lines, 136 tokens)
   scripts/verify-wedding-shared-backup-coverage.sh [133:1 - 147:68]
Clone found (bash)
 - scripts/verify-wedding-backup-denial.sh [131:8 - 141:6] (11 lines, 136 tokens)
   scripts/verify-wedding-shared-backup-coverage.sh [155:30 - 165:6]
Clone found (bash)
 - scripts/verify-wedding-backup-denial.sh [144:87 - 150:113] (7 lines, 73 tokens)
   scripts/verify-wedding-shared-backup-coverage.sh [166:47 - 172:113]
Clone found (bash)
 - scripts/verify-wedding-backup-denial.sh [164:47 - 169:96] (6 lines, 82 tokens)
   scripts/verify-wedding-shared-backup-coverage.sh [223:37 - 228:96]
Clone found (bash)
 - scripts/verify-wedding-backup-denial.sh [253:5 - 280:12] (28 lines, 110 tokens)
   scripts/verify-wedding-shared-backup-coverage.sh [302:5 - 329:12]
Clone found (bash)
 - scripts/verify-wedding-backup-denial.sh [282:49 - 294:16] (13 lines, 54 tokens)
   scripts/verify-wedding-shared-backup-coverage.sh [331:62 - 343:16]
┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format     │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash       │ 409            │ 119004      │ 623316       │ 207          │ 2596 (2.18%)     │ 18276 (2.93%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ diff       │ 15             │ 7288        │ 83364        │ 57           │ 447 (6.13%)      │ 7975 (9.57%)      │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ go         │ 643            │ 154687      │ 1200143      │ 382          │ 3119 (2.02%)     │ 28865 (2.41%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 9              │ 694         │ 12086        │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ toml       │ 1              │ 32          │ 86           │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ txt        │ 2              │ 465         │ 4817         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:     │ 1079           │ 282170      │ 1923812      │ 646          │ 6162 (2.18%)     │ 55116 (2.86%)     │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 646 clones.
HTML report saved to megalinter-reports/copy-paste/jscpd-report.html
ERROR: jscpd found too many duplicates (2.2%) over threshold (0.0%)
time: 5.02s

(Truncated to last 6666 characters out of 121237)
⚠️ SPELL / lychee - 40 errors
📝 Summary
---------------------
🔍 Total..........670
🔗 Unique.........453
✅ Successful.....535
⏳ Timeouts.........0
🔀 Redirected......12
👻 Excluded........92
❓ Unknown..........0
🚫 Errors..........40
⛔ Unsupported.....40

Errors in .github/workflows/ci.yaml
[404] https://codeload.github.com/$CATALOGUE_REPOSITORY/tar.gz/$CATALOGUE_SHA (at 829:14) | Error (cached)
[404] https://get.helm.sh/$archive (at 1112:77) | Error (cached)
[404] https://get.helm.sh/$archive (at 1566:77) | Error (cached)
[404] https://get.helm.sh/$archive (at 4069:65) | Error (cached)
[404] https://get.helm.sh/$archive.sha256sum (at 4070:75) | Rejected status code: 404 Not Found

Errors in .github/workflows/copy-email-credential-custody.yaml
[ERROR] http://127.0.0.1:38200/ (at 132:27) | Error (cached)
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 112:17) | Error (cached)

Errors in .github/workflows/measure-ci-runtime.yaml
[404] https://get.helm.sh/$archive (at 114:77) | Rejected status code: 404 Not Found

Errors in .github/workflows/prepare-email-storage-key.yaml
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 109:17) | Error (cached)

Errors in .github/workflows/publish-coroot-checkpoint-hotfix.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-coroot-checkpoint-hotfix.yaml@refs/heads/main (at 212:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-coroot-node-agent-hotfix.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-coroot-node-agent-hotfix.yaml@refs/heads/main (at 248:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-dex-security-image.yaml
[404] https://devantler.tech/attestations/dex-build/v1 (at 153:82) | Rejected status code: 404 Not Found
[404] https://devantler.tech/attestations/dex-build/v1 (at 157:23) | Rejected status code: 404 Not Found
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-dex-security-image.yaml@refs/heads/main (at 155:20) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-kubescape-node-agent-hotfix.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-kubescape-node-agent-hotfix.yaml@refs/heads/main (at 186:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-kubescape-storage-hotfix.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-kubescape-storage-hotfix.yaml@refs/heads/main (at 270:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-kyverno-background-hotfix.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-kyverno-background-hotfix.yaml@refs/heads/main (at 205:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-kyverno-migration-runtime.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-kyverno-migration-runtime.yaml@refs/heads/main (at 187:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-kyverno-reports-hotfix.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-kyverno-reports-hotfix.yaml@refs/heads/main (at 183:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-private-mail-bootstrap.yaml
[404] https://github.com/devantler-tech/platform/.github/workflows/publish-private-mail-bootstrap.yaml@refs/heads/main (at 127:37) | Rejected status code: 404 Not Found

Errors in .github/workflows/publish-release-recovery.yaml
[404] https://api.github.com/repos/$REPOSITORY/releases/generate-notes (at 192:14) | Rejected status code: 404 Not Found
[404] https://codeload.github.com/$CATALOGUE_REPOSITORY/tar.gz/$CATALOGUE_SHA (at 257:14) | Rejected status code: 404 Not Found
[404] https://codeload.github.com/$CATALOGUE_REPOSITORY/tar.gz/$CATALOGUE_SHA (at 97:14) | Rejected status code: 404 Not Found

Errors in .github/workflows/validate-coroot-security-progress.yaml
[ERROR] http://127.0.0.1:1/ (at 137:67) | Connection refused - server may be down or port blocked
[ERROR] http://127.0.0.1:8080/metrics (at 89:36) | Connection refused - server may be down or port blocked
[ERROR] http://127.0.0.1:8080/metrics (at 90:25) | Error (cached)
[ERROR] http://127.0.0.1:9090/ (at 130:80) | Connection refused - server may be down or port blocked
[ERROR] http://127.0.0.1:9090/ (at 135:66) | Error (cached)
[ERROR] http://127.0.0.1:9090/ (at 136:64) | Error (cached)

Errors in .github/workflows/verify-email-credential-custody.yaml
[ERROR] http://127.0.0.1:38200/ (at 110:27) | Connection refused - server may be down or port blocked
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 103:17) | Connection refused - server may be down or port blocked

Errors in .github/workflows/verify-email-storage-key-recovery.yaml
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 110:17) | Error (cached)

Errors in .github/workflows/verify-openbao-backup-recovery.yaml
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 114:17) | Error (cached)

Errors in docs/costs.md
[404] https://docs.hetzner.com/general/infrastructure-and-availability/price-adjustment/#cloud-servers (at 24:27) | Rejected status code: 404 Not Found

Errors in scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html
[ERROR] error: (at 1:78) | Cannot resolve root-relative link '/': To resolve root-relative links in local files, provide a root dir
[ERROR] file://scripts/check-hubble-ui-streaming/testdata/bundle.main.841ee8bbb7cc9d85b79e.css (at 1:536) | File not found. Check if file exists and path is correct
[ERROR] file://scripts/check-hubble-ui-streaming/testdata/favicon-16x16.png (at 1:401) | File not found. Check if file exists and path is correct
[ERROR] file://scripts/check-hubble-ui-streaming/testdata/favicon-32x32.png (at 1:336) | File not found. Check if file exists and path is correct
[ERROR] file://scripts/check-hubble-ui-streaming/testdata/favicon.ico (at 1:450) | File not found. Check if file exists and path is correct

Errors in talos/control-planes/wireguard.yaml
[404] https://docs.siderolabs.com/talos/v1.13/reference/configuration/network/deviceconfig/ (at 49:5) | Rejected status code: 404 Not Found | Followed 1 redirect. Redirects: https://docs.siderolabs.com/talos/v1.13/reference/configuration/network/deviceconfig/ --[308]--> https://docs.siderolabs.com/talos/v1.13/reference/configuration/network/deviceconfig

Hint: Followed 12 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ MARKDOWN / markdownlint - 92 errors
h1 First line in a file should be a top-level heading [Context: "@AGENTS.md"]
docs/adr/headless-cms.md:66:401 error MD013/line-length Line length [Expected: 400; Actual: 450]
docs/adr/headless-cms.md:67:401 error MD013/line-length Line length [Expected: 400; Actual: 457]
docs/crossplane-sync-recovery.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 427]
docs/crossplane-sync-recovery.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 577]
docs/dr/alerting.md:263:28 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/crypto-custody.md:22:389 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/crypto-custody.md:23:264 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/crypto-custody.md:27:35 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/crypto-custody.md:27:161 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/crypto-custody.md:27:239 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/crypto-custody.md:114 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Custody recommendations"]
docs/dr/crypto-custody.md:263 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "Custody recommendations"]
docs/dr/crypto-custody.md:269 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "What to do if it leaks"]
docs/dr/crypto-custody.md:276 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "What to do if it is *lost* (no..."]
docs/dr/restore-drill.md:161 error MD028/no-blanks-blockquote Blank line inside blockquote
docs/dr/runbook.md:23:102 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/runbook.md:23:487 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/runbook.md:34 error MD028/no-blanks-blockquote Blank line inside blockquote
docs/dr/runbook.md:44 error MD028/no-blanks-blockquote Blank line inside blockquote
docs/dr/runbook.md:53 error MD028/no-blanks-blockquote Blank line inside blockquote
docs/dr/runbook.md:263 error MD028/no-blanks-blockquote Blank line inside blockquote
docs/dr/runbook.md:708:92 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/dr/spire-server-ha.md:93 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/dr/velero-cnpg.md:11 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/github-management.md:38:401 error MD013/line-length Line length [Expected: 400; Actual: 419]
docs/github-management.md:40:401 error MD013/line-length Line length [Expected: 400; Actual: 522]
docs/node-autoscaling.md:14 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/oidc-kubectl.md:111 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/operations/email-client-identity.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "> 🤖 Generated by the Agentic ..."]
docs/operations/gateway-receiver-boundary.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "> 🤖 Generated by the Agentic ..."]
docs/operations/ingress-client-address.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "> 🤖 Generated by the Agentic ..."]
docs/operations/production-recovery.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 491]
docs/release-recovery.md:10:401 error MD013/line-length Line length [Expected: 400; Actual: 576]
docs/release-recovery.md:12:401 error MD013/line-length Line length [Expected: 400; Actual: 793]
docs/release-recovery.md:14:401 error MD013/line-length Line length [Expected: 400; Actual: 477]
docs/runtime-security.md:130 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/rwx-storage.md:38 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/unifi-management.md:14 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
docs/unifi-management.md:60 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
k8s/bases/infrastructure/controllers/tetragon/README.md:7:401 error MD013/line-length Line length [Expected: 400; Actual: 505]
k8s/bases/README.md:10:141 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
k8s/bases/README.md:11:39 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
k8s/bases/README.md:11:138 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
k8s/providers/README.md:8:91 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
k8s/providers/README.md:8:207 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
k8s/providers/README.md:9:234 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
scripts/judge-openbao-quorum/README.md:25:401 error MD013/line-length Line length [Expected: 400; Actual: 437]
scripts/README.md:15:159 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
scripts/README.md:16:185 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
scripts/README.md:18:98 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
scripts/README.md:18:171 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
scripts/README.md:20:255 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]

(Truncated to last 6666 characters out of 10096)

✅ Linters with no issues

actionlint, betterleaks, checkov, git_diff, grype, hadolint, jsonlint, osv-scanner, prettier, prettier, revive, secretlint, shellcheck, shfmt (1 fix), syft, trivy-sbom, trufflehog, v8r, v8r, yamllint, zizmor

Notices

⚠️ Your configuration references items that have been removed from MegaLinter and are ignored: REPOSITORY_GITLEAKS. See Removed linters to find their replacements.

See detailed reports in MegaLinter artifacts

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

@github-code-quality

Copy link
Copy Markdown

Code coverage overview

Languages: Go

Go / code-coverage/go

main codex/dex-image-secu... 2b998a5 +/-
— 73% —

Line coverage data for the main branch is not yet available.

View coverage of the 10 most covered files.
File main codex/dex-image-secu... 2b998a5 +/-
scripts/kubesca...-bridge/main.go — 91% —
scripts/validat...eworks/shell.go — 89% —
scripts/validat...signing/main.go — 85% —
scripts/validat...-policy/main.go — 84% —
scripts/validat...meworks/main.go — 83% —
scripts/diagnos...artup/access.go — 83% —
scripts/replace...y/quarantine.go — 83% —
scripts/replace...standby/main.go — 79% —
scripts/maintai...clients/main.go — 66% —
scripts/annotat...checkov/main.go — 53% —

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🫴 Ready

Development

Successfully merging this pull request may close these issues.

1 participant