Potential fix for code scanning alert no. 1820: Code injection #4915
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/codeharborhub/codeharborhub.github.io/security/code-scanning/1820
In general, to fix this class of problems in GitHub Actions, we must not interpolate untrusted
${{ ... }}expressions directly intorun:shell code. Instead, we pass untrusted values into environment variables using${{ ... }}once, and then reference them using the shell’s native variable expansion ($VAR) inside the script. This prevents the shell from re‑parsing the raw GitHub expression output as part of the script, because the value is available only at runtime as simple data.For this specific workflow, we should change the “Check for Security and Trust” step so that:
env: ISSUE_BODY: ${{ github.event.issue.body }}.run:script usesissue_body="$ISSUE_BODY"instead of embedding${{ github.event.issue.body }}directly.This preserves the existing logic (checking that the body mentions both “security” and “trust”) while ensuring the issue body is treated as data. No other steps in the provided snippet interpolate
github.event.issue.bodyinsiderun:, so we only need to modify lines 43–49. No new external libraries are required; we only adjust YAML and shell variable usage.Suggested fixes powered by Copilot Autofix. Review carefully before merging.