Skip to content

fix(gateway): bind denied-peer probe to verified transport - #5820

Draft
devantler wants to merge 6 commits into
mainfrom
codex/gateway-denied-peer-5448-23e2-01a1a04b-main
Draft

devantler wants to merge 6 commits into
mainfrom
codex/gateway-denied-peer-5448-23e2-01a1a04b-main

Conversation

@devantler

@devantler devantler commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The ingress security diagnostic cannot establish its control connection after the transport change, leaving its result inconclusive.

What

Use the verified listener mode for the existing diagnostic and confirm that its temporary resources are gone afterward. Production acceptance remains a protected, manually dispatched check after merge.

Part of #5448

⚠️ Merge order: land #5825 first.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Validation at 4917f52de2c200328f953f13a27f46632fa5bdbe: the real rendered commands reproduced failed HTTP controls in PROXY mode before the repair. Both plain and PROXY modes now pass against real loopback sockets using curl, and removing just the TLS preamble is detected. Fixture regressions retain every verdict, refusal, admission and cleanup control; successful deletion with retained objects or an unreadable absence check fails closed. The workflow's actual receipt parser accepts only the two verified fenced profiles and rejects stale, unfenced, unknown and multiline receipts.

Affected Go tests, ShellCheck, Actionlint, GolangCI-Lint and CI routing regressions pass locally. The native Envoy container proof could not run locally because Docker is unavailable; its required hosted CI result remains outstanding. No production trial or listener change has been made by this PR. After protected merge, the existing main-only diagnostic still needs one production run and independently verified cleanup. This does not complete the remaining client-identity, forged-forwarding or recovery acceptance in #5448.

@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 not completed

Review rate limited.

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

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 52 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 cf237b8 and 57c42c4.

Files selected for processing: 6
  • .github/workflows/ci.yaml
  • .github/workflows/probe-gateway-denied-peer.yaml
  • scripts/gateway-receiver-binding/main.go
  • scripts/probe-gateway-denied-peer.sh
  • scripts/tests/gateway-denied-peer-wire/main.go
  • scripts/tests/test-probe-gateway-denied-peer.sh

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.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

cr:no-gate@4917f52. The authenticated command response reports review rate limiting; the summary also reports an unserved review. The native no-gate guard admits progression, with no review or actionable finding delivered. Continue to the next permitted reviewer.

@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-03T12:06:54.669991Z 65b5ae2 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: 4917f52de2

ℹ️ 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

Current head is 57c42c48c1bed26a4e239c9a1405e1aec52027f1. Final self-review hardened only the new wire fixture: it now waits within the existing deadline for server observations and requires exactly two TLS attempts, removing a scheduler-dependent early read. Both wire modes and the missing-TLS-preamble mutation pass again, with zero affected lint findings. Fresh CI and current-head review are required; the earlier clean review at 4917f52de2 is historical.

At the earlier head, hosted CI independently passed the full Go regressions, native gateway receiver proof and this diagnostic's actual wire/fixture regression step. Production use remains blocked on completed current-head gates and a healthy deployment lane. No production diagnostic has been dispatched.

@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 not completed

Review rate limited.

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.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

cr:no-gate@57c42c4. The authenticated current request reports rate limiting and no completed review. The native guard admits progression; no review finding was discarded. Continue to the next permitted reviewer.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: 57c42c48c1

ℹ️ 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

Current-head Codex review at 57c42c48c1bed26a4e239c9a1405e1aec52027f1 completed without findings. The full CI run 41607447333 failed the existing Email backup-refresh test: its completion workspace had disappeared. That script is unchanged by this PR.

The causal cleanup defect is tracked as #5824 and repaired separately in #5825, with a deterministic child-handler RED/GREEN control and the full affected package passing locally. This PR remains draft and must not be promoted on a blind rerun. Resume after the reviewed cleanup repair is delivered, integrate its main revision, then require fresh passing CI and current-head review. No production denied-peer trial has run.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Prepared head 65b5ae2acc62355f89974888b95bf0493a319829 by ordinary signed merges of current main and the separately reviewed cleanup repair at #5825. This advances the earlier wait plan: CI and review may run now, but #5825 retains first merge order and queue admission is not delivery. No blind rerun or history rewrite was used.

Affected gateway and Email backup Go packages pass; both rendered real-curl framing modes and the missing-TLS-preamble mutation pass; ShellCheck, Actionlint and affected Go lint pass. Earlier reviews are stale for this combined head. Fresh hosted CI, current-head review and the protected production diagnostic with verified cleanup remain required. No production listener or diagnostic was changed by this preparation.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

All hosted checks are now settled green/skipped at 65b5ae2acc62355f89974888b95bf0493a319829, including CI 41630655892. No production trial is claimed.

Provider availability observed 2026-11-03T12:03Z: CodeRabbit's authenticated account-limit response, event 11:47:02Z, states the included review capacity is exhausted and resets in 48 minutes. Allowing the minute margin gives 12:36:02Z; no paid fallback will be used. Codex delivered a review at 11:53:39Z in the same repository. The portfolio health helper remains UNKNOWN because GraphQL discovery failed; that failure is not provider-unavailability evidence. Skip only the verified ongoing CodeRabbit limit and request Codex for this current head under the native request lock.

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 65b5ae2acc

ℹ️ 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 rechecked at 65b5ae2acc62355f89974888b95bf0493a319829. I evaluated the actual rendered diagnostic as its operator in successful CI 41630655892: manifest job 125899148844 ran real curl in both framing modes, detected the missing-TLS-preamble mutation and passed cleanup refusal controls. Native regression job 125899148574 passed the real Envoy physical-peer/forged-transport controls and the inherited cleanup-handler regression.

All 56 reported checks are settled green/skipped; required aggregate and three required workflows pass. The configured code-quality rule has no readable head result; native CLEAN is authoritative and no bypass is requested. Current-head Codex review is clean, all review threads and non-thread findings are clear, the published body contract passes, no maintainer controls are outstanding, and no live worktree holder was found.

This evaluates the repaired diagnostic's executable framing and refusal behavior, not production acceptance. #5825 retains first merge order. The main-only production diagnostic remains outstanding behind healthy protected delivery; #5448's broader client-identity, forged-forwarding and recovery criteria stay open.

@devantler
devantler marked this pull request as ready for review November 3, 2026 12:14
@devantler
devantler added this pull request to the merge queue Nov 3, 2026
@devantler

devantler commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Blocker: #5852 | upstream | last-verified 2026-11-04: open; every red check here (mega-linter, golangci-lint, dead code, coverage) reports files this PR does not touch: the repository-wide organization Go workflow backlog platform#5853 is fixing; update from main after it merges

@botantler-1
botantler-1 Bot removed this pull request from the merge queue due to a manual request Nov 3, 2026
@devantler devantler removed the blocked label Nov 3, 2026
@devantler
devantler marked this pull request as draft November 3, 2026 20:19
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Prerequisite #5825 merged as 08be2b9daf0a5bd3cf518961b58d95b470bc8068. I cleared the existing blocker record in place and integrated that main revision through an expected-head branch update. The new GitHub-verified merge head is ad32aee2c3ae3cdc61be26a539d99fa93fc928c4; its direct parents are the inspected source head and the merged prerequisite, and base containment is verified.

Returned to draft for current-head validation and review. Twenty reported checks are pending; the earlier clean review does not cover this new head. The previously missing required Go workflow must now complete, together with every other required check, before another review and queue admission. No production diagnostic or acceptance was run; #5448 remains open.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

❌MegaLinter analysis: Error

❌ REPOSITORY / betterleaks - 11 errors
┌─curl-auth-user──○
│
│ 216 │     --entrypoint curl "$server" --disable "$@"
│ 217 │ }
│ 218 │ inventory() {
│     │ … (1 more lines)
│ 220 │     --user REDACTED --header 'Content-Type: application/json' \
│     │            ^^^^^^^^
│
│ attributes:
│   path .......... scripts/tests/test-private-mail-configuration.sh
│   resource ...... fs.content
└○


┌─slack-webhook-url──○
│
│ 48 │ # `REDACTED` matched both expressions,
│    │    ^^^^^^^^
│
│ attributes:
│   path .......... scripts/tests/test-trivyignore-configmap-content-boundary.sh
│   resource ...... fs.content
└○


┌─slack-webhook-url──○
│
│ 249 │   'REDACTED'
│     │    ^^^^^^^^
│
│ attributes:
│   path .......... scripts/tests/test-trivyignore-configmap-content-boundary.sh
│   resource ...... fs.content
└○


┌─generic-api-key──○
│
│ 571 │ …VkLWlk",SECRET_ACCESS_KEY:"REDACTED",REGION:"YXV0bw=="}}' >"${CASE}/dedicated-secret.json"
│     │                             ^^^^^^^^
│
│ attributes:
│   path .......... scripts/tests/test-verify-wedding-backup-denial.sh
│   resource ...... fs.content
└○


┌─curl-auth-user──○
│
│ 105 │             'command -v curl; command -v jq; tmp=$(mktemp -d); rm -r "$tmp"'
│ 106 │           docker run --rm --network none --user REDACTED --read-only \
│     │                                                 ^^^^^^^^
│
│ attributes:
│   path .......... .github/workflows/validate-coroot-security-progress.yaml
│   resource ...... fs.content
└○


┌─generic-api-key──○
│
│ 383 │ -google.golang.org/api v0.287.1 h1:REDACTED
│     │                                    ^^^^^^^^
│
│ attributes:
│   path .......... k8s/bases/infrastructure/controllers/kyverno/background-v1.19.2-downstream-cleanup.patch
│   resource ...... fs.content
└○


┌─generic-api-key──○
│
│ 385 │ +google.golang.org/api v0.290.0 h1:REDACTED
│     │                                    ^^^^^^^^
│
│ attributes:
│   path .......... k8s/bases/infrastructure/controllers/kyverno/background-v1.19.2-downstream-cleanup.patch
│   resource ...... fs.content
└○


9:09PM INF scanned ~19775168 bytes (19.78 MB) in 2.15s
9:09PM WRN leaks found: 11

(Truncated to last 2105 characters out of 3338)
❌ REPOSITORY / checkov - 27 errors
ode-agent
github_actions scan results:

Passed checks: 941, Failed checks: 3, Skipped checks: 0

Check: CKV_GHA_7: "The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. "
	FAILED for resource: on(Verify Alert Publisher App)
	File: /.github/workflows/verify-alert-publisher-app.yaml:9-15

		9  |       confirm:
		10 |         description: "Type exactly: verify-alert-publisher-read-only"
		11 |         required: true
		12 |         type: string
		13 | 
		14 | permissions: {}
		15 | 

Check: CKV_GHA_7: "The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. "
	FAILED for resource: on(🗂️ Stale Issue Triage)
	File: /.github/workflows/stale-issues.yaml:11-17

		11 |       dry-run:
		12 |         description: Preview without changing issues or saved progress.
		13 |         type: boolean
		14 |         default: true
		15 | 
		16 | permissions: {}
		17 | 

Check: CKV_GHA_7: "The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. "
	FAILED for resource: on(Prove Cilium Default Deny)
	File: /.github/workflows/prove-cilium-default-deny.yaml:8-26

		8  |       confirm:
		9  |         description: Type RUN_DISPOSABLE_CILIUM_PROOF after approving this run
		10 |         required: true
		11 |         type: string
		12 |       workflow_head:
		13 |         description: Exact approved main SHA containing the proof workflow
		14 |         required: true
		15 |         type: string
		16 |       candidate_pr:
		17 |         description: Trusted same-repository candidate PR number
		18 |         required: true
		19 |         type: string
		20 |       candidate_head:
		21 |         description: Exact 40-character candidate PR head SHA
		22 |         required: true
		23 |         type: string
		24 | 
		25 | permissions: {}
		26 |

(Truncated to last 2105 characters out of 21015)
❌ HTML / djlint - 8 errors
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H011 Attribute values should be quoted.
::warning file=scripts/check-hubble-ui-streaming/testdata/frontend-v0.13.6-index.html,line=1::H025 Tag seems to be an orphan.
❌ REPOSITORY / grype - 38 errors
8th)   < 0.1  
golang.org/x/net                                                 v0.61.0                             0.62.0                                go-module  GO-2026-6860         Unknown   0.2% (8th)   < 0.1  
go.opentelemetry.io/otel/exporters/otlp/otlptrace                v1.43.0                             1.45.0                                go-module  GHSA-8wmf-6v46-5gfg  Low       0.3% (18th)  < 0.1  
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc  v1.42.0                             1.45.0                                go-module  GHSA-8wmf-6v46-5gfg  Low       0.3% (18th)  < 0.1  
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp  v1.43.0                             1.45.0                                go-module  GHSA-8wmf-6v46-5gfg  Low       0.3% (18th)  < 0.1  
go.opentelemetry.io/otel/sdk                                     v1.44.0                             1.45.0                                go-module  GHSA-8wmf-6v46-5gfg  Low       0.3% (18th)  < 0.1  
github.com/google/cel-go                                         v0.26.0                             0.29.0                                go-module  GHSA-gcjh-h69q-9w9g  Medium    N/A          N/A    
github.com/chrismellard/docker-credential-acr-env                v0.0.0-20230304212654-82a0ddb27589                                        go-module  GO-2026-6225         Unknown   N/A          N/A    
golang.org/x/crypto                                              v0.54.0                             0.58.1-0.20261009181718-2f1f834330b2  go-module  GO-2026-5932         Unknown   N/A          N/A    
golang.org/x/crypto                                              v0.57.0                             0.58.1-0.20261009181718-2f1f834330b2  go-module  GO-2026-5932         Unknown   N/A          N/A    
golang.org/x/crypto                                              v0.58.0                             0.58.1-0.20261009181718-2f1f834330b2  go-module  GO-2026-5932         Unknown   N/A          N/A
[0286] ERROR discovered vulnerabilities at or above the severity threshold

(Truncated to last 2105 characters out of 10921)
❌ DOCKERFILE / hadolint - 1 error
k8s/bases/infrastructure/controllers/kyverno/BackgroundDownstreamCleanup.Dockerfile:32 DL4006 warning: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check
k8s/bases/infrastructure/controllers/kyverno/MigrationRuntime.Dockerfile:33 DL4006 warning: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check
k8s/bases/infrastructure/controllers/kyverno/MigrationRuntime.Dockerfile:49 DL3059 info: Multiple consecutive `RUN` instructions. Consider consolidation.
k8s/bases/infrastructure/coroot/CorootCheckpoint.Dockerfile:9 DL3008 warning: Pin versions in apt get install. Instead of `apt-get install <package>` use `apt-get install <package>=<version>`
❌ HTML / htmlhint - 21 errors
ico...
                                                     ^ The value of attribute [ href ] must be in double quotes. (attr-value-double-quotes)
      L1 |...icon-16x16.png><link rel="shortcut icon" href=favicon.ico><script defer src=bundle.main.60a3ef75467cd...
                                                     ^ The value of attribute [ href ] must be in double quotes. (attr-value-double-quotes)
      L1 |...cut icon" href=favicon.ico><script defer src=bundle.main.60a3ef75467cd3b8a057.js></script><link href=...
                                                     ^ The value of attribute [ src ] must be in double quotes. (attr-value-double-quotes)
      L1 |...nk rel="shortcut icon" href=favicon.ico><script defer src=bundle.main.60a3ef75467cd3b8a057.js></scrip...
                                                     ^ The <script> tag cannot be used in a <head> tag. (head-script-disabled)
      L1 |...n.60a3ef75467cd3b8a057.js></script><link href=bundle.main.841ee8bbb7cc9d85b79e.css rel=stylesheet></h...
                                                     ^ The value of attribute [ href ] must be in double quotes. (attr-value-double-quotes)
      L1 |...ref=bundle.main.841ee8bbb7cc9d85b79e.css rel=stylesheet></head><body><div id=app class=test></div></b...
                                                     ^ The value of attribute [ rel ] must be in double quotes. (attr-value-double-quotes)
      L1 |...79e.css rel=stylesheet></head><body><div id=app class=test></div></body></html>
                                                     ^ The value of attribute [ id ] must be in double quotes. (attr-value-double-quotes)
      L1 |... rel=stylesheet></head><body><div id=app class=test></div></body></html>
                                                     ^ The value of attribute [ class ] must be in double quotes. (attr-value-double-quotes)
      L1 |...ody><div id=app class=test></div></body></html>
                                                     ^ Tag must be paired, no start tag: [ </html> ] (tag-pair)

Scanned 1 files, found 21 errors in 1 files (27 ms)

(Truncated to last 2105 characters out of 5427)
❌ REPOSITORY / osv-scanner - 1 error
| 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6607 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6608 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6610 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6611 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6612 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6613 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6617 |      | Go        | stdlib                     | 1.24.0  | 1.26.9        | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2026-6809 |      | Go        | stdlib                     | 1.24.0  | 1.26.10       | scripts/tests/fixtures/govulncheck-negative-control/go.mod |
| https://osv.dev/GO-2025-3615 |      | Go        | github.com/kyverno/kyverno | 1.19.2  | --            | scripts/tests/tenant-webapp-admission/go.mod               |
| https://osv.dev/GO-2026-5337 |      | Go        | github.com/kyverno/kyverno | 1.19.2  | --            | scripts/tests/tenant-webapp-admission/go.mod               |
| https://osv.dev/GO-2026-5594 |      | Go        | github.com/kyverno/kyverno | 1.19.2  | --            | scripts/tests/tenant-webapp-admission/go.mod               |
+------------------------------+------+-----------+----------------------------+---------+---------------+------------------------------------------------------------+

(Truncated to last 2105 characters out of 9312)
❌ GO / revive - 1 error
atalogue/storage.go:1:1: should have a package comment
scripts/verify-email-data-recovery/native_test.go:85:42: context.Context should be the first parameter of a function
scripts/alert-publisher/publisher.go:1:1: should have a package comment
scripts/verify-longhorn-migration-headroom/main.go:1:1: should have a package comment
scripts/verify-wedding-backup-bootstrap/operator.go:1:1: should have a package comment
scripts/migrate-longhorn-v2/command_runtime_test.go:17:34: parameter 't' seems to be unused, consider removing or renaming it as _
scripts/tests/openbao-transport-runtime/tls_test.go:138:58: redefinition of the built-in function min
scripts/tests/openbao-transport-runtime/tls_test.go:138:63: redefinition of the built-in function max
scripts/migrate-longhorn-v2/host_memory.go:1:1: should have a package comment
scripts/migrate-longhorn-v2/host_reboot.go:1:1: should have a package comment
scripts/replace-wedding-standby/cluster_transport.go:1:1: should have a package comment
scripts/verify-email-data-recovery/observation_lifecycle_test.go:33:36: parameter 't' seems to be unused, consider removing or renaming it as _
scripts/private-mail-config/bootstrap.go:1:1: should have a package comment
scripts/migrate-longhorn-v2/inventory_runtime.go:1:1: should have a package comment
scripts/prove-kyverno-cache-recovery/execution.go:1:1: should have a package comment
scripts/verify-email-data-recovery/observation.go:1:1: should have a package comment
scripts/diagnose-email-startup/ingress_observer.go:1:1: should have a package comment
scripts/replace-wedding-standby/cluster_transport_test.go:405:33: parameter 't' seems to be unused, consider removing or renaming it as _
internal/backupcatalogue/binding.go:1:1: should have a package comment
scripts/openbao-backup-recovery/storage_entry.go:1:1: should have a package comment
scripts/prove-scoped-package-access/main.go:1:1: should have a package comment
scripts/openbao-backup-recovery/host.go:1:1: should have a package comment
scripts/verify-arc-app-identity/runner_group_test.go:173:3: redefinition of the built-in function copy

(Truncated to last 2105 characters out of 34871)
❌ REPOSITORY / secretlint - 1 error
scripts/tests/test-verify-wedding-backup-denial.sh
  431:26  error  [BasicAuth] found basic auth credential: *****************************************************  @secretlint/secretlint-rule-preset-recommend > @secretlint/secretlint-rule-basicauth

✖ 1 problem (1 error, 0 warnings, 0 infos)
❌ BASH / shellcheck - 1 error
In scripts/bootstrap-tenant-source.sh line 247:
  [ -r "$OUTPUT" ] && [ ! -L "$OUTPUT" ] || return 1
        ^-----^ SC2153 (info): Possible misspelling: OUTPUT may not be assigned. Did you mean output?

For more information:
  https://www.shellcheck.net/wiki/SC2153 -- Possible misspelling: OUTPUT may ...
❌ REPOSITORY / trivy - 1 error
──────────────────
  11 ┌     - name: fixture
  12 └       image: registry.k8s.io/pause:3.10
────────────────────────────────────────


KSV-0118 (HIGH): pod coroot-dns-probe in observability namespace is using the default security context, which allows root privileges
════════════════════════════════════════
Security context controls the allocation of security parameters for the pod/container/volume, ensuring the appropriate level of protection. Relying on default security context may expose vulnerabilities to potential attacks that rely on privileged access.

See https://avd.aquasec.com/misconfig/ksv-0118
────────────────────────────────────────
 scripts/tests/fixtures/coroot-dns-probe/pod.yaml:9-12
────────────────────────────────────────
   9 ┌ spec:
  10 │   containers:
  11 │     - name: fixture
  12 └       image: registry.k8s.io/pause:3.10
────────────────────────────────────────



scripts/tests/fixtures/wedding-database-priority/cluster.yaml (kubernetes)
==========================================================================
Tests: 118 (SUCCESSES: 117, FAILURES: 1)
Failures: 1 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 0, CRITICAL: 0)

KSV-0040 (LOW): A resource quota policy with hard memory and CPU limits should be configured per namespace
════════════════════════════════════════
Ensure that a ResourceQuota policy is configured to limit aggregate resource usage within a namespace

See https://avd.aquasec.com/misconfig/ksv-0040
────────────────────────────────────────
 scripts/tests/fixtures/wedding-database-priority/cluster.yaml:6-15
────────────────────────────────────────
   6 ┌ spec:
   7 │   instances: 3
   8 │   storage:
   9 │     size: 1Gi
  10 │     storageClass: longhorn-wffc
  11 │   plugins:
  12 │     - name: barman-cloud.cloudnative-pg.io
  13 │       isWALArchiver: true
  14 │       parameters:
  15 └         barmanObjectName: dedicated-backups
────────────────────────────────────────



📣 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 2105 characters out of 983670)
❌ YAML / v8r - 1 error
✖ scripts/tests/fixtures/wedding-database-priority/cluster.yaml is invalid

scripts/tests/fixtures/wedding-database-priority/cluster.yaml# must NOT have additional properties, found additional property 'apiVersion'
scripts/tests/fixtures/wedding-database-priority/cluster.yaml# must NOT have additional properties, found additional property 'kind'
scripts/tests/fixtures/wedding-database-priority/cluster.yaml# must NOT have additional properties, found additional property 'metadata'
scripts/tests/fixtures/wedding-database-priority/cluster.yaml# must NOT have additional properties, found additional property 'spec'
❌ YAML / yamllint - 293 errors
--"  (document-start)

tests/restrict-arc-retirement-secret-uninstalled/kyverno-test.yaml
  6:1       warning  missing document start "---"  (document-start)

tests/restrict-arc-retirement-secret-uninstalled/resources.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-tenant-network-policies/node-group-resources.yaml
  4:1       warning  missing document start "---"  (document-start)

tests/restrict-tenant-webapps/kyverno-test.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-tenant-webapps/resources.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-tenant-webapps/user-info.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-deletion/kyverno-test.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-deletion/ordinary-writer/kyverno-test.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-deletion/resources.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-deletion/values.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-ownership/kyverno-test.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-ownership/resources.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/restrict-webapp-child-ownership/user-info.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/validate-pdb-drain-safe/kyverno-test.yaml
  5:1       warning  missing document start "---"  (document-start)

tests/validate-pdb-drain-safe/resources.yaml
  1:1       warning  missing document start "---"  (document-start)

tests/validate-replica-ceiling/kyverno-test.yaml
  7:1       warning  missing document start "---"  (document-start)

tests/validate-replica-ceiling/resources.yaml
  1:1       warning  missing document start "---"  (document-start)

(Truncated to last 2105 characters out of 32419)
❌ ACTION / zizmor - 40 errors
a4bc0b73d1f32bc45510 # v3.3.0
    |               ------------------------------------------------------------------------ app token requested here
...
203 |           owner: devantler-tech
    |           ^^^^^^^^^^^^^^^^^^^^^ token granted access to all repositories for this owner's app installation
    |
    = note: audit confidence → High
    = tip: use `repositories: 'repo1,repo2'` to scope the token to specific repositories
    = help: audit documentation → https://docs.zizmor.sh/audits/#github-app

error[github-app]: dangerous use of GitHub App tokens
  --> .github/workflows/regenerate-publish-workflow-approved-revisions.yaml:78:11
   |
66 |         uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
   |               ------------------------------------------------------------------------ app token requested here
...
78 |           owner: ${{ github.repository_owner }}
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ token granted access to all repositories for this owner's app installation
   |
   = note: audit confidence → High
   = tip: use `repositories: 'repo1,repo2'` to scope the token to specific repositories
   = help: audit documentation → https://docs.zizmor.sh/audits/#github-app

error[github-app]: dangerous use of GitHub App tokens
  --> .github/workflows/regenerate-publish-workflow-approved-revisions.yaml:98:11
   |
91 |         uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
   |               ------------------------------------------------------------------------ app token requested here
...
98 |           owner: ${{ github.repository_owner }}
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ token granted access to all repositories for this owner's app installation
   |
   = note: audit confidence → High
   = tip: use `repositories: 'repo1,repo2'` to scope the token to specific repositories
   = help: audit documentation → https://docs.zizmor.sh/audits/#github-app

40 findings (35 suppressed): 0 informational, 0 low, 0 medium, 5 high
No fixes available to apply.

(Truncated to last 2105 characters out of 9984)
⚠️ BASH / bash-exec - 18 errors
te-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 2105 characters out of 25906)
⚠️ SPELL / cspell - 1 error
"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",
        "\u017ftatus"
    ]
}


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

(Truncated to last 2105 characters out of 1487655)
⚠️ COPYPASTE / jscpd - 646 errors
hared-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       │ 406            │ 116771      │ 622345       │ 208          │ 2585 (2.21%)     │ 18343 (2.95%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ diff       │ 14             │ 7274        │ 83186        │ 57           │ 447 (6.15%)      │ 7975 (9.59%)      │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ go         │ 639            │ 153761      │ 1194049      │ 381          │ 3113 (2.02%)     │ 28823 (2.41%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 9              │ 694         │ 12086        │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ txt        │ 3              │ 2154        │ 15842        │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:     │ 1071           │ 280654      │ 1927508      │ 646          │ 6145 (2.19%)     │ 55141 (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.29s

(Truncated to last 2105 characters out of 121011)
⚠️ SPELL / lychee - 37 errors
/ (at 109:27) | Connection refused - server may be down or port blocked
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 102: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 109:17) | Error (cached)

Errors in .github/workflows/verify-openbao-backup-recovery.yaml
[ERROR] http://127.0.0.1:38200/v1/sys/health (at 113: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 48: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 13 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`

(Truncated to last 2105 characters out of 6270)
⚠️ MARKDOWN / markdownlint - 100 errors
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/alert-publisher/README.md:90 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "4683. It uses the maintained A..."]
scripts/alert-publisher/README.md:90:75 error MD026/no-trailing-punctuation Trailing punctuation in heading [Punctuation: ',']
scripts/alert-publisher/README.md:161 error MD001/heading-increment Heading levels should only increment by one level at a time [Expected: h2; Actual: h3]
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 2105 characters out of 11292)

✅ Linters with no issues

actionlint, git_diff, jsonlint, prettier (8 fixes), prettier (20 fixes), shfmt (172 fixes), syft, trivy-sbom, trufflehog, v8r

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

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

Projects

Status: 🫴 Ready

Development

Successfully merging this pull request may close these issues.

1 participant