Skip to content

fix(security): inject zizmor unverified-creator annotations for all 9 SHA-pinned third-party actions - #50015

Merged
pelikhan merged 11 commits into
mainfrom
copilot/static-analysis-report-2026-08-03
Aug 3, 2026
Merged

fix(security): inject zizmor unverified-creator annotations for all 9 SHA-pinned third-party actions#50015
pelikhan merged 11 commits into
mainfrom
copilot/static-analysis-report-2026-08-03

Conversation

CopilotAI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Resolves 9 github_action_from_unverified_creator_used zizmor findings from the 2026-08-03 static analysis report. All flagged actions are already SHA-pinned by the compiler; this adds # zizmor: ignore[github_action_from_unverified_creator_used] annotations to acknowledge the residual publisher-identity risk.

The core problem: The compiler parses YAML frontmatter and re-marshals it, stripping all comments. Annotations added to source .md files don't survive the round-trip into generated .lock.yml files — they must be re-injected at code generation time.

Compiler changes (pkg/workflow/)

  • compiler_yaml_step_conversion.go — New injectZizmorUnverifiedCreatorAnnotations(yamlStr) post-processor with a unverifiedCreatorActionPrefixes list (safedep/, super-linter/, actions-ecosystem/, erlef/, astral-sh/). Inserts a comment line before any matching uses: line, preserving the existing indentation. Called in ConvertStepToYAML() after the YAML marshal/unquote pass — handles custom job steps (super-linter/super-linter).

  • compiler_yaml_step_lifecycle.go — Calls injectZizmorUnverifiedCreatorAnnotations() at the top of writeStepsSection() before indentation normalization — handles pre-steps (safedep/pmg).

  • safe_outputs_actions.go — Injects the annotation comment slice element before the uses: line in buildActionSteps() — handles safe-output actions (actions-ecosystem/action-add-labels).

  • runtime_definitions.go / runtime_step_generator.goUnverifiedCreator bool field on Runtime; generateSetupStep() injects the comment for erlef/ and astral-sh/ runtimes inline in the GitHubActionStep slice.

Plain (non-compiled) workflow files

  • copilot-setup-steps.yml — Annotation added before astral-sh/setup-uv.
  • link-check.yml — Annotations added before both gaurav-nelson/github-action-markdown-link-check steps.

Example output (generated lock file)

 - name: Install PMG (Package Manager Guard)# zizmor: ignore[github_action_from_unverified_creator_used]uses: safedep/pmg@5ac0f275b83d9d5a9342c6aae977ec32fa330daa # v1

All 9 occurrences verified across 8 affected workflow files; 269/269 workflows recompiled cleanly.


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 8.36 AIC · ⌖ 8.38 AIC · ⊞ 8.3K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 20.5 AIC · ⌖ 9.4 AIC · ⊞ 5.9K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 7.59 AIC · ⌖ 5.99 AIC · ⊞ 8.3K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 15.3 AIC · ⌖ 9 AIC · ⊞ 8.3K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 · 11.5 AIC · ⌖ 11.2 AIC · ⊞ 8.3K ·
Comment /souschef to run again

CopilotAI linked an issue Aug 3, 2026 that may be closed by this pull request
6 tasks
CopilotAIand others added 2 commits August 3, 2026 15:52
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
CopilotAI changed the title [WIP] Update static analysis report for 2026-08-03fix(security): inject zizmor unverified-creator annotations for all 9 SHA-pinned third-party actionsAug 3, 2026
CopilotAI requested a review from pelikhanAugust 3, 2026 16:17
@pelikhan
pelikhan marked this pull request as ready for review August 3, 2026 16:52
CopilotAI review requested due to automatic review settings August 3, 2026 16:52

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Addresses issue #49909 by preserving zizmor suppressions for nine SHA-pinned actions from unverified creators.

Changes:

  • Adds compiler-time annotation injection across custom, lifecycle, safe-output, and runtime steps.
  • Marks affected source workflows.
  • Regenerates affected lock files.
Show a summary per file
FileDescription
pkg/workflow/safe_outputs_actions.goAnnotates safe-output actions.
pkg/workflow/runtime_step_generator.goAnnotates runtime setup actions.
pkg/workflow/runtime_definitions.goMarks unverified runtime creators.
pkg/workflow/compiler_yaml_step_lifecycle.goProcesses lifecycle steps.
pkg/workflow/compiler_yaml_step_conversion.goAdds the YAML annotation injector.
.github/workflows/super-linter.mdMarks the super-linter action.
.github/workflows/super-linter.lock.ymlRegenerates the compiled suppression.
.github/workflows/smoke-codex.mdMarks the label action.
.github/workflows/smoke-codex.lock.ymlRegenerates the compiled suppression.
.github/workflows/shared/pmg.mdMarks the shared PMG action.
.github/workflows/mcp-inspector.lock.ymlAnnotates setup-uv.
.github/workflows/link-check.ymlAnnotates both link-check actions.
.github/workflows/hippo-embed.lock.ymlAnnotates imported PMG.
.github/workflows/dataflow-pr-discussion-dataset.lock.ymlAnnotates PMG and updates metadata.
.github/workflows/daily-elixir-credo-snippet-audit.lock.ymlAnnotates setup-beam.
.github/workflows/copilot-setup-steps.ymlAnnotates setup-uv.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 16/16 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment on lines +42 to +59
func injectZizmorUnverifiedCreatorAnnotations(yamlStr string) string {
lines := strings.Split(yamlStr, "\n")
result := make([]string, 0, len(lines)+4)
for _, line := range lines {
trimmed := strings.TrimLeft(line, " \t")
if actionRef, ok := strings.CutPrefix(trimmed, "uses: "); ok {
for _, prefix := range unverifiedCreatorActionPrefixes {
if strings.HasPrefix(actionRef, prefix) {
indent := line[:len(line)-len(trimmed)]
result = append(result, indent+"# zizmor: ignore[github_action_from_unverified_creator_used]")
break
}
}
}
result = append(result, line)
}
return strings.Join(result, "\n")
}
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"905bd34278b42598e78925c37617ee3eeaf01bb54a55cbf77711c0b0d84f818d","body_hash":"53eab465d720bf4387a7432ded7958daddbb5da3332d9c36f65737fcfff87673","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.77"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"820762786026740c76f36085b0efc47a31fe5020","version":"v7.0.0"},{"repo":"actions/setup-python","sha":"5fda3b95a4ea91299a34e894583c3862153e4b97","version":"v7.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"safedep/pmg","sha":"5ac0f275b83d9d5a9342c6aae977ec32fa330daa","version":"v1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.43","digest":"sha256:04e2d1987a565000a8f114b89d806ae7a3864dd4f944be65275b28c93d8690e6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.43@sha256:04e2d1987a565000a8f114b89d806ae7a3864dd4f944be65275b28c93d8690e6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43","digest":"sha256:d85f57975af5ea23af4996e41ed73fbc8f5b4a47402472bfe82e508f352cb0c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43@sha256:d85f57975af5ea23af4996e41ed73fbc8f5b4a47402472bfe82e508f352cb0c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.43","digest":"sha256:65c45ea2967984d0024f3df61bc71335658a77ede96c8d9665da7a5f33a795ab","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.43@sha256:65c45ea2967984d0024f3df61bc71335658a77ede96c8d9665da7a5f33a795ab"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.43","digest":"sha256:26be5e0b8c8f4c41c8a59126b29bb5d80b07253597472ded2a16bdd75abcbf9d","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.43@sha256:26be5e0b8c8f4c41c8a59126b29bb5d80b07253597472ded2a16bdd75abcbf9d"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.4.7","digest":"sha256:7545220a9aca134b71e51193ee0eaf4c50756ebf8fbd25a63ae7556e62815c00","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.4.7@sha256:7545220a9aca134b71e51193ee0eaf4c50756ebf8fbd25a63ae7556e62815c00"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196","pinned_image":"ghcr.io/github/gh-aw-node@sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196"},{"image":"ghcr.io/github/github-mcp-server:v1.8.0","digest":"sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520","pinned_image":"ghcr.io/github/github-mcp-server:v1.8.0@sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520"}]}
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"a5dd5712ab4dfb3e852d78e0b1e44054bf76460e63c78c46efe35a034260e65e","body_hash":"421b26ff01056f750ef268a35325e6b4a64a8992f21253b54d9f1e8eea4bcba2","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.77"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"3d3c42e5aac5ba805825da76410c181273ba90b1","version":"v7.0.1"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"820762786026740c76f36085b0efc47a31fe5020","version":"v7.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"safedep/pmg","sha":"5ac0f275b83d9d5a9342c6aae977ec32fa330daa","version":"v1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.43","digest":"sha256:04e2d1987a565000a8f114b89d806ae7a3864dd4f944be65275b28c93d8690e6","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.43@sha256:04e2d1987a565000a8f114b89d806ae7a3864dd4f944be65275b28c93d8690e6"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43","digest":"sha256:d85f57975af5ea23af4996e41ed73fbc8f5b4a47402472bfe82e508f352cb0c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.43@sha256:d85f57975af5ea23af4996e41ed73fbc8f5b4a47402472bfe82e508f352cb0c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.43","digest":"sha256:65c45ea2967984d0024f3df61bc71335658a77ede96c8d9665da7a5f33a795ab","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.43@sha256:65c45ea2967984d0024f3df61bc71335658a77ede96c8d9665da7a5f33a795ab"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.43","digest":"sha256:26be5e0b8c8f4c41c8a59126b29bb5d80b07253597472ded2a16bdd75abcbf9d","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.43@sha256:26be5e0b8c8f4c41c8a59126b29bb5d80b07253597472ded2a16bdd75abcbf9d"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.4.7","digest":"sha256:7545220a9aca134b71e51193ee0eaf4c50756ebf8fbd25a63ae7556e62815c00","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.4.7@sha256:7545220a9aca134b71e51193ee0eaf4c50756ebf8fbd25a63ae7556e62815c00"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196","pinned_image":"ghcr.io/github/gh-aw-node@sha256:0d9f1fb5fd6610c0ac1f5194a38e45a8a1e81f8a390d5142d8e4e6f26a4b3196"},{"image":"ghcr.io/github/github-mcp-server:v1.8.0","digest":"sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520","pinned_image":"ghcr.io/github/github-mcp-server:v1.8.0@sha256:d5a18c04b92714c309eb46a2305087e91a4dbd80420f6e462656699f95093520"}]}
@pelikhan

Copy link
Copy Markdown
Collaborator

CopilotAIand others added 2 commits August 3, 2026 17:05
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot sous-chef triage:

Two review threads are still open and CI is not in a clean merge-ready state.

Generated by 👨🍳 PR Sous Chef · run: https://github.com/github/gh-aw/actions/runs/30835268189

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 8.36 AIC · ⌖ 8.38 AIC · ⊞ 8.3K ·
Comment /souschef to run again

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

CopilotAI commented Aug 3, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot fix https://github.com/github/gh-aw/actions/runs/30834160543/job/91755554193?pr=50015

Addressed in 2be0bcf. I fixed annotation injection to skip YAML block-scalar payload content and added regression tests for block-scalar and post-block-scalar behavior; targeted tests and make agent-report-progress now pass locally.

CopilotAI commented Aug 3, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot sous-chef triage:

Two review threads are still open and CI is not in a clean merge-ready state....

pr-finisher triage complete.

  • ✅ Reviews — both referenced threads are outdated and their underlying issues are already addressed on HEAD 2be0bcf (yamlBlockScalarState guard is in place; dataflow-pr-discussion-dataset.lock.yml manifest includes actions/setup-python).
  • ✅ Checks (local) — make fmt && make lint && make test-unit && make test all passed locally in this run.
  • ❓ Checks (CI) — current PR check run is still in progress (copilot: https://github.com/github/gh-aw/actions/runs/30837216611/job/91765235176). CI on this HEAD remains unverified until maintainers re-trigger/complete checks.
  • ✅ Mergeable — PR is OPEN, not draft; mergeable state reports unstable pending checks/review-thread resolution.

Actions taken in this pass: validated review-thread concerns against current HEAD and ran full local validation suite; no additional code changes were required.

Hand-off: please re-trigger/complete CI as needed and resolve the two outdated review threads to reach merge-ready state.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot sous-chef triage:

There are still two unresolved review threads, but your follow-up indicates the fixes are already on the current head.

Generated by PR Sous Chef · run: https://github.com/github/gh-aw/actions/runs/30838483274

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 20.5 AIC · ⌖ 9.4 AIC · ⊞ 5.9K ·
Comment /souschef to run again

CopilotAI commented Aug 3, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot sous-chef triage:

There are still two unresolved review threads, but your follow-up indicates the fixes are already on the current head....

  • ❌ Reviews — 2 outdated review threads remain unresolved in GitHub UI (r3706062697, r3706062796). I confirmed both concerns are already addressed on current HEAD 2be0bcf (block-scalar guard + manifest includes actions/setup-python).
  • ✅ Checks (local) — make fmt, make lint, TEST_UNIT_RUN_FULL=1 make test-unit, make test, and make recompile passed.
  • ❓ Checks (CI) — stale after agent run; current PR check shows one copilot run still in progress and prior failed CI log (job 91755554193) points to TestHashConsistencyAcrossLockFiles, which is now passing locally on current HEAD.
  • ✅ Mergeable — PR is OPEN, not draft; mergeable state remains unstable due to pending CI/thread state.

Actions taken: re-triaged PR/checks, reviewed failing CI logs, reran full local validation suite, and verified no additional code changes were required.
Hand-off: resolve the two outdated review threads in GitHub and re-trigger CI from a maintainer context before merge.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot sous-chef triage:

This PR is not yet in a clean merge-ready state.

  • Please refresh the branch if needed, address remaining review/CI blockers, then run the pr-finisher skill and post a concise merge-readiness summary for the current head.

Generated by PR Sous Chef · run: https://github.com/github/gh-aw/actions/runs/30841444939

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 7.59 AIC · ⌖ 5.99 AIC · ⊞ 8.3K ·
Comment /souschef to run again

CopilotAI commented Aug 3, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot sous-chef triage:

This PR is not yet in a clean merge-ready state....

  • ❌ Reviews — 2 outdated review threads are still unresolved in GitHub UI (r3706062697, r3706062796), though both concerns are already fixed on current HEAD 2be0bcf.
  • ✅ Checks (local) — make fmt, make lint, TEST_UNIT_RUN_FULL=1 make test-unit, make test, make recompile, and make agent-report-progress all passed.
  • ❓ Checks (CI) — latest copilot check is still in progress (91780889723); prior failing CI run (30834160543, job 91755554193) failed TestHashConsistencyAcrossLockFiles, which is now passing locally on current HEAD.
  • ✅ Mergeable — PR is OPEN and not draft; state remains unstable pending thread cleanup / CI completion.

Actions taken: refreshed triage for current head, inspected CI logs, and reran full local validation. No new code changes were required.
Hand-off: resolve the two outdated review threads and re-trigger/complete CI from a maintainer context before merge.

@github-actions

Copy link
Copy Markdown
Contributor

PR Triage: #50015

  • Category: chore
  • Risk: low
  • Score: 46/100 (Impact 20 + Urgency 10 + Quality 16)
  • Recommended action:batch_review
  • Batch:pr-batch:security-fixes

Adds zizmor unverified-creator lint-suppression annotations for 9 already SHA-pinned actions. Lint-only change, not a behavior/security fix itself.

Generated by 🔧 PR Triage Agent · auto · 51.1 AIC · ⌖ 4.08 AIC · ⊞ 8K ·

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot This PR is still not merge-ready. Please address the remaining review feedback, fix the failing check, refresh the branch if needed, then run the pr-finisher skill and summarize merge readiness.

Unresolved reviews:

Failed checks:

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 15.3 AIC · ⌖ 9 AIC · ⊞ 8.3K ·
Comment /souschef to run again

CopilotAI commented Aug 3, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot This PR is still not merge-ready. Please address the remaining review feedback, fix the failing check, refresh the branch if needed, then run the pr-finisher skill and summarize merge readi...

Validated current head fed2e73:

  • The block-scalar injection concern is fixed in 2be0bcf (yamlBlockScalarState guard in injectZizmorUnverifiedCreatorAnnotations).
  • actions/setup-python is present in /home/runner/work/gh-aw/gh-aw/.github/workflows/dataflow-pr-discussion-dataset.lock.yml manifest and resolved manifest section.
  • The referenced failing JS check (30835526776 / 91775226624) is from PR Fix dynamic dispatch_workflow ref forwarding and prevent ref leakage into inputs #50042, not this PR branch.

I also re-ran local validation on this branch: make fmt && make lint && make test-unit && make test && make recompile — all pass.

No additional code changes were required in this pass.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot sous-chef triage:

Unresolved review threads remain:

Please address the unresolved review feedback, refresh the branch if needed, then run the pr-finisher skill and post a concise merge-readiness summary for the current head.

Generated by PR Sous Chef · run: https://github.com/github/gh-aw/actions/runs/30848087243

Generated by 👨‍🍳 PR Sous Chef · gpt54 · 11.5 AIC · ⌖ 11.2 AIC · ⊞ 8.3K ·
Comment /souschef to run again

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
@pelikhan
pelikhan merged commit 13e4b55 into mainAug 3, 2026
31 checks passed
@pelikhan
pelikhan deleted the copilot/static-analysis-report-2026-08-03 branch August 3, 2026 20:48
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.84.4

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[static-analysis] Report - 2026-08-03

4 participants

@pelikhan@gh-aw-bot