Potential fix for code scanning alert no. 12: Code injection #586
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/12
To fix this problem, we should prevent untrusted user-controlled input from being directly used in the shell context. The recommended approach is to pass the untrusted value (here,
github.event.pull_request.head.ref
) into an environment variable, and use the native shell environment variable syntax to reference it ($BRANCH
). Specifically, for line 49: introduce anenv:
block to set the environment variable (for example,BRANCH: ${{ github.event.pull_request.head.ref }}
), then reference it as--branch="$BRANCH"
in the shell script. Similarly, consider also usingREPO: ${{ github.event.pull_request.head.repo.html_url }}
for consistency and security, though only thehead.ref
has been flagged.The only required changes are within the relevant step in
.github/workflows/test-mlperf-inference-retinanet.yml
; no new imports or methods are needed, and no other files must be changed.Suggested fixes powered by Copilot Autofix. Review carefully before merging.