tiferet
07b0a742cf
Update TaintedPathConfig after rebase on main
2023-03-15 16:42:58 -07:00
tiferet
68133cb8ca
Delete unneeded imports
2023-03-15 16:25:50 -07:00
tiferet
a6841875fc
Extract a higher percent of negative examples because some of the kinds are relatively rare.
2023-03-14 12:49:32 -07:00
tiferet
9071f54e4e
Add a new sink type: command-injection
2023-03-14 12:49:32 -07:00
tiferet
fad491d1f6
Add a filter that excludes an endpoint if it is unexploitable because it's a call to exists or notExists.
2023-03-14 12:49:32 -07:00
tiferet
cea30cc463
Remove last vestiges of flow from source from the query that extracts sink candidates.
2023-03-14 12:49:32 -07:00
tiferet
103e778a3a
The string of each NotASinkCharacteristic should be a clear explanation of why such endpoints are not interesting, and this should be the message exported to the sarif.
2023-03-14 12:49:32 -07:00
tiferet
a3cbf9fb46
Add a subclass of EndpointCharacteristics that surfaces sinks rather than negative examples. Make all the existing ones inherit from this one.
2023-03-14 12:49:32 -07:00
tiferet
7342ac3db2
Add a negative characteristic that filters out calls to undocumented methods in undocumented classes inside the current DB.
2023-03-14 12:49:31 -07:00
tiferet
1e4dd7a9c9
Break up hasMetadata into one predicate that extracts information and another that concatenates it into a string of the needed format, so that we can reuse the information-extraction predicate for other purposes.
2023-03-14 12:49:31 -07:00
tiferet
06b218f0a7
Another small fix to the syntax of the extracted MaD declarations.
2023-03-14 12:49:31 -07:00
tiferet
6e9eeb8eb3
Add a negative characteristic that filters out calls for which the package the call originates from and the package where the callee is defined are the same up to at least three levels, and the callee package is at least four levels deep.
2023-03-14 12:49:31 -07:00
tiferet
3c847f7ce4
Add a negative characteristic that filters out non-public methods.
2023-03-14 12:49:31 -07:00
tiferet
b400b583d6
Add a class of filters indicating not necessarily that an endpoint is not a sink, but rather that it’s not a sink that’s interesting to model in the standard Java libraries.
2023-03-14 12:49:31 -07:00
tiferet
9244912880
Remove IsConstantExpressionCharacteristic, because the value passed into the argument has nothing to do with whether or not that argument is a sink.
2023-03-14 12:49:31 -07:00
tiferet
9307bf9dcd
Add a filter that excludes an endpoint if it is unexploitable.
2023-03-14 12:49:31 -07:00
tiferet
06b546f015
Add a filter that excludes an endpoint if it's a non-sink argument to a method whose sinks have already been modeled.
2023-03-14 12:49:31 -07:00
tiferet
f1efc62e16
Promote NeutralModelCharacteristic from LikelyNotASinkCharacteristic to NotASinkCharacteristic.
2023-03-14 12:49:31 -07:00
tiferet
b3e05e9fb5
Fixes to the syntax of the extracted MaD declarations.
2023-03-14 12:49:31 -07:00
tiferet
5b7147a56f
Downgrade CreatePathSinkCharacteristic to medium confidence.
2023-03-14 12:49:31 -07:00
tiferet
ced7a33419
Add a negative characteristic that indicates that an endpoint was manually modeled as a neutral model.
2023-03-14 12:49:31 -07:00
tiferet
084f0ee57a
Add an endpoint filter that indicates that an endpoint is not a to node for any known taint step. Such a node cannot be tainted, because taint can't flow into it.
2023-03-14 12:49:31 -07:00
tiferet
b48c6badba
Add an endpoint filter to filter out MaD-modeled taint steps.
...
This filter currently has some overlap with `CreatePathSinkCharacteristic`. We add a flag to `erroneousEndpoints` such that these known modeling errors can optionally be ignored.
We turn the flag off when extracting prompt examples, to ensure the prompt contains only examples we're highly certain about.
If there are errors even with this flag turned on, we return an error message in the query that extracts positive examples, to prevent us from accidentally running it when there's a codex-generated data extension file in `java/ql/lib/ext`.
2023-03-14 12:49:31 -07:00
tiferet
25f103a010
Cleanup of EndpointCharacteristics, to get rid of historical naming such as "endpoint filters" and of classes that are used nowhere.
2023-03-14 12:49:31 -07:00
tiferet
d47007a930
Rename AtmConfig to AtmConfigs and fix some imports.
2023-03-14 12:49:31 -07:00
tiferet
e9da1f3751
Rename isEffectiveSink to isSinkCandidate
2023-03-14 12:49:30 -07:00
tiferet
dbb4fa0b1c
Replace EndpointType with either SinkType or SourceType wherever possible.
2023-03-14 12:49:30 -07:00
tiferet
f5833ffc3d
Simplify AtmConfig:
...
- We no longer create new configs for each query we want to boost with ATM.
- Instead the `AtmConfig` module imports the configs for the Java queries it can and copies the configs for the ones that are defined in a ql file.
- The predicates that used to be defined in the `AtmConfig` class are now defined either in candidate extraction query or(in the case of `isKnownSink` which is used in more than one file) in `EndpointCharacteristic.qll`.
- Delete all the derived classes of AtmConfig.
- Surface all candidates that pass the endpoint filters, regardless of flow from a source.
2023-03-14 12:49:30 -07:00
tiferet
efb6522656
EndpointType.getKind is final and just returns this. The name of the endpoint type is its MaD kind. Human-readable descriptions of these kinds are encoded only in Python, not in CodeQL.
2023-03-14 12:49:30 -07:00
tiferet
1d5afaec0e
Get rid of EndpointType.getDescription
2023-03-14 12:49:30 -07:00
tiferet
43db83a28f
Delete some commented out code that was copied directly from JS
2023-03-14 12:49:30 -07:00
tiferet
2e4cc7efd0
Delete EndpointType.getEncoding, which is not needed anywhere.
...
If we need this down the line for model training, we can add it back in then.
2023-03-14 12:49:30 -07:00
tiferet
bcd1ac1bb0
Delete EndpointType.getEncoding, which is not needed anywhere.
...
If we need this down the line for model training, we can add it back in then.
2023-03-14 12:49:30 -07:00
tiferet
10b81eebb7
Improve EndpointTypes:
...
- Create two derived classes for EndpointType: SinkType and SourceType.
- EndpointTypes don't use a `newtype`, but rather extend string, with their characteristic predicate replacing the current getDescription predicate.
2023-03-14 12:49:30 -07:00
tiferet
91109c826d
List the MaD provenance as "ai-generated" rather than "manual"
...
See https://github.com/github/codeql/pull/12228
2023-03-14 12:49:30 -07:00
tiferet
abe3a2dae1
Improve positive prompt examples:
...
Include only sinks that are arguments to an external API call, because these are the sinks we are most interested in.
2023-03-14 12:49:30 -07:00
tiferet
4db03cf4ae
Remove IsMaDTaintStepCharacteristic for now because it's catching all our known sinks as well as taint steps
2023-03-14 12:49:30 -07:00
tiferet
f73b3e0d97
Add endpoint filters:
...
- Filter out MaD taint steps
2023-03-14 12:49:30 -07:00
tiferet
3b508f7879
Remove redundancy from ExceptionCharacteristic
2023-03-14 12:49:30 -07:00
tiferet
9b028476b8
Add endpoint filters:
...
- Filter out exceptions
- Filter out endpoints in test files
2023-03-14 12:49:30 -07:00
tiferet
24e01104a2
As part of the metadata extraction predicate, surface whether or not the argument is being passed to an external API
2023-03-14 12:49:29 -07:00
tiferet
8f6db6b244
Switch back to one sink type per supported query, rather than existing MaD kinds.
2023-03-14 12:49:29 -07:00
tiferet
d6c897c9fd
Small bug fix for handling queries with multiple sink types:
...
`getAReasonSinkExcluded` excludes endpoints that have a characteristic that implies they're not sinks for this particular sink type _for every sink type relevant to this query_.
2023-03-14 12:49:29 -07:00
tiferet
8d8a21b100
Fix a bug that allowed some known sinks to end up as sink candidates for codex
2023-03-14 12:49:29 -07:00
tiferet
a27ae27101
In the MaD data, set the subtypes field to false for final classes / methods.
2023-03-14 12:49:29 -07:00
tiferet
4b6d1f7b78
Create a new class other sink:
...
See https://github.com/github/atm-codex/pull/3
- Add a sink type `OtherMaDSinkType`, and corresponding characteristic `OtherMaDSinkCharacteristic`, for other sinks modeled by a MaD `kind` but not belonging to any of the existing sink types.
- Extract positive prompt examples for the new sink type, together with the corresponding MaD `kind`.
2023-03-14 12:49:29 -07:00
tiferet
66c77e890c
Bug fix
2023-03-14 12:49:29 -07:00
tiferet
be9c6500b8
In the MaD data, extract the argument index as an int rather than a string wrapped up in "Argument[]"
2023-03-14 12:49:29 -07:00
tiferet
831830831c
Fix the MaD signature to the correct format
2023-03-14 12:49:29 -07:00
tiferet
ae69a2bcd9
Separate out the sink types to align with the MaD kinds that currently exist, adding a sink type for all sinks of a given query that are not currently mapped in the MaD kinds.
2023-03-14 12:49:29 -07:00
tiferet
65923ed2c1
Add support for multiple sink types per query
2023-03-14 12:49:29 -07:00
tiferet
a7269075e2
As part of the metadata extraction predicate, surface whether or not the callee is a public method
2023-03-14 12:49:29 -07:00
tiferet
d3a5ee53c6
Refactor the CodeQL code that extracts metadata for methods presented to Codex, to make it easy to add another field
2023-03-14 12:49:29 -07:00
tiferet
f32bb65c54
Refactor the CodeQL code that extracts metadata for methods presented to Codex, to make it easy to add another field
2023-03-14 12:49:29 -07:00
tiferet
633bfdba28
Make the endpoint filter to filter out flow steps in Java a bit broader, and document it
2023-03-14 12:49:28 -07:00
tiferet
db9cec6ea6
Add an endpoint filter to filter out flow steps
2023-03-14 12:49:28 -07:00
tiferet
ec5425d952
When extracting positive and negative examples for the Java prompt, extract the data used in the MaD extensible predicate.
...
This will enable the codex prompt to optionally use this data in additional columns.
2023-03-14 12:49:28 -07:00
tiferet
7666843316
Resolve two TODO items
2023-03-14 12:49:28 -07:00
tiferet
e06bcc3112
Exclude negative examples that are type access nodes.
...
These will never be on a flow path so they're not useful negative examples.
2023-03-14 12:49:28 -07:00
tiferet
3229b37436
Increase diversity of negative prompt examples by creating finer sub-types
2023-03-14 12:49:28 -07:00
tiferet
559570419d
If a node satisfies the logic for both isSink and isSanitizer, don't include it as a positive or negative example in the prompt, because it's too ambiguous and will confuse the model.
2023-03-14 12:49:28 -07:00
tiferet
844171a28e
Simplify the definition of ExtractPositiveExamples.ql
2023-03-14 12:49:28 -07:00
tiferet
ecf4d4dc02
Avoid accidentally extracting positive prompt examples when there is a codex-generated data extension file in java/ql/lib/ext
2023-03-14 12:49:28 -07:00
tiferet
0d4e85ff93
Add a predicate that finds endpoints with logically-inconsistent characteristics, and exclude such endpoints from both positive and negative examples extracted for the codex prompt.
2023-03-14 12:49:28 -07:00
tiferet
1211197914
Fix codeql-pack.lock.yml so it's not looking for an ML model
2023-03-14 12:49:28 -07:00
tiferet
41df8df182
Typo fix
2023-03-14 12:49:28 -07:00
tiferet
125245aa62
Delete TODO items that are done
2023-03-14 12:49:28 -07:00
tiferet
8bb2b2eaea
Have each EndpointType keep track of the sink/source kind for this endpoint type as used in Models as Data
2023-03-14 12:49:28 -07:00
tiferet
27efe524da
Fix the extraction of data for the data extension YML file.
2023-03-14 12:49:28 -07:00
tiferet
ae4668c488
Add data needed for the data extension YML file to ExtractSinkCandidatesWithFlow.ql: first pass.
2023-03-14 12:49:28 -07:00
tiferet
3987d8d374
Small update to SafeExternalApiMethodCharacteristic
2023-03-14 12:49:28 -07:00
tiferet
fd75952c1e
Improvements to ExtractSinkCandidatesWithFlow.ql
2023-03-14 12:49:28 -07:00
tiferet
4db0dec82e
Minor improvement
2023-03-14 12:49:28 -07:00
tiferet
a73b52adef
Improvements to ExtractSinkCandidatesWithFlow.ql
2023-03-14 12:49:28 -07:00
tiferet
39a4513fcc
Delete the queries the Java team isn't currently interested in boosting
2023-03-14 12:49:28 -07:00
tiferet
3c44332f17
Move isFlowLikelyInBaseQuery to the ATMConfig and delete AdaptiveThreatModeling.qll
2023-03-14 12:49:27 -07:00
tiferet
06c7f1012c
Rename request forgery sink to server-side request forgery sink
2023-03-14 12:49:27 -07:00
tiferet
9421ba5303
Add and implementation of request forgery sinks and corresponding positive EndpointCharacteristic in Java
2023-03-14 12:49:27 -07:00
tiferet
f5109be2ac
Bug fixes
2023-03-14 12:49:27 -07:00
tiferet
c14a4c4d93
Add an implementation of TaintedPathATM.qll and corresponding positive EndpointCharacteristic in Java
2023-03-14 12:49:27 -07:00
tiferet
4546dbe51b
Subsample negative examples to 1% to prevent huge numbers.
2023-03-14 12:49:26 -07:00
tiferet
5d62dc3d2e
Add a Java NotASinkCharacteristic safe external API method
2023-03-14 12:49:26 -07:00
tiferet
0acd06a6d3
Add queries to surface high-confidence Java sinks and non-sinks to use as examples in the codex prompt.
2023-03-14 12:49:26 -07:00
tiferet
04abb87fef
Rewrite ExtractSinkCandidatesWithFlow.ql as a problem query so we can run it with codeql database analyze to output SARIF results.
2023-03-14 12:49:26 -07:00
tiferet
5dc5c3fb3f
Add a couple of endpoint filters for Java
2023-03-14 12:49:26 -07:00
tiferet
653b0128f5
Try implementing SqlInjectionATM.qll in Java
2023-03-14 12:49:26 -07:00
tiferet
c0f58371b4
Start making the additions needed to surface candidate Java sinks for codex classification outside the evaluator.
2023-03-14 12:49:26 -07:00
tiferet
cf289d57e9
Go back to the prompt of https://github.com/github/codeql-dca-main/issues/9475
2023-03-14 12:49:26 -07:00
tiferet
459050151a
Give more explicit instructions in the codex prompt, but don't solicit rare sink types.
2023-03-14 12:49:26 -07:00
tiferet
01979aeb62
Give more explicit instructions in the codex prompt.
2023-03-14 12:49:26 -07:00
tiferet
ef95f4c419
Minor prompt improvements:
...
- Tell codex explicitly that this is JavaScript code
- Replace "Dataflow node" with "Code snippet"
2023-03-14 12:49:26 -07:00
tiferet
ac5434b3f3
Minor prompt improvements:
...
Remove spaces that break the code syntax or make for strange code styling.
2023-03-14 12:49:26 -07:00
tiferet
ce17d94f80
In-line predicates that are costing a lot of compute time
2023-03-14 12:49:26 -07:00
tiferet
bcc4cdd376
Add a test that can be used to determine the alerts codex will surface for each query.
2023-03-14 12:49:25 -07:00
tiferet
9aba7a0bca
Bug fixes for things that interfere with using the codex model
2023-03-14 12:49:25 -07:00
tiferet
9a21539fca
Add a test that can be used to determine how well codex reproduces the manual modeling for each sink type.
2023-03-14 12:49:25 -07:00
tiferet
d76d11bd27
Fix endpointScores
2023-03-14 12:49:25 -07:00
tiferet
4603a66411
Bug fix in selecting a node's location:
...
Locations only exist where there are locatable structures in the DB. Thus, select the largest location that contains the node and at most `neighborhoodSize` lines before and after the node.
2023-03-14 12:49:25 -07:00
tiferet
b130b2e82f
Give endpoint types more intuitive names and then use those names directly in composing the codex prompt.
2023-03-14 12:49:25 -07:00
tiferet
94676ed713
Further improve the structure of endpoint scoring
2023-03-14 12:49:25 -07:00
tiferet
4ed57e71db
Remove tokens from the prompt that the Java side can't handle
2023-03-14 12:49:25 -07:00
tiferet
12def779e6
Change the prompt to use sink names defined in EndpointType
2023-03-14 12:49:25 -07:00
tiferet
a6c01042eb
Improve the structure of endpoint scoring
2023-03-14 12:49:25 -07:00
tiferet
fa36fc838b
Pull in the prompt work from branch tiferet/codex-prompt
2023-03-14 12:49:25 -07:00
tiferet
09bf2218d4
Merge in aeisenberg/atm-codex
2023-03-14 12:49:24 -07:00
Harry Maclean
aaeb8a0aa0
Merge pull request #12493 from hmac/ar-sinks
2023-03-15 07:59:07 +13:00
Geoffrey White
959f93a766
Merge pull request #12520 from geoffw0/basetypefix
...
Swift: Fix result type of NominalType.getABaseType.
2023-03-14 18:23:54 +00:00
Geoffrey White
a391c01d36
Swift: Fix result type of NominalType.getABaseType.
2023-03-14 17:36:30 +00:00
Anders Schack-Mulligen
30163e4f60
Merge pull request #12515 from aschackmull/java/neutral-dispatch
...
Java: Remove low-confidence dispatch to known neutrals.
2023-03-14 15:35:05 +01:00
Tom Hvitved
c132891669
Merge pull request #12513 from hvitved/dataflow/lambda-flow-no-expects-content
...
Data flow: Exclude `expectsContent` nodes from lambda flow
2023-03-14 15:28:35 +01:00
Asger F
feb7c49006
Merge pull request #12382 from asgerf/js/import-assertion
...
JS: Support import assertions
2023-03-14 14:56:32 +01:00
Ian Lynagh
32e8b130ad
Merge pull request #12501 from tamasvajk/java/javadoc_printast
...
Java: Fix printAST to handle javadoc belonging to multiple elements
2023-03-14 13:42:22 +00:00
Anders Schack-Mulligen
a9d2b936af
Java: Add qldoc.
2023-03-14 14:15:15 +01:00
Asger F
d953ad63fe
Merge pull request #12445 from asgerf/js/react-forward-ref
...
JS: Handle forwardRef in React
2023-03-14 13:21:16 +01:00
Asger F
d74da30fc7
JS: Include trap test for trailing commas
2023-03-14 13:15:12 +01:00
Asger F
8ab3f39b5e
Merge pull request #12423 from asgerf/js/trusted-types-global-flow
...
JS: Track trusted types policy callbacks
2023-03-14 13:09:50 +01:00
Paolo Tranquilli
5ff7a898a6
Merge pull request #12516 from github/redsun82/swift-specialize-generic-decl
...
Swift: make `AnyGenericType::getDecl`'s type more specific
2023-03-14 12:23:02 +01:00
AlexDenisov
decd5c1ae7
Merge pull request #12508 from github/redsun82/swift-deduplication-test
...
Swift: add an initial draft for a deduplication test
2023-03-14 11:56:23 +01:00
Paolo Tranquilli
54b6c6f8f7
Swift: make AnyGenericType::getDecl's type more specific
...
As shown by the extractor's code not needing any change, the DB values
already had that more specific type, which is why the upgrade/downgrade
scripts are actually no-ops.
2023-03-14 11:49:07 +01:00
Anders Schack-Mulligen
dbfc256f40
Java: Remove low-confidence dispatch to known neutrals.
2023-03-14 11:34:07 +01:00
Paolo Tranquilli
91ce88e2d9
Swift: make deduplication test cross-platform
2023-03-14 11:24:03 +01:00
Edward Minnix III
de1ecf943e
Merge pull request #11915 from egregius313/egregius313/arbitrary-apk-installation
...
Java: Arbitrary APK installation
2023-03-14 06:23:51 -04:00
Paolo Tranquilli
cc608f764d
Swift: add missing include
2023-03-14 11:23:33 +01:00
Tony Torralba
dd0723c36b
Merge pull request #12511 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-03-14 10:05:32 +01:00
Tom Hvitved
bdd56f1b6e
Data flow: Sync files
2023-03-14 10:01:56 +01:00
Tom Hvitved
8dd99b951b
Data flow: Exclude expectsContent nodes from lambda flow
2023-03-14 10:01:11 +01:00
Tom Hvitved
08557974ae
Merge pull request #12499 from hvitved/ruby/more-constructor-flow
...
Ruby: Add missing flow through `self.new` constructor calls
2023-03-14 09:14:42 +01:00
Erik Krogh Kristensen
04f422ea5d
Merge pull request #12047 from erik-krogh/py-shell
...
Py: add unsafe-shell-command-construction
2023-03-14 07:48:38 +01:00
github-actions[bot]
2c93ab99d8
Add changed framework coverage reports
2023-03-14 00:15:57 +00:00
Harry Maclean
d814e15a2f
Ruby: Refactor
2023-03-14 12:58:32 +13:00
Anders Schack-Mulligen
5792b4d363
Merge pull request #12503 from aschackmull/java/qltest-callback-instance-sideeffect
...
Java: Add a qltest demonstrating side-effect on a callback instance.
2023-03-13 17:26:12 +01:00
Paolo Tranquilli
fcd14a78ab
Swift: add an initial draft for a deduplication test
2023-03-13 15:55:45 +01:00
Ian Lynagh
70b85a3e00
Merge pull request #12431 from igfoo/igfoo/double_interception
...
Kotlin: Test double interceptions
2023-03-13 14:30:49 +00:00
erik-krogh
6a5d6eb5c2
lower precision of py/shell-command-constructed-from-input to medium
2023-03-13 14:56:42 +01:00
erik-krogh
d001cc40d3
Merge branch 'main' into py-shell
2023-03-13 14:56:04 +01:00
Tamas Vajk
c57fcfb8fb
Java: Fix printAST to handle javadoc belonging to multiple elements
2023-03-13 14:26:33 +01:00
Tony Torralba
705691b096
Merge pull request #12446 from github/java/update-mad-decls-after-triage-2023-03-08T14-51-59
...
Java: Update MaD Declarations after Triage
2023-03-13 14:07:59 +01:00
Robert Marsh
64f23ebb4d
Merge pull request #12436 from MathiasVP/ir-range-analysis-for-unary-minus
...
C++: IR-based range analysis for unary minus
2023-03-13 09:02:38 -04:00
Anders Schack-Mulligen
f54b02edb3
Java: Add a qltest demonstrating side-effect on a callback instance.
2023-03-13 13:22:18 +01:00
Anders Schack-Mulligen
0c95ab2cdc
Merge pull request #12474 from hvitved/dataflow/call-back-post-update
...
Data flow: Synthesize post-update nodes for callback arguments inside summarized callables
2023-03-13 13:21:52 +01:00
Ian Lynagh
4fbc747f93
Kotlin: Move kotlin_double_interception test to posix_only
...
It's failing on Windows
2023-03-13 11:57:57 +00:00
Ian Lynagh
fd8f7e071b
Kotlin: Tweak double_interception test
2023-03-13 11:57:57 +00:00
Ian Lynagh
fae4a8f37b
Kotlin: double interception test: Fix for old python versions
2023-03-13 11:57:57 +00:00
Ian Lynagh
8b6047dfd1
Kotlin: Handle double-interceptions without failing
2023-03-13 11:57:57 +00:00
Ian Lynagh
81e71c4669
Kotlin: Add a test for double niterception
2023-03-13 11:57:57 +00:00
dependabot[bot]
6e75df4088
Merge pull request #12494 from github/dependabot/cargo/ruby/serde-1.0.155
2023-03-13 11:49:00 +00:00
Erik Krogh Kristensen
060c37b6a2
Merge pull request #12345 from erik-krogh/delOldDeps
...
delete old deprecations
2023-03-13 12:48:24 +01:00
Tom Hvitved
163bb2b94d
Add change note
2023-03-13 12:45:46 +01:00
Tom Hvitved
714b61b63e
Ruby: Add missing flow through self.new constructor calls
2023-03-13 12:45:46 +01:00
dependabot[bot]
219bac74bf
Bump serde from 1.0.154 to 1.0.155 in /ruby
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.154 to 1.0.155.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.155 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-13 11:36:09 +00:00
dependabot[bot]
de84dddfc1
Merge pull request #12495 from github/dependabot/cargo/ql/serde-1.0.155
2023-03-13 11:32:03 +00:00
Arthur Baars
e0a49e2999
Merge pull request #12486 from aibaars/windows-long-paths
...
Ruby: support long paths on Windows
2023-03-13 12:18:50 +01:00
Tamas Vajk
e44aca0b33
Java: Add printAST test with javadoc
2023-03-13 12:02:50 +01:00
Arthur Baars
41a53ec109
Address comments
2023-03-13 11:50:03 +01:00
Geoffrey White
e4837f7da9
Merge pull request #12489 from geoffw0/typealiastests
...
Swift: Skeleton + tests for type alias support
2023-03-13 10:38:43 +00:00
Asger F
5461f94c6c
Merge pull request #12424 from asgerf/js/html-sanitizer-for-sql
...
JS: Add html sanitizers as a taint step in a few queries
2023-03-13 11:36:19 +01:00
Asger F
41dd63adc7
Handle forwardRef in React
2023-03-13 11:30:18 +01:00
Anders Schack-Mulligen
f53a05bf13
Merge pull request #12475 from aschackmull/dataflow/mergepathgraph
...
Dataflow: Add MergePathGraph module.
2023-03-13 11:26:24 +01:00
Jeroen Ketema
a0fca20f0d
Merge pull request #12498 from jketema/frontend-tests
...
C++: Update `.expected` after frontend changes
2023-03-13 11:25:58 +01:00
Anders Schack-Mulligen
c380ecbbbc
Data flow: Add change notes.
2023-03-13 11:09:13 +01:00
erik-krogh
6c1ebd999e
Merge branch 'main' into delOldDeps
2023-03-13 11:00:29 +01:00
Erik Krogh Kristensen
25e6b976c8
Merge pull request #12405 from github/dependabot/cargo/ql/rayon-1.7.0
...
Bump rayon from 1.6.1 to 1.7.0 in /ql
2023-03-13 10:57:11 +01:00
Geoffrey White
7512d81331
Merge pull request #12484 from geoffw0/summarydetail
...
Swift: Update swift/summary/summary-statistics to DataFlow::ConfigSig
2023-03-13 09:54:54 +00:00
Tom Hvitved
6ee231fac5
Ruby: Add more tests for flow through constructors
2023-03-13 10:52:01 +01:00
Geoffrey White
0d1be2294c
Merge branch 'main' into typealiastests
2023-03-13 09:38:54 +00:00
Geoffrey White
8d666d00c2
Swift: Update codegen.
2023-03-13 09:21:44 +00:00
Geoffrey White
9a5dbd078e
Merge pull request #12485 from geoffw0/qldocraw
...
Swift: Add generated QLDoc to the Raw.qll file.
2023-03-13 09:10:55 +00:00
Jeroen Ketema
bd47c4f9ec
C++: Update .expected after frontend changes
2023-03-13 09:40:10 +01:00
Tony Torralba
e834f9302e
Fix Apache Commons HTTP Client and SQL Injection tests
2023-03-13 09:36:53 +01:00
Harry Maclean
9c3d141c9c
Ruby: Add change note
2023-03-13 18:57:55 +13:00
dependabot[bot]
7ab3bb1239
Bump serde from 1.0.154 to 1.0.155 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.154 to 1.0.155.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.155 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-13 04:10:45 +00:00
Harry Maclean
fe995dd99b
Ruby: ActiveRecord::Connection.execute SQL sink
2023-03-13 09:03:54 +13:00
Harry Maclean
025cd34dab
Ruby: Taint flow through ActionController params
...
We were not recognising "require" as returning a Parameters instance.
2023-03-13 08:52:41 +13:00
Harry Maclean
2d95b6a049
Ruby: Add count_by_sql as SQL sink
2023-03-13 08:40:32 +13:00
Harry Maclean
c97dccf0de
Ruby: Add reorder as a SQL sink
...
In recent versions of Rails this method doesn't seem to be vulnerable,
but it may be in previous versions. There's a slight FP risk here, but
I think it is small.
2023-03-13 08:38:17 +13:00
Mathias Vorreiter Pedersen
ab58d4c11f
Merge pull request #12415 from github/rdmarsh2/swift/constructor-flow
2023-03-10 23:16:37 +00:00
Arthur Baars
c67bfff33b
Ruby: strip \\?\ from display paths
2023-03-10 22:32:11 +01:00
Arthur Baars
4bfcc31ef0
Ruby: support long paths on Windows
2023-03-10 22:32:11 +01:00
Ed Minnix
59eea2a4a3
Change FlowState classes to use IPAs instead of string
2023-03-10 15:24:04 -05:00
Ed Minnix
b6eeac5bc8
Update names to new naming convention
2023-03-10 15:13:58 -05:00
Robert Marsh
d9732361fc
Swift: autoformat
2023-03-10 19:28:01 +00:00
Geoffrey White
fbde174a89
Swift: Autoformat.
2023-03-10 19:02:54 +00:00
Arthur Baars
50ff82fe51
Merge pull request #12482 from github/revert-12245-calumgrant/codeowners-dynamic
...
Revert "Update CODEOWNERS for dynamic teams"
2023-03-10 19:44:12 +01:00
Geoffrey White
7ddd08fb1e
Swift: Extend an extractor test as well.
2023-03-10 18:35:03 +00:00
Geoffrey White
f6e7837cb8
Swift: Extend the PrintAST test as well.
2023-03-10 18:28:11 +00:00
Geoffrey White
0c900e4b8a
Swift: Add a test for aliased types.
2023-03-10 18:26:48 +00:00
Mathias Vorreiter Pedersen
d4269251be
Swift: Add QL skeleton for aliased types.
2023-03-10 18:15:40 +00:00
Arthur Baars
7b8ac609f7
Merge pull request #12478 from aibaars/js-fix-npe
...
JS: fix NPE
2023-03-10 18:49:46 +01:00
Geoffrey White
c2f6ee320f
Swift: Add QLDoc to the Raw.qll file.
2023-03-10 17:43:30 +00:00
Robert Marsh
e931d59bea
Merge pull request #12479 from jketema/simple-range-analysis-wrapper
...
C++: Introduce wrapper for the semantic range analysis mimicking the simple one
2023-03-10 10:01:28 -05:00
Edward Minnix III
e2acc26419
Apply docs review suggestions
...
- Punctuation
- Rewording
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-10 09:47:47 -05:00
Calum Grant
1b2ba15753
Revert "Update CODEOWNERS for dynamic teams"
2023-03-10 14:39:22 +00:00
Geoffrey White
7bd0f53df9
Swift: Update swift/summary/summary-statistics to DataFlow::ConfigSig.
2023-03-10 14:39:03 +00:00
Taus
998827f491
Merge pull request #12481 from aschackmull/all/autoformat-ignore-blame
...
Ignore auto-format commits in git blame.
2023-03-10 15:36:04 +01:00
Owen Mansel-Chan
286a56c9b3
Merge pull request #12450 from owen-mc/unexpected-directory-layout
...
Diagnostic for imports with relative package paths
2023-03-10 14:35:02 +00:00
Anders Schack-Mulligen
1e64748ffe
Dataflow: Autoformat.
2023-03-10 15:12:19 +01:00
Anders Schack-Mulligen
955cc5a1be
Ignore auto-format commits in git blame.
2023-03-10 15:08:49 +01:00
Anders Schack-Mulligen
289f921171
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
a836444bc6
Dataflow: Add some qldoc.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
00f0879ff5
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
cce3728edf
Dataflow: Add MergePathGraph module.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
52e4076684
Merge pull request #12427 from aschackmull/java/refactor-dataflow-queries-1
...
Java: Refactor some dataflow queries to the new API
2023-03-10 14:40:14 +01:00
Jeroen Ketema
faecf44870
C++: Add predicate implementations we get for free from simple range analysis
2023-03-10 14:31:15 +01:00
Geoffrey White
7f06109a4f
Swift: Add detail to the swift/summary/summary-statistics query.
2023-03-10 13:20:25 +00:00
Jeroen Ketema
0e45c9982b
C++: Introduce wrapper for the semantic range analysis mimicking the simple one
2023-03-10 13:30:24 +01:00
Owen Mansel-Chan
674799af8c
Implement diagnostic for relative package paths
2023-03-10 12:20:44 +00:00
Owen Mansel-Chan
d6712b2111
Add test for unexpected directory layout error
2023-03-10 12:20:43 +00:00
Arthur Baars
1a70297662
JS: fix NPE
2023-03-10 12:52:41 +01:00
Tom Hvitved
32a699e34a
Data flow: Sync files
2023-03-10 12:43:21 +01:00
Tom Hvitved
6eea906bbf
Data flow: Synthesize post-update nodes for callback arguments inside summarized callables
2023-03-10 12:43:21 +01:00
Anders Schack-Mulligen
64dd8b9488
Merge branch 'main' into java/refactor-dataflow-queries-1
2023-03-10 12:38:06 +01:00
Tony Torralba
746c2d1fca
Add change note
2023-03-10 12:35:14 +01:00
Tony Torralba
f07f0888aa
Fix tests
2023-03-10 12:35:13 +01:00
Tony Torralba
393a0759db
More stubs
2023-03-10 12:35:13 +01:00
Tony Torralba
8aa80882ea
Sync files
2023-03-10 12:35:13 +01:00
Tony Torralba
8065714ebe
Add tests
2023-03-10 12:35:13 +01:00
Tony Torralba
eef3dc81df
Add stubs
2023-03-10 12:35:13 +01:00
Tony Torralba
698dfa46fc
Minor fixes to the models
2023-03-10 12:35:13 +01:00
Tony Torralba
77d9bac52d
Support ai-generated summaries
2023-03-10 12:35:13 +01:00
Stephan Brandauer
0c19da926c
Update MaD Declarations after Triage
2023-03-10 12:35:13 +01:00
Anders Schack-Mulligen
83569911ae
Merge pull request #12230 from aschackmull/all/autoformat
...
Mass autoformat with class and module declarations format fix
2023-03-10 12:29:34 +01:00
Tony Torralba
ec7e486a3b
Swift: update generated files' hashes
2023-03-10 11:10:34 +01:00
Anders Schack-Mulligen
159d8e978c
Dataflow: one more autoformat post rebase
2023-03-10 10:04:35 +01:00
Harry Maclean
4a6bceccf5
Merge pull request #7017 from github/nickrolfe/extractor_options
...
Ruby: expose TRAP compression option
2023-03-10 21:46:53 +13:00
Anders Schack-Mulligen
3640b6d3a8
Shared: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
711d7057f7
Swift: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
08c658e66b
Go: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
a5d229903d
Ruby: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
8d97fe9ed3
JavaScript: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
21d5fa836b
Python: Autoformat
2023-03-10 09:41:17 +01:00
Anders Schack-Mulligen
ef97e539ec
C/C++: Autoformat
2023-03-10 09:39:41 +01:00
Anders Schack-Mulligen
5ad7ed49dd
C#: Autoformat
2023-03-10 09:39:41 +01:00
Anders Schack-Mulligen
730eae9521
Java: Autoformat
2023-03-10 09:39:41 +01:00
Harry Maclean
9cf2acface
Ruby: Make trap option title consistent with C#
2023-03-10 21:11:58 +13:00
Harry Maclean
cf64e0e85f
Ruby: trap_compression -> trap.compression
...
Change the trap_compression extractor option to be an object `trap` with
a nested option `compression`. This means that on the command line you
would supply the option as follows:
codeql database create --extractor-option trap.compression=gzip
This is a little less jarring than the previous design, which would use
underscores amonst the hyphens:
codeql database create --extractor-option trap_compression=gzip
2023-03-10 19:18:49 +13:00
Nick Rolfe
7649772935
Expose TRAP compression option via the new extractor options feature.
2023-03-10 19:09:51 +13:00
Arthur Baars
348165205c
Merge pull request #12442 from aibaars/diagnostics-tests
...
Ruby: add some integration tests for diagnostic messages
2023-03-09 21:58:42 +01:00
Henry Mercer
a816b813d1
Merge pull request #12470 from github/codeql-ci/atm/release-0.4.9
...
JS: Bump version numbers of ML-powered packs after 0.4.9 release
2023-03-09 18:40:31 +00:00
Michael B. Gale
d627358f7e
Merge pull request #12453 from github/mbg/csharp/fix-env-prop
2023-03-09 17:55:48 +00:00
Henry Mercer
079451142e
Merge branch 'main' into codeql-ci/atm/release-0.4.9
2023-03-09 16:08:22 +00:00
yoff
b3fa844322
Merge pull request #12461 from yoff/python/add-api-test-captured
...
python: add test documenting effect of scopes
2023-03-09 16:55:27 +01:00
github-actions[bot]
a82aaea514
JS: Bump version of ML-powered library and query packs to 0.4.10
2023-03-09 15:54:49 +00:00
Owen Mansel-Chan
250a0a71e1
Merge pull request #12466 from owen-mc/update-go-diagnostics
...
The source name of a diagnostic should not change
2023-03-09 15:51:32 +00:00
Edward Minnix III
3ee14f914b
Merge pull request #50 from egregius313/egregius313/refactor-apk-query-using-dataflow-modules
...
Convert dataflow configurations in Arbitrary APK Installation query to use new module-configuration
2023-03-09 10:50:02 -05:00
github-actions[bot]
f0bb25bfce
JS: Bump patch version of ML-powered library and query packs
2023-03-09 15:46:31 +00:00
Edward Minnix III
e8f1f364c5
Refactor to module api for PathNodes
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-09 10:45:55 -05:00
Ed Minnix
cb53ff70a6
Remove unused imports
2023-03-09 10:44:59 -05:00
Mathias Vorreiter Pedersen
59402eb754
Merge pull request #12462 from MathiasVP/disable-std-order-in-fwd-flow-stage-1
...
DataFlow: Disable standard order in `Stage1::fwdFlow`
2023-03-09 15:30:05 +00:00
Arthur Baars
eadc605c0e
Merge pull request #12460 from github/dependabot/cargo/ql/serde-1.0.154
...
Bump serde from 1.0.152 to 1.0.154 in /ql
2023-03-09 16:25:18 +01:00
Alex Ford
5ef71f9d28
Merge pull request #12306 from alexrford/rb/more-expr-nodes
...
Ruby: ensure that all Ast `Expr`s have a dataflow node type more precise than `ExprNode`
2023-03-09 14:54:34 +00:00
Asger F
6e744093e2
Merge pull request #12398 from github/post-release-prep/codeql-cli-2.12.4
...
Post-release preparation for codeql-cli-2.12.4
2023-03-09 15:38:21 +01:00
Owen Mansel-Chan
f87b307ddb
The source name of a diagnostic should not change
2023-03-09 14:00:52 +00:00
dependabot[bot]
dd3e357ad3
Bump serde from 1.0.152 to 1.0.154 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.152 to 1.0.154.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-09 12:30:57 +00:00
dependabot[bot]
a731a82a10
Merge pull request #12459 from github/dependabot/cargo/ruby/serde-1.0.154
2023-03-09 12:28:57 +00:00
Arthur Baars
c98e0fa0b4
Ruby: fix comment
2023-03-09 13:14:57 +01:00
Arthur Baars
8096f86224
Ruby: lower severity of parse error to warning
2023-03-09 13:14:57 +01:00
Arthur Baars
942cd7c275
Merge pull request #12113 from erik-krogh/diagnostics
...
JS: Implement diagnostics
2023-03-09 12:57:06 +01:00
Mathias Vorreiter Pedersen
2bbeb7383f
Merge pull request #12452 from MathiasVP/inline-this-could-access-member
...
C++: Inline `thisCouldAccessMember`
2023-03-09 11:38:50 +00:00
Mathias Vorreiter Pedersen
1f77f77153
DataFlow: Sync identical files.
2023-03-09 10:41:15 +00:00
Mathias Vorreiter Pedersen
c7b41ca470
C++: Disable standard order for 'fwdFlow' in stage 1 of dataflow.
2023-03-09 10:41:06 +00:00
Owen Mansel-Chan
55003300fe
Merge pull request #12341 from owen-mc/go-tools-status
...
Go: tools status page support
2023-03-09 09:59:01 +00:00
Mathias Vorreiter Pedersen
f19f7967c2
C++: Fix join order.
...
Before (I stopped midway):
```
(72s) Tuple counts for _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#1/3@fb0627h8 after 1m4s:
...
20000 ~0% {5} r28 = r26 UNION r27
224367484 ~7% {9} r29 = JOIN r28 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff_1023#join_rhs ON FIRST 1 OUTPUT Rhs.3, "protected", Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.0, Lhs.4, Rhs.1, Rhs.2
111914129 ~0% {7} r30 = JOIN r29 WITH specifiers ON FIRST 2 OUTPUT Lhs.6, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5, Lhs.7, Lhs.8
123503367 ~0% {8} r31 = JOIN r30 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 1 OUTPUT Lhs.3 'arg2', Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.4, Lhs.0, Lhs.5, Lhs.6
331748250 ~0% {10} r32 = JOIN r31 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.3 'arg1', Lhs.0 'arg2', Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.1, Rhs.2, Rhs.3
331748250 ~0% {10} r33 = SELECT r32 ON In.8 = In.9
331748250 ~2% {9} r34 = SCAN r33 OUTPUT In.7, In.5, In.8, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.3, In.4, In.6
38000 ~4% {10} r35 = JOIN r34 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 3 OUTPUT Rhs.3, Lhs.3 'arg0', Lhs.4 'arg1', Lhs.5 'arg2', Lhs.6, Lhs.7, Lhs.1, Lhs.8, Lhs.0, Lhs.2
37500 ~0% {11} r36 = JOIN r35 WITH specifiers ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.9, Lhs.0, Rhs.1
28973 ~0% {11} r37 = SELECT r36 ON In.10 >= "protected"
28973 ~98% {6} r38 = SCAN r37 OUTPUT In.8, "public", In.0 'arg0', In.1 'arg1', In.2 'arg2', In.6
111913629 ~6% {7} r39 = JOIN r29 WITH specifiers ON FIRST 2 OUTPUT Lhs.6, Lhs.4 'arg2', Lhs.2 'arg0', Lhs.3 'arg1', Lhs.5, Lhs.7, Lhs.8
110582830 ~0% {8} r40 = JOIN r39 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 2 OUTPUT Lhs.1 'arg2', Lhs.5, Lhs.6, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.1 'arg2', Lhs.4, Lhs.0
123503367 ~0% {8} r41 = JOIN r30 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.3 'arg2', Lhs.1 'arg0', Lhs.2 'arg1', Lhs.4, Lhs.0, Lhs.5, Lhs.6
0 ~0% {8} r42 = JOIN r41 WITH #Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.6, Lhs.7, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.1 'arg2', Lhs.4, Lhs.5
110582830 ~0% {8} r43 = r40 UNION r42
15000 ~6% {8} r44 = JOIN r43 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 3 OUTPUT Lhs.5 'arg2', Lhs.1, Lhs.3 'arg0', Lhs.4 'arg1', Lhs.6, Lhs.7, Lhs.2, Lhs.0
...
```
After:
```
Tuple counts for _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#1/3@997a3ai9 after 744ms:
...
78600 ~8% {6} r29 = r26 UNION r28
437816 ~0% {9} r30 = JOIN r29 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.0 'arg2', Lhs.3, Lhs.4, Lhs.5, Rhs.1, Rhs.2, Rhs.3
430928 ~0% {9} r31 = SELECT r30 ON In.7 = In.8
430928 ~0% {7} r32 = SCAN r31 OUTPUT In.5, In.6, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.3, In.7
1096333 ~0% {7} r33 = JOIN r32 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.1, Lhs.5, Rhs.2, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.6
777970 ~0% {8} r34 = JOIN r33 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3, Lhs.3 'arg0', Lhs.4 'arg1', Lhs.5 'arg2', Lhs.6
334217 ~0% {6} r35 = JOIN r14 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 1 OUTPUT Lhs.3 'arg2', Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.4, Lhs.0
235623 ~0% {8} r36 = JOIN r35 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.3 'arg1', Lhs.0 'arg2', Lhs.4, Lhs.5, Lhs.1, Rhs.2, Rhs.3
235623 ~0% {8} r37 = SELECT r36 ON In.6 = In.7
235623 ~0% {7} r38 = SCAN r37 OUTPUT In.5, In.6, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.3, In.4
437303 ~0% {9} r39 = JOIN r38 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff_0213#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5, Lhs.6, Lhs.0, Lhs.1, Rhs.2
437303 ~4% {10} r40 = JOIN r39 WITH specifiers ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.0, Rhs.1
352102 ~1% {10} r41 = SELECT r40 ON In.9 >= "protected"
352102 ~0% {6} r42 = SCAN r41 OUTPUT In.7, In.3, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.6
775332 ~0% {8} r43 = JOIN r42 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2, Rhs.3, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5
1553302 ~51% {8} r44 = r34 UNION r43
1553302 ~152% {7} r45 = JOIN r44 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 4 OUTPUT Lhs.7, "public", Lhs.4 'arg0', Lhs.5 'arg1', Lhs.6 'arg2', Lhs.2, Lhs.3
...
```
2023-03-09 09:23:56 +00:00
Rasmus Lerchedahl Petersen
32d95834d1
python: add test documenting effect of scopes
2023-03-09 10:19:44 +01:00
dependabot[bot]
060cd9fada
Bump serde from 1.0.152 to 1.0.154 in /ruby
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.152 to 1.0.154.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-09 04:06:43 +00:00
Ed Minnix
48ca1d0b72
Convert the taint tracking configurations to modules
2023-03-08 19:51:54 -05:00
Ed Minnix
ae0b4970ac
Remove commented out code
2023-03-08 19:21:58 -05:00
Ed Minnix
da43a61506
Convert dataflow configuration to using new module-configuration
2023-03-08 19:19:00 -05:00
Chris Smowton
db5bd98781
Return on failure to create file
2023-03-08 22:48:57 +00:00
Owen Mansel-Chan
820de5d36f
Remove fatal/panic exits from diagnostic code
2023-03-08 22:00:34 +00:00
Ed Minnix
eeb9a88c3a
Renamed test file to follow camel casing convention
2023-03-08 13:56:25 -05:00
Ed Minnix
f680a2ecbf
Update test java file to support InlineExpectationsTest
2023-03-08 13:50:02 -05:00
Ed Minnix
bfd430b446
Remove qlref tests
2023-03-08 13:21:31 -05:00
Ed Minnix
24c9a516c9
Add QLdoc to ArbitraryApkInstallationQuery.qll
2023-03-08 13:21:09 -05:00
Chris Smowton
cacae957b5
Merge pull request #12441 from smowton/smowton/fix/golang-incorrect-integer-conversion-sanitizer
...
Go: fix incorrect-integer-conversion sanitizer
2023-03-08 18:19:46 +00:00
Michael B. Gale
695160d480
Remove check for stdout redirection
2023-03-08 18:09:09 +00:00
Mathias Vorreiter Pedersen
540ce1f0db
Contrary to what the QLDoc says, this predicate was way too large to be
...
evaluated on the 'quick-lint/quick-lint-js' project.
Before:
```
Most expensive predicates for completed query RuleOfTwo.ql:
time | evals | max @ iter | predicate
------|-------|--------------|----------
25m9s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#ffff@8a38e2tm
17m1s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#fffb@0796c497
3.5s | 130 | 116ms @ 3 | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff@926a68j9
3.3s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#fffb_1230#join_rhs@25e9ffj8
1.7s | 3 | 1.7s @ 1 | Element#496c7fc2::ElementBase::toString#0#dispred#ff@fcd81c49
1.3s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#fffb_0132#join_rhs@9c2065t1
1.3s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#ffff_0132#join_rhs@672330eh
1.1s | | | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff_102#join_rhs@f7d5464o
829ms | 336 | 85ms @ 6 | Enclosing#c50c5fbf::exprEnclosingElement#1#ff@e34d9wq1
615ms | | | Expr#ef463c5d::Expr::getType#ff@e265e79q
```
After:
```
Most expensive predicates for completed query RuleOfTwo.ql:
time | evals | max @ iter | predicate
------|-------|-------------|----------
11.8s | | | _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#1@fb0627h8
4.8s | | | _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#4@c43dbeia
3.8s | | | _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#3@313e5963
3.4s | 130 | 93ms @ 3 | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff@a0289bfg
1.5s | 3 | 1.5s @ 1 | Element#496c7fc2::ElementBase::toString#0#dispred#ff@fcd81c49
806ms | | | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff_021#join_rhs@cc1b76s7
721ms | 336 | 61ms @ 5 | Enclosing#c50c5fbf::exprEnclosingElement#1#ff@e34d9wq1
489ms | | | Expr#ef463c5d::Expr::getType#ff@e265e79q
337ms | 130 | 62ms @ 5 | Class#bacd9b46::Class::accessOfBaseMemberMulti#ffff@0165b0dr
329ms | | | Variable#7a968d4e::ParameterDeclarationEntry::getAnonymousParameterDescription#0#dispred#ff@0f12bdvq
211ms | | | exprs_10#join_rhs@5481143i
```
2023-03-08 17:44:19 +00:00
Ed Minnix
882e909862
Renamed ArbitraryAPKInstallation to ArbitraryApkInstallation
2023-03-08 12:16:46 -05:00
Ed Minnix
5fb5f1b23b
Begin InlineExpectationsTest
2023-03-08 12:14:45 -05:00
Ed Minnix
3ea167cadf
Split ArbitraryApkInstallation file into 3 files
2023-03-08 12:12:11 -05:00
Edward Minnix III
2d1088e923
Change severity level to error
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-08 12:12:11 -05:00
Ed Minnix
0eaad4136e
Add RemoteFlowSource as a valid source
2023-03-08 12:12:11 -05:00
Ed Minnix
4d51e4fed0
Change description wording
2023-03-08 12:12:11 -05:00
Ed Minnix
10cd6328dc
Add missing QLDocs
2023-03-08 12:12:11 -05:00
Edward Minnix III
8ec5b5b7fa
Apply suggestions from code review
...
Co-authored-by: Jami <57204504+jcogs33@users.noreply.github.com >
2023-03-08 12:12:10 -05:00
Ed Minnix
8fcf00b73d
Test improvements
2023-03-08 12:12:10 -05:00
Ed Minnix
fa416564c7
Documentation and examples
2023-03-08 12:12:10 -05:00
Ed Minnix
d3d712fbff
Remove Url#parse as a source
2023-03-08 12:12:10 -05:00
Ed Minnix
5f4e8e3e6a
Add test cases relating to intents with the ACTION_INSTALL_PACKAGE action
2023-03-08 12:12:10 -05:00
Ed Minnix
f03e90f894
Remove http(s) literal sources
2023-03-08 12:12:10 -05:00
Edward Minnix III
839b88a4bc
Formatting, capitalization, and typos
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-08 12:12:10 -05:00
Ed Minnix
b606271a61
Additional documentation
2023-03-08 12:12:10 -05:00
Ed Minnix
01b20b3a26
Added external storage test case
2023-03-08 12:12:10 -05:00
Ed Minnix
c448481bf7
Added test expectations
2023-03-08 12:12:10 -05:00
Ed Minnix
12f78dbed4
Add DataFlow::PathGraph import
2023-03-08 12:12:10 -05:00
Ed Minnix
cd5a46123e
Add a change note
2023-03-08 12:12:10 -05:00
Ed Minnix
2d6cdff14b
Add period to alert message
2023-03-08 12:12:10 -05:00
Ed Minnix
0ec4df28f5
Add query metadata
2023-03-08 12:12:10 -05:00
Ed Minnix
3f589722c2
Refactor query to change returned source
2023-03-08 12:12:10 -05:00
Ed Minnix
618b608962
Arbitrary APK Installation MVP
2023-03-08 12:12:10 -05:00
Owen Mansel-Chan
9fc119cc55
Rearrange diagnostic error message
...
The context should come in the middle and the call to action should come
last.
2023-03-08 17:09:52 +00:00
Robert Marsh
6bfa08c5cc
Merge branch 'main' into rdmarsh2/swift/constructor-flow
2023-03-08 16:40:11 +00:00
Owen Mansel-Chan
63d3b3ff2a
Fix diagnostic-limit-reached visibility and location
2023-03-08 16:34:29 +00:00
Owen Mansel-Chan
0d6f17ec90
Do not use field internal, which is deprecated
2023-03-08 16:34:01 +00:00
Robert Marsh
3bf3876c14
Swift: fix FPs with inout params in inits
2023-03-08 16:20:39 +00:00
Owen Mansel-Chan
17c550bc88
Address review comments
2023-03-08 15:51:45 +00:00
Arthur Baars
7ab0f88f78
JS: add link to docs to parse error diagnostic
2023-03-08 16:47:43 +01:00
Arthur Baars
ebf0bb889b
Ruby: add some integration tests for diagnostic messages
2023-03-08 16:35:43 +01:00
Arthur Baars
e5be8ab1e5
JS: add integration test for diagnostic messages
2023-03-08 16:04:49 +01:00
Michael B. Gale
ce937e78c0
Merge pull request #12383 from github/mbg/csharp/fix/diag-filename
...
C#: Append process id to diagnostics filename
2023-03-08 14:04:29 +00:00
Arthur Baars
22c6c53993
Merge pull request #12434 from aibaars/diagnostics-links
...
Ruby: add some links to diagnostic messages
2023-03-08 14:41:46 +01:00
Mathias Vorreiter Pedersen
619266d04b
C++: Fix floating point imprecision.
2023-03-08 13:24:01 +00:00
Mathias Vorreiter Pedersen
ce0f2b1788
C++: Accept test changes.
2023-03-08 13:23:58 +00:00
Mathias Vorreiter Pedersen
b0cb65403b
C++: Add range analysis for unary minus.
2023-03-08 13:23:18 +00:00
Mathias Vorreiter Pedersen
4cb5bea2c6
C++: Add simple negation test cases.
2023-03-08 13:23:05 +00:00
Michael Nebel
29ee1bda50
Merge pull request #12369 from michaelnebel/csharp/unsafestubs
...
C#: .NET 7 Runtime and ASP.NET 7 stubs.
2023-03-08 13:54:23 +01:00
Michael Nebel
6adc04eca0
Merge pull request #12370 from michaelnebel/csharp/unsafemember
...
C#: Improve the `unsafe` predicate on Modifiable.
2023-03-08 13:47:59 +01:00
Anders Schack-Mulligen
e7f85673e9
Java: Fix tests and make modules private
2023-03-08 13:35:25 +01:00
Michael B. Gale
71d0a2378b
Append process id to diagnostics filename
2023-03-08 12:15:46 +00:00
Arthur Baars
2d6f3ed6c2
Address comments
2023-03-08 13:10:03 +01:00
yoff
a45a0ee50d
Merge pull request #12425 from RasmusWL/arg-passing-problem
...
Python: Add test of keyword argument with same name as positional-only parameter
2023-03-08 12:01:26 +01:00
Chris Smowton
a63a4c29e2
Go: fix incorrect-integer-conversion sanitizer
...
This was amended as part of https://github.com/github/codeql/pull/12186 , but the conversion was inadequate because the new implementation didn't work when a sink (type conversion) led directly to a non-`localTaintStep` step, such as a store step or an interprocedural step. Here I move the sink back one step to the argument of the type
conversion and sanitize the result of the conversion instead, to ensure there is always a unique local successor to a sink.
This should eliminate unexpected extra results that resulted from https://github.com/github/codeql/pull/12186 . Independently there are also *lost* results that stem from needing a higher `fieldFlowBranchLimit` that are not addressed in this PR, but raising that limit is a performance risk and so I will address this separately.
2023-03-08 09:48:35 +00:00
Michael Nebel
0714310661
C#: Add some more test examples.
2023-03-08 10:14:49 +01:00
Michael Nebel
7ce5c0d55d
C#: Add change note.
2023-03-08 10:02:28 +01:00
Michael Nebel
c88f52c63e
C#: Add stubs test case.
2023-03-08 10:02:27 +01:00
Michael Nebel
b6d97b07bf
C#: Also print the unsafe keyword for eg. classes when creating stubs.
2023-03-08 10:02:27 +01:00
Michael Nebel
67e7b8fc23
C#: If a type (or any child of a type) is a pointer like type then it is unsafe.
2023-03-08 10:02:27 +01:00
Robert Marsh
94d80b0e87
Swift: accept LocalTaint test for constructor flow
2023-03-07 21:17:26 +00:00
Robert Marsh
86fd21de45
Swift: respond to PR comments on constructor flow
2023-03-07 21:17:01 +00:00
Paolo Tranquilli
a4c0a0353f
Merge pull request #12426 from github/redsun82/cpp-file-permissions-example
...
C++: fix example code for `FilePermissions.qll`
2023-03-07 19:55:46 +01:00
AlexDenisov
6a985a3df9
Merge pull request #12392 from github/alexdenisov/mangle-builtin-types
...
Swift: mangle builtin types
2023-03-07 18:22:13 +01:00
Arthur Baars
858aa9ae63
Ruby: add some links to diagnostic messages
2023-03-07 17:55:13 +01:00
Alex Denisov
1283bcb860
Swift: mangle builtin types
2023-03-07 17:45:08 +01:00
AlexDenisov
d469b9711d
Merge pull request #12388 from github/alexdenisov/introduce-type-mangling
...
Swift: introduce type mangling
2023-03-07 17:44:30 +01:00
Owen Mansel-Chan
07098bf8bf
Minor refactor in diagnostics.go
2023-03-07 16:38:53 +00:00
Owen Mansel-Chan
2edccec693
Do not link to GitHub AE version of documentation
2023-03-07 16:38:53 +00:00
Owen Mansel-Chan
c28f51f820
Remove diagnostics-limit-exceeded test
...
There is no way to trigger this any more.
2023-03-07 16:38:52 +00:00
Owen Mansel-Chan
05a4fdf6d8
Put all package-not-found errors into one diagnostic
2023-03-07 16:38:52 +00:00
Owen Mansel-Chan
a4c9120a9a
Update one of the diagnostic messages
2023-03-07 16:38:52 +00:00
Owen Mansel-Chan
2c5239ff7b
Use full stops at the end of diagnostics messages
2023-03-07 16:38:51 +00:00
Owen Mansel-Chan
a7a10de9ea
Emit diagnostic to pass fourth integration tests
2023-03-07 16:38:51 +00:00
Owen Mansel-Chan
8d28253175
Add tests for fourth diagnostic (Go files found but not processed)
2023-03-07 16:38:51 +00:00
Owen Mansel-Chan
01a2e74df7
Add test for diagnostic-limit-hit diagnostic
2023-03-07 16:38:50 +00:00
Owen Mansel-Chan
b6a9f87238
Use "go/autobuilder/" as prefix for all diagnostics
2023-03-07 16:38:50 +00:00
Owen Mansel-Chan
4907e5754f
Address review comments
2023-03-07 16:38:49 +00:00
Owen Mansel-Chan
2a41e6ae66
Emit diagnostic to pass third inegration tests
2023-03-07 16:38:49 +00:00
Owen Mansel-Chan
4fe4dfbf83
Add tests for third diagnostic (package not found)
2023-03-07 16:38:49 +00:00
Owen Mansel-Chan
c0cc1c3fd5
Emit diagnostic to pass second integration test
2023-03-07 16:38:48 +00:00
Owen Mansel-Chan
3f805d3456
Remove unused param from function
2023-03-07 16:38:48 +00:00
Owen Mansel-Chan
137b2c9ef9
Add test for second diagnostic (newer go version)
2023-03-07 16:38:47 +00:00
Owen Mansel-Chan
cbb2fb9968
Emit diagnostic to pass first integration test
2023-03-07 16:38:47 +00:00
Owen Mansel-Chan
4d3b05e041
Add test for first diagnostic (different OS/arch)
2023-03-07 16:38:46 +00:00
Geoffrey White
72d6f56df1
Merge pull request #12413 from geoffw0/ptrout2
...
Swift: Permit data flow from all generic arguments
2023-03-07 16:27:12 +00:00
Anders Schack-Mulligen
2288eab0fd
Java: Refactor BrokenCryptoAlgorithm, MaybeBrokenCryptoAlgorithm
2023-03-07 13:53:36 +01:00
Paolo Tranquilli
c4fd39ec3f
C++: fix example code for FilePermissions.qll
2023-03-07 13:50:20 +01:00
Arthur Baars
78a802359e
Remove references to 'ruby' in generic extractor code
2023-03-07 13:38:48 +01:00
Anders Schack-Mulligen
50935899fa
Java: Refactor XSS.ql
2023-03-07 13:33:00 +01:00
Paolo Tranquilli
bdad847584
Merge pull request #12422 from github/redsun82/cpp-scanf-fp
...
C++: add false positives to `MissingCheckScanf` test
2023-03-07 13:29:22 +01:00
Rasmus Wriedt Larsen
dda29e99b2
Python: Add test of keyword argument with same name as positional-only parameter
...
This is a bit of an edge case, but allowed. Since we currently don't
provide information on positional only arguments, we can't do much to
solve it right now.
2023-03-07 13:28:48 +01:00
Asger F
05b5aea477
JS: Changenote
2023-03-07 13:15:44 +01:00
Michael B. Gale
7627a53c49
Merge pull request #12371 from github/mbg/csharp/increase-diagnostic-visibility
...
C#: Make diagnostics visible everywhere
2023-03-07 12:13:09 +00:00
Michael B. Gale
974fdd305e
Merge pull request #12372 from github/mbg/csharp/check-integration-test-diagnostics
...
C#: Add diagnostic checks to all remaining integration tests
2023-03-07 12:11:47 +00:00
Michael B. Gale
b75f138507
Merge pull request #12385 from github/mbg/csharp/readd-tsp-support
...
C#: Add support for the tool status page
2023-03-07 12:10:52 +00:00
Asger F
856b50735d
JS: Expand test case
2023-03-07 13:04:26 +01:00
Paolo Tranquilli
429518bcea
C++: add further FP to test
2023-03-07 12:03:34 +01:00
Paolo Tranquilli
311cf4e7fd
C++: add false positives to MissingCheckScanf test
...
See https://github.com/github/codeql/issues/12412 for the initial
report.
2023-03-07 11:56:05 +01:00
Anders Schack-Mulligen
d839b4038e
Java: Refactor TaintedPath.ql
2023-03-07 11:53:03 +01:00
Anders Schack-Mulligen
cc75a1a97e
Java: Refactor RequestForgery.ql
2023-03-07 11:39:03 +01:00
Anders Schack-Mulligen
35beadc3bb
Java: Refactor SensitiveInfoLog.ql
2023-03-07 11:31:49 +01:00
Michael Nebel
40d31120d9
Merge pull request #12264 from michaelnebel/csharp/nugetnet7
...
C#: Stub generator improvements.
2023-03-07 11:30:57 +01:00
Jeroen Ketema
3a4c0a2aae
Merge pull request #12389 from jketema/more-deprecated
...
C++: Add `deprecated` to predicates that are deprecated according to the QLDoc
2023-03-07 11:21:43 +01:00
Anders Schack-Mulligen
4408482699
Java: Refactor NumericCastTainted, NumericCastTaintedLocal
2023-03-07 10:42:00 +01:00
Anders Schack-Mulligen
d4e6e77200
Java: Refactor StackTraceExposure, XSS.qll
2023-03-07 10:38:00 +01:00
Anders Schack-Mulligen
c4cf2febfb
Java: Refactor ResponseSplitting, ResponseSplittingLocal
2023-03-07 10:37:45 +01:00
Michael Nebel
af12affc36
C#: Re-generate stubs to update comments.
2023-03-07 10:35:13 +01:00
Asger F
0affd898de
JS: Track trusted type policy callbacks
2023-03-07 10:22:26 +01:00
Michael Nebel
676c352819
C#: Update expected test output.
2023-03-07 10:19:26 +01:00
Michael Nebel
e85b2ebd20
C#: Replace stub member comment with file level comment.
2023-03-07 10:19:26 +01:00
Michael Nebel
c8f7304d9b
C#: Address review comments.
2023-03-07 10:19:25 +01:00
Michael Nebel
e797b5c226
C#: Narrow the set of declarations where we make explicit interface implementations.
2023-03-07 10:19:25 +01:00
Michael Nebel
d8acc7cd17
C#: Stub generator support for explicit interface implementations of explicit conversion operators including test cases.
2023-03-07 10:19:25 +01:00
Michael Nebel
59349ed7c7
C#: Add test cases for static and virtual operators in interfaces and overlapping interface declarations.
2023-03-07 10:19:25 +01:00
Michael Nebel
50570dc3ee
C#: Only add explicit interface implementation to the generated stub if it is unique.
2023-03-07 10:19:25 +01:00
Michael Nebel
5ba59fc9a8
C#: Stub generator support for operators in interfaces and interface implementations.
2023-03-07 10:19:25 +01:00
Michael Nebel
b68e78d908
C#: Stub generator support for static virtual and static abstract interface members.
2023-03-07 10:19:25 +01:00
Michael Nebel
aa4b98bbd5
C#: The stub generator should just format whitespaces.
2023-03-07 10:19:25 +01:00
Tom Hvitved
9b02eb729f
Merge pull request #12419 from hvitved/ruby/stored-xss-config-rewrite
...
Ruby: Rewrite Stored XSS query to use new data flow interface
2023-03-07 09:46:08 +01:00
Asger F
4f0e17bf97
JS: Add step to a few other queries
2023-03-07 09:39:40 +01:00
Jeroen Ketema
c9bccd9b43
C++: Fix more tests that used deprecated function
2023-03-07 09:01:13 +01:00
Tom Hvitved
b6a709df50
Ruby: Rewrite Stored XSS query to use new data flow interface
2023-03-07 07:23:27 +01:00
Robert Marsh
686f7ccd5a
Swift: add flow for self out of constructors
2023-03-06 20:46:36 +00:00
Robert Marsh
9731989421
Swift: add tests for flow through constructors
2023-03-06 20:39:58 +00:00
Arthur Baars
51599b3cae
Address review comments
2023-03-06 18:40:29 +01:00
Geoffrey White
2ed140c696
Swift: Update the pointertypes test.
2023-03-06 17:14:14 +00:00
Mathias Vorreiter Pedersen
ff53e53e8c
Merge pull request #12236 from MathiasVP/language-specific-field-flow-branch-limit-term
...
Dataflow: Add a language specific term to `join` and `branch`
2023-03-06 16:59:09 +00:00
Geoffrey White
4d327dbf4f
Swift: The PointerType class isn't used any d any more.
2023-03-06 16:36:41 +00:00
Geoffrey White
61340c4b20
Swift: Permit data flow from generic arguments, rather than just pointers.
2023-03-06 16:34:12 +00:00
Geoffrey White
1e5b904514
Swift: Add test cases for mutating pointers inside containers.
2023-03-06 16:17:39 +00:00
Asger F
d4b4d22378
JS: Step through HTML sanitizers in SQL injection query
2023-03-06 15:10:26 +01:00
Mathias Vorreiter Pedersen
92ad099c1b
DataFlow: Remove bindingsets, remove the call column, and swap parameter and argument columns.
2023-03-06 13:47:59 +00:00
Mathias Vorreiter Pedersen
3bf28cc752
DataFlow: Sync identical files.
2023-03-06 13:46:21 +00:00
Mathias Vorreiter Pedersen
9647b6a3f5
Swift: Add stub.
2023-03-06 13:45:04 +00:00
Mathias Vorreiter Pedersen
e6b6369a21
Ruby: Add stub.
2023-03-06 13:44:59 +00:00
Mathias Vorreiter Pedersen
5ebd50044f
Python: Add stub.
2023-03-06 13:44:24 +00:00
Mathias Vorreiter Pedersen
4720e2a30a
Java: Add stub.
2023-03-06 13:44:24 +00:00
Mathias Vorreiter Pedersen
067abacbb8
Go: Add stub.
2023-03-06 13:44:23 +00:00
Mathias Vorreiter Pedersen
b667e0136f
C#: Add stub.
2023-03-06 13:44:23 +00:00
Mathias Vorreiter Pedersen
05314b48e8
C++: Add stub.
2023-03-06 13:44:23 +00:00
Mathias Vorreiter Pedersen
6e8a2a6375
DataFlow: Add a language-specific predicate for modifying 'branch' and 'join'.
2023-03-06 13:44:19 +00:00
Geoffrey White
56b6441ef5
Merge pull request #12391 from geoffw0/ptrout
...
Swift: Permit data flow out through pointer arguments
2023-03-06 13:37:22 +00:00
Anders Schack-Mulligen
5c7f2ac7f7
Merge pull request #12186 from aschackmull/dataflow/refactor-configuration
...
Data flow: Refactor configuration
2023-03-06 13:38:59 +01:00
dependabot[bot]
3538cf89b9
Merge pull request #12404 from github/dependabot/cargo/ql/serde_json-1.0.94
2023-03-06 09:55:33 +00:00
Arthur Baars
d2ab40c184
Merge pull request #12208 from gregxsunday/main
...
Add ZipSlip and TarSlip query to ruby
2023-03-06 10:40:06 +01:00
dependabot[bot]
ce5e76a3a0
Bump serde_json from 1.0.93 to 1.0.94 in /ql
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-06 09:32:26 +00:00
Anders Schack-Mulligen
557cb17f4d
Dataflow: Minor perf fix for single config wrapper.
2023-03-06 10:24:33 +01:00
Calum Grant
b8e123dc08
Merge pull request #12402 from github/dependabot/cargo/ruby/serde_json-1.0.94
...
Bump serde_json from 1.0.93 to 1.0.94 in /ruby
2023-03-06 09:24:21 +00:00
Anders Schack-Mulligen
d4c5877484
Merge pull request #3 from MathiasVP/fix-exec-tainted
...
C++: Use refactored dataflow library in `cpp/command-line-injection`
2023-03-06 09:32:34 +01:00
Jeroen Ketema
72d03e4060
C++: Fix test that used deprecated function
2023-03-06 09:07:52 +01:00
dependabot[bot]
d34d7e51e5
Bump rayon from 1.6.1 to 1.7.0 in /ql
...
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.6.1...rayon-core-v1.7.0 )
---
updated-dependencies:
- dependency-name: rayon
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-06 04:18:21 +00:00
dependabot[bot]
f93b304578
Bump serde_json from 1.0.93 to 1.0.94 in /ruby
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-06 04:15:01 +00:00
Dave Bartolomeo
e169702165
Merge branch 'main' into post-release-prep/codeql-cli-2.12.4
2023-03-04 09:20:44 -05:00
github-actions[bot]
af61b45785
Post-release preparation for codeql-cli-2.12.4
2023-03-04 14:16:55 +00:00
Dave Bartolomeo
d589b324c9
Merge pull request #12386 from github/release-prep/2.12.4
...
Release preparation for version 2.12.4
2023-03-03 16:59:55 -05:00
Dave Bartolomeo
b342e93989
Move change note to appropriate pack
2023-03-03 14:43:00 -05:00
Geoffrey White
6f120a66d0
Merge pull request #12368 from geoffw0/taintarith3
...
Swift: Fill some gaps in arithmetic / bitwise operations modelling
2023-03-03 18:20:54 +00:00
Geoffrey White
9aaf30691c
Merge pull request #12307 from geoffw0/stringconflationtaint
...
Swift: Update swift/string-length-conflation to taint tracking
2023-03-03 17:27:15 +00:00
Geoffrey White
c29dcefcf2
Swift: Fix .expected file. Locations had changed after the formatting fix.
2023-03-03 17:24:07 +00:00
Geoffrey White
395bf675fe
Swift: Make the test work on Linux.
2023-03-03 17:14:57 +00:00
Jeroen Ketema
aa00424b75
C++: Fix experimental query that uses the deprecated freeCall predicate
2023-03-03 17:53:49 +01:00
Geoffrey White
2d889304bb
Swift: Some cases in the SqlInjection test are fixed by this.
2023-03-03 16:49:13 +00:00
Geoffrey White
b2bcb2d378
Swift: Fix formatting.
2023-03-03 16:32:21 +00:00
Chris Smowton
d4e02eb846
Merge pull request #12384 from smowton/smowton/admin/java-tsp-message-cleanup
...
Java TSP: test changes re: formatting improvements
2023-03-03 16:24:35 +00:00
Geoffrey White
6e3040987a
Swift: Autoformat.
2023-03-03 16:24:28 +00:00
Geoffrey White
234f17b578
Swift: Use PointerType in data flow's 'modifiable' predicate.
2023-03-03 16:23:49 +00:00
Geoffrey White
3249cee1c9
Swift: Add an overall PointerType.
2023-03-03 16:23:46 +00:00
Geoffrey White
589e0af20a
Swift: Test for pointer types.
2023-03-03 16:23:29 +00:00
Geoffrey White
9423c21d46
Swift: Add simple model for pointer types.
2023-03-03 16:23:27 +00:00
Jeroen Ketema
391d9bed5b
C++: Add deprecated to predicates that are deprecated according to the QLDoc
2023-03-03 17:15:47 +01:00
Jeroen Ketema
2ee8344e92
Merge pull request #12387 from jketema/qualified-deprecation
...
C++: Properly deprecate `hasQualifiedName` by using the `deprecated` keyword
2023-03-03 17:11:56 +01:00
Alex Denisov
7f3e7224df
Swift: introduce type mangling
2023-03-03 16:28:41 +01:00
AlexDenisov
4aeff0f8dc
Merge pull request #12335 from github/alexdenisov/extract-lazy-declarations
...
Swift: extract lazy declarations
2023-03-03 16:06:20 +01:00
Geoffrey White
9f86bcb1b8
Swift: Proof of concept fix.
2023-03-03 15:04:47 +00:00
Geoffrey White
15227d3c09
Swift: Add tests where a user-defined (non-modelled) function taints the pointee of a pointer argument.
2023-03-03 15:00:22 +00:00
Jeroen Ketema
6495f1911f
C++: Properly deprecate hasQualifiedName by using the deprecated keyword
2023-03-03 15:57:59 +01:00
erik-krogh
b875d30bc6
fix repeated predicate name in change-note
2023-03-03 15:55:17 +01:00
Chris Smowton
b234bbd119
Accept test changes
2023-03-03 14:46:21 +00:00
Mathias Vorreiter Pedersen
907e6299a4
C++: Convert 'ExecTainted' to use the new refactored dataflow library.
2023-03-03 14:41:29 +00:00
Michael Nebel
24fa2be7b3
C#: Update flow summaries expected output test.
2023-03-03 15:37:36 +01:00
Michael Nebel
d2d7ed7bae
C#: .NET 7 stubs.
2023-03-03 15:37:36 +01:00
Jeroen Ketema
549fb0324b
Apply suggestions from code review
2023-03-03 15:26:38 +01:00
github-actions[bot]
462da63970
Release preparation for version 2.12.4
2023-03-03 14:11:51 +00:00
Michael B. Gale
9dc9925f59
Abstract over DiagnosticsStream for tests
2023-03-03 13:05:43 +00:00
Michael Nebel
df6f5d52b9
C#: Use dependency injection in the auto builder for Diagnostic classifier.
2023-03-03 13:05:28 +00:00
Michael B. Gale
85751e7ddd
Simplify DiagnosticClassifier in CSharpAutobuilder
2023-03-03 13:05:28 +00:00
Michael B. Gale
fe3066da56
Apply ql-for-ql suggestion
2023-03-03 13:05:28 +00:00
Michael B. Gale
a5f7913af3
Fix expected test output for Windows tests
2023-03-03 13:05:28 +00:00
Michael B. Gale
c2049c22a3
Refactor to avoid public setters
2023-03-03 13:05:27 +00:00
Michael B. Gale
4f0a93295a
Move Language class to Semmle.Util
2023-03-03 13:05:27 +00:00
Michael B. Gale
6f3b5c01d5
Fix IDisposable contract violation
2023-03-03 13:05:27 +00:00
Michael B. Gale
be2d64a9d4
Simplify Xamarin query to be platform-independent
2023-03-03 13:05:27 +00:00
Michael B. Gale
92359de363
Add test for missing Xamarin SDKs
2023-03-03 13:05:27 +00:00
Michael B. Gale
1638f8edc5
Add test for missing project files
2023-03-03 13:05:26 +00:00
Michael B. Gale
40bda03180
Add test for dotnet incompatible projects
2023-03-03 13:05:26 +00:00
Michael B. Gale
5c641362bc
Show .NET core error only if files exist
2023-03-03 13:05:26 +00:00
Michael B. Gale
04aaccb186
Fix C++ test missing env var
2023-03-03 13:05:26 +00:00
Michael B. Gale
6eda71b659
Add tests for build script diagnostics
2023-03-03 13:05:26 +00:00
Michael B. Gale
b26f9d0ff1
Use relative paths
2023-03-03 13:05:25 +00:00
Michael B. Gale
b2d1cfe3d1
Add diagnostic for missing project files
2023-03-03 13:05:25 +00:00
Michael B. Gale
b97c885c8d
Add helper for markdown lists of projects
2023-03-03 13:05:25 +00:00
Michael B. Gale
5b6444d32d
Refactor autobuild logic into an IBuildRule
2023-03-03 13:05:25 +00:00
Michael B. Gale
65608d7900
Fix: drop please
2023-03-03 13:05:24 +00:00
Michael B. Gale
95f9d0761a
Add docs link for missing Xamarin SDKs
2023-03-03 13:05:24 +00:00
Michael B. Gale
0d5c5a7e92
Link to docs for autobuild failures
2023-03-03 13:05:24 +00:00
Michael B. Gale
9d19752c2e
Make improvements based on PR feedback
2023-03-03 13:05:24 +00:00
Michael B. Gale
62cd8ca26f
Update C/C++ autobuilder
2023-03-03 13:05:24 +00:00
Michael B. Gale
abf3f9f232
Use TryGetValue
2023-03-03 13:05:23 +00:00
Michael B. Gale
6471889fa6
Detect missing Xamarin SDKs
2023-03-03 13:05:23 +00:00
Michael B. Gale
b1f9a3d22a
Fixup: better error message for no-projects-or-solutions
2023-03-03 13:05:23 +00:00
Michael B. Gale
9165ec92c5
Report .NET Core & MSBuild failures
2023-03-03 13:05:23 +00:00
Michael B. Gale
62b59747d1
Track which projects/solutions fail to build
2023-03-03 13:05:23 +00:00
Michael B. Gale
43df6397bb
Report projects incompatible with .NET Core
2023-03-03 13:05:22 +00:00
Michael B. Gale
802e2319b5
Set DiagnosticMessage defaults
...
Refactor `GetDiagnosticSource` into `MakeDiagnostic`
which sets the defaults.
2023-03-03 13:05:22 +00:00
Michael B. Gale
28b350ee95
Change logic for autobuild failures
...
This is to account for multiple attempted rules that failed
2023-03-03 13:05:22 +00:00
Michael B. Gale
dfcc57ba83
Support asynchronous stdout/stderr processing
2023-03-03 13:05:22 +00:00
Michael B. Gale
ec2deb0889
Fixup: We => CodeQL
2023-03-03 13:05:22 +00:00
Michael B. Gale
dc7cf272db
Add no projects/solutions diagnostic
2023-03-03 13:05:21 +00:00
Michael B. Gale
55d7b74489
Add diagnostics for BuildCommandAutoRule
2023-03-03 13:05:21 +00:00
Michael B. Gale
b88382e3e7
BuildCommandAutoRule: expose more information
...
We expose the list of candidate script paths and the chosen script path
so that we can inspect them for diagnostics purposes.
2023-03-03 13:05:21 +00:00
Michael B. Gale
60afa6e9f0
Add basic reporting of a general autobuild failure
2023-03-03 13:05:21 +00:00
Michael B. Gale
38a3a5ebfa
Add initial code for diagnostic messages
2023-03-03 13:05:21 +00:00
Michael B. Gale
e029b1f0a8
Read ..._DIAGNOSTIC_DIR variable
2023-03-03 13:05:20 +00:00
Michael B. Gale
467429c23e
Refactor env var code in Autobuilder class
2023-03-03 13:05:19 +00:00
Asger F
37999eaea0
JS: Fix implicit this
2023-03-03 13:43:17 +01:00
Asger F
f4b13e0955
JS: Update printAst expected output
2023-03-03 13:42:42 +01:00
Kasper Svendsen
fe65fb8743
Merge pull request #12360 from kaspersv/kaspersv/actioncontroller-prevent-bad-join
...
ActionController: Prevent bad join
2023-03-03 13:38:33 +01:00
Asger F
f2f972567d
Merge pull request #12379 from github/revert-12217-mbg/csharp/tsp-support
...
Revert "C#: Tool status page support"
2023-03-03 13:29:13 +01:00
Erik Krogh Kristensen
d94e51aaf6
Merge pull request #12377 from erik-krogh/jHtml
...
JS: add the html argument to the jQuery functions as an XSS sink
2023-03-03 13:19:38 +01:00
Nick Fyson
48c30771da
Merge pull request #12374 from github/codeql-ci/atm/update-model-pack/ecb17d40286d14132b481c065a43459a7f0ba9059015b7a49c909c9f9ce5fec5
...
ATM: Update model pack to version 0.3.1-2023-03-01-12h42m43s.strong-turtle-1xp3dqvv.ecb17d40286d14132b481c065a43459a7f0ba9059015b7a49c909c9f9ce5fec5
2023-03-03 11:42:57 +00:00
Asger F
7f96fe725b
JS: Change note
2023-03-03 12:21:20 +01:00
Asger F
1264029282
JS: Bump extractor version string
2023-03-03 12:21:20 +01:00
Asger F
7a55b003d2
JS: Fix location of assert clause
2023-03-03 12:21:20 +01:00
Asger F
38194c6ae7
JS: Extract import assertions to DB
2023-03-03 12:21:20 +01:00
Asger F
f454151e7a
JS: Convert TypeScript import assertions
2023-03-03 12:21:20 +01:00
Asger F
3af085afcb
JS: Drive-by allow trailing commas in dynamic imports
2023-03-03 12:21:20 +01:00
Asger F
8d9060f1f9
JS: Store in the Java AST
2023-03-03 12:21:03 +01:00
Asger F
c715de2a10
JS: parse import assertions without storing in AST
2023-03-03 12:21:03 +01:00
Asger F
5fdc293d82
JS: Add trap test for import assertions
2023-03-03 12:21:03 +01:00
Anders Schack-Mulligen
0addcfa7c5
Dataflow: Fix some perf issues.
2023-03-03 11:45:32 +01:00
Asger F
8f0b77d54f
Revert "C#: Tool status page support"
2023-03-03 11:44:42 +01:00
Geoffrey White
7b596f4928
Merge pull request #10431 from ihsinme/ihsinme-patch-111
...
CPP: Add query for CWE-369: Divide By Zero.
2023-03-03 10:42:04 +00:00
erik-krogh
a6c9af4182
add the html argument to the jQuery functions as an XSS sink
2023-03-03 11:09:53 +01:00
erik-krogh
94870b838f
add failing test
2023-03-03 11:08:33 +01:00
Nick Fyson
5869c36366
Merge branch 'main' into codeql-ci/atm/update-model-pack/ecb17d40286d14132b481c065a43459a7f0ba9059015b7a49c909c9f9ce5fec5
2023-03-03 10:03:22 +00:00
Alex Denisov
ae7a0c517c
Swift: do not allocate mangler statically
2023-03-03 10:28:08 +01:00
Alex Denisov
60c1505097
Swift: address review comments
2023-03-03 10:26:44 +01:00
erik-krogh
a928f4c9ef
add change-notes
2023-03-03 09:23:10 +01:00
erik-krogh
f96d6accbb
delete old deprecations
2023-03-03 09:23:02 +01:00
Paolo Tranquilli
1a19909abf
Merge pull request #12373 from github/redsun82/swift-qldoc
...
Swift: turn on QLdoc check
2023-03-03 08:26:39 +01:00
erik-krogh
fc9e63275f
only print a constant when catching an OOM
2023-03-02 22:14:29 +01:00
Erik Krogh Kristensen
094a2b0c46
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2023-03-02 22:14:17 +01:00
Alex Denisov
ffcb382705
Swift: only consider Builting and __ObjC declarations as lazy
2023-03-02 20:00:23 +01:00
github-actions[bot]
50c90bbc5c
ATM: Update model pack dependency of ML-powered model building and query packs
2023-03-02 17:31:03 +00:00
Geoffrey White
764a52354e
Merge pull request #12367 from geoffw0/nsstring2
...
Swift: Additional NSString taint test cases
2023-03-02 15:56:15 +00:00
Michael B. Gale
75b4a0e8ea
Add diagnostic checks to all integration tests
2023-03-02 15:25:49 +00:00
Paolo Tranquilli
162b995428
Swift: turn on QLdoc check
2023-03-02 16:16:12 +01:00
Anders Schack-Mulligen
b34f99f716
Dataflow: Add change notes.
2023-03-02 16:01:29 +01:00
Michael B. Gale
6c501d15b6
Make diagnostics visible everywhere
2023-03-02 14:53:53 +00:00
erik-krogh
88810420b1
add location to the parse-error diagnostics
2023-03-02 14:54:58 +01:00
erik-krogh
c460eae2e1
implement diagnostics
2023-03-02 14:54:54 +01:00
Anders Schack-Mulligen
a498ab241b
Go: Fix query.
2023-03-02 13:53:37 +01:00
Mathias Vorreiter Pedersen
a1a2d7c469
Merge pull request #12355 from geoffw0/splittest
...
Swift: Split the taint flow test.
2023-03-02 12:53:07 +00:00
Geoffrey White
27ec36298f
Swift: Understand binary pointwise operations.
2023-03-02 12:42:34 +00:00
Geoffrey White
ec2c58b416
Swift: Understand overflow binary bitwise operations.
2023-03-02 12:11:25 +00:00
Geoffrey White
1206b73d87
Swift: Understand overflow binary arithmetic operations.
2023-03-02 12:11:15 +00:00
Michael B. Gale
fd9b279ef9
Merge pull request #12217 from github/mbg/csharp/tsp-support
2023-03-02 11:47:30 +00:00
Geoffrey White
53f52df809
Swift: Add taint test cases for overflow, bitwise and pointwise arithmetic operations.
2023-03-02 11:41:31 +00:00
Geoffrey White
c42add2191
Swift: Add test cases for overflow and pointwise binary arithmetic operations.
2023-03-02 11:28:59 +00:00
Geoffrey White
730532f96a
Swift: Add some (limited) test coverage for NSString <-> Data conversion.
2023-03-02 10:33:57 +00:00
Geoffrey White
1332309f59
Swift: Add some (limited) test coverage for String <-> NSString conversions.
2023-03-02 10:33:57 +00:00
Arthur Baars
9e5ef9cf9d
Merge pull request #12216 from aibaars/diagnostics-2
...
Ruby: improve diagnostic messages
2023-03-02 10:30:58 +01:00
Kasper Svendsen
9cac4bbe0f
ActionController: Prevent bad join
2023-03-02 10:02:08 +01:00
Tony Torralba
7705d5f513
Merge pull request #12357 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-03-02 09:30:38 +01:00
Michael Nebel
2525ac3dd2
C#: Use dependency injection in the auto builder for Diagnostic classifier.
2023-03-02 09:18:56 +01:00
github-actions[bot]
3b9de22af9
Add changed framework coverage reports
2023-03-02 00:18:47 +00:00
Geoffrey White
8e069b7686
Swift: Split the taint flow test.
2023-03-01 20:45:46 +00:00
yoff
65acf16ecc
Merge pull request #12320 from yoff/python/document-api-call-node
...
Python: Document `API::CallNode`
2023-03-01 20:19:30 +01:00
Geoffrey White
bf6f6eec34
Merge pull request #12225 from geoffw0/nsstring
...
Swift: Taint models for NSString
2023-03-01 16:30:06 +00:00
Tony Torralba
59bd1e5ab1
Merge pull request #12228 from github/java/mad-decls-triage-request-2276
...
Java: Update MaD sink decls after triage
2023-03-01 17:08:38 +01:00
Geoffrey White
f8079056ec
Swift: Fix test on Linux.
2023-03-01 15:47:30 +00:00
Michael B. Gale
93a45fce5e
Simplify DiagnosticClassifier in CSharpAutobuilder
2023-03-01 14:58:49 +00:00
Alex Denisov
276fec39fc
Swift: consider lazy declaration emitted if the process lost in the race
2023-03-01 15:42:44 +01:00
Asger F
b6ec9464eb
JS: Remove trailing whitespace
2023-03-01 15:29:51 +01:00
Alex Denisov
ded0e570b0
Swift: extract lazy declarations
2023-03-01 15:22:22 +01:00
AlexDenisov
fed504c1d0
Merge pull request #12348 from github/alexdenisov/extract-emission-body-decisions
...
Swift: move decision making out of dispatcher. NFC
2023-03-01 15:18:44 +01:00
Alex Denisov
8194fe3743
Swift: do not make module depend on itself for linkage awareness
2023-03-01 14:30:06 +01:00
Paolo Tranquilli
37438599de
Merge branch 'main' into alexdenisov/extract-emission-body-decisions
2023-03-01 13:47:12 +01:00
Paolo Tranquilli
c0f9b111a0
Merge pull request #12347 from github/alexdenisov/move-location-extraction
...
Swift: move location extraction logic into a separate class. NFC
2023-03-01 13:46:52 +01:00
Anders Schack-Mulligen
34cc93846b
Python: Adjust InsecureProtocol query.
2023-03-01 13:36:10 +01:00
Arthur Baars
2c611d3fef
Address review comments
2023-03-01 13:30:02 +01:00
Michael Nebel
2db588f72e
Merge pull request #12322 from michaelnebel/csharp/operatorexplicitinterface
...
C# 11: Support for explicit interface implementations of operators.
2023-03-01 12:55:21 +01:00
Erik Krogh Kristensen
64dad3db8a
Merge pull request #12333 from kaspersv/kaspersv/fix-join-order
...
ReflectedXss: Prevent bad join order
2023-03-01 12:48:30 +01:00
AlexDenisov
5701798f1c
Merge branch 'main' into alexdenisov/move-location-extraction
2023-03-01 12:24:41 +01:00
AlexDenisov
bb8d195607
Merge pull request #12337 from github/alexdenisov/extract-mangler
...
Swift: extract mangler into a separate class. NFC
2023-03-01 12:23:24 +01:00
Alex Denisov
def9831180
Swift: move decision making out of dispatcher
2023-03-01 12:02:58 +01:00
Alex Denisov
b1aef82117
Swift: move location extraction logic into a separate class
2023-03-01 11:32:50 +01:00
Tom Hvitved
16fa8b2914
Merge pull request #12051 from hmac/actioncontroller-filter-flow-steps
...
Ruby: flow steps for ActionController filters
2023-03-01 10:51:09 +01:00
Michael Nebel
ad5a45e465
C#: Add change note.
2023-03-01 10:42:29 +01:00
Michael Nebel
477b4566ed
C#: Update expected test output.
2023-03-01 10:42:29 +01:00
Michael Nebel
f209eed91c
C#: Extractor- and library support for explicit interface implementations for operators.
2023-03-01 10:42:28 +01:00
Michael Nebel
51be175111
C#: Add public members testcase and expected output.
2023-03-01 10:42:28 +01:00
Michael Nebel
363dd49a3c
C#: Add explicit interface implementation examples and update expected test output.
2023-03-01 10:42:28 +01:00
Michael Nebel
0dc6ada616
Merge pull request #12234 from michaelnebel/csharp/filescopedtypes
...
C# 11: Support for `file` scoped types.
2023-03-01 10:39:46 +01:00
Geoffrey White
b6db0de437
Swift: Add inline expectation results.
2023-03-01 09:26:30 +00:00
Geoffrey White
228c0e221d
Merge branch 'main' into nsstring
2023-03-01 09:12:36 +00:00
Geoffrey White
11e0efee68
Merge pull request #12308 from geoffw0/taintplusequals2
...
Swift: Model assignment operators (+= etc)
2023-03-01 09:02:29 +00:00
Tony Torralba
0439eb640d
Add tests
2023-03-01 09:49:28 +01:00
Tony Torralba
4e7dbbf5f0
Add stubs
2023-03-01 09:48:33 +01:00
Tom Hvitved
92359e539b
Fix another bad join
...
Before
```
[2023-03-01 08:19:51] Evaluated non-recursive predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@6718c917 in 6751ms (size: 83265).
Evaluated relational algebra for predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@6718c917 with tuple counts:
3872025 ~3% {2} r1 = JOIN _CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_DataFlowPrivate#462ff392::Cached::TExprNode#ff#shared WITH Statement#f35022d0::Stmt::getCfgScope#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3637917 ~0% {2} r2 = JOIN r1 WITH Method#8b49e67f::Callable#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
679799 ~0% {2} r3 = JOIN r2 WITH Method#8b49e67f::Method#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1
3069328 ~0% {3} r4 = JOIN r3 WITH Variable#1965ffe5::Variable::getDeclaringScope#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
22039083 ~0% {3} r5 = JOIN r4 WITH Variable#1965ffe5::VariableAccess::getVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10051483 ~0% {3} r6 = JOIN r5 WITH Variable#9f7d933a::SelfVariableAccessImpl#class#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
10057538 ~5% {3} r7 = JOIN r6 WITH CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10057538 ~5% {3} r8 = JOIN r7 WITH CfgNodes#ace8e412::ExprNodes::SelfVariableAccessCfgNode#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
10057538 ~0% {3} r9 = JOIN r8 WITH DataFlowPrivate#462ff392::Cached::TExprNode#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10033937 ~1% {3} r10 = JOIN r9 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
83281 ~2% {2} r11 = JOIN r10 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.2
return r11
```
After
```
[2023-03-01 08:31:20] Evaluated non-recursive predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@06d73c6q in 161ms (size: 83265).
Evaluated relational algebra for predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@06d73c6q with tuple counts:
23680 ~2% {1} r1 = SCAN Method#8b49e67f::Method#ff OUTPUT In.0
23680 ~2% {1} r2 = STREAM DEDUP r1
23680 ~0% {2} r3 = JOIN r2 WITH Method#8b49e67f::Callable#f ON FIRST 1 OUTPUT Lhs.0, Lhs.0
54790 ~4% {3} r4 = JOIN r3 WITH Variable#1965ffe5::Variable::getDeclaringScope#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
202490 ~0% {3} r5 = JOIN r4 WITH Variable#1965ffe5::VariableAccess::getVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
98332 ~5% {3} r6 = JOIN r5 WITH Variable#9f7d933a::SelfVariableAccessImpl#class#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
83491 ~1% {2} r7 = JOIN r6 WITH Statement#f35022d0::Stmt::getCfgScope#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.2
83584 ~0% {2} r8 = JOIN r7 WITH CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
83584 ~0% {2} r9 = JOIN r8 WITH DataFlowPrivate#462ff392::Cached::TExprNode#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
83265 ~2% {2} r10 = JOIN r9 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
return r10
```
2023-03-01 08:34:07 +01:00
Aditya Sharad
aa6c60abfc
Merge pull request #12342 from github/codeql-cli-2.12.3-mergeback
...
Mergeback: codeql-cli-2.12.3 into main
2023-02-28 10:30:51 -08:00
Felicity Chapman
6224d6ce31
Merge branch 'codeql-cli-2.12.3' into codeql-cli-2.12.3-mergeback
2023-02-28 17:08:49 +00:00
Michael B. Gale
49039246e1
Apply ql-for-ql suggestion
2023-02-28 15:55:50 +00:00
Michael B. Gale
f22c86442e
Fix expected test output for Windows tests
2023-02-28 15:53:52 +00:00
Michael B. Gale
fea29d5172
Refactor to avoid public setters
2023-02-28 15:22:36 +00:00
Erik Krogh Kristensen
f3f5f6eacf
Merge pull request #12190 from erik-krogh/fix-erb
...
JS: Actually extract `.html.erb` files.
2023-02-28 16:11:32 +01:00
Felicity Chapman
770326e770
Merge pull request #12321 from github/fc-7775-docs-update
...
CodeQL extension for VS Code docs update
2023-02-28 14:59:46 +00:00
Alex Denisov
97d5401118
Swift: extract mangler into a separate class
2023-02-28 15:29:44 +01:00
Michael B. Gale
e3762c7f93
Move Language class to Semmle.Util
2023-02-28 14:16:33 +00:00
Felicity Chapman
a7d221cdab
Update docs/codeql/reusables/beta-note-mrva.rst
2023-02-28 14:12:57 +00:00
Michael B. Gale
e60676fbde
Fix IDisposable contract violation
2023-02-28 13:56:06 +00:00
Anders Schack-Mulligen
5469a82efb
Go,Java,Python: Fix some tests.
2023-02-28 14:31:00 +01:00
Michael Nebel
734001b7c4
Merge pull request #12334 from michaelnebel/csharp/staticinitialisers
...
C#: Update query to handle static field writes from properties.
2023-02-28 14:10:46 +01:00
Geoffrey White
d5952a174e
Merge pull request #12329 from geoffw0/network
...
Swift: Modernize the cleartext-* queries
2023-02-28 13:04:10 +00:00
Michael Nebel
51746627d2
C#: Address review comments.
2023-02-28 13:38:34 +01:00
Felicity Chapman
aba7440293
Update docs/codeql/codeql-for-visual-studio-code/running-codeql-queries-at-scale-with-mrva.rst
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-28 12:29:16 +00:00
Felicity Chapman
832dc27b08
Update docs/codeql/codeql-for-visual-studio-code/running-codeql-queries-at-scale-with-mrva.rst
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-28 12:22:26 +00:00
Michael Nebel
4ef866b3a3
C#: Add change note.
2023-02-28 13:21:31 +01:00
Michael Nebel
baea74fa1b
C#: Add new testexamples and update expected testoutput.
2023-02-28 13:21:31 +01:00
Michael Nebel
621674e82e
C#: Update cs/static/field-written-by-instance to handle properties.
2023-02-28 13:21:30 +01:00
Chris Smowton
687f3c6b2e
Merge pull request #12330 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-02-28 11:27:00 +00:00
Felicity Chapman
0af529ed7b
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-28 11:12:29 +00:00
Kasper Svendsen
86925646f3
ReflectedXss: Prevent bad join order
2023-02-28 12:06:27 +01:00
Michael Nebel
2db3694015
C#: Add code comment explaining the exclusion of the declared accessibility extraction for file scoped types.
2023-02-28 11:02:38 +01:00
Felicity Chapman
b21253732b
Update for review feedback
2023-02-28 09:58:51 +00:00
Anders Schack-Mulligen
64c60d59b1
Go: Fix compilation.
2023-02-28 09:57:22 +01:00
github-actions[bot]
b6f81fc938
Add changed framework coverage reports
2023-02-28 00:17:14 +00:00
Geoffrey White
5110cf1e02
Swift: Convert some fiddly GRDB database sinks to CSV.
2023-02-27 23:31:48 +00:00
Geoffrey White
f289811473
Swift: Fix and autoformat.
2023-02-27 23:01:05 +00:00
Geoffrey White
ea4c2e4321
Swift: Add CSV extension points.
2023-02-27 23:01:05 +00:00
Geoffrey White
c533334470
Swift: Implementation classes should be private.
2023-02-27 23:01:04 +00:00
Geoffrey White
c21ec1c3f5
Swift: Standardize the taint sources, sinks, sanitizers.
2023-02-27 23:01:04 +00:00
Geoffrey White
6928e62d8b
Swift: Split the three sensitive exprs queries into separate QL and QLL files.
2023-02-27 23:01:04 +00:00
Geoffrey White
59a2aa817c
Merge branch 'main' into nsstring
2023-02-27 22:34:04 +00:00
Geoffrey White
bb55456885
Merge branch 'main' into taintplusequals2
2023-02-27 22:33:26 +00:00
Arthur Baars
6c57823232
Merge branch 'main' into diagnostics-2
2023-02-27 19:00:03 +01:00
Geoffrey White
36a33bc718
Swift: Delete file that was resurrected by the merge.
2023-02-27 17:33:21 +00:00
Nick Rolfe
0f4df0da99
Merge pull request #12326 from RasmusWL/python-fix-expected
...
Python: Fix expected of call-graph after merge
2023-02-27 17:30:10 +00:00
Geoffrey White
296093ded6
Merge branch 'main' into nsstring
2023-02-27 17:26:57 +00:00
Erik Krogh Kristensen
50aa5e072a
Merge pull request #12177 from erik-krogh/alias-html
...
JS: More precise type-test sanitizer guards in unsafe-html-construction
2023-02-27 18:16:11 +01:00
Felicity Chapman
1d13811e46
Revise troubleshooting article
2023-02-27 16:42:07 +00:00
Rasmus Wriedt Larsen
d198b91c82
Python: Fix expected of call-graph after merge
...
Since the import resolution was fixed, but tests not rerun, these
expectations were not updated to reflect that we now handle them
properly 💪
2023-02-27 17:38:28 +01:00
Edward Minnix III
7f607fb46b
Merge pull request #12032 from egregius313/egregius313/promote-hardcoded-jwt-credential
...
Java: Promote Hardcoded JWT credential query
2023-02-27 11:33:53 -05:00
Felicity Chapman
8e4eb9ad46
Tweaks to mention variant analysis in related articles
2023-02-27 16:21:09 +00:00
erik-krogh
505168f24b
fix upper-case .html.erb files
2023-02-27 17:19:43 +01:00
Felicity Chapman
49ec539b60
Updates following initial PM review
2023-02-27 16:07:28 +00:00
Felicity Chapman
29802af647
Fix typo in heading
2023-02-27 15:06:19 +00:00
Felicity Chapman
9bee9c003a
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-27 14:58:17 +00:00
Erik Krogh Kristensen
927c322b7b
Merge pull request #11769 from erik-krogh/moreSan
...
JS: Sanitizer for `sanitizer(x) === true`
2023-02-27 15:48:34 +01:00
Mathias Vorreiter Pedersen
332b759873
Merge pull request #12275 from jketema/uniform-ssa
...
Make "Detecting a potential buffer overflow" example more uniform
2023-02-27 14:38:11 +00:00
Mathias Vorreiter Pedersen
1dd95a61c1
Merge pull request #12292 from github/calumgrant/aggregate-domain
...
Query and tests for sum without domain
2023-02-27 14:19:20 +00:00
Tony Torralba
db6cb1ffe3
Remove dubious model after investigating it
2023-02-27 14:57:56 +01:00
yoff
335be21943
Update docs/codeql/codeql-language-guides/using-api-graphs-in-python.rst
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-27 14:53:31 +01:00
Taus
25043f51a4
Merge pull request #11376 from RasmusWL/call-graph-code
...
Python: New type-tracking based call-graph
2023-02-27 14:51:21 +01:00
Anders Schack-Mulligen
9671c8824c
C#: Remove reference to stageStats.
2023-02-27 14:30:05 +01:00
Anders Schack-Mulligen
7e3e10c34b
C/C++: Remove reference to Partial Flow.
2023-02-27 14:30:05 +01:00
Anders Schack-Mulligen
bf650c755c
Dataflow: Sync changes to all languages.
2023-02-27 14:30:05 +01:00
Paolo Tranquilli
5cb3279816
Merge pull request #12319 from github/redsun82/swift-codegen
...
Codegen: make Swift codegen language agnostic
2023-02-27 14:06:20 +01:00
Felicity Chapman
70ed029d0e
More updates
2023-02-27 12:41:53 +00:00
Alex Ford
7c85448cba
Merge pull request #12080 from alexrford/js-use-shared-cryptography
...
JS: Use shared `CryptographicOperation` concept
2023-02-27 12:26:38 +00:00
Tony Torralba
0e3f4f6c7c
Merge pull request #12305 from pwntester/new_java_net_URL_toURI_taintstep
...
Java: Add new java.net.URI taintsteps
2023-02-27 13:09:46 +01:00
Geoffrey White
8ef6521cc9
Swift: Undo toString changes.
2023-02-27 12:01:02 +00:00
Ed Minnix
ed1aac1aa5
Remove unneeded example file
2023-02-27 12:16:14 +01:00
Ed Minnix
06a1368e7c
Additional test cases
2023-02-27 12:16:14 +01:00
Ed Minnix
4aec708fac
Add change note
2023-02-27 12:16:14 +01:00
Ed Minnix
6de946ef00
Remove experimental files
2023-02-27 12:16:14 +01:00
Ed Minnix
3ff1a97e38
Add byte[] signatures
2023-02-27 12:16:14 +01:00
Ed Minnix
d71386e001
Add example file for documentation
2023-02-27 12:16:14 +01:00
Ed Minnix
fa6ac063d1
Add com.auth0.jwt.algorithm.Algorithm sinks
...
The HMAC* constructors of the com.auth0.jwt.algorithm.Algorithm class
take a secret as a parameter. Therefore, the arguments should be added
to be checked for hardcoded credentials.
2023-02-27 12:16:14 +01:00
AlexDenisov
85bf10ee0f
Merge pull request #12227 from github/redsun82/swift-5.7.3
...
Swift: update to 5.7.3
2023-02-27 10:24:07 +01:00
Rasmus Lerchedahl Petersen
1447c2348a
python: describe API::CallNode
2023-02-27 10:06:23 +01:00
Paolo Tranquilli
1218145259
Codegen: update README.md files
2023-02-27 10:01:50 +01:00
Paolo Tranquilli
06a6450be4
Codegen: make --qltest-output optional
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
cdd4e8021b
Move swift/codegen to misc/codegen
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
6d192cdcc1
Swift: make C++ code generation language agnostic
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
feb4e60c4b
Swift: make all ql generation language agnostic
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
aca18f5da8
Swift: make codegen use a config file
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
e4627cb702
Swift: make codegen a bit more language-agnostic
2023-02-27 09:46:48 +01:00
Tony Torralba
c027e10ef7
Add java.net tests
2023-02-27 09:33:16 +01:00
Tony Torralba
4a9f63ea1a
Fix toASCIIString casing
2023-02-27 09:32:42 +01:00
erik-krogh
0e60fc5512
Merge branch 'main' into alias-html
2023-02-27 09:16:25 +01:00
Erik Krogh Kristensen
f8f926ad50
Merge pull request #12175 from erik-krogh/reg-input
...
JS: add process.env and process.argv etc. as source for `js/regex-injection`
2023-02-27 09:12:02 +01:00
Rasmus Lerchedahl Petersen
9b08b06de4
python: update deprecated predicate names
2023-02-27 09:07:07 +01:00
Erik Krogh Kristensen
4ffe20ae75
Merge pull request #12189 from erik-krogh/more-export
...
JS: also consider relative exports when finding library inputs
2023-02-27 09:02:55 +01:00
Felicity Chapman
8af12071e1
First draft with bare bones
2023-02-24 21:39:16 +00:00
Geoffrey White
e71c7e7842
Swift: Autoformat.
2023-02-24 19:09:14 +00:00
Geoffrey White
a5943603ea
Swift: 'Any' -> 'An' (make QL-for-QL happy)
2023-02-24 19:08:11 +00:00
Alvaro Muñoz
f393a3c549
Add toExternalForm
2023-02-24 18:50:31 +01:00
Alvaro Muñoz
f1d765aa27
Missing taintstep for java.net.URL.toURI()
2023-02-24 18:45:52 +01:00
Felicity Chapman
874c362961
Add basic framework of new articles
2023-02-24 17:14:49 +00:00
Michael B. Gale
e2af8f1b43
Simplify Xamarin query to be platform-independent
2023-02-24 17:13:10 +00:00
Alex Ford
a54ca38e31
Ruby: DataFlow::CallableNode extends DataFlow::StmtSequenceNode
2023-02-24 16:40:35 +00:00
Alex Ford
e948e22186
Ruby: all Exprs have a corresponding DataFlow::Node that is more specific than just DataFlow::ExprNode
2023-02-24 16:40:35 +00:00
Michael B. Gale
31673431af
Add test for missing Xamarin SDKs
2023-02-24 16:24:32 +00:00
Michael B. Gale
3ef3441883
Add test for missing project files
2023-02-24 16:24:07 +00:00
Michael B. Gale
354f716ca8
Add test for dotnet incompatible projects
2023-02-24 16:23:52 +00:00
Michael B. Gale
430af661cd
Show .NET core error only if files exist
2023-02-24 16:16:33 +00:00
Mathias Vorreiter Pedersen
f92433171d
Merge pull request #12304 from MathiasVP/more-fixes-to-large-join-order-query
...
QL: More fixes to the join-order query
2023-02-24 14:21:05 +00:00
Michael B. Gale
b203533fc6
Fix C++ test missing env var
2023-02-24 14:16:20 +00:00
Michael B. Gale
7de26550ad
Add tests for build script diagnostics
2023-02-24 13:49:06 +00:00
Michael B. Gale
bdbcaab0ba
Use relative paths
2023-02-24 13:49:06 +00:00
Michael B. Gale
1e2329d0dd
Add diagnostic for missing project files
2023-02-24 13:49:05 +00:00
Michael B. Gale
3bf6b6f96f
Add helper for markdown lists of projects
2023-02-24 13:49:05 +00:00
Mathias Vorreiter Pedersen
c9f8ebd620
QL: Remove redundant conjunct in aggregates.
2023-02-24 13:19:52 +00:00
Mathias Vorreiter Pedersen
375de59a14
QL: More fixes to the join-order query.
2023-02-24 12:44:17 +00:00
Calum Grant
10aad99e21
Add avg case
2023-02-24 11:02:07 +00:00
Grzegorz Niedziela
48007d14d5
move tests to experimental as well and fix .qlref reference
2023-02-24 10:38:21 +00:00
Tom Hvitved
af14f36127
Merge pull request #12289 from hvitved/util/file-system
...
Util: Add shared file system implementation
2023-02-24 11:23:48 +01:00
Chris Smowton
da459c4086
Merge pull request #12281 from smowton/smowton/feature/kotlin-too-new-diagnostic
...
Add test for a too-new Kotlin version
2023-02-24 08:48:30 +00:00
Mathias Vorreiter Pedersen
95283154ae
Merge pull request #12303 from MathiasVP/join-order-query-fixes
2023-02-23 22:56:29 +00:00
Mathias Vorreiter Pedersen
1f40518c78
QL: Fixup the join-order query.
2023-02-23 22:39:20 +00:00
Mathias Vorreiter Pedersen
a86a8ced54
Merge pull request #12302 from MathiasVP/recursive-join-order-metric
...
QL: Extend the join-order badness query to recursive predicates
2023-02-23 22:35:35 +00:00
Mathias Vorreiter Pedersen
f0fe6fba88
QL: Accept test changes.
2023-02-23 22:25:04 +00:00
Mathias Vorreiter Pedersen
b0e391cff0
QL: Extend the join order metric to cover recursive predicates.
2023-02-23 22:12:23 +00:00
Mathias Vorreiter Pedersen
bb692a7e4a
Merge pull request #12299 from github/calumgrant/qlql
...
Add classes and predicates to StructuredLogs
2023-02-23 21:47:28 +00:00
Calum Grant
41d88a45d9
Fix merge
2023-02-23 21:02:43 +00:00
Calum Grant
efa2647f09
Merge branch 'main' into calumgrant/qlql
2023-02-23 20:55:09 +00:00
Taus
b993b5ef77
Merge pull request #12298 from MathiasVP/join-order-metric-query-with-more-rows
...
QL: Output more rows in the join order query
2023-02-23 20:31:43 +01:00
Taus
6141c96b8c
Merge pull request #12294 from MathiasVP/visit-recursive-evaluation
...
QL: Add a visitor for traversing recursive evaluations
2023-02-23 20:28:53 +01:00
Henry Mercer
39a30cf34b
Merge pull request #12297 from github/codeql-ci/atm/release-0.4.8
...
JS: Bump version numbers of ML-powered packs after 0.4.8 release
2023-02-23 19:18:28 +00:00
Mathias Vorreiter Pedersen
9ee078d1f2
QL: More column information.
2023-02-23 19:17:22 +00:00
Calum Grant
dde18de2d1
Fixes
2023-02-23 19:03:05 +00:00
Calum Grant
196dbd3a33
Exploratory query to test the API
2023-02-23 19:01:52 +00:00
Calum Grant
77871e287d
Use RAExpr
2023-02-23 18:35:24 +00:00
Calum Grant
e368b8f72a
Add classes and predicates to StructuredLogs
2023-02-23 17:48:21 +00:00
Mathias Vorreiter Pedersen
229e291e1b
QL: Fix naming.
2023-02-23 17:34:07 +00:00
Mathias Vorreiter Pedersen
dcc9b66aae
Merge branch 'main' into visit-recursive-evaluation
2023-02-23 17:16:47 +00:00
Mathias Vorreiter Pedersen
9c8b8dff88
QL: Output more rows in the join order query.
2023-02-23 17:07:27 +00:00
Mathias Vorreiter Pedersen
48bf15f79c
Merge pull request #12291 from github/calumgrant/slow-predicates
...
Slow predicates query
2023-02-23 16:41:39 +00:00
Mathias Vorreiter Pedersen
11ea8e0f85
Merge pull request #12295 from MathiasVP/join-order-metric-query
...
QL: Non-recursive join-order-metric query
2023-02-23 16:40:07 +00:00
Geoffrey White
1a7e7481b2
Swift: Add flow thtaint flow through assignments other than =.
2023-02-23 16:25:32 +00:00
Geoffrey White
a222757e69
Swift: Add support for pointwise assignment operators.
2023-02-23 16:25:32 +00:00
Geoffrey White
15e3892b03
Swift: Add support for overflow assignment operators.
2023-02-23 16:25:32 +00:00
Geoffrey White
1d4925d7af
Swift: Expand assignment operations.
2023-02-23 16:25:31 +00:00
Henry Mercer
eb1fe57590
Merge branch 'main' into codeql-ci/atm/release-0.4.8
2023-02-23 16:23:32 +00:00
github-actions[bot]
7e2b286f03
JS: Bump version of ML-powered library and query packs to 0.4.9
2023-02-23 16:12:23 +00:00
github-actions[bot]
e02368f6fa
JS: Bump patch version of ML-powered library and query packs
2023-02-23 16:04:39 +00:00
Mathias Vorreiter Pedersen
858b3de547
Merge branch 'main' into join-order-metric-query
2023-02-23 15:54:38 +00:00
Mathias Vorreiter Pedersen
23b9abcbbf
QL: Add a query for finding the predicates with the highest tuple sums.
2023-02-23 15:53:32 +00:00
Mathias Vorreiter Pedersen
7595c1c306
QL: Add a visitor for traversing recursive evaluations.
2023-02-23 15:53:32 +00:00
Taus
d48938d168
Merge branch 'main' into calumgrant/slow-predicates
2023-02-23 16:53:04 +01:00
Taus
0419b5b24c
Merge pull request #12296 from github/tausbn/ql-remove-unused-predicates
...
QL: Remove unused predicates
2023-02-23 16:47:34 +01:00
Taus
38ca4a8d3d
QL: Remove unused predicates
2023-02-23 15:25:38 +00:00
Michael B. Gale
b034b2f2a3
Refactor autobuild logic into an IBuildRule
2023-02-23 14:54:37 +00:00
Chris Smowton
eb8a0c1129
Add test for a too-new Kotlin version
2023-02-23 14:53:27 +00:00
Mathias Vorreiter Pedersen
d7d9bea5e8
QL: Add a query for computing the join order metric for non-recursive predicates.
2023-02-23 14:27:39 +00:00
Geoffrey White
71813fa0a7
Swift: Implement full tree of Assignment classes
2023-02-23 13:23:36 +00:00
Geoffrey White
aaa89f7f32
Swift: Add a test for assignment exprs.
2023-02-23 13:15:06 +00:00
Mathias Vorreiter Pedersen
d734982e7b
Merge pull request #12286 from github/tausbn/ql-add-a-bunch-of-convenience-predicates
...
QL: Add predicates for timestamps and locations
2023-02-23 12:45:46 +00:00
Calum Grant
fccf2d705e
Add the expected file
2023-02-23 12:25:29 +00:00
Calum Grant
6cf575df78
Query and tests for sum without domain
2023-02-23 12:19:25 +00:00
gregxsunday
34b441c3cc
move query to experimental folder
2023-02-23 12:12:04 +00:00
gregxsunday
5a85fa12c7
add block test cases and update tests
2023-02-23 12:09:22 +00:00
gregxsunday
f9b5846675
add detection of sources directly used with blocks
2023-02-23 12:09:12 +00:00
Grzegorz Niedziela
4ab6a7bdfd
Merge branch 'github:main' into main
2023-02-23 10:50:15 +00:00
Calum Grant
564d7c0d53
Fix bug
2023-02-23 10:22:18 +00:00
Calum Grant
eb553266ae
Add this.
2023-02-23 09:51:29 +00:00
Calum Grant
58563744d6
A simple query
2023-02-23 09:50:09 +00:00
Tom Hvitved
ad37523b07
C#: Adopt shared file system implementation
2023-02-23 10:21:04 +01:00
Tom Hvitved
bd5ae88a9a
Ruby: Move FileSystem.qll implementation into shared util pack
2023-02-23 10:21:04 +01:00
Chris Smowton
748387a69f
Merge pull request #11943 from smowton/smowton/admin/java-autobuilder-diagnostic-tests
...
Java: Add tests for autobuilder-detected diagnostics
2023-02-23 09:20:03 +00:00
Michael Nebel
cf659f9a5e
Merge pull request #12261 from michaelnebel/csharpjava/refactorissupported
...
C#/Java: Re-factor the `isSupported` predicate.
2023-02-23 10:06:11 +01:00
Michael Nebel
ca94e02107
Merge pull request #12258 from michaelnebel/csharp/enumanddelegatemodfiers
...
C#: Generalise modifier extraction from symbols.
2023-02-23 10:04:55 +01:00
Paolo Tranquilli
8ed99bc83b
Merge pull request #12284 from github/redsun82/swift-printast
...
Swift: fix comments in PrintAst library
2023-02-23 09:27:14 +01:00
Taus
6a32a3ae58
QL: Add predicates for timestamps and locations
2023-02-22 22:47:51 +00:00
Mathias Vorreiter Pedersen
24935c97bc
Merge pull request #12285 from github/calumgrant/ql-ra-parser
...
RA parser first draft
2023-02-22 19:07:03 +00:00
Chris Smowton
560a341e87
Fix multiple-candidate-builds message
2023-02-22 17:43:08 +00:00
Chris Smowton
c4640a6a9a
Fix diagnostic markdown links
2023-02-22 17:43:08 +00:00
Chris Smowton
73e4480cc6
Update test expectations
2023-02-22 17:43:08 +00:00
Chris Smowton
2c216793a4
Diagnostics tests: don't create own diagnostics directory
...
The CLI does this now. Also omit default arguments to the integration test script.
2023-02-22 17:43:08 +00:00
Chris Smowton
53ac1e0133
Replace test absolute directory
2023-02-22 17:43:08 +00:00
Chris Smowton
57ac951451
Add tests for Java autobuilder errors
2023-02-22 17:43:08 +00:00
Chris Smowton
fd1ce5d12c
Switch to using language-specific diagnostic environment variable
2023-02-22 17:43:08 +00:00
Chris Smowton
7a2c6b5645
Java no-build-system test: switch to single-file diagnostics.expected format
2023-02-22 17:43:07 +00:00
Chris Smowton
40e45d3636
Add test for missing Java build system
2023-02-22 17:43:07 +00:00
Chris Smowton
7dc5e7e0fe
Merge pull request #12283 from github/smowton/admin/merge-rc38-into-main-2023
...
Merge rc/3.8 into main
2023-02-22 17:35:11 +00:00
Calum Grant
0fdcf0338a
Tidy up warnings
2023-02-22 17:02:49 +00:00
Calum Grant
f3e5a8f90f
Minor tidy
2023-02-22 17:01:07 +00:00
Calum Grant
9980756ee8
RA parser first draft
2023-02-22 16:51:16 +00:00
Paolo Tranquilli
62f4e48433
Swift: fix comments in PrintAst library
2023-02-22 16:46:46 +01:00
Mathias Vorreiter Pedersen
676f4125c3
Merge pull request #12282 from MathiasVP/float-and-array-padding
...
QL: Handle large numbers and -1 padding
2023-02-22 15:16:54 +00:00
Chris Smowton
9155e08b65
Merge remote-tracking branch 'origin/rc/3.8' into smowton/admin/merge-rc38-into-main-2023
2023-02-22 15:12:06 +00:00
Chris Smowton
2c7a2fc6d7
Merge pull request #12272 from smowton/smowton/admin/rc38-ci-fixes
...
Merge rc/3.7 into rc/3.8
2023-02-22 15:10:35 +00:00
Mathias Vorreiter Pedersen
498d0c359e
QL: Convert various int getters to float (to avoid overflow) and correctly handle '-1' padding.
2023-02-22 14:54:40 +00:00
Mathias Vorreiter Pedersen
b738c2684b
Merge pull request #12279 from MathiasVP/kind-predicate-logs
...
QL: Start of the AST for `kind: predicates` evaluator logs
2023-02-22 14:25:11 +00:00
Mathias Vorreiter Pedersen
5e3289a089
Merge pull request #12280 from github/tausbn/ql-make-json-parsing-a-bit-more-robust
...
QL: Make the JSON parser a bit more robust
2023-02-22 14:16:48 +00:00
Mathias Vorreiter Pedersen
d64d03ec48
QL: Fix Code Scanning warning.
2023-02-22 14:15:47 +00:00
Mathias Vorreiter Pedersen
f155f19725
QL: Respond to comments.
2023-02-22 14:15:18 +00:00
Taus
2cdec47585
QL: Make the JSON parser a bit more robust
...
Updates the grammar to allow trailing commas in objects and arrays.
Also bumps the file size limit to 10MB.
2023-02-22 13:45:47 +00:00
Mathias Vorreiter Pedersen
161acf0ebe
QL: Add more getters.
2023-02-22 13:43:51 +00:00
Mathias Vorreiter Pedersen
2c31d6863c
QL: Start on the AST for kind: predicates evaluator logs.
2023-02-22 13:26:47 +00:00
Michael B. Gale
93b7a2bc92
Fix: drop please
2023-02-22 12:32:11 +00:00
Michael B. Gale
c3e25d2549
Add docs link for missing Xamarin SDKs
2023-02-22 12:32:10 +00:00
Michael B. Gale
08b51c3b06
Link to docs for autobuild failures
2023-02-22 12:32:10 +00:00
Michael B. Gale
0f320996cf
Make improvements based on PR feedback
2023-02-22 12:32:07 +00:00
Mathias Vorreiter Pedersen
5b1288143f
Merge pull request #12277 from github/tausbn/clean-up-structured-logs-module
...
QL: Clean up structured logs module
2023-02-22 12:27:07 +00:00
Taus
5304fe2bcb
QL: Clean up structured logs module
...
Pushes it into an internal module and removes the abstract class.
2023-02-22 11:07:48 +00:00
Jeroen Ketema
eb6c8480f8
Make "Detecting a potential buffer overflow" example more uniform
...
All queries that use SSA import `semmle.code.cpp.controlflow.SSA` explicitly,
except for the last one. Also import the library there. Note that this is not
strictly necessary, as the library is transitively imported via `import cpp`.
2023-02-22 10:02:12 +01:00
Mathias Vorreiter Pedersen
dffb12070e
Merge pull request #12271 from github/tausbn/ql-fix-json-extraction
...
QL: Fix JSON extraction
2023-02-22 08:50:49 +00:00
Chris Smowton
b28f1a562a
Merge pull request #12273 from intrigus-lgtm/patch-8
...
Fix grammar
2023-02-22 08:43:07 +00:00
Michael Nebel
47c69d924b
C#: Update comment on the isSupported predicate.
2023-02-22 09:05:28 +01:00
Michael Nebel
b4a6d1e1b6
C#: Add change note.
2023-02-22 08:59:14 +01:00
Michael Nebel
3e0aacd36b
C#: Generalize modifier extraction from symbols.
2023-02-22 08:53:29 +01:00
intrigus-lgtm
540d3a3a99
Fix grammar
2023-02-22 00:42:50 +01:00
Taus
a3a099cf56
QL: Add a few more methods
...
Still need to implement something to encapsulate RA, link it up, etc.
2023-02-21 21:27:17 +00:00
Chris Smowton
7106f7d52e
Add gradle wrappers to compiler_arguments and kotlin_kfunction tests
...
`
2023-02-21 21:20:43 +00:00
Chris Smowton
8bb068f3a9
Merge remote-tracking branch 'origin/rc/3.7' into smowton/admin/rc38-ci-fixes
2023-02-21 21:17:30 +00:00
Taus
729563c9a3
QL: Add preliminary support for structured logs
2023-02-21 21:09:34 +00:00
Chris Smowton
d849e27b37
Merge pull request #12259 from smowton/smowton/admin/gradle-wrappers-rc37
...
[rc/3.7]: Add Gradle wrappers for Kotlin tests
2023-02-21 21:04:39 +00:00
Taus
cf734919b9
QL: Fix bad string grammar
...
What was there before made it so that you couldn't actually extract the
contents of a string.
2023-02-21 20:20:58 +00:00
Taus
bab53b5736
QL: Fix JSON extraction
...
I had forgotten about this extra filtering that takes place in the
extractor.
2023-02-21 19:50:27 +00:00
Mathias Vorreiter Pedersen
ad8d9c5b91
Merge pull request #12269 from github/tausbn/ql-add-json-extraction
...
QL: Add JSON (+C/L) extraction
2023-02-21 16:42:19 +00:00
Arthur Baars
aac65b0df0
Merge pull request #12268 from aibaars/update-erb
...
Ruby: update tree-sitter-embedded-template
2023-02-21 14:31:30 +01:00
Taus
b5ebd1a0fd
QL: Add JSON (+C/L) extraction
2023-02-21 12:59:30 +00:00
Arthur Baars
814bef021d
Ruby: update tree-sitter-embedded-template
2023-02-21 13:49:33 +01:00
Anders Schack-Mulligen
46d6f5af7e
Java: Update some tests.
2023-02-21 13:14:35 +01:00
Geoffrey White
c462e010d1
Merge pull request #12266 from geoffw0/taintplusequals
...
Swift: Taint through arithmetic
2023-02-21 09:32:53 +00:00
Anders Schack-Mulligen
acf6a77c6b
Dataflow: Amend qldoc
2023-02-21 10:20:42 +01:00
Anders Schack-Mulligen
bb0ec46eb2
Java: Update tests.
2023-02-21 10:04:25 +01:00
Anders Schack-Mulligen
00a273b959
Java: Refactor data flow library.
2023-02-21 10:04:14 +01:00
Tom Hvitved
c3679d0661
Fix bad join
2023-02-21 19:28:55 +13:00
Tom Hvitved
9880952e72
Revert "Ruby: Fix performance of Filter.getAnAction"
...
This reverts commit f6c863c13bc840cba983ed12232725b8a8552cb4.
2023-02-21 19:28:55 +13:00
Harry Maclean
710ddb1f96
Ruby: Fix performance of Filter.getAnAction
...
Only look at the current class and the immediate superclass.
This will miss some edge cases but is much faster.
2023-02-21 19:28:54 +13:00
Harry Maclean
2bc7d4e1ee
Ruby: Clean up
2023-02-21 19:28:54 +13:00
Harry Maclean
7a01c4a974
Ruby: Add change note for filter dataflow
2023-02-21 19:28:54 +13:00
Harry Maclean
ba4d0a81d5
Ruby: Simplify filter dataflow
...
This introduces some false flow (the `ThreeController` and
`FourController` examples in `filter_flow.rb`) but is simpler and
in line with how we model flow for normal method calls.
2023-02-21 19:28:53 +13:00
Harry Maclean
0a02b45ad7
Ruby: More filter flow steps
...
Add a jump step from the last self post-update node in a method to the self parameter of the
next method.
2023-02-21 19:28:26 +13:00
Harry Maclean
fae5320c3a
Ruby: Add filter flow tests
2023-02-21 19:27:53 +13:00
Harry Maclean
04e80fa48f
Ruby: Use lookupMethod
...
The hope is that this predicate is already used elsewhere, so its cost
is amortized.
2023-02-21 19:26:36 +13:00
Harry Maclean
889d97163e
Ruby: Refactor getFilterCallable
...
Try to force a join with the filter argument string first, to reduce
tuple counts.
2023-02-21 19:26:36 +13:00
Harry Maclean
2590682262
Ruby: inline RenderCallUtils::getBaseName
...
This seems to yield a small performance increase.
2023-02-21 19:26:36 +13:00
Harry Maclean
ae3d91b546
Ruby: First draft of rails callback flow
2023-02-21 19:26:36 +13:00
Harry Maclean
6eeb711988
Ruby: Add AdditionalJumpStep class
2023-02-21 19:26:36 +13:00
Geoffrey White
cb8f5979d1
Swift: Update swift/string-length-conflation to taint tracking and remove a special case that's now covered by taint.
2023-02-20 18:18:15 +00:00
Geoffrey White
9b117fefd7
Swift: Generalize the arithmetic we allow taint through.
2023-02-20 18:18:15 +00:00
Geoffrey White
a5bb336647
Merge pull request #12265 from geoffw0/taintunaryplus
...
Swift: Add unary +
2023-02-20 18:04:37 +00:00
Geoffrey White
87c0b6195f
Swift: Add taint tests for various arithmetic operators.
2023-02-20 17:22:51 +00:00
Geoffrey White
3038543242
Swift: Add UnaryPlusExpr.
2023-02-20 17:15:20 +00:00
Calum Grant
779c2365fe
Merge pull request #12091 from github/cg/shared-code-metrics
...
Script to generate shared code metrics
2023-02-20 16:58:30 +00:00
Geoffrey White
e19e28fbb9
Merge pull request #12263 from geoffw0/flowsourceinline
...
Swift: Convert the flow sources test to inline expectations.
2023-02-20 16:13:01 +00:00
Erik Krogh Kristensen
6894803b14
Merge pull request #12257 from erik-krogh/compile-stuff
...
CI: Fix CI use of the compilation cache
2023-02-20 16:46:09 +01:00
Geoffrey White
31967cc032
Swift: Add a couple of dataflow test cases for operators that behave as an identity function.
2023-02-20 15:42:07 +00:00
Stephan Brandauer
7714acea82
delete a model that should pbly be a summary step
2023-02-20 15:44:58 +01:00
erik-krogh
389b7ceff5
support the new shared compilation cache directory
2023-02-20 15:34:03 +01:00
erik-krogh
f6fdf45359
remember to actually output the compilation dir
2023-02-20 15:32:50 +01:00
Geoffrey White
690b5debf4
Swift: Remove the old test.
2023-02-20 13:58:53 +00:00
Geoffrey White
dd7f54677b
Swift: Add inline expectation tags.
2023-02-20 13:57:24 +00:00
Joe Farebrother
1fb27354b9
Merge pull request #12242 from joefarebrother/testgen-improvements
...
Java: Test generator fixes
2023-02-20 13:53:18 +00:00
Arthur Baars
f71c3301b3
Ruby: address review comment
2023-02-20 14:32:24 +01:00
Arthur Baars
6fd836d3a9
Ruby: improve wording of error messages
2023-02-20 14:32:02 +01:00
Alex Ford
774030a8db
Merge pull request #12083 from pwntester/ruby_twirp_support
...
[Ruby] Add support for Twirp framework
2023-02-20 13:16:52 +00:00
Michael Nebel
86888b894a
Java: Re-factor isSupported for the telemetry queries.
2023-02-20 13:53:18 +01:00
Michael Nebel
f594411c43
C#: Re-factor isSupported for the telemetry queries.
2023-02-20 13:53:18 +01:00
yoff
52dd1f451c
Merge pull request #12260 from yoff/python/fix-precision-usafe-unpack
...
python: Lower precision as discussed
2023-02-20 13:38:50 +01:00
Michael Nebel
cdda4005fd
C#: Add missing hasProvenance overrides.
2023-02-20 13:19:56 +01:00
Michael Nebel
813ffa440c
Java: Consider ai-generated flow summaries to as generated summaries in dataflow.
2023-02-20 12:11:48 +01:00
Geoffrey White
b66ed57e17
Swift: Fix a mistake in FlowSources.qll.
2023-02-20 11:11:46 +00:00
Rasmus Lerchedahl Petersen
9e97877938
python: lower precision as discussed
2023-02-20 12:06:19 +01:00
Geoffrey White
d9f2d348f4
Swift: Add an inline expectations test for flow sources.
2023-02-20 11:03:10 +00:00
Chris Smowton
dbe0797063
Add Gradle wrappers for Kotlin tests
...
This avoids tests' behaviour changing due to environmental Gradle version changes
2023-02-20 10:51:51 +00:00
Michael Nebel
54c0404110
Java: Allow ai-generated as a provenance value.
2023-02-20 11:47:09 +01:00
Tom Hvitved
658cc33bb8
Merge pull request #12212 from hvitved/util/inline-expect-test-use-end-line
...
Util: Use end line instead of start line for actual results
2023-02-20 11:41:02 +01:00
Stephan Brandauer
cf5a651b1f
use provenance ai-generated for triage data and use the read-file MaD label
2023-02-20 11:33:18 +01:00
Stephan Brandauer
8d7031c166
Update Java MaD sink decls after triage
...
Triage request: 2276
2023-02-20 11:33:18 +01:00
Geoffrey White
6cec8ece3f
Swift: Split off FlowConfig.qll.
2023-02-20 10:27:40 +00:00
Michael Nebel
35793b4de5
C#: Add change note.
2023-02-20 10:30:11 +01:00
Michael Nebel
7aeb61ca71
C#: Add file scoped test cases.
2023-02-20 10:30:10 +01:00
Michael Nebel
81fde0ea79
C#: Make library support for file scoped types.
2023-02-20 10:30:10 +01:00
Michael Nebel
ffb8a57893
C#: Make extractor support for file scoped types.
2023-02-20 10:30:10 +01:00
Harry Maclean
9aea725f3d
Merge pull request #12053 from hmac/actioncontroller-renderer-2
...
Ruby: Model ApplicationController.renderer
2023-02-20 22:28:30 +13:00
Geoffrey White
343ddede5a
Merge branch 'main' into nsstring
2023-02-20 09:15:58 +00:00
Mathias Vorreiter Pedersen
49be5fd19a
Merge pull request #12250 from geoffw0/filemanagersource
...
Swift: Taint sources for FileManager
2023-02-20 09:12:11 +00:00
Tom Hvitved
879eff41ea
Merge branch 'main' into util/inline-expect-test-use-end-line
2023-02-20 10:03:38 +01:00
Rasmus Wriedt Larsen
efc75e02cc
Merge pull request #12168 from RasmusWL/crypto-stdlib-modeling
...
Python: Add modeling of `hmac`
2023-02-20 09:26:53 +01:00
ihsinme
213abc6642
Update DivideByZeroUsingReturnValue.expected
2023-02-19 21:42:48 +03:00
ihsinme
54acbf7676
Update test.cpp
2023-02-19 21:42:14 +03:00
ihsinme
49af5ec536
Update DivideByZeroUsingReturnValue.ql
2023-02-19 21:41:28 +03:00
Harry Maclean
4e07fd3eb1
Ruby: Model ApplicationController.renderer
2023-02-19 13:37:27 +13:00
Taus
89aec093c8
Merge pull request #12233 from github/tausbn/add-blame-extractor
2023-02-18 15:06:25 +01:00
erik-krogh
cd823d7495
add git info to the checkout
2023-02-18 13:43:24 +01:00
erik-krogh
52a9d5379b
add buramu to the files cached for the extractor
2023-02-18 13:22:41 +01:00
erik-krogh
db9a0d1c52
make the deprecation query calculate based on months, and adjust the cutoff to 14 months
2023-02-18 12:39:16 +01:00
erik-krogh
6f8ae703ca
add the deprecation file when running QL-for-QL
2023-02-18 12:31:14 +01:00
erik-krogh
1a308316c6
fix join-order of ql/outdated-deprecation
2023-02-18 12:28:06 +01:00
erik-krogh
fcff18aa3c
add query header for OutdatedDeprecations
2023-02-18 12:22:34 +01:00
erik-krogh
4f97c0470b
exclude java integration tests from QL-for-QL
2023-02-18 12:21:35 +01:00
Chris Smowton
655aa700bc
Merge pull request #12247 from smowton/smowton/fix/integer-conversion-sign
...
Go integer conversion: check against sink, not source signedness
2023-02-18 08:55:52 +00:00
Jami
f72cb5f650
Merge pull request #12215 from jcogs33/jcogs33/move-awt-swing-from-isJdkInternal
...
Java: move java.awt and javax.swing from `isJdkInternal` to `isInfrequentlyUsed`
2023-02-17 15:48:39 -05:00
Geoffrey White
7a9bbb1414
Swift: Model FileManager sources.
2023-02-17 20:04:27 +00:00
Chris Smowton
c7da1c9e0d
Use example that compiles on 32-bit arch
2023-02-17 19:35:04 +00:00
Chris Smowton
be468fe122
Change note
2023-02-17 19:21:15 +00:00
Chris Smowton
4e86edf4fe
Add test case
2023-02-17 19:16:36 +00:00
Chris Smowton
4d1608aafa
Go integer conversion: check against sink, not source signedness
2023-02-17 18:53:18 +00:00
Geoffrey White
5d125572ec
Swift: Test for FileManager taint sources.
2023-02-17 18:14:16 +00:00
Nick Rolfe
cef6765890
Merge pull request #12221 from github/post-release-prep/codeql-cli-2.12.3
...
Post-release preparation for codeql-cli-2.12.3
2023-02-17 17:59:45 +00:00
Calum Grant
c72a5d5dc0
Merge pull request #12245 from github/calumgrant/codeowners-dynamic
...
Update CODEOWNERS for dynamic teams
2023-02-17 17:25:08 +00:00
Chris Smowton
7205f30803
Merge pull request #12223 from github/smowton/admin/announce-jdk-20-2
...
Java: Announce JDK20 support
2023-02-17 16:10:24 +00:00
Calum Grant
e400a1ad77
Update CODEOWNERS
...
As agreed in the retro, we'll make all dynamic team members responsible for PRs
2023-02-17 15:48:24 +00:00
Joe Farebrother
a9f1436930
Test generator fixes
...
- Revert previous change to constructor return values; as constructors are supposed to be modeled using Argument[-1] rather than ReturnValue
- Fix generation of ambiguous calls when one of the conflicting methods is overridden
2023-02-17 15:30:06 +00:00
Nick Rolfe
5929c99eb1
Merge branch 'main' into post-release-prep/codeql-cli-2.12.3
2023-02-17 15:02:17 +00:00
Arthur Baars
71c8bb20f9
Merge pull request #12238 from aibaars/query-format-q
...
CI: make 'codeql query format' less verbose
2023-02-17 15:58:19 +01:00
Nick Rolfe
3e5534f0ba
Merge branch 'main' into post-release-prep/codeql-cli-2.12.3
2023-02-17 14:39:26 +00:00
Taus
9f4f7a76c9
QL: Add query for outdated deprecations
2023-02-17 14:27:15 +00:00
Calum Grant
2cfd6c5597
Update misc/scripts/shared-code-metrics.py
...
Co-authored-by: Anders Peter Fugmann <anders@fugmann.net >
2023-02-17 14:26:58 +00:00
Calum Grant
35a53fa990
Merge pull request #12183 from RasmusWL/example-update
...
Python: Update a few examples so queries work on them
2023-02-17 14:21:38 +00:00
Arthur Baars
94467e638e
CI: make 'codeql query compile' less verbose
2023-02-17 15:20:31 +01:00
Tom Hvitved
59efcd593a
Python: Update test expectations
2023-02-17 15:20:21 +01:00
Tom Hvitved
0bceefc930
Java: Update test expectations
2023-02-17 15:20:21 +01:00
gregxsunday
fe97d2a05d
fix file formatting
2023-02-17 14:01:28 +00:00
Arthur Baars
87cb3fd59f
Update .github/workflows/compile-queries.yml
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2023-02-17 14:58:19 +01:00
Arthur Baars
c167919ff6
CI: make 'codeql query format' less verbose
2023-02-17 14:53:40 +01:00
Geoffrey White
ad886a3241
Swift: Autoformat.
2023-02-17 13:50:11 +00:00
Taus
db748fae6b
QL: Integrate blame parser into extractor
2023-02-17 13:22:18 +00:00
Taus
59c1cfb43a
QL: Add grammar for parsing blame files
2023-02-17 13:21:44 +00:00
Taus
0e0ec89e60
QL: Add tool for extracting blame info
...
I had some trouble getting this to work with version 1.54 of the Rust
toolchain, so I had to bump it up to 1.59.
2023-02-17 13:20:06 +00:00
Grzegorz Niedziela
9d8c117c61
added QLDocs for ZipSlip module
2023-02-17 12:57:35 +00:00
Grzegorz Niedziela
815b5a0312
add changelog file
2023-02-17 12:50:10 +00:00
Grzegorz Niedziela
c03ba2cc13
fix docs references
2023-02-17 12:50:01 +00:00
Grzegorz Niedziela
652c7ff1ed
Push Sanitizer definition to ZipSlipCustomization.qll
2023-02-17 12:49:31 +00:00
Grzegorz Niedziela
8bbbb95a87
Make ZipSlip module classes private and push Sanitizer definition to ZipSlipCustomization.qll
2023-02-17 12:49:04 +00:00
Chris Smowton
d3e73891b5
Merge pull request #12229 from smowton/smowton/fix/gradle-wrapper-for-java-tests
...
Java: Add Gradle wrappers for Kotlin tests
2023-02-17 12:37:25 +00:00
Tom Hvitved
37fc8f5039
Swift: Update test expectations
2023-02-17 13:24:28 +01:00
Tom Hvitved
18c6b68232
Go: Update test expectations
2023-02-17 13:22:29 +01:00
Tom Hvitved
e9bce9f8cd
Ruby: Update test expectations
2023-02-17 13:22:28 +01:00
Tom Hvitved
85e4707e0c
Util: Use end line instead of start line for actual results
2023-02-17 13:22:28 +01:00
Geoffrey White
417d175ff2
Merge branch 'main' into nsstring
2023-02-17 11:32:40 +00:00
Arthur Baars
51f34eb3e9
Ruby: diagnostics: add support for markdown messages
2023-02-17 12:01:41 +01:00
Michael Nebel
8b967f9706
C#: Re-factor BuildNamedTypeId.
2023-02-17 11:49:12 +01:00
Geoffrey White
4356d359a6
Merge pull request #12226 from geoffw0/stringfix
...
Swift: Fix minor mistakes in the String models.
2023-02-17 10:23:56 +00:00
Chris Smowton
d1cd4cd099
Add Gradle wrappers for Kotlin tests
...
This avoids tests' behaviour changing due to environmental Gradle version changes
2023-02-17 10:10:22 +00:00
Geoffrey White
c692a316b0
Swift: Add new results found in UncontrolledFormatString test.
2023-02-17 10:07:32 +00:00
Geoffrey White
9cd9627778
Swift: Fix identical rows.
2023-02-17 10:00:06 +00:00
Geoffrey White
981f232ea9
Swift: Additional test cases.
2023-02-17 09:49:02 +00:00
Rasmus Wriedt Larsen
39e7bba563
Merge pull request #12203 from RasmusWL/import-resolution-phi
...
Python: Handle if-then-else definitions in import resolution
2023-02-17 10:10:42 +01:00
Paolo Tranquilli
c4c9fd72bb
Swift: update to 5.7.3
...
No changes to the Swift frontend library headers, so no changes to the
extractor seem to be required.
2023-02-17 10:03:52 +01:00
erik-krogh
271cc6b961
remove lefterover debug comment
2023-02-17 09:50:22 +01:00
yoff
2f8dddabb6
Merge pull request #11570 from Sim4n6/UnsafeUnpack
...
Python: Unsafe unpacking using `shutil.unpack_archive()` query and tests
2023-02-17 09:48:05 +01:00
Geoffrey White
0aa9c76f42
Swift: Grammar and formatting.
2023-02-17 08:45:51 +00:00
Michael Nebel
2f6ffdd88f
Merge pull request #12207 from michaelnebel/csharp/requiredmembers
...
C# 11: Required fields and properties.
2023-02-17 09:29:46 +01:00
Chris Smowton
6fc5bdd871
Announce JDK20 support
2023-02-17 08:15:33 +00:00
Michael Nebel
b87de911ba
C#: Add change note.
2023-02-17 08:40:39 +01:00
Michael Nebel
3971dedcf6
C#: Add testcase for required members.
2023-02-17 08:40:39 +01:00
Michael Nebel
c0b8e852c5
C#: Add library support for required members.
2023-02-17 08:40:39 +01:00
Michael Nebel
2d46dd2936
C#: Add extractor support for the required modifier for fields and properties.
2023-02-17 08:40:39 +01:00
Michael Nebel
ff9e738d38
Merge pull request #12167 from michaelnebel/csharp/deprecategetassemblyname
...
C#: Checked operator support.
2023-02-17 08:39:32 +01:00
Geoffrey White
a894fc6ce8
Swift: Fix mistakes in String.qll models.
2023-02-16 18:24:36 +00:00
Geoffrey White
f64cb2983a
Swift: Add tests for a few models we didn't cover.
2023-02-16 18:15:17 +00:00
github-actions[bot]
8eb8daa4d4
Post-release preparation for codeql-cli-2.12.3
2023-02-16 17:23:25 +00:00
Paolo Tranquilli
300db4f236
Merge pull request #12214 from github/redsun82/swift-codegen
...
Swift: fix weird module naming in codegen
2023-02-16 17:24:03 +01:00
Geoffrey White
cb11524dde
Merge pull request #12154 from geoffw0/pathinjectionext
...
Swift: More path injection sinks
2023-02-16 16:00:31 +00:00
Michael B. Gale
8e83fd00b7
Update C/C++ autobuilder
2023-02-16 15:52:29 +00:00
Michael B. Gale
aa6efce695
Use TryGetValue
2023-02-16 15:52:13 +00:00
Michael B. Gale
5537d79d90
Detect missing Xamarin SDKs
2023-02-16 15:29:16 +00:00
Michael B. Gale
7e4808440e
Fixup: better error message for no-projects-or-solutions
2023-02-16 15:29:16 +00:00
Michael B. Gale
c55281a68e
Report .NET Core & MSBuild failures
2023-02-16 15:29:15 +00:00
Michael B. Gale
eda33fc5cb
Track which projects/solutions fail to build
2023-02-16 15:29:15 +00:00
Michael B. Gale
f68c529f04
Report projects incompatible with .NET Core
2023-02-16 15:29:15 +00:00
Michael B. Gale
61ff4c7896
Set DiagnosticMessage defaults
...
Refactor `GetDiagnosticSource` into `MakeDiagnostic`
which sets the defaults.
2023-02-16 15:29:13 +00:00
Michael B. Gale
9865c506e6
Change logic for autobuild failures
...
This is to account for multiple attempted rules that failed
2023-02-16 15:28:42 +00:00
Michael B. Gale
99924919be
Support asynchronous stdout/stderr processing
2023-02-16 15:28:42 +00:00
Michael B. Gale
c5a2cfcf95
Fixup: We => CodeQL
2023-02-16 15:28:41 +00:00
Michael B. Gale
219b232c83
Add no projects/solutions diagnostic
2023-02-16 15:28:41 +00:00
Michael B. Gale
7b5e19d462
Add diagnostics for BuildCommandAutoRule
2023-02-16 15:28:37 +00:00
Erik Krogh Kristensen
2b529fbf53
Merge pull request #12213 from github/erik-krogh/patch-test
...
CI: inline the move-caches script into the action
2023-02-16 16:00:13 +01:00
Michael B. Gale
5963501368
BuildCommandAutoRule: expose more information
...
We expose the list of candidate script paths and the chosen script path
so that we can inspect them for diagnostics purposes.
2023-02-16 14:16:23 +00:00
Michael B. Gale
f4c4871ab3
Add basic reporting of a general autobuild failure
2023-02-16 14:16:23 +00:00
Michael B. Gale
4e7c39a5d1
Add initial code for diagnostic messages
2023-02-16 14:16:23 +00:00
Michael B. Gale
fce9cb0b28
Read ..._DIAGNOSTIC_DIR variable
2023-02-16 14:16:23 +00:00
Michael B. Gale
fb6c27ba10
Refactor env var code in Autobuilder class
2023-02-16 14:16:22 +00:00
Michael B. Gale
35b60167e1
Merge pull request #12153 from github/mbg/fix/msbuild-on-macos-arm
...
C#: Improve C# autobuilder compatibility with Arm-based Macs
2023-02-16 14:12:43 +00:00
Jami Cogswell
94fd412809
Java: move awt and swing to isInfrequentlyUsed predicate
2023-02-16 09:02:41 -05:00
erik-krogh
767da59397
remove the paths requirement from running QL-for-QL
2023-02-16 14:57:00 +01:00
Paolo Tranquilli
f50382ba70
Swift: fix weird module naming in codegen
2023-02-16 14:53:31 +01:00
erik-krogh
45d00ae9dd
inline the move-caches script into the action
2023-02-16 14:52:46 +01:00
Paolo Tranquilli
7cfe15c304
Merge pull request #12205 from github/redsun82/swift-codegen
...
Swift: fix subtle `codegen` bug on missing files
2023-02-16 13:45:35 +01:00
Rasmus Wriedt Larsen
9ed021ad66
Python: Accept change to WeakFilePermissions.expected
...
💪
2023-02-16 13:27:16 +01:00
Arthur Baars
006ee5aad9
Ruby: improve encoding related messages
2023-02-16 13:12:55 +01:00
Grzegorz Niedziela
d8eafea719
Merge branch 'github:main' into main
2023-02-16 11:24:57 +00:00
gregxsunday
d1aaa9ad86
Add ZipSlip/TarSlip query for ruby
2023-02-16 11:24:15 +00:00
Joe Farebrother
430b432add
Merge pull request #12195 from joefarebrother/testgen-improvements
...
Java: Test generator improvements
2023-02-16 11:20:55 +00:00
Michael B. Gale
eab3c6dd5e
Fix missing implementations for C++ tests
2023-02-16 11:07:38 +00:00
Michael B. Gale
e28be5d98f
Make msbuild work on Arm-based Macs
2023-02-16 11:07:38 +00:00
Michael B. Gale
75c75ea49c
Correctly select dotnet platform on arm-based macs
2023-02-16 11:07:37 +00:00
Alex Ford
9cfd0f5f46
JS: fix qldoc
2023-02-16 11:00:37 +00:00
Paolo Tranquilli
3ec2a3c711
Swift: fix subtle codegen bug on missing files
...
While the internal registry was being cleaned up from files removed by
codegen itself, it was not dropping files removed outside of codegen.
Because of this files removed by the user were not being regenerated
again if no change was staged to them, unless `--force` was provided.
This also fixes some such "ghost" entries in the registry and some
missing generated files.
2023-02-16 11:46:51 +01:00
Paolo Tranquilli
3b1b3b46ae
Merge pull request #12202 from github/redsun82/swift-codegen
...
> Out of curiosity: What is the end goal that we're trying to get to with this?
Up until now we would be writing that predicate by hand, see [this example](29c8260004/swift/ql/lib/codeql/swift/elements/expr/MethodLookupExpr.qll (L29-L30) ). Now this will be given to us from the get go.
For me this was prompted to give a nicer live demo later at my presentation 🙂
2023-02-16 11:35:05 +01:00
Michael B. Gale
29c8260004
Merge pull request #12196 from github/mbg/csharp/add-msbuild-integration-tests
2023-02-16 10:29:28 +00:00
Rasmus Wriedt Larsen
766e6c400e
Python: Handle if-then-else definitions in import resolution
2023-02-16 11:18:30 +01:00
Rasmus Wriedt Larsen
80f5342a6d
Python: Add import regression for if-then-else definitions
2023-02-16 11:12:08 +01:00
Tony Torralba
87b54e674e
Merge pull request #12178 from felickz/main
...
Java - Adding support for com.microsoft.sqlserver.jdbc.SQLServerDataSource to CWE-798
2023-02-16 11:03:34 +01:00
Michael B. Gale
9db1366e4b
Change target framework to 4.0 for mono
2023-02-16 09:55:58 +00:00
Michael B. Gale
f1adb4319a
Add C# integration test which uses MSBuild
2023-02-16 09:55:57 +00:00
Paolo Tranquilli
e2d7a6910c
Swift: generate raw helpers in synthesized stubs
...
This will add helpers to get the underlying raw entities or constructor
arguments on stubs for synthesized classes.
For example a schema like:
```
@synth.from_class(A)
class B:
pass
@synth.on_arguments(base=A, index=int)
class C:
pass
```
will generate
```
cached
private Raw::A getUnderlyingEntity() { this = Synth::TB(result) }
```
in the `B.qll` stub and
```
cached
private Raw::A getUnderlyingBase() { this = Synth::TC(result, _) }
cached
private int getUnderlyingIndex() { this = Synth::TC(_, result) }
```
in the `C.qll` stub.
As stubs these can be freely changed later on.
2023-02-16 10:49:21 +01:00
Chad Bentz
f3124d3239
Merge branch 'main' into main
2023-02-15 18:46:15 -05:00
Chad Bentz
2f1bd93a49
change-notes for this minorAnalysis lib change
2023-02-15 18:40:40 -05:00
Chad Bentz
2f576a4fe9
test both arguments of getConnection
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-02-15 18:26:56 -05:00
Geoffrey White
00302dc05f
Swift: Model NSObject.
2023-02-15 22:12:39 +00:00
Geoffrey White
7e8645a1f6
Swift: Model NSMutableString.
2023-02-15 21:50:05 +00:00
Geoffrey White
d04ed14b8c
fix model -2
2023-02-15 21:18:50 +00:00
Rasmus Wriedt Larsen
c4fbfb0d07
Merge branch 'main' into call-graph-code
2023-02-15 20:15:04 +01:00
Geoffrey White
75dd95f458
Swift: Correct one of the tests.
2023-02-15 18:37:51 +00:00
Geoffrey White
99caafb9b9
Swift: Model NSString.
2023-02-15 18:37:51 +00:00
Joe Farebrother
d9e5c6c48a
Fix typo
2023-02-15 17:21:03 +00:00
Alex Ford
74782bf6a2
Merge branch 'main' into ruby_twirp_support
2023-02-15 17:15:08 +00:00
Alex Ford
1556b1a728
Merge branch 'main' into js-use-shared-cryptography
2023-02-15 17:13:53 +00:00
Alex Ford
801ed1ce7c
Ruby: add Twirp.expected
2023-02-15 17:05:33 +00:00
Alex Ford
1958b9dcd5
JS: add missing qldoc
2023-02-15 16:59:03 +00:00
Alex Ford
43af306d60
dynamic: more detailed qldoc for CryptographicOperation#getBlockMode()
2023-02-15 16:55:18 +00:00
Alex Ford
e8cbf7287d
JS: breaking change note for CryptographicOperation sync
2023-02-15 16:50:24 +00:00
Alex Ford
925b4a3fa8
JS: improve documentation on deprecated CryptographicOperation#getInput() predicate
2023-02-15 16:23:46 +00:00
Alex Ford
d4d0b91085
dynamic: switch CryptographicOperation::Range#getBlockMode() back to being an abstract predicate
2023-02-15 16:23:46 +00:00
Alex Ford
c7aaad9ed0
JS: avoid adding a deprecated CryptographicOperation#getInput to py/ruby
2023-02-15 16:23:46 +00:00
Joe Farebrother
95a131d0d3
Update help text
2023-02-15 16:18:47 +00:00
Joe Farebrother
8ee36a5278
Test generator improvements
...
- Accept yml files as input
- Output the correct type for constructors
2023-02-15 16:11:22 +00:00
erik-krogh
51ddb55d7b
use tainted-object to precisely model that plain object are fine, but their properties are not
2023-02-15 15:02:03 +01:00
erik-krogh
09794fa836
delete PrefixStringSanitizer
2023-02-15 14:55:02 +01:00
Geoffrey White
d763c5a3a0
Swift: Update LocalTaint.expected for the changes so far.
2023-02-15 11:42:42 +00:00
Geoffrey White
2882286c3f
Swift: Test taint sources for NSString.
2023-02-15 11:42:42 +00:00
Geoffrey White
9f734076b7
Swift: Test taint through NSString member variables.
2023-02-15 11:04:16 +00:00
Geoffrey White
452ca4ef0f
Swift: Test taint through NSMutableString.
2023-02-15 11:04:01 +00:00
Geoffrey White
16ec29e3df
Swift: Test taint throguh some NSObject methods.
2023-02-15 11:03:45 +00:00
Geoffrey White
85a0fd9b30
Swift: Test taint through NSString.
2023-02-15 11:03:06 +00:00
erik-krogh
759854991a
fix various nits based on feedback
2023-02-15 11:10:43 +01:00
erik-krogh
bec8dc6775
add explicit this
2023-02-15 10:44:57 +01:00
erik-krogh
25a8469586
update expected output, now that .html.erb files are actually extracted
2023-02-15 10:28:05 +01:00
erik-krogh
710e79b2d5
bump extractor version
2023-02-15 10:26:00 +01:00
erik-krogh
f9b3a5b5e6
actually extract .html.erb files
2023-02-15 10:26:00 +01:00
Rasmus Wriedt Larsen
9e2eb56032
Python: Remove support for late *args arguments
...
I found this to cause bad performance, so the implementation of this has
to be thought out more carefully.
2023-02-15 09:42:11 +01:00
erik-krogh
b7305fd229
also consider relative exports when finding library inputs
2023-02-14 21:08:13 +01:00
erik-krogh
de4f5017e1
add change-note
2023-02-14 18:36:07 +01:00
Alex Ford
8d90c02a67
JS: remove unused field
2023-02-14 15:24:22 +00:00
erik-krogh
393649b7ce
don't call environment variables for command-line arguments
2023-02-14 14:27:41 +01:00
Alvaro Muñoz
4644a88b89
address code review comments
2023-02-14 14:27:17 +01:00
erik-krogh
36478124ae
add process.env and process.argv etc. as source for js/regex-injection
2023-02-14 14:21:53 +01:00
erik-krogh
943bdeca6d
make appliesTo recursive
2023-02-14 14:16:45 +01:00
erik-krogh
9549cac3e5
add an additional barrier guard that finds "=== true" versions of previous barrier guards
2023-02-14 14:15:23 +01:00
erik-krogh
c355a26657
add failing test
2023-02-14 14:12:35 +01:00
erik-krogh
3f0fe96f85
add getBoolValue() as a utility predicate on BooleanLiteral
2023-02-14 14:12:35 +01:00
Michael Nebel
469b289db9
C#: Add change note.
2023-02-14 13:14:45 +01:00
Michael Nebel
b3c234d020
C#: Add testcases for checked operators.
2023-02-14 12:59:36 +01:00
Michael Nebel
238a70fc55
C#: Add library support for checked operators.
2023-02-14 12:58:15 +01:00
Michael Nebel
b7123aaa89
C#: Add viable callable testcases for regular and checked operators.
2023-02-14 12:57:59 +01:00
Rasmus Wriedt Larsen
dc5bb4fb77
Python: Update a few examples so queries work on them
...
Fixes problem highlighted in https://github.com/github/codeql/issues/12156
2023-02-14 11:54:18 +01:00
Chad Bentz
b0c8992eef
Adding CWE-798 MSSQL Tests
2023-02-13 19:44:02 -05:00
Chad Bentz
cfe169a4f9
Adding MSSQL to SensitiveAPI
2023-02-13 19:42:28 -05:00
Rasmus Wriedt Larsen
1c7fe97427
Python: Add modeling of hmac
2023-02-13 15:39:43 +01:00
Rasmus Wriedt Larsen
df22181963
Python: Add tests of hmac
2023-02-13 15:38:14 +01:00
Michael Nebel
b3602a5b7f
C#: Use functionname as stored in the database.
2023-02-13 13:53:46 +01:00
Sim4n6
d7af80136e
Fail tests when missing annotation on sink orfail
2023-02-12 21:27:20 +01:00
Sim4n6
518684b736
Put back the annotation result=BAD
2023-02-12 21:26:12 +01:00
Sim4n6
80d4fb5e33
Organisation TarSlip/UnsafeUnpack into two folders
2023-02-12 10:51:53 +01:00
Sim4n6
eed19a3e15
Fix autoformatting issues
2023-02-10 21:58:29 +01:00
Geoffrey White
ad85b37585
Swift: Tidy up indenting.
2023-02-10 18:06:56 +00:00
Geoffrey White
d0efbbf5b8
Swift: More path injection models.
2023-02-10 18:02:50 +00:00
Geoffrey White
82f09b8511
Swift: More path injection test cases.
2023-02-10 17:55:06 +00:00
Arthur Baars
ecbd768df4
Ruby: reduce number of diagnostic messages with the status_page flag
...
For now we only report real parse errors and character encoding errors. Warnings about
unexpected or missing nodes in the AST are not reported. These are typically side effects
of earlier parse errors.
2023-02-10 18:53:46 +01:00
Sim4n6
09df055d86
Fix the exists cast warning
2023-02-09 15:25:54 +01:00
Sim4n6
b04d5684fb
add a blank line at the end of the file
2023-02-09 15:23:58 +01:00
Sim4n6
16ef50401b
Update python/ql/src/experimental/Security/UnsafeUnpackQuery.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-02-09 14:59:28 +01:00
Sim4n6
4196230a8a
use if-then-else rather than nested exists
2023-02-08 21:46:50 +01:00
Sim4n6
9e285020a1
Comment modif + remove redundant cast
2023-02-08 21:14:53 +01:00
Rasmus Wriedt Larsen
5c23b47ef4
Python: Fix typo in QLDoc
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-08 16:27:06 +01:00
Rasmus Wriedt Larsen
8bb1d8631a
Python: Add call-graph hotfix for sympy
2023-02-08 16:19:29 +01:00
Rasmus Wriedt Larsen
23144f584a
Merge branch 'main' into call-graph-code
2023-02-08 16:17:34 +01:00
Alvaro Muñoz
642a138eaa
Update Twirp.qll
2023-02-07 10:44:48 +01:00
ihsinme
065ca3c227
Update DivideByZeroUsingReturnValue.ql
2023-02-06 19:42:46 +03:00
Sim4n6
ec82d61991
Add another frequently used step
2023-02-05 14:36:17 +01:00
erik-krogh
ecafce8191
improve the CryptoJS model by using API::Node
2023-02-03 21:44:23 +01:00
Calum Grant
7d8b624a71
Basic script to generate shared code metrics
2023-02-03 16:24:39 +00:00
Alex Ford
7768026e70
Merge branch 'main' into js-use-shared-cryptography
2023-02-03 15:18:30 +00:00
Alex Ford
6c35feaa98
ConceptsShared: add a default implementation of BlockMode CryptographicOperation#getBlockMode() for compatibility with external code
2023-02-03 14:39:32 +00:00
Alex Ford
b968b59afc
CryptoAlgorithms: make CryptographicAlgorithm#matchesName hold only if that algorithm is the most specific match
2023-02-03 14:15:32 +00:00
erik-krogh
8e05fdb369
make more imports private
2023-02-03 15:00:31 +01:00
erik-krogh
c5350ca6a0
add change-note
2023-02-03 14:47:58 +01:00
erik-krogh
cf094c2f4f
adjust which folders are seen as exported to remove an FP
2023-02-03 14:47:55 +01:00
erik-krogh
848b24cfe4
adjust concept tests after changing subprocess model
2023-02-03 14:47:55 +01:00
erik-krogh
ef44cb86c2
remove FPs related to parameters that are meant to be commands
2023-02-03 14:47:55 +01:00
erik-krogh
e9ebba3350
assume shell=False for subprocess calls, fixes FPs in e.g. youtube-dl
2023-02-03 14:47:55 +01:00
erik-krogh
d228cf0e7b
use more API-nodes to model subprocess.run (and friends)
2023-02-03 14:47:55 +01:00
erik-krogh
bce83bfc4e
add failing test for indirectly setting the shell=true flag for subprocess.run
2023-02-03 14:47:55 +01:00
erik-krogh
0a2c7d062c
add Fabric test, and add tracking of the shell flag in Fabric
2023-02-03 14:47:55 +01:00
erik-krogh
6bbc4f4a48
add more tests
2023-02-03 14:47:55 +01:00
erik-krogh
33c506d7fe
add minimal test for Array join as a sink, and learn that the order is flipped compared to JS. Thanks Copilot!
2023-02-03 14:47:55 +01:00
erik-krogh
5bddfc0d79
add test for f-strings as sink
2023-02-03 14:47:55 +01:00
erik-krogh
47a06d2824
add library inputs as a source, and get minimal test to work
2023-02-03 14:47:55 +01:00
erik-krogh
7fcc548665
add py/shell-command-constructed-from-input, but without a source.
...
It's a very direct port from Ruby, with only minor adjustments to fit the Python APIs
2023-02-03 14:47:55 +01:00
erik-krogh
187cfd7be7
add isShellInterpreted to the SystemCommandExecution concept
2023-02-03 14:47:54 +01:00
Alex Ford
e17b3d975d
JS: pick up CryptographicKeys used in asmCrypto encrypt/decrypt calls
2023-02-03 12:16:25 +00:00
Alex Ford
6b2a92a7ca
JS: update CryptographicKey.expected
2023-02-03 12:12:47 +00:00
Alvaro Muñoz
3a9d650cb9
add qldocs for member predicates
2023-02-03 10:09:16 +01:00
Alvaro Muñoz
dd31be43e0
Support for Twirp framework
2023-02-03 09:35:22 +01:00
Sim4n6
a0150849cb
Updated the expected test file
2023-02-02 21:42:47 +01:00
Alex Ford
b0b8f8725e
JS: add some CryptographicOperation#getBlockMode() tests
2023-02-02 20:30:30 +00:00
Alex Ford
aa2c532a78
JS: adjust test whitespace
2023-02-02 20:30:30 +00:00
Alex Ford
c25dc978df
JS: add blockMode to CryptographicOperation tests
2023-02-02 20:30:30 +00:00
Alex Ford
1435ef1862
CryptoAlgorithms: make CryptographicAlgorithm#matchesName split on underscores
2023-02-02 20:30:30 +00:00
Alex Ford
983055b8f9
JS: Use shared CryptographicOperation concept and implement BlockMode getBlockMode()
2023-02-02 20:30:30 +00:00
Alex Ford
e5dfbe2c8d
ConceptsShared: Add BlockMode#matchesString(string) predicate
2023-02-02 20:27:52 +00:00
Alex Ford
61095b3c58
ConceptsShared: Add deprecated DataFlow::Node CryptographicOperation#getInput() predicate
2023-02-02 20:27:05 +00:00
Sim4n6
1a8c9abee2
Incorporate Sink & Source as steps from TarSlipQry
2023-02-02 21:09:40 +01:00
Rasmus Wriedt Larsen
db114bb104
Merge branch 'main' into call-graph-code
2023-02-02 11:56:55 +01:00
Rasmus Wriedt Larsen
fdb33ff48e
Python: Fix grammar in change-note
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-01 14:01:20 +01:00
Rasmus Wriedt Larsen
c7e552b343
Python: Fix grammar in qldoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-30 09:45:45 +01:00
Rasmus Wriedt Larsen
a1c2f4c138
Python: Small rewrite of **kwargs getParameter logic
2023-01-30 09:42:43 +01:00
Sim4n6
7079def7ce
Add an S3 source with Session or download_fileobj
2023-01-30 00:49:23 +01:00
Sim4n6
0707064ab5
Constrain the save/path step
2023-01-28 10:14:24 +01:00
Sim4n6
a4aaf0ec6f
Remove a write step & update the builtin open step
2023-01-28 09:53:54 +01:00
Sim4n6
0e2f37825d
Organize steps to correspond to the sample code
2023-01-27 23:58:03 +01:00
Sim4n6
ee213123ac
Add builtin open as an additional step
2023-01-27 18:16:11 +01:00
Sim4n6
0b27b1314a
Update python/ql/src/experimental/Security/UnsafeUnpackQuery.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-27 16:12:08 +01:00
Sim4n6
7a126a2317
Merge branch 'github:main' into UnsafeUnpack
2023-01-27 16:09:41 +01:00
Sim4n6
8ef2aa00e7
Update python/ql/src/experimental/Security/UnsafeUnpackQuery.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-27 16:07:39 +01:00
Rasmus Wriedt Larsen
cef933f813
Python: Add comment explaining SINK3_F(kwargs["c"]) test
...
Co-authored-by: yoff <yoff@github.com >
2023-01-27 15:48:59 +01:00
Rasmus Wriedt Larsen
c099dbd04c
Python: Expand notes around bound methods self argument passing
2023-01-27 15:27:45 +01:00
Sim4n6
207ed3da9c
Constrain the object & the call
2023-01-27 15:07:20 +01:00
Sim4n6
18d8bbc9a4
Updated the expected results accordingly
2023-01-27 14:05:25 +01:00
Sim4n6
e41042418a
Update the import relative to the dataflow config
2023-01-27 13:46:57 +01:00
Sim4n6
5f0bf1053a
Update the dataflow test query and the expected results
2023-01-27 13:42:57 +01:00
Sim4n6
bca053f855
Move the config query to the parent directory
2023-01-27 13:42:14 +01:00
Rasmus Wriedt Larsen
02b3a1b515
Python: At most one **kwargs ParameterNode per callable
...
Similar to the Ruby changes from
https://github.com/github/codeql/pull/11461
I feel the change to `DataFlowFunciton.getParameter` where we use
`not exists(func.getArgByName(_))` is not very great, but I was not allowed
to use `not exists(this.getParameter(any(ParameterPosition _).isKeyword(_)))`
because of negative recursion.
2023-01-27 11:14:42 +01:00
Sim4n6
998f1bf215
Some reformatting
2023-01-26 18:54:36 +01:00
Sim4n6
1a211485a4
Restrain the source and add two steps.
2023-01-26 17:07:59 +01:00
Sim4n6
51b11de44a
Add a Django Upload examples
2023-01-26 15:16:24 +01:00
Sim4n6
54cc4d6498
Opt for any source from RemoteFlowSource.
2023-01-26 12:51:55 +01:00
Sim4n6
aaa0040612
Seperate the dataflow config from the query
2023-01-26 08:53:47 +01:00
Sim4n6
9464940214
Add expected results for argparse source
2023-01-26 01:00:19 +01:00
Sim4n6
2e4cb63049
Optimize the Argparse filename as a source.
2023-01-26 01:00:01 +01:00
Sim4n6
f867c9008f
Commit the expected results
2023-01-26 00:08:54 +01:00
Sim4n6
9b5b0c60b8
Handle the download of a tarball using wget pkg.
2023-01-26 00:02:20 +01:00
Sim4n6
22af6f5182
Restrict download_file() to boto3 lib
2023-01-25 23:00:00 +01:00
Sim4n6
2d38993075
Add a missing "and"
2023-01-25 19:46:13 +01:00
Sim4n6
0ed480855a
Update python/ql/src/experimental/Security/CWE-022bis/UnsafeUnpack.ql
...
Yes, definitely
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-25 19:44:28 +01:00
Sim4n6
10d6ebf95b
Use of inline tests for dataflow queries
2023-01-25 19:28:05 +01:00
Sim4n6
b5a6f6e165
Merge pull request #1 from github/main
...
Sync with the upstream
2023-01-25 19:13:35 +01:00
Rasmus Wriedt Larsen
f262dc68f8
Python: Reword note about debugging getNextClassInMro
2023-01-25 10:08:43 +01:00
Rasmus Wriedt Larsen
63b2bd0871
Python: Fixup test_only_starargs addition
...
validTest.py did not pass, since we use `SINK3_F`.
I initially tried swapping the order
```
args = (arg1, arg2) # $ arg1 arg2 func=starargs_only
more_args = (arg4, arg3)
starargs_only(*args, *more_args)
```
But then asked myself, what is it _actually_ we're testing here? and it
seems to be the way we handle multiple *args arguments in the same call,
so I converted the test to be that instead! (and it matches what we do
in test_stararg_mixed)
2023-01-25 09:37:07 +01:00
Rasmus Wriedt Larsen
0879c8f8e1
Python: Expand comments on C3 MRO
2023-01-23 17:40:24 +01:00
Rasmus Wriedt Larsen
80324735bb
Python: Fixup annotation for CWE-022-PathInjection/pathlib_use.py
2023-01-23 17:40:24 +01:00
Rasmus Wriedt Larsen
753192bb4d
Merge branch 'main' into call-graph-code
2023-01-23 11:25:02 +01:00
Rasmus Wriedt Larsen
25a68c4d71
Python: Include @yoff's suggestion on synthetic *args handling
2023-01-20 16:49:33 +01:00
Rasmus Wriedt Larsen
41ebb4fb55
Python: Add p2 in QLDoc example code for synthetic **kwargs
2023-01-20 16:40:39 +01:00
Rasmus Wriedt Larsen
d9fbe58ad5
Python: Expand starargs_only test
2023-01-20 16:34:59 +01:00
Rasmus Wriedt Larsen
0df3dd68d6
Python: Remove (now) redundant cast
2023-01-20 15:13:02 +01:00
Rasmus Wriedt Larsen
1bd969c219
Merge branch 'main' into call-graph-code
2023-01-20 15:11:49 +01:00
Rasmus Wriedt Larsen
4df946b161
Python: call-graph: Don't design for special method calls yet
...
The `call` arguments were not `CallNode`s before, to allow for easier
support of special method calls, such as `a + b` going to `__add__`.
However, this is not implemented yet, so for now we can keep things
simple.
Co-authored-by: Taus <tausbn@github.com >
2023-01-18 12:30:53 +01:00
Rasmus Wriedt Larsen
b83fc3b6eb
Python: Update QLDoc for clsArgumentTracker
2023-01-17 14:38:56 +01:00
Rasmus Wriedt Larsen
24892801ec
Python: clsTracker => clsArgumentTracker
...
Co-authored-by: Taus <tausbn@github.com >
2023-01-17 14:16:56 +01:00
Rasmus Wriedt Larsen
1c8cc6a32a
Python: Add QLDoc for TFunction
2023-01-17 14:14:05 +01:00
Rasmus Wriedt Larsen
dad6221b61
Python: Accept dataflow-consistency.expected changes for now
...
As highlighted in the configuration file, there are some things to catch
up on, and we also need to apply the same fix as Ruby for **kwargs
handling.
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
749e81367d
Python: Allow multiple **kwargs parameters outside our test code
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
b6272b383d
Python: Allow non-unique parameter positions for normal parameters
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
a6fd5b6e59
DataFlow: Add uniqueParameterNodePositionExclude
2023-01-17 13:58:37 +01:00
Rasmus Wriedt Larsen
7a423622f8
DataFlow: Add uniqueParameterNodeAtPositionExclude
2023-01-17 13:57:31 +01:00
Rasmus Wriedt Larsen
e3fcfd0a66
Python: Use configuration for dataflow consistency checks in dataflow/exceptions
2023-01-17 13:55:22 +01:00
Rasmus Wriedt Larsen
f8d7a367ad
Python: Rewrite test for __add__ special method
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 11:45:57 +01:00
Rasmus Wriedt Larsen
ae1d4decc3
Python: ExternalAPIs.qll: Swap order of classes
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 11:01:47 +01:00
Rasmus Wriedt Larsen
b6f76d784c
Python: Remove accidentally committed files
2023-01-17 10:59:11 +01:00
Rasmus Wriedt Larsen
479f019eb0
Python: Minor rewrite removing unnecessary exists
...
Co-authored-by: Taus <tausbn@github.com >
2023-01-17 10:59:11 +01:00
Rasmus Wriedt Larsen
608b16c98a
Python: Minor adjustment in QLDoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 10:56:53 +01:00
Rasmus Wriedt Larsen
700e40b11b
Python: Fix ql4ql
2023-01-17 10:35:20 +01:00
Rasmus Wriedt Larsen
4f3876f184
Python: Accept rewrite for _join( predicates
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 10:32:31 +01:00
Rasmus Wriedt Larsen
7c242b1409
Python: Minor QLDoc fix
...
Co-authored-by: Taus <tausbn@github.com >
2023-01-17 10:32:15 +01:00
Rasmus Wriedt Larsen
690a09d9b6
Python: new-call-graph: pragma[noinline] => pragma[nomagic]
...
As suggested by @tausbn. Obviously, this needs to be performance tested.
2023-01-16 20:45:44 +01:00
Rasmus Wriedt Larsen
a3b7273844
Python: Fix duplicated meta query id
2023-01-16 20:33:28 +01:00
Rasmus Wriedt Larsen
3fcb8f3f4b
Python: Accept suggestions from code-review
2023-01-16 20:33:28 +01:00
Rasmus Wriedt Larsen
a1513cc1d3
Python: Minor QLDoc fix
2023-01-16 14:07:11 +01:00
Rasmus Wriedt Larsen
dfbb744a7a
Python: Add comment on *args argument handling
2023-01-16 14:04:25 +01:00
Rasmus Wriedt Larsen
e5e5d84361
Python: Add change-note
2023-01-16 13:44:24 +01:00
Rasmus Wriedt Larsen
61151d4aa7
Merge branch 'main' into call-graph-code
2023-01-16 13:39:15 +01:00
ihsinme
a2836dc72a
Update test.cpp
2022-12-18 00:38:32 +03:00
ihsinme
945cdef18d
Update DivideByZeroUsingReturnValue.expected
2022-12-18 00:35:28 +03:00
ihsinme
c790b0fed6
Update DivideByZeroUsingReturnValue.ql
2022-12-18 00:34:14 +03:00
Sim4n6
4376870a51
An uploded file is considered a source
2022-12-15 23:39:02 +01:00
ALJI Mohamed
54109b8ea7
Add source wget.download
2022-12-13 15:34:01 +01:00
ALJI Mohamed
2f68b54b27
A simple download_file() call from maybe boto3
2022-12-12 19:46:34 +01:00
ALJI Mohamed
b19452467d
read by chunks as additional step
2022-12-10 21:59:14 +01:00
ALJI Mohamed
eff132512c
Copying the response data to the archive
2022-12-10 08:15:42 +01:00
ALJI Mohamed
545aab0e07
tarball path provided using CLI argument (source)
2022-12-09 15:54:43 +01:00
ALJI Mohamed
9336f4f1a2
Considering the use of contextlib.closing() method
2022-12-08 12:26:59 +01:00
Rasmus Wriedt Larsen
a826c4f48b
Merge branch 'main' into call-graph-code
2022-12-08 11:39:30 +01:00
ALJI Mohamed
2801b8495a
A fix of the tag name
2022-12-06 14:50:47 +01:00
ALJI Mohamed
4896e62117
Use of more generic terms
2022-12-06 14:44:52 +01:00
Sim4n6
58570b4d2c
Update python/ql/src/experimental/Security/CWE-022bis/UnsafeUnpack.ql
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-12-06 14:40:48 +01:00
Sim4n6
9a60202de6
Update python/ql/src/experimental/Security/CWE-022bis/UnsafeUnpack.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-12-06 14:40:35 +01:00
Sim4n6
c22c0b5029
Update python/ql/src/experimental/Security/CWE-022bis/UnsafeUnpack.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-12-06 14:39:16 +01:00
ALJI Mohamed
a5849eb9b0
Improved the additional taint step using InstanceSource
2022-12-06 14:00:08 +01:00
ALJI Mohamed
054c06be65
Update UnsafeUnpack.ql
2022-12-06 02:51:07 +01:00
ALJI Mohamed
68fd75ca34
UnpackUnsafe query and tests
2022-12-05 17:20:22 +01:00
Rasmus Wriedt Larsen
d151e21f15
Python: Move ControlFlowNode.toString() to AST cached stage
...
This means points-to is no longer evaluated for sql injection 🎉
Thanks @asgerf 💪
2022-11-24 10:14:39 +01:00
Rasmus Wriedt Larsen
69b43f147a
Python: Fix ql4ql alerts
...
The rest will be ignored.
2022-11-22 16:24:47 +01:00
Rasmus Wriedt Larsen
00ec3a23ba
Python: Accept fix from module-resolution PR
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
ee2f7401e8
Python: Add generator-flow/dataflow-consistency.ql
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
8de5cfef43
Python: Update dataflow-consistency.expected
...
After merging in main
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
c0ad870949
Python: Exclude synthetic generator functions from DataFlowCallable
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
d86f98d60b
Python: Accept changes for enclosing-callable test
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
aa382ac042
Python: Add test for strange generator taint flow
...
I did check, and this was not a problem with the old call-graph on main!
I'm absolutely baffled!
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
36e8b8bfb9
Python: Add call-graph to cached dataflow stage
...
I didn't do any performance investigation on this, since it just seems
so much like the right approach.
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
fc0545561e
Python: Introduce points-to cached stage
...
With points-to not being used for the call-graph any longer, it's time
to split them.
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
bd46b7deaa
Python: Cache a few call-graph predicates
...
We DON'T want to recompute these ones for sure!
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
6646e98d20
Python: Fix results outside DB for StackTraceExposure
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
972cfa5cf6
Python: Accept bad StackTraceExposure.expected
...
This is only Python 2 though
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
a301c93ebf
Python: Fix results outside DB for CleartextLogging
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
0a41d8d2c1
Python: Accept bad CleartextLogging.expected
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
39ce50fadc
Python: Fix problems with sinks in pathlib
...
This must mean that we did not have this flow with the old call-graph,
which means the new call-graph is doing a better job (yay).
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
edcaff26af
Python: Add path-injection test using pathlib
...
Since it has the same problem of showing sinks inside the extracted
stdlib
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
9d29a0a044
Python: Accept changes to .expected from more pathlib flow
...
But we don't want to keep this, this commit is just to show why we need a fix :)
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
df4d09b3f9
Python: Don't rely on all DataFlowCall being resolved
...
I've been living dangerously with that assumption :|
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
478f5ffe96
Python: Limit self argument for PotentialLibraryCall
...
Using the object from `MethodCallNode` meant that in the code below,
`lib` from the import expression would be considered a self argument
(this showed up in dataflow-consistency query results, that were not
comitted... sorry)
```
from lib import func
func()
```
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
c4122275dc
Python: Bring back support for flow-summaries
...
Also needed to fix up `TestUtil/UnresolvedCalls.qll` after a bad merge
conflict resolution. Since all calls are now DataFlowCall, and not JUST
the ones that can be resolved, we need to put in the restriction that
the callable can also be resolved.
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
e5fdeae6fc
Python: Add return (func_ref, ...) test
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
fb0cc184d9
Python: Add test of multi func def based on runtime decision
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
276a825cd0
Python: Allow same function name in call-graph tests
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
8a56b48357
Python: Support super().__new__(cls)
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
2b76964f7f
Python: Expand tests of __new__ a bit more
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
a4e6433942
Python: add support for type(self)()
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
d43a48c265
Python: Add type(self)() tests
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
16483f7d40
Python: Add funky call-graph regression
...
I don't even know how to phrase this :D
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
1e96ced3ab
Python: Ignore functions with @property decorator for now
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
cba93ded77
Python: Add test for @property problem
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
b33f02f9dc
Python: Fix self-passing problems
...
This also fixes performance problems for pandas-dev/pandas
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
722c69edcc
Python: Add test showing self type-tracking problems
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
5e5bab5a7c
Python: Don't pass synthetic class instance to __new__ on class calls
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
9949824810
Python: Expand implicit classmethods
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
6fefd54533
Python: Consider __new__ a classmethod
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
f040ad8dac
Python: Add test of __new__ handling
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
57c7dc8ea9
Python: Allow cls passing to classmethod
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
0cf13e9976
Python: Expand argument highlighting test
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
8e0bb62516
Python: Remove pragma[inline] from parameterMatch
...
It's gotten complex enough that it doesn't by definition seem necessary
to inline it. (in the range of ~2200 results for django and pandas)
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
4416037dc6
Python: Ignore SPURIOUS call-graph edges in points-to vs. type-tracker results
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
6351defe0d
Python: Add call-graph tests with isinstance
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
5fc127cb2c
Python: Make UnresolvedCalls.qll handle class calls without __init__
...
This commit used to make sense to have here in the ordering of commits,
but due to various rebases it no longer changes any test output..
it's still a good change though, so I'll keep it.
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
98a849405f
Python: Add support for late *args arguments
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
035d083515
Python: Support flow to *args param from positional arg
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
db921ac036
Python: Add basic support for *args
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
b6314dd19d
Python: Add *args tests
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
c687df4ddc
Python: Support flow to keyword param from **kwargs arg
...
When resolving merge conflict after flow-summaries was merged, this is
the original commit where I introduced ParameterNodeImpl, so this is the
commit where differences in that implementation was committed...
I removed TParameterNode, since I could not see we we gain anything from
having it.
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
215a03d948
Python: Support flow to **kwargs param from keyword arg
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
503ad544e9
Python: Remove impossible flow for **kwargs params
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
eb600f07b7
Python: Use config for dataflow-consistency.ql
...
And ignore post-update nodes for `**kwargs` arguments
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
5722d231bd
Python: Add basic support for **kwargs
...
For now this is JUST from `**kwargs` in arguments, to `**kwargs`
parameters, and this part is based on field-flow
Note that dataflow-library complains about missing post update nodes for
these. This needs to be ignored, since post update nodes for `**kwargs`
arguments doesn't make sense, it's not possible to alter the dictionary
inside the method.
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
9b2663034d
Python: Change test .ql to also show bad argument flow
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
5a976cfb14
Python: Add more **kwargs arg passing tests
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
e7a337991a
Python: Accept fix from extractor change
...
namely the variable access mentioned in
https://github.com/github/codeql/pull/10171
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
7014be2047
Python: Reduce size of attrReadTracker
...
On pallets/flask, this reduced the number of tuples from
100866 results => 33060 results
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
61410191e7
Python: Fix bug in argumentRoutingTest.ql
...
Since `DataFlowPrivate::DataFlowCall` only exists for calls resolved to
a function, we didn't have any results before... but allowing any call
helps things!
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
a5c3e850f1
Python: Handle __call__
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
b5e8bf7882
Python: Add note about trying DataFlowDispatchPointsTo for InlineCallGraphTest
...
Since I was very confused about no results for __call__, I tried to see
whether I had cheated by making the comparison too unfair. But it didn't
seem to be the case.
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
f3ac81a013
Python: Expand tests for special method calls
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
f2e92bf963
Python: Port py/meta/call-graph
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
7c1320ed4b
Python: Adjust ExternalAPI qhelp files
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
af9be6ad7e
Python: Suppress more spurious alerts from ExternalAPI queries
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
70cc986d5f
Python: Suppress None.json.dumps from ExternalAPI queries
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
0bdc808a7a
Python: Add ExternalAPI test None.json.dumps
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
7648462f98
Python: Fix ExternalAPIs queries
...
The output might end up being slightly more noisy since we don't
collapse positional and keyword arguments when the external target
function is included in the database, but this aligns with our long-term
goal of not doing that anymore, so I think it's fine.
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
2e2cee06c3
Python: Adjust InsecureRandomnessCustomizations.qll
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
ed70e118a9
Python: Make test/Filter query more robust
...
Since if you had tornado installed, we would follow imports and have
results from those files as well :|
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
9c275c177a
Python: Implement call-graph with type-trackers
...
This commit is a squash of 80 other commits. While developing, things
changed majorly 2-3 times, and it just wasn't feasible to go back and
write a really nice commit history.
My apologies for this HUGE commit.
Also, later on this is where I solved merge conflicts after flow-summaries
PR was merged.
For your amusement, I've included the original commit messages below.
Python: Add proper argument/parameter positions
Python: Handle normal function calls
Python: Reduce dataflow-consistency warnings
Previously there was a lot of failures for `uniqueEnclosingCallable` and
`argHasPostUpdate`
Removing the override of `getEnclosingCallable` in ParameterNode is
probably the most controversial... although from my point of view it's a
change for the better, since we're able to provide data-flow
ParameterNodes for more of the AST parameter nodes.
Python: Adjust `dataflow/calls` test
Python: Implement `isParameterOf`/`argumentOf`/`OutNode`
This makes the tests under `dataflow/basic` work as well 👍
(initially I had these as separate commits, but it felt like it was too much noise)
Python: Accept fix for `dataflow/consistency`
Python: Changes to `coverage/argumentRoutingTest.ql`
Notice we gain a few new resolved arguments.
We loose out on stuff due to:
1. not handling `*` or `**` in either arguments/parameters (yet)
2. not handling special calls (yet)
Python: Small fix for `TestUtil/RoutingTest.qll`
Since the helper predicates do not depend on this, moved outside class.
Python: Accept changes to `dataflow/coverage/NormalDataflowTest.ql`
Most of this is due to:
- not handling any kinds of methods yet
- not handling `*` or `**`
Python: Small investigation of `test_deep_callgraph`
Python: Accept changes to `coverage/localFlow.ql`
I don't fully understand why the .expected file changed.
Since we still have the desired flow, I'm not going to worry too much
about it.
with this commit, the `dataflow/coverage` tests passes 👍
Python: Minor doc update
Python: Add staticmethod/classmethod to `dataflow/calls`
Python: Handle method calls on class instances
without trying to deal with any class inheritance, or
staticmethod/classmethod at all.
Notice that with this change, we only have a DataFlowCall for the calls
that we can actually resolve. I'm not 100% sure if we need to add a
`UnresolvedCall` subclass of `DataFlowCall` for MaD in the future, but
it should be easy to do.
I'm still unsure about the value of `classesCallGraph`, but have just
accepted the changes.
Python: Handle direct method calls `C.foo(C, arg0)`
Python: Handle `@staticmethod`
Python: Handle class method calls... but the code is shit
WIP todo
Rewrite method calls to be better
also fixed a problem with `self` being an argument to the `x.staticmethod()` call :|
Python: Add subclass tests
Python: Split `class_advanced` test
Python: Rewrite call-graph tests to be inline expectation (1/2)
This adds inline expectations, next commit will remove old annotations
code... but I thought it would be easier to review like this.
Minor fixup
Python: Add simple subclass support
Python: more precise subclass lookup
Still not 100% precise.. but it's better
New ambiguous
Python: Add test for `self.m()` and `cls.m()` calls
Python: Handle `self.m()` and `cls.m()` calls
Python: Add tests for `__init__` and `__new__`
Python: Handle class calls
Python: Fix `self` argument passing for class calls
Now field-flow tests also pass 💪 (although the crosstalk
fieldflow test changes were due to this specific commit)
I also copied much of the setup for pre/post update nodes from Ruby,
specifically having the abstract `PostUpdateNodeImpl` in DataFlowPrivate
seemed like a nice change.
Same for the setup with `TNode` definition having the specification
directly in the body, instead of a `NeedsSyntheticPostUpdateNode` class.
Python: Add new crosstalk test WIP
Maybe needs a bit of refactoring, and to see how it all behaves with points-to
Python: Add `super()` call-graph tests
Python: Refactor MethodCall char-pred
In anticipation of supporting `super(MyClass, self).foo()`, where the
`self` argument doesn't come from an AttrNode, but from the second
argument to super.
Without `pragma[inline]` the optimizer found a terrible join-order --
this won't guarantee a good join-order for the future, but for now it
was just so simple and could let me move on with life.
Python: Add basic `super()` support
I debated a little (with myself) whether I should really do
`superTracker`, but I thought "why not" and just rolled with it. I did
not confirm whether it was actually needed anywhere, that is if anyone
does `ref = super; ref().foo()` -- although I certainly doubt it's very
wide-spread.
Python: InlineCallGraphTest: Allow non-unique callable name in different files
Python: more MRO tests
Python: Add MRO approximation for `super()`
Although it's not 100% accurate, it seems to be on level with the one in
points-to.
Python: Remove some spurious targets for direct calls
removal of TODO from refactoring
remove TODOs class call support
Python: Add contrived subclass call example
Python: Remove more spurious call targets
NOTE: I initially forgot to use
`findFunctionAccordingToMroKnownStartingClass` instead of
`findFunctionAccordingToMro` for __init__ and __new__, and since I did
make that mistake myself, I wanted to add something to the test to
highlight this fact, and make it viewable by PR reviewer... this will be
fixed in the next commit.
Python: Proper fix for spurious __init__ targets
Python: Add call-graph example of class decorator
Python: Support decorated classes in new call-graph
Python: Add call-graph tests for `type(obj).meth()`
Python: support `type(obj).meth()`
Python: Add test for callable defined in function
Python: Add test for callable as argument
Current'y we don't find these with type-tracking, which is super
mysterious. I did check that we have proper flow from the arguments to
the parameters.
Python: Found problem for callable as argument :| MAJOR WIP
WIP commit
IT WORKS AGAIN (but terrible performance)
remove pragma[inline]
remove oops
Fix performance problem
I tried to optimize it even further, but I didn't end up achieving anything :|
Fix call-graph comparison
add comparison version with easy lookup
incomplete missing call-graph tests
unhandled tests
trying to replicate missing call-edge due to missing imports ... but it's hard
also seems to be problems with the inline-expectation-value that I used, seems like it has both missing/unexpected results with same value
Python: Add import-problem test
Python: Add shadowing problem
some cleanup of rewrite fix
a little more cleanup
Add consistency queries to call-graph tests
Python: Add post-update nodes for `self` in implicit `super()` uses
But we do need to discuss whether this is the right approach :O
Fix for field-flow tests
This came from more precise argument passing
Fixed results in type-tracking
Comes from better argument passing with super() and handling of
functions with decorators
fix of inline call graph tests
Fixup call annotation test
Many minor cleanups/fixes
NewNormalCall -> NormalCall
Python: Major restructuring + qldoc writing
Python: Accept changes from pre/post update node .toString changes
Python: Reduce `super` complexity !! WIP !!
Python: Only pass self-reference if in same enclosing-callable
Python: Add call-graph test with nested class
This was inspired by the ImpliesDataflow test that showed missing flow
for q_super, but at least for the call-graph, I'm not able to reproduce
this missing result :|
Python: Restrict `super()` to function defined directly on class
Python: Accept fixes to ImpliesDataflow
Python: Expand field-flow crosstalk tests
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
aa78a43407
Python: Enable type-tracking in call-graph test
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
c85ccb2003
Python: Add call-graph compare meta-queries
...
Also changed the definition of a relevant call-target, so it's only what
is in the actual source code, which is what we want in the future! (so
what we're designing type-tracking to handle)
I also changed terminology from `callee` to `target`. It felt more
natural this way in my opinion.
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
a98554b6ed
Python: Accept tmp changes to flow summaries
...
After solving merge conflict
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
716576b1d6
Python: Minimal type-tracking call-graph
...
That does absolutely nothing so far, but compiles
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
6f5007b810
Python: Rename -> DataFlowDispatch
...
So diff can make more sense when introducing blank state for type-tracking based call-graph
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
f327a3f62a
Python: Remove strange-pointsto-interaction-investigation
...
These tests are not relevant anymore 💪
2022-11-22 14:46:29 +01:00
ihsinme
5ceab40841
Update DivideByZeroUsingReturnValue.ql
2022-11-22 10:11:18 +03:00
ihsinme
0fb1dedbb2
Update DivideByZeroUsingReturnValue.ql
2022-11-11 11:38:48 +03:00
ihsinme
3954da5938
Update DivideByZeroUsingReturnValue.ql
2022-10-11 13:11:45 +03:00
ihsinme
01b357e749
Update DivideByZeroUsingReturnValue.ql
2022-10-10 12:33:11 +03:00
ihsinme
392c948487
Update DivideByZeroUsingReturnValue.ql
2022-10-05 09:27:20 +03:00
ihsinme
50105c1f6d
create new branchihsinme-patch-111 in fork
2022-09-15 06:35:42 +00:00