Chris Smowton
7c8db6eace
Restore QL modelling for the built-in append function.
2023-04-12 14:19:01 +01:00
Chris Smowton
c8407ba323
Revert variadic functions to use non-MaD models
2023-04-12 14:19:01 +01:00
Chris Smowton
16e3acf592
Restore old-style taint models for the unsafe package
...
These functions don't have proper signature types, so are not suited to MaD models
2023-04-12 14:19:00 +01:00
Chris Smowton
2c65e68c5f
Adapt HTTP response body association to MaD models
2023-04-12 14:19:00 +01:00
Chris Smowton
2677a945f3
Autoformat
2023-04-12 14:19:00 +01:00
Chris Smowton
53723479c8
Enable model inheritence by subinterfaces
...
Previously only a concrete (non-interface) method could inherit such a model
2023-04-12 14:19:00 +01:00
Chris Smowton
c242c28af9
Use $ANYVERSION to allow applying a model to all versions of a given package
2023-04-12 14:19:00 +01:00
Chris Smowton
11b457d5bf
Allow - character in Go package names
2023-04-12 14:19:00 +01:00
Chris Smowton
1b7f529949
Restore reverse-flow models
2023-04-12 14:19:00 +01:00
Chris Smowton
de0caf2445
Go: mass-convert taint-flow models to models-as-data format
2023-04-12 14:18:44 +01:00
Chris Smowton
a5e5a5780d
Use FlowSummaryImpl::Private::summaryParameterNodeRange
2023-04-12 14:15:54 +01:00
Chris Smowton
4ea4e0dcca
Go: seperate real and synthetic callables
...
This means that when a function has a real body and a summary (usually because it has a real definition in source, and implements an interface that has a model), two callables are created and dispatch considers both possible paths.
This specifically overcomes the difficulty with ParameterNodes when the real callable, if any, may or may not define an SsaNode, either because the real parameter is unused or because it is anonymous. Now the synthetic callable will always have parameter nodes, while the real one may or may not depending on whether a definition is present and
whether or not it names or uses its parameter.
2023-04-12 14:15:54 +01:00
Chris Smowton
939a025e11
Go: hide summary nodes from path explanations
...
This mirrors behaviours in other languages with MaD summaries
2023-04-06 16:41:44 +01:00
Owen Mansel-Chan
607e2817e5
Use not A and B instead of if A then none() else B
2023-03-31 16:47:58 +01:00
Owen Mansel-Chan
9ac0c57a3e
Fix alert message to match style guide
2023-03-31 16:47:57 +01:00
Owen Mansel-Chan
cf89b00f47
Fix variable names in QLDocs
2023-03-31 16:47:57 +01:00
Owen Mansel-Chan
513409e082
Fix formatting of QLDocs
2023-03-31 16:47:56 +01:00
Owen Mansel-Chan
7a25200962
Remove fields which are only used in char pred
2023-03-31 16:47:55 +01:00
Owen Mansel-Chan
f6dc9e2a35
Fix accidental over-modelling of k8s Secret DeepCopy
2023-03-31 16:47:53 +01:00
Jeroen Ketema
0acca2ba76
Merge pull request #12687 from jketema/unit-2
...
Make imports of `codeql.util.Unit` private
2023-03-29 13:07:12 +02:00
Jeroen Ketema
3b8ad087eb
Make imports of codeql.util.Unit private
2023-03-28 14:14:13 +02:00
Anders Schack-Mulligen
d406b051fc
Dataflow: Remove accidentally exposed predicates.
2023-03-28 10:04:21 +02:00
Jeroen Ketema
977f15f8a4
Merge pull request #12649 from jketema/unit
...
Replace all definitions of `Unit` by `import codeql.util.Unit`
2023-03-27 08:49:50 +02:00
Anders Schack-Mulligen
85511ba19d
Dataflow: Sync
2023-03-24 12:42:06 +01:00
Jeroen Ketema
a87a9438c7
Replace all definitions of Unit by import codeql.util.Unit
2023-03-24 10:39:34 +01:00
Anders Schack-Mulligen
9d88f01c82
Merge pull request #12645 from aschackmull/dataflow/renaming
...
Dataflow: Rename Make to Global and hasFlow to flow
2023-03-24 08:48:31 +01:00
Anders Schack-Mulligen
d440bc2d0c
Dataflow: Sync.
2023-03-23 13:40:23 +01:00
Anders Schack-Mulligen
2761aa73ca
Dataflow: Sync.
2023-03-23 13:06:19 +01:00
Kasper Svendsen
ce6be1f636
Dataflow: Instantiate stage 1 access paths with proper unit type
2023-03-23 08:32:16 +01:00
Anders Schack-Mulligen
0d6dd7d25a
DataFlow: Sync.
2023-03-21 14:27:25 +01:00
Anders Schack-Mulligen
3876e4335f
Merge pull request #12420 from kaspersv/kaspersv/dataflow-remove-alias-preds
...
Dataflow: Remove revFlowAlias and revFlowApAlias predicates
2023-03-20 16:30:15 +01:00
Kasper Svendsen
1d2f1b6ae6
Address comments
2023-03-20 13:34:14 +01:00
Kasper Svendsen
e0e3a1d621
Dataflow: remove revFlowApAlias trick
2023-03-20 13:04:13 +01:00
Michael Nebel
37484a415f
Sync files.
2023-03-20 09:38:40 +01:00
Kasper Svendsen
9630feb5e4
Dataflow: Remove revFlowAlias trick
2023-03-20 09:04:35 +01:00
Chris Smowton
0cadf4d94a
Merge pull request #12558 from smowton/smowton/fix/flow-to-external-api-write-only-methods
...
Go: exclude `net/http.Header.Set` and `.Del` from `go/untrusted-data-to-external-api`
2023-03-17 11:52:48 +00:00
Chris Smowton
647bd44666
Go: exclude net/http.Header.Set and .Del from go/untrusted-data-to-external-api
...
These functions (and doubtless many others) are write-only with respect to their receiver argument, so it doesn't really make sense to flag externally-controlled data flowing there.
2023-03-16 15:31:35 +00:00
Michael Nebel
3fea9e4d0b
Sync files.
2023-03-16 14:12:29 +01:00
Tom Hvitved
bdd56f1b6e
Data flow: Sync files
2023-03-14 10:01:56 +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
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
Anders Schack-Mulligen
1e64748ffe
Dataflow: Autoformat.
2023-03-10 15:12:19 +01:00
Anders Schack-Mulligen
289f921171
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
00f0879ff5
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Tom Hvitved
32a699e34a
Data flow: Sync files
2023-03-10 12:43:21 +01:00
Tony Torralba
8aa80882ea
Sync files
2023-03-10 12:35:13 +01:00
Anders Schack-Mulligen
159d8e978c
Dataflow: one more autoformat post rebase
2023-03-10 10:04:35 +01:00
Anders Schack-Mulligen
08c658e66b
Go: Autoformat
2023-03-10 09:41:20 +01:00
Mathias Vorreiter Pedersen
1f77f77153
DataFlow: Sync identical files.
2023-03-09 10:41:15 +00: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