Potential fix for code scanning alert no. 266: Checkout of untrusted code in trusted context - #58
Merged
Merged
Conversation
…code in trusted context Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
joel-rieke
marked this pull request as ready for review
January 28, 2026 18:40
meghan-bailey
approved these changes
Jan 28, 2026
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.
Potential fix for https://github.com/trimble-oss/go-mysql-server/security/code-scanning/266
In general, to fix this type of issue you should avoid explicitly checking out the pull request head commit in a privileged or semi‑privileged workflow, and instead rely on the default behavior of
actions/checkoutforpull_requestevents (which checks out the merge commit) or restructure into separate unprivileged and privileged workflows as described in the background. This prevents unreviewed PR code from being executed with elevated repository access.For this specific workflow, the minimal, behavior‑preserving fix is to stop forcing
actions/checkoutto useref: ${{ github.head_ref }}in theverifyjob. Whenon: pull_requestis used, omitting therefcausesactions/checkout@v3to check out the merge commit of the PR into the base branch in a safe, read‑only context. Theverifyjob only needs to see the combined changes to run./check_repo.sh; it does not need to execute the PR’s own version of that script from the head ref. Therefore:.github/workflows/format.yml, within theverifyjob, remove thewith:block that setsref: ${{ github.head_ref }}on theactions/checkout@v3step (lines 61–62).formatandalt-verifybehavior remain the same.This change ensures that the
verifyjob runs against the safe merge ref and no longer explicitly pulls and executes potentially untrusted PR‑head scripts in a way that triggers the CodeQL warning.Suggested fixes powered by Copilot Autofix. Review carefully before merging.