-
Notifications
You must be signed in to change notification settings - Fork 1.7k
C#: mass enable diff-informed data flow #19661
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
base: main
Are you sure you want to change the base?
Conversation
An auto-generated patch that enables diff-informed data flow in the obvious cases. Builds on github#18344 and github/codeql-patch#88
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 auto-generates patches to enable diff-informed data flow by adding a default observeDiffInformedIncrementalMode
predicate in numerous data-flow configuration modules.
- Added
predicate observeDiffInformedIncrementalMode() { any() }
to all relevantDataFlow::ConfigSig
modules. - Covers security, cryptography, and likely-bug query modules for incremental diff analysis.
Reviewed Changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
csharp/ql/src/Security Features/CWE-114/AssemblyPathInjection.ql | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/src/Security Features/CWE-091/XMLInjection.ql | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/src/Likely Bugs/LeapYear/UnsafeYearConstruction.ql | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/XPathInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/TaintedPathQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/ResourceInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/RegexInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/ReDoSQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/MissingXMLValidationQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/ExposureOfPrivateInformationQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/dataflow/CleartextStorageQuery.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/cryptography/HardcodedSymmetricEncryptionKey.qll | Added observeDiffInformedIncrementalMode predicate |
csharp/ql/lib/semmle/code/csharp/security/cryptography/EncryptionKeyDataFlowQuery.qll | Added observeDiffInformedIncrementalMode predicate |
Comments suppressed due to low confidence (2)
csharp/ql/src/Security Features/CWE-114/AssemblyPathInjection.ql:45
- [nitpick] Add a brief comment above this predicate to explain its role in diff-informed incremental analysis, improving clarity for future maintainers.
predicate observeDiffInformedIncrementalMode() { any() }
csharp/ql/src/Security Features/CWE-114/AssemblyPathInjection.ql:45
- There are no existing tests exercising the incremental diff mode; consider adding test cases to validate behavior when this predicate is active.
predicate observeDiffInformedIncrementalMode() { any() }
It turns out that some of the generated changes in the PRs were not correct, e.g. because they should have also generated a |
@d10c : Great!
|
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on #18344 and https://github.com/github/codeql-patch/pull/88