🛡️ Sentinel: [CRITICAL] Fix command injection in git utilities #16
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.
This PR fixes a critical command injection vulnerability in
src/utils/git.tswhere user inputs (such as search queries) were being concatenated directly into shell command strings. By switching toexecFileand passing arguments as an array, we prevent the shell from interpreting metacharacters in the input.Vulnerability:
exec(\git log --grep="${query}"`)allows executing arbitrary commands ifquerycontains shell separators like;`.Fix:
Changed to
execFile('git', ['log', '--grep=' + query]).Verification:
Updated unit tests in
src/utils/__tests__/git.spec.tsto verify thatexecFileis called with the correct array of arguments.PR created automatically by Jules for task 17536709473318556814 started by @kratos06
Summary by cubic
Fixes a critical command injection in git utilities by switching from child_process.exec to execFile with safe argument arrays. This blocks shell metacharacters from being executed and hardens all git-related commands.
Written for commit 8f87b22. Summary will update on new commits.