Use list-based arguments in subprocess calls for better robustness#184
Merged
zxqfd555 merged 1 commit intopathwaycom:mainfrom Feb 4, 2026
Merged
Conversation
ef21c02 to
4935d8f
Compare
…tion Refactored several subprocess calls to use list-based arguments and shell=False. This prevents potential command injection vectors in the CLI and Airbyte connector runner by avoiding string interpolation of user-supplied values into shell commands.
4935d8f to
99cf289
Compare
zxqfd555
approved these changes
Feb 4, 2026
Collaborator
|
Thank you for the input! Merging. |
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.
Introduction
I noticed some potential issues in how subprocesses are handled and decided to refactor them for better robustness.
Context
The current implementation uses
shell=Trueand string interpolation in several places (CLI, Airbyte connectors), which can be problematic if user-supplied strings contain shell metacharacters. Switching to list-based arguments andshell=Falseis a more robust approach that avoids manual shell quoting.How has this been tested?
I've verified the syntax with
py_compile. The functional logic remains identical as this is a refactoring of the execution layer.Types of changes
Checklist: