Potential fix for code scanning alert no. 155: SQL query built from user-controlled sources #710
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/SecurityUniversalOrg/SecuSphere/security/code-scanning/155
To fix the issue, we should replace the unsafe construction of the SQL query with a parameterized query. SQLAlchemy's
text
function supports parameterized queries, which allow us to safely bind user-provided values to the query. This ensures that the database driver properly escapes the input, preventing SQL injection.Specifically:
filter_list
and the use oftext("".join(filter_list))
with a parameterized query.id
value in the query and bind it as a parameter.Suggested fixes powered by Copilot Autofix. Review carefully before merging.