-
Notifications
You must be signed in to change notification settings - Fork 1.7k
JS: moved execa
out of experimental
#19858
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR promotes the execa
library model from experimental to stable, migrating its tests into the main query-tests directories and updating the QL framework import.
- Added
execa.js
under Security/CWE-078 and Security/CWE-022 with appropriate$Source
/$Alert
tags - Updated expected result files to include
execa.js
entries for both command and path injection - Removed experimental Execa tests and updated
javascript.qll
to import the stable Execa framework; added a change note
Reviewed Changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/execa.js | New tests for command injection with various execa calls |
javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/CommandInjection.expected | Updated expected alerts for execa.js entries |
javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/execa.js | New tests for path injection via execa input/output options |
javascript/ql/test/query-tests/Security/CWE-022/TaintedPath/TaintedPath.expected | Updated expected alerts for path injection tests |
javascript/ql/lib/javascript.qll | Imported semmle.javascript.frameworks.Execa for stable model |
javascript/ql/lib/change-notes/2025-06-20-execa.md | Added change note for Execa promotion |
javascript/ql/test/experimental/Execa/** | Removed obsolete experimental Execa tests |
javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/execa.js
Outdated
Show resolved
Hide resolved
javascript/ql/test/query-tests/Security/CWE-078/CommandInjection/execa.js
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already have a model of execa
in SystemCommandExecutors.qll
. I'd rather have only one model in one place. Could you make sure the new model covers all the same cases as the old one and then remove the old one?
--- | ||
category: minorAnalysis | ||
--- | ||
* The model for the `execa` library has been promoted from experimental to stable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think many users will know what to make of this, and also we shouldn't give the impression that execa
didn't have a model to begin with.
Could you instead mention some of the new endpoints we're modelling now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think of this 73126fe ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
No description provided.