Potential fix for code scanning alert no. 13: Code injection #585
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/mlcommons/mlperf-automations/security/code-scanning/13
To fix the code injection vulnerability, you should assign the untrusted input (
${{ github.event.pull_request.head.ref }}
) to an intermediate environment variable in the workflow step. Then in the shell command, use the native shell substitution ($BRANCH
) rather than injecting the value in the script with GitHub Actions${{ ... }}
syntax. This mitigates code injection risks by ensuring the shell interprets it as a single argument and not as a sequence of commands.Specifically, edit the step "Pull MLOps repository" in
.github/workflows/test-mlperf-inference-rgat.yml
, lines 35-36, so that an environment variable (e.g.,BRANCH
) is set to${{ github.event.pull_request.head.ref }}
and then referenced as$BRANCH
in the shell command. No additional imports or definitions are necessary for this change.Suggested fixes powered by Copilot Autofix. Review carefully before merging.