chore: workflow hardening — pinact + zizmor [automated] - #1
Open
infra-hardening[bot] wants to merge 1 commit into
Open
chore: workflow hardening — pinact + zizmor [automated]#1infra-hardening[bot] wants to merge 1 commit into
infra-hardening[bot] wants to merge 1 commit into
Conversation
Add persist-credentials: false to actions/checkout steps to prevent credential leakage through GitHub Actions artifacts (artipacked). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated workflow hardening
This PR was generated by the
pt-infra-hardeningpipeline.Changes
.github/workflows/cd-pipeline.yml— zizmorpersist-credentials: falseto checkout inget-chartjob (line 25)persist-credentials: falseto checkout invib-publishjob (line 75).github/workflows/ci-pipeline.yml— zizmorpersist-credentials: falseto checkout inlook-for-hardcoded-imagesjob (line 99)persist-credentials: falseto upstream checkout inupdate-prjob (line 183)persist-credentials: falseto checkout inchart-scorejob (line 486)persist-credentials: falseto checkout invib-verifyjob (line 562).github/workflows/index-monitor.yml— zizmorpersist-credentials: falseto checkout inintegrity-checkjob (line 21).github/workflows/index-update.yml— zizmorpersist-credentials: falseto checkout infind-new-releasesjob (line 17).github/workflows/license-headers.yml— zizmorpersist-credentials: falseto checkout in the license-headers job (line 22).github/workflows/markdown-linter.yml— zizmorpersist-credentials: falseto checkout in the markdown-lint job (line 22).github/workflows/push-tag.yml— zizmorpersist-credentials: falseto checkout inget-chartjob (line 25)persist-credentials: falseto checkout inpush-tagjob (line 72).github/workflows/values-ascii-check.yml— zizmorpersist-credentials: falseto checkout in the values-ascii-check job (line 19)These findings could not be fixed automatically and need a maintainer's decision:
.github/workflows/cd-pipeline.yml:104— artipacked: Theactions/checkoutstep usestoken: ${{ secrets.BITNAMI_BOT_TOKEN }}and an inline comment explicitly states "The token is persisted in the local git config and enables scripts to run authenticated git commands." Settingpersist-credentials: falsewould break downstream authenticated git operations; a safe alternative (e.g., explicitgit remote set-urlwith the token) is needed. → https://docs.zizmor.sh/audits/#artipackedOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/cd-pipeline.yml:# zizmor: ignore[artipacked] <your reason here>.github/workflows/ci-pipeline.yml:176— artipacked: Theactions/checkoutstep usestoken: ${{ secrets.BITNAMI_BOT_TOKEN }}and the job (update-pr) subsequently runsgit pushto the PR branch using those persisted credentials. Settingpersist-credentials: falsewould break the automated README/CHANGELOG push; a safe alternative is needed. → https://docs.zizmor.sh/audits/#artipackedOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/ci-pipeline.yml:# zizmor: ignore[artipacked] <your reason here>.github/workflows/index-update.yml:63— artipacked: Theactions/checkoutstep usestoken: ${{ secrets.BITNAMI_BOT_TOKEN }}and an inline comment explicitly states "The token is persisted in the local git config and enables scripts to run authenticated git commands." Settingpersist-credentials: falsewould break downstream authenticated git operations; a safe alternative is needed. → https://docs.zizmor.sh/audits/#artipackedOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/index-update.yml:# zizmor: ignore[artipacked] <your reason here>.github/workflows/assign-asset-label.yml:5— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/assign-asset-label.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/ci-pipeline.yml:5— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/ci-pipeline.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/license-headers.yml:5— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/license-headers.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/move-closed-issues.yml:6— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/move-closed-issues.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/pr-review-hack.yml:8— dangerous-triggers:workflow_runtrigger runs in the context of the base branch with full write access regardless of the triggering workflow's origin. Review whether untrusted inputs from the triggering workflow run are used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/pr-review-hack.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/pr-reviews-requested.yml:6— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/pr-reviews-requested.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/reasign.yml:6— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/reasign.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/triage.yml:7— dangerous-triggers:pull_request_targettrigger grants write permissions to untrusted code from forks. Review whether this trigger is strictly necessary and ensure no untrusted input is used in privileged steps. → https://docs.zizmor.sh/audits/#dangerous-triggersOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/triage.yml:# zizmor: ignore[dangerous-triggers] <your reason here>.github/workflows/comments.yml:20— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/comments.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/index-monitor.yml:110— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/index-monitor.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/move-closed-issues.yml:22— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/move-closed-issues.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/pr-review-hack.yml:53— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/pr-review-hack.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/pr-reviews-requested.yml:19— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/pr-reviews-requested.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/reasign.yml:23— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/reasign.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/triage.yml:26— secrets-inherit: A called reusable workflow unconditionally inherits all secrets viasecrets: inherit, exposing every repository secret to the callee. Pass only the specific secrets the called workflow needs. → https://docs.zizmor.sh/audits/#secrets-inheritOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/triage.yml:# zizmor: ignore[secrets-inherit] <your reason here>.github/workflows/ci-pipeline.yml:511— superfluous-actions: Theaddnab/docker-run-actionstep runs a Docker container, which the runner can do natively viadocker runin arun:step or a container step — using a third-party action for this adds unnecessary supply-chain risk. Migrate to a nativerun: docker run ...step. → https://docs.zizmor.sh/audits/#superfluous-actionsOnce reviewed and accepted, prevent future runs from re-flagging this by adding an inline suppression comment on the offending line in
.github/workflows/ci-pipeline.yml:# zizmor: ignore[superfluous-actions] <your reason here>Suppressing findings
To prevent a finding from being flagged in future hardening runs — whether it was fixed automatically or flagged for manual review — add an inline comment on the relevant line:
# zizmor: ignore[<rule-name>] <your reason here>Replace
<rule-name>with the audit name (e.g.artipacked,secrets-inherit). See zizmor audit docs for all rule names.