Asger F
940e492766
Merge pull request #12551 from github/release-prep/2.12.5
...
Release preparation for version 2.12.5
2023-03-17 11:23:25 +01:00
Jeroen Ketema
66b03dbd1d
Apply suggestions from code review
2023-03-16 14:29:16 +01:00
Jeroen Ketema
e7079b35bc
Apply suggestions from code review
2023-03-16 14:28:17 +01:00
github-actions[bot]
fe4d27e8cc
Release preparation for version 2.12.5
2023-03-16 12:58:50 +00:00
Jeroen Ketema
8aa9207281
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-16 10:28:44 +01:00
Tom Hvitved
a13b6ed230
Merge pull request #12536 from hvitved/dataflow/call-enclosing-callable-consistency-check
...
Data flow: Add consistency check for `DataFlowCall::getEnclosingCallable`
2023-03-16 10:19:42 +01:00
Rasmus Wriedt Larsen
b3a49ab143
Merge pull request #12467 from RasmusWL/kwargs-parameter-position-fixup
...
Python/Ruby: Use new parameter position for synthetic hash-splat instead
2023-03-16 09:52:46 +01:00
Mathias Vorreiter Pedersen
eec1e9ffcd
C++: Fix change note.
2023-03-16 08:01:07 +00:00
Mathias Vorreiter Pedersen
7585a3862f
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-16 07:57:20 +00:00
Mathias Vorreiter Pedersen
58602927bd
C++: Add change note.
2023-03-16 07:57:03 +00:00
Tom Hvitved
404ead8a18
Python: Update expected test output
2023-03-16 08:40:53 +01:00
Tom Hvitved
b3ef1e9372
C++: Update expected test output
2023-03-16 08:40:53 +01:00
Tom Hvitved
64f13fa08f
C#: Exclude call inside static field initializers from consistency check
2023-03-16 08:40:53 +01:00
Tom Hvitved
9f798902bd
Data flow: Add consistency check for DataFlowCall::getEnclosingCallable
2023-03-16 08:40:53 +01:00
Henry Mercer
720eed398b
Merge pull request #12523 from github/henrymercer/polish-diagnostics
...
Polish diagnostic messages
2023-03-15 15:06:52 +00:00
Mathias Vorreiter Pedersen
3376d2aa12
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-15 14:12:01 +00:00
Mathias Vorreiter Pedersen
dffde8f8b8
Merge pull request #12532 from MathiasVP/local-flow-for-getAdditionalFlowIntoCallNodeTerm
...
C++: Use local flow instead of GVN in `getAdditionalFlowIntoCallNodeTerm`
2023-03-15 14:10:49 +00:00
Mathias Vorreiter Pedersen
08419b77af
C++: Respond to PR reviews.
2023-03-15 14:07:04 +00:00
Anders Schack-Mulligen
bc9942eb75
Merge pull request #12530 from aschackmull/java/refactor-dataflow-queries-3
...
Java: Refactor more dataflow queries to the new API (take 3)
2023-03-15 14:57:29 +01:00
Tom Hvitved
a6e9d111a5
Merge pull request #12534 from hvitved/swift/summary-call-encl-callable
...
Swift: Fix `SummaryCall::getEnclosingCallable`
2023-03-15 14:35:00 +01:00
Tom Hvitved
96639c594f
Swift: Fix SummaryCall::getEnclosingCallable
2023-03-15 13:58:12 +01:00
Arthur Baars
fe34ec1378
Ruby: fix formatting errors
2023-03-15 13:45:06 +01:00
Henry Mercer
5de0eae992
Ruby: Update diagnostic source names for consistency
2023-03-15 12:05:09 +00:00
Henry Mercer
a90f4915a7
C#: Add new lines before call to action
2023-03-15 12:00:47 +00:00
Henry Mercer
0de4259bff
Revert "Ruby: Use rb prefix in diagnostic IDs for consistency with queries"
...
This reverts commit a6509c7a37 .
2023-03-15 12:00:47 +00:00
Anders Schack-Mulligen
ecf5591bc6
Merge pull request #12527 from aschackmull/java/remove-dataflow-for-serializability
...
Java: Delete `DataFlowForSerializability` and `DataFlowForOnActivityResult`
2023-03-15 12:37:17 +01:00
Mathias Vorreiter Pedersen
913ff201f1
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into local-flow-for-getAdditionalFlowIntoCallNodeTerm
2023-03-15 11:15:16 +00:00
Mathias Vorreiter Pedersen
11932a54e8
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-15 11:13:49 +00:00
Mathias Vorreiter Pedersen
9bd3347a3c
C++: Remove import.
2023-03-15 10:33:47 +00:00
Mathias Vorreiter Pedersen
623f6ff701
C++: Move things around so that 'getAdditionalFlowIntoCallNodeTerm' is in the same stage as 'DataFlowImplCommon'.
2023-03-15 10:01:47 +00:00
Mathias Vorreiter Pedersen
deb43c21e6
C++: Use local flow instead of GVN to find parameters that are used in switch statements.
2023-03-15 10:00:47 +00:00
Anders Schack-Mulligen
6408d7cbbe
Java: Refactor RsaWithoutOaep.
2023-03-15 10:37:54 +01:00
Anders Schack-Mulligen
b3b5c2c767
Java: Refactor UnsafeContentUriResolution.
2023-03-15 10:32:58 +01:00
Anders Schack-Mulligen
4b814ec71c
Java: Refactor SensitiveCommunication.ql.
2023-03-15 10:32:35 +01:00
Anders Schack-Mulligen
ca8e013618
Java: Refactor FragmentInjection.
2023-03-15 10:23:21 +01:00
Anders Schack-Mulligen
5bd530f570
Java: Refactor IntentUriPermissionManipulation.
2023-03-15 10:13:28 +01:00
Anders Schack-Mulligen
b14b95cd79
Java: Refactor LogInjection
2023-03-15 10:10:02 +01:00
Anders Schack-Mulligen
abf3abdc65
Java: Delete DataFlowForOnActivityResult.
2023-03-15 09:47:21 +01:00
Anders Schack-Mulligen
bea7c43584
Java: Delete DataFlowForSerializability
2023-03-15 09:42:02 +01:00
Anders Schack-Mulligen
e8a7139020
Merge pull request #12476 from aschackmull/java/refactor-dataflow-queries-2
...
Java: Refactor more dataflow queries to the new API
2023-03-15 09:40:32 +01:00
Arthur Baars
fbe9823a42
Merge branch 'main' into henrymercer/polish-diagnostics
2023-03-14 23:42:33 +01:00
Henry Mercer
1454890a58
C#: Add new paragraphs before call to action
2023-03-14 21:52:23 +00:00
Henry Mercer
1394abcf98
JS: Update diagnostics IDs for consistency with rules
2023-03-14 21:44:19 +00:00
Henry Mercer
1f63c5d5e4
JS: Update parse error diagnostic name for consistency
2023-03-14 21:43:32 +00:00
Harry Maclean
604d5f0c71
Merge pull request #12510 from hmac/merge-ruby-extractor
...
Ruby: Merge extractor crates
2023-03-15 09:41:07 +13:00
Harry Maclean
fd43ba0827
Update .github/workflows/ruby-build.yml
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2023-03-15 09:28:53 +13:00
Harry Maclean
6dcc884fe1
Ruby: Small doc change
...
This is primarily to bust the actions cache, to test a change in the
ruby-build workflow.
2023-03-15 08:42:24 +13:00
Harry Maclean
eefc4866ea
Ruby: build query pack in temporary directory
...
This ensures we don't clobber any existing directories in the repo.
2023-03-15 08:20:23 +13: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
Henry Mercer
bc106873c1
C#: Fix casing of "CodeQL Action"
2023-03-14 17:24:30 +00:00
Henry Mercer
7e4f77bfb3
C#: Only serialize the location if it is present
2023-03-14 17:23:00 +00:00
Henry Mercer
a6509c7a37
Ruby: Use rb prefix in diagnostic IDs for consistency with queries
2023-03-14 17:13:50 +00:00
Henry Mercer
769f9051af
Ruby: Serialize severities as lowercase
2023-03-14 17:09:25 +00:00
Henry Mercer
6fbc8261f2
Java: Add a full stop
2023-03-14 17:03:42 +00:00
Henry Mercer
770924455e
Java: Use Dotcom help links
2023-03-14 17:00:48 +00:00
Henry Mercer
ce96f009b7
Java: Capitalise HTTPS
2023-03-14 16:58:24 +00:00
Henry Mercer
819e0dfbf0
Java: Use "relevant" instead of "suspicious"
2023-03-14 16:54:14 +00:00
Henry Mercer
110cb64b7a
Java: Avoid reference to other diagnostics
2023-03-14 16:52:58 +00:00
Henry Mercer
4c329b7b62
Java: Remove "please" in diagnostics
...
Per review from docs team
2023-03-14 16:46:06 +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
Harry Maclean
999b12f78b
Ruby: better errors in generator
...
Provide more context if a file cannot be opened by the generator.
2023-03-14 18:12:01 +13:00
Harry Maclean
7ee7a0df34
Ruby: fix prefix in create-extractor-pack scripts
2023-03-14 18:12:01 +13: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
Harry Maclean
f19e48d473
Ruby: Update binary prefixes in build
2023-03-14 12:53:37 +13:00
Harry Maclean
4de31e8577
Ruby: Ensure right directory for extractor build
2023-03-14 12:40:37 +13:00
Harry Maclean
f3272239bd
Ruby: Format rust files
2023-03-14 12:31:50 +13:00
Harry Maclean
cd9927cf66
Ruby: Update create-extractor-pack
2023-03-14 12:23:09 +13:00
Harry Maclean
0e5dcddb98
Ruby: Fix cargo fmt step in build
2023-03-14 12:17:04 +13:00
Harry Maclean
5c59692b3a
Ruby: Update workflow for new extractor location
2023-03-14 12:10:56 +13:00
Harry Maclean
e070bd512e
Ruby: Move some support files to new extractor
2023-03-14 12:07:39 +13:00
Harry Maclean
194edd76e5
Ruby: Put all binaries in same directory
2023-03-14 12:03:46 +13:00
Harry Maclean
a7e276343e
Ruby: Update .gitignore for moved extractor
2023-03-14 12:03:03 +13:00
Harry Maclean
f53c31398c
Ruby: Fix imports in extractor
2023-03-14 12:02:11 +13:00
Harry Maclean
15bd825805
Ruby: finish reorganising extractor files
2023-03-14 11:49:18 +13:00
Harry Maclean
6f23111320
Ruby: Remove old Cargo.toml files
2023-03-14 11:47:21 +13:00
Harry Maclean
983b84276b
Ruby: Lift extractor binaries
2023-03-14 11:45:46 +13:00
Harry Maclean
1a71c3f174
Ruby: Merge extractor crates
...
This just moves the files, so as not to confuse git when we make changes
to them.
2023-03-14 11:43:17 +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
Mathias Vorreiter Pedersen
d96dbea7be
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-13 17:19:13 +01:00
Mathias Vorreiter Pedersen
136769d647
Merge pull request #12507 from MathiasVP/fix-as-expr-performance-2
...
C++: Map some indirect nodes to expressions in `localExprFlowStep`
2023-03-13 16:03:48 +00:00
Paolo Tranquilli
fcd14a78ab
Swift: add an initial draft for a deduplication test
2023-03-13 15:55:45 +01:00
Mathias Vorreiter Pedersen
a5051655a1
C++: Autoformat.
2023-03-13 15:41:17 +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
Mathias Vorreiter Pedersen
00450d10bb
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-13 14:50:17 +01:00
Mathias Vorreiter Pedersen
58c1518fbd
C++: Fix QLDoc.
2023-03-13 14:45:00 +01:00
Mathias Vorreiter Pedersen
97462a3fa0
C++: Include more expressions in 'asExpr' in local expression flow.
2023-03-13 14:29:11 +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
7c0e89ffdd
Java: Refactor ArithmeticTainted.ql, TempDirLocalInformationDisclosure.ql
2023-03-13 11:27:14 +01:00
Anders Schack-Mulligen
da273269cb
Java: Refactor PolynomialReDoS.ql
2023-03-13 11:27:14 +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
Mathias Vorreiter Pedersen
d25a312557
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-09 18:38:00 +00:00
Mathias Vorreiter Pedersen
d89b8ba446
Merge pull request #12469 from MathiasVP/speedup-CleartextSqliteDatabase
...
C++: Restrict sinks in `cpp/cleartext-storage-database`
2023-03-09 18:33:51 +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
Jeroen Ketema
67a07e98a2
Merge pull request #12339 from jketema/new-docs
...
C++: Add copy of dataflow docs for new use-use dataflow library
2023-03-09 16:56:43 +01: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
Jeroen Ketema
13483be5ed
Merge pull request #12465 from jketema/get-a-use-2
...
C++: Use `getAUse` in `getIRRepresentationOfIndirectOperand`
2023-03-09 16:54:32 +01: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
84a61d1e02
C++: No need for 'matches'.
2023-03-09 15:36:26 +00: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
Jeroen Ketema
a40a578576
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst
2023-03-09 16:24:13 +01:00
Mathias Vorreiter Pedersen
2931e5dea8
C++: Reduce duplication by blocking flow into sources (since we'll already be considering flow starting at those sources) and out of sinks (since we'll already be alerting on this sink if it's relevant).
2023-03-09 14:59:13 +00:00
Mathias Vorreiter Pedersen
03ba7ea851
C++: Move the weird global property 'not sqlite_encryption_used()' from the sink definition to the source definition. The dataflow library starts tracking flow from the sources, so it's better to to rule out the entire database in the source definition than in the sink definition.
2023-03-09 14:59:13 +00:00
Mathias Vorreiter Pedersen
7819a7d2bc
C++: Severely restrict the set of sinks in 'cpp/cleartext-storage-database'. This reduces the number of sinks considered on the 'sysown/proxysql' from > 62000 sinks to ~1000 sinks.
2023-03-09 14:59:13 +00: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
Rasmus Wriedt Larsen
293f791611
Python: Remove solved consistency work-around
...
This has not been needed for some time now, but hadn't been removed
before now.
2023-03-09 15:45:20 +01: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
Jeroen Ketema
de97ae38dc
C++: C++: Use getAUse in getIRRepresentationOfIndirectOperand
2023-03-09 15:15:00 +01:00
Rasmus Wriedt Larsen
38fe9b71b9
Ruby: Use new parameter position for synthetic hash-splat instead
...
We wanted to ensure that a callable did not have multiple parameters
with same parameter position. Originally we fixed this with
e0bd210797 . This commit reverts that and
solves it by introducing a new parameter position instead.
2023-03-09 15:05:07 +01:00
Owen Mansel-Chan
f87b307ddb
The source name of a diagnostic should not change
2023-03-09 14:00:52 +00:00
Rasmus Wriedt Larsen
bdda0f574b
Python: Use new parameter position for synthetic **kwargs instead
...
We wanted to ensure that a callable did not have multiple parameters
with same parameter position. Originally we fixed this with
02b3a1b515 (like Ruby). This commit
reverts that and solves it by introducing a new parameter position
instead.
2023-03-09 15:00:20 +01:00
Jeroen Ketema
30ad113d4c
Merge pull request #12454 from jketema/get-a-use
...
C++: Use `getAUse` in `getIRRepresentationOfOperand`
2023-03-09 14:14:23 +01: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
Jeroen Ketema
e5ce27fbf9
C++: Fix a number of instances where a dataflow node did not have a location
2023-03-09 10:32:30 +01:00
Jeroen Ketema
31fa230c0d
C++: Remove toStringImpl predicate that is overridden in every subclass
2023-03-09 10:29:17 +01:00
Jeroen Ketema
4ee13a3234
C++: Remove getLocationImpl predicate that is always overridden
...
Also remove the predicate referred to in ints implementation, as it is no
longer used.
2023-03-09 10:27:15 +01:00
Jeroen Ketema
791f5913d2
C++: Fix multiple getLocation consistency error in use-use dataflow
2023-03-09 10:25:02 +01: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
Jeroen Ketema
55da3257bf
C++: Fix multiple toString consistency error in use-use dataflow
2023-03-09 10:08:25 +01:00
Jeroen Ketema
a2248cb5a0
C++: Use getAUse in getIRRepresentationOfOperand
2023-03-09 09:45:54 +01:00
Jeroen Ketema
fadd23a2a0
Merge pull request #12443 from jketema/even-more-configsig
...
C++: Update more queries with `DataFlow::ConfigSig`
2023-03-09 08:54:31 +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
Jeroen Ketema
57c8f5111d
C++: Address docs review comments
2023-03-08 19:38:25 +01: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
Jeroen Ketema
3f905f2675
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-08 19:10:11 +01:00
Michael B. Gale
695160d480
Remove check for stdout redirection
2023-03-08 18:09:09 +00:00
Jeroen Ketema
f6e05836f1
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-08 19:08:35 +01:00
Jeroen Ketema
2ecc8a5abe
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-08 19:08:19 +01: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
Jeroen Ketema
30cbc91092
C++: Update XXE XML query with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
6f2407412e
C++: Update some dataflow tests to use DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
8253f2d343
C++: Update UnsafeDaclSecurityDescriptor with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
7fe1a9431c
C++: Update PotentiallyExposedSystemData with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
53aa34bdd3
C++: Update UnsafeCreateProcessCall with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
af612a12de
C++: Update TlsSettingsMisconfiguration with DataFlow::ConfigSig
2023-03-08 15:04:52 +01:00
Jeroen Ketema
4363a8ea30
C++: Update leap year queries with DataFlow::ConfigSig
2023-03-08 15:04:52 +01:00
Jeroen Ketema
e65ba13da4
C++: Update NonConstantFormat with DataFlow::ConfigSig
2023-03-08 15:04:52 +01:00
Jeroen Ketema
661160a98e
C++: Update PrivateCleartextWrite with DataFlow::ConfigSig
2023-03-08 15:04:45 +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
a247a8b3ea
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-08 13:35:35 +00:00
Mathias Vorreiter Pedersen
e68bb53a6b
Merge pull request #12435 from jketema/more-config
...
C++: Convert a number of data flow based queries to use `ConfigSig`
2023-03-08 13:25:54 +00: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
Mathias Vorreiter Pedersen
c84d88f5aa
Merge pull request #12429 from MathiasVP/actually-implement-language-specific-flow-into-call-node-cand1
...
C++: Implement `getAdditionalFlowIntoCallNodeTerm`
2023-03-08 11:58:56 +00: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
Mathias Vorreiter Pedersen
8308c661b4
Merge pull request #12432 from MathiasVP/fix-ir-uninitialized-node
...
C++: Fix `asUninitialized`
2023-03-08 10:03:46 +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
Mathias Vorreiter Pedersen
5a6b94eda2
C++: Respond to PR reviews.
2023-03-08 09:38:56 +00:00
Michael Nebel
0714310661
C#: Add some more test examples.
2023-03-08 10:14:49 +01:00
Mathias Vorreiter Pedersen
263b208282
C++: Disambiguate a test annotation.
2023-03-08 09:07:07 +00: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
Jeroen Ketema
5391b13db9
C++: Make dataflow configuration modules private in qll files
2023-03-08 09:18:09 +01:00
Jeroen Ketema
0f8a12f3ac
C++: Add change note for deprecated data flow configurations in qll files
2023-03-08 09:00:43 +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
Jeroen Ketema
13bdd9c0c6
C++: Fix query compliation
...
Apparently some queries we skipped in the testing I did locally.
2023-03-07 19:16:10 +01:00
Jeroen Ketema
57c5d5f2c7
C++: Add QLDoc on configuration modules where the original class had one
2023-03-07 19:01:05 +01:00
Jeroen Ketema
0c39d1e5ca
C++: Fix query formatting
2023-03-07 18:55:58 +01:00
Jeroen Ketema
2eb2e11ef7
C++: Fix query compilation
2023-03-07 18:53:07 +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
Jeroen Ketema
fb57914751
C++: Convert a number of data flow based queries to use ConfigSig
2023-03-07 18:21:52 +01:00
Arthur Baars
858aa9ae63
Ruby: add some links to diagnostic messages
2023-03-07 17:55:13 +01:00
Mathias Vorreiter Pedersen
cc0b8bbebb
Merge pull request #12430 from MathiasVP/no-to-string-on-state-in-cast-array-pointer-arith
...
C++: Convert `cpp/upcast-array-pointer-arithmetic` to the new API
2023-03-07 16:48:15 +00: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
Mathias Vorreiter Pedersen
eea02e1ac1
C++: Accept test changes.
2023-03-07 16:18:43 +00:00
Mathias Vorreiter Pedersen
a39a6ea648
C++: Don't use indirect instructions for asUnitialized.
2023-03-07 16:18:27 +00:00
Mathias Vorreiter Pedersen
ce02de48a0
C++: Fix Code Scanning error.
2023-03-07 14:40:36 +00:00
Mathias Vorreiter Pedersen
f2b311a008
C++: We don't need to check type equivalence at the end anymore: the dataflow state now precisely tracks the types.
2023-03-07 14:31:11 +00:00
Mathias Vorreiter Pedersen
ce6366f023
C++: Use the parameterized module dataflow API in 'cpp/upcast-array-pointer-arithmetic'.
...
This allows us to swap out the old string state with the Type-based state.
2023-03-07 14:17:12 +00:00
Mathias Vorreiter Pedersen
0d1e061f5a
C++: Implement 'getAdditionalFlowIntoCallNodeTerm'.
2023-03-07 13:45:32 +00:00
Mathias Vorreiter Pedersen
63690066c5
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-07 13:06:43 +00:00
Mathias Vorreiter Pedersen
b054b9c5cd
Merge pull request #12408 from jketema/merge-main
...
C++: use-use dataflow merge main
2023-03-07 13:05:30 +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
Jeroen Ketema
9ec479a2a0
C++: Update queries to use DataFlow::ConfigSig
2023-03-07 10:15:11 +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
Mathias Vorreiter Pedersen
aa09361a42
Merge pull request #12407 from MathiasVP/fix-internal-system-data-tests
2023-03-06 15:45:25 +00:00
Jeroen Ketema
47930f94e2
Merge remote-tracking branch 'upstream/main' into merge-main
2023-03-06 15:20:39 +01: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
Mathias Vorreiter Pedersen
d2d91cfb29
C++: Accept test changes.
2023-03-06 11:30:40 +00:00
Mathias Vorreiter Pedersen
8836cbae5b
C++: Make sure we use an indirect sink only for the sinks that receive a
...
pointer to the data. Also fix a bug where we used 'asExpr' instead
of 'asIndirectExpr'.
2023-03-06 11:22:58 +00: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
Jeroen Ketema
fe5fbaa142
C++: Replace hasQualifiedName by hasGlobalName in docs examples
2023-03-03 15:08:00 +01:00
Jeroen Ketema
620c69df12
C++: Add more static qualifiers in syntax zoo test
2023-03-03 15:03:31 +01: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
Jeroen Ketema
87b1c3eaa8
Merge pull request #12381 from jketema/silence
...
C++: Silence some more bogus consistency errors in syntax zoo
2023-03-03 12:51:39 +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
Mathias Vorreiter Pedersen
16e817c814
Merge pull request #12356 from MathiasVP/use-phi-reads
...
C++: Include "phi reads" in `DataFlow::Node`
2023-03-03 11:14:08 +00:00
Jeroen Ketema
4faede0e2c
C++: Silence some more bogus consistency errors in syntax zoo
...
These were due to several functions occurring that would have the same TRAP key.
By making the functions static or wrapping the defining class in an anonymous
namespace the TRAP keys will differ from each other.
2023-03-03 12:07:33 +01:00
Jeroen Ketema
7f9b856a21
Merge pull request #12378 from jketema/silence
...
C++: Silence a number of bogus consistency errors in syntax zoo
2023-03-03 12:05:29 +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
Jeroen Ketema
f649def3f8
C++: Silence a number of bogus consistency errors in syntax zoo
...
These were due to several functions occurring that would have the same TRAP
key. By making the functions static the TRAP keys will differ from each other.
2023-03-03 11:16:19 +01: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
Mathias Vorreiter Pedersen
959237e8d2
C++: Fix missing type for Phi nodes.
2023-03-02 22:48:10 +00:00
Mathias Vorreiter Pedersen
2963dc1cb1
C++: Include phi read nodes in SSA.
...
There's a small fix to the mapping from 'global def -> use'.
Finally, this commit also accepts a test failure related to new missing
types for phi nodes. The fix for that is in the next commit.
2023-03-02 22:48:06 +00:00
Mathias Vorreiter Pedersen
b3f92fcf0f
C++: Add FN caused by missing static local initialization in SSA.
2023-03-02 22:37:52 +00: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
Jeroen Ketema
f6ce27075c
C++: Address review comments
2023-03-02 14:32:49 +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
Jeroen Ketema
7ce230af77
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-03-02 11:58:29 +01: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
Mathias Vorreiter Pedersen
c2efb4d232
Merge pull request #12350 from MathiasVP/no-standard-order-for-convertsIntoArgumentRev
...
C++: Disable a bad standard order
2023-03-02 10:27:20 +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
Jeroen Ketema
87f0f1fb33
C++: Fix description of asIndirectExpr and asParameter\1 in docs
2023-03-02 09:08:38 +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
Jeroen Ketema
c6dc55ef9b
C++: Update use-use dataflow docs to reflect what is going on in the library
2023-03-01 19:00:33 +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
Mathias Vorreiter Pedersen
2f8d71762c
C++: Disable standard order for 'convertsIntoArgumentRev'.
2023-03-01 15:16:49 +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
Mathias Vorreiter Pedersen
0469df1c18
Merge pull request #12338 from MathiasVP/expr-sanitizer-for-exec-tainted
...
C++: Speedup `cpp/command-line-injection`
2023-03-01 11:40:05 +00: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
Mathias Vorreiter Pedersen
a96145a4ac
Merge pull request #12340 from MathiasVP/remove-uncertain-write-def-input-predicate
...
C++: Remove dead code
2023-02-28 17:07:17 +00:00
Mathias Vorreiter Pedersen
d5b0ad6bfc
C++: Remove cached predicate that's no longer used.
2023-02-28 16:20:29 +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
Jeroen Ketema
2f797fffc1
C++: Add copy of dataflow docs for new use-use dataflow library
2023-02-28 16:48:26 +01: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
Mathias Vorreiter Pedersen
075a83c987
Stage stats before on 'ExecTainted.ql' before:
...
```
1 10 1 Fwd 609968 1398 -1 94 769936 ExecTaintConfiguration
2 15 1 Rev 239464 774 -1 52 320663 ExecTaintConfiguration
3 20 2 Fwd 205794 511 650 39 18576546 ExecTaintConfiguration
4 25 2 Rev 161966 351 428 39 13639502 ExecTaintConfiguration
5 30 3 Fwd 31889 322 791 39 5982574 ExecTaintConfiguration
6 35 3 Rev 30068 303 661 39 4181421 ExecTaintConfiguration
7 40 4 Fwd 24031 232 1432 39 14725618 ExecTaintConfiguration
8 45 4 Rev 21506 219 907 39 5962780 ExecTaintConfiguration
9 50 5 Fwd 20149 204 1527 38 8350094 ExecTaintConfiguration
10 55 5 Rev 20102 204 1472 38 7515307 ExecTaintConfiguration
11 60 6 Fwd 19950 200 904 33 9673369 ExecTaintConfiguration
12 65 6 Rev 18431 200 901 33 7030957 ExecTaintConfiguration
```
Stage stats after:
```
1 10 1 Fwd 368610 699 -1 65 445199 ExecTaintConfiguration
2 15 1 Rev 112848 336 -1 23 150522 ExecTaintConfiguration
3 20 2 Fwd 91528 219 270 22 4120713 ExecTaintConfiguration
4 25 2 Rev 66017 141 159 22 2657398 ExecTaintConfiguration
5 30 3 Fwd 12161 119 208 22 792468 ExecTaintConfiguration
6 35 3 Rev 11640 111 167 22 569193 ExecTaintConfiguration
7 40 4 Fwd 11423 109 331 22 1203871 ExecTaintConfiguration
8 45 4 Rev 10851 107 323 22 904017 ExecTaintConfiguration
9 50 5 Fwd 10694 107 763 22 2428404 ExecTaintConfiguration
10 55 5 Rev 10332 104 735 22 2355698 ExecTaintConfiguration
11 60 6 Fwd 10302 104 729 22 5772762 ExecTaintConfiguration
12 65 6 Rev 9482 102 725 22 4020951 ExecTaintConfiguration
```
2023-02-28 15:05:29 +00:00
Mathias Vorreiter Pedersen
8dd0bdbdb0
C++: Rename 'fst' and 'snd' to 'incoming' and 'outgoing'.
2023-02-28 15:05:18 +00: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
Jeroen Ketema
5845528bae
Merge pull request #12336 from jketema/docs-examples
...
C++: Add tests for all dataflow examples that occur in our docs
2023-02-28 15:45:46 +01: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
Jeroen Ketema
3014f207f3
C++: Add tests for all dataflow examples that occur in our docs
2023-02-28 14:45:00 +01:00
Mathias Vorreiter Pedersen
484f761c6d
Merge pull request #12316 from MathiasVP/no-taint-indirect-direct-conflation
...
C++: Remove indirect -> direct taint-flow
2023-02-28 13:43:04 +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
Mathias Vorreiter Pedersen
d93d22ba3e
C++: Fix FPs in 'cpp/non-constant-format'.
2023-02-28 10:05:05 +00: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
Mathias Vorreiter Pedersen
1e5b235f4b
C++: Accept test changes in 'cpp/non-constant-format'. These are actually FPs.
2023-02-28 10:02:32 +00:00
Felicity Chapman
b21253732b
Update for review feedback
2023-02-28 09:58:51 +00:00
Mathias Vorreiter Pedersen
85c7116e8f
C++: Fix the following join (I canceled it mid-way):
...
```
Tuple counts for SsaInternals#7b362d2f::getAPriorDefinition#1#ff/2@bfabfc7o after 11.4s:
1000 ~4% {2} r1 = SCAN Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInput#::Definition::definesAt#3#dispred#ffff OUTPUT In.1, In.0
474321529 ~0% {4} r2 = JOIN r1 WITH SsaInternals#7b362d2f::DefOrUse::hasIndexInBlock#3#dispred#ffff_3012#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.2, Rhs.3, Rhs.1
0 ~0% {2} r3 = JOIN r2 WITH SsaInternals#7b362d2f::SsaCached::lastRefRedef#4#ffff ON FIRST 3 OUTPUT Lhs.3, Rhs.3
0 ~0% {2} r4 = JOIN r3 WITH SsaInternals#7b362d2f::nodeToDefOrUse#3#fff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1 'result'
0 ~0% {2} r5 = JOIN r4 WITH SsaInternals#7b362d2f::ssaDefinition#1#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'defOrUse', Lhs.1 'result'
return r5
```
2023-02-28 09:53:37 +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
Mathias Vorreiter Pedersen
04b84320c9
C++: Accept more query-test changes.
2023-02-28 00:06:35 +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
Mathias Vorreiter Pedersen
3906a1923b
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into no-taint-indirect-direct-conflation
2023-02-27 18:40:04 +00:00
Mathias Vorreiter Pedersen
f9c724d9a3
Merge pull request #12325 from MathiasVP/gets-return-deref
...
C++: Make `gets` indirect output a LocalFlowSource
2023-02-27 18:39:36 +00:00
Arthur Baars
6c57823232
Merge branch 'main' into diagnostics-2
2023-02-27 19:00:03 +01:00
Jeroen Ketema
9c202f508f
Merge pull request #12324 from jketema/taint-fix
...
C++: Use correct DataFlow import in new TaintTracking.qll
2023-02-27 18:37:46 +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
Mathias Vorreiter Pedersen
7bb806563f
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into no-taint-indirect-direct-conflation
2023-02-27 17:19:36 +00:00
Mathias Vorreiter Pedersen
d90d895944
Merge pull request #12323 from MathiasVP/fix-enclosing-callable
...
C++: Fix missing enclosing callables
2023-02-27 17:19:06 +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
Mathias Vorreiter Pedersen
2a9133aae0
C++: Accept query-test changes.
2023-02-27 17:15:53 +00:00
Mathias Vorreiter Pedersen
d628905156
C++: Accept more test changes.
2023-02-27 17:13:23 +00: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
Mathias Vorreiter Pedersen
a4c075f03b
C++: The data pointed to by 'gets' is also a source of user input.
2023-02-27 16:25:32 +00:00
Jeroen Ketema
b4f6d519db
C++: Use correct DataFlow import in new TaintTracking.qll
...
Using the IR version directly gives errors about conflicting imports if both
DataFlow and TaintTracking are imported.
2023-02-27 17:22:12 +01: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
Mathias Vorreiter Pedersen
b36d4931f2
C++: Fix test annotation.
2023-02-27 15:47:52 +00:00
Felicity Chapman
29802af647
Fix typo in heading
2023-02-27 15:06:19 +00:00
Mathias Vorreiter Pedersen
d2f8cb6920
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into fix-enclosing-callable
2023-02-27 15:02:39 +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
Mathias Vorreiter Pedersen
31f3504113
C++: Remove this bad materialization:
...
```
Evaluated relational algebra for predicate _CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs_SsaInternals#50208335::DefO__#shared@ec353boa with tuple counts:
459594 ~0% {2} r1 = JOIN _IRVariable#e9bf30b2::IRVariable::getAst#0#dispred#ff_Parameter#ed81dd8f::Parameter#f#shared WITH SsaInternalsCommon#3c4fa02d::BaseIRVariable::getIRVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'arg1', Rhs.1
461383 ~2% {3} r2 = JOIN r1 WITH Variable#7a968d4e::Variable::getUnspecifiedType#0#dispred#ff ON FIRST 1 OUTPUT Lhs.0 'arg1', Lhs.1, Rhs.1
477945 ~6% {4} r3 = JOIN r2 WITH Variable#7a968d4e::Variable::getUnspecifiedType#0#dispred#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.0 'arg1', Lhs.1, Rhs.1
346338 ~2% {4} r4 = JOIN r3 WITH SsaInternalsCommon#3c4fa02d::Indirection::getNumberOfIndirections#0#dispred#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1 'arg1', Lhs.2, Rhs.1 'arg2'
178593374 ~0% {4} r5 = JOIN r4 WITH CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'arg1', Lhs.3 'arg2', Rhs.1 'arg3'
934806228 ~0% {4} r6 = JOIN r5 WITH SsaInternals#50208335::DefOrUse::getSourceVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'arg0', Lhs.1 'arg1', Lhs.2 'arg2', Lhs.3 'arg3'
return r6
Tuple counts for _DataFlowPrivate#fbdd7bd7::InstructionNode0#class#ff_SsaInternals#50208335::Def#ff_SsaInternals#5020__#antijoin_rhs/4@305d42l5 after 25.6s:
180185672 ~0% {4} r1 = JOIN _CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs_SsaInternals#50208335::DefO__#shared WITH SsaInternals#50208335::Def#ff ON FIRST 1 OUTPUT Lhs.0 'arg3', Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2'
180185672 ~0% {5} r2 = JOIN r1 WITH SsaInternals#50208335::Def::getValue#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.0 'arg3'
180185672 ~0% {5} r3 = JOIN r2 WITH DataFlowPrivate#fbdd7bd7::InstructionNode0#class#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4 'arg3'
178459578 ~1% {4} r4 = JOIN r3 WITH project#Instruction#577b6a83::InitializeParameterInstruction#ff ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4 'arg3'
return r4
Tuple counts for SsaInternals#7b362d2f::TFinalParameterUse#dom#ff/2@9ff4dbcg after 7.9s:
180185672 ~1% {4} r1 = JOIN _CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs_SsaInternals#50208335::DefO__#shared WITH SsaInternals#50208335::Def#ff ON FIRST 1 OUTPUT Lhs.1 'p', Lhs.2, Lhs.3, Lhs.0
1726094 ~0% {4} r2 = r1 AND NOT _DataFlowPrivate#fbdd7bd7::InstructionNode0#class#ff_SsaInternals#50208335::Def#ff_SsaInternals#5020__#antijoin_rhs(Lhs.0 'p', Lhs.1, Lhs.2, Lhs.3)
1726094 ~54% {4} r3 = SCAN r2 OUTPUT In.0 'p', In.1, In.2, 1
1769636 ~54% {5} r4 = JOIN r3 WITH PRIMITIVE range#bbf ON Lhs.3,Lhs.1
1769636 ~45% {4} r5 = SCAN r4 OUTPUT In.2, (In.4 'indirectionIndex' + 1), In.0 'p', In.4 'indirectionIndex'
591253 ~11541% {2} r6 = JOIN r5 WITH SsaInternalsCommon#3c4fa02d::isModifiableAtImpl#2#ff ON FIRST 2 OUTPUT Lhs.2 'p', Lhs.3 'indirectionIndex'
1769636 ~52% {4} r7 = SCAN r4 OUTPUT In.2, In.0 'p', In.4 'indirectionIndex', (In.4 'indirectionIndex' + 1)
1724893 ~41% {5} r8 = JOIN r7 WITH CppType#d1355c92::CppType::hasType#2#dispred#fff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'p', Lhs.0, Lhs.2 'indirectionIndex', Lhs.3
1718843 ~46% {5} r9 = JOIN r8 WITH Type#2e8eb3ef::Type::stripType#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'p', Lhs.2, Lhs.3 'indirectionIndex', Lhs.4
8608 ~0% {5} r10 = JOIN r9 WITH SmartPointer#917721ba::SmartPtr#f ON FIRST 1 OUTPUT Lhs.1 'p', Lhs.2, Lhs.3 'indirectionIndex', Lhs.4, Lhs.0
8608 ~0% {5} r11 = r10 AND NOT PointerWrapper#7cc81d2d::PointerWrapper::pointsToConst#0#dispred#f(Lhs.4)
8608 ~4986% {2} r12 = SCAN r11 OUTPUT In.0 'p', In.2 'indirectionIndex'
599861 ~11711% {2} r13 = r6 UNION r12
return r13
```
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
354a12c906
C++: Fix queries. Since there's no longer indirect -> direct flow in
...
taint-tracking we need to make sure the affected sink definitions also
handle indirect flow.
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
1db24dd28d
C++: Fix missing types. We now assign the node corresponding to **p
...
an `UnknownType`.
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
4e16bb65e3
C++: Accept test changes. Because we now allocate _three_ indirect nodes
...
for a value of type `void*` (i.e., `p`, `*p` and `**p`) we need to decide
on a type for the `**p` value. We will do this in the next commit.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
16ba4652af
C++: Allocate an additional indirection for void pointers.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
f6b9ca3da6
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
da4a059388
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
52e6e1dece
C++: Fix flow through partial definitions.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
575ac46bf3
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b952f619db
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
057e810122
C++: Fix flow through arrays.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
9d64c0a023
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
1e4caca23a
C++: Accept query changes. Nothing bad to see here.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
2cb4a554ea
C++: Fix a bug in Expr <-> Node mapping.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
09df318e9e
C++: Also track flow out of indirect sources.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
a806569b5f
C++: The next commit is going to track flow out of both direct and indirect sources. This means we'll get a lot of duplication since there'll be flow from indirect source -> indirect sink and direct source -> direct sink (which both map to the same expressions). This commit changes the testing so that we only report a duplication when they're at different locations.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
5a8b900394
C++: Properly track smart pointer wrappers.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
64abf5b163
C++: Add conflation into DefaultTaintTracking.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b951bf0f8f
C++: Remove conflation from taint-tracking.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
a5bb093935
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-27 14:57:06 +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
Mathias Vorreiter Pedersen
7437de2909
C++: Fix issue where 'getEnclosingCallable' didn't exist for some globals.
2023-02-27 14:06:13 +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
Nick Rolfe
44dc5a1f0b
Merge pull request #12209 from github/release-prep/2.12.3
...
Release preparation for version 2.12.3
2023-02-16 13:25:19 +00: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
Nick Rolfe
b4d59ff932
Go: changenote grammar tweaks
2023-02-16 12:07:47 +00:00
github-actions[bot]
b0315119c6
Release preparation for version 2.12.3
2023-02-16 11:49:06 +00: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
Chris Smowton
180246b99c
Merge pull request #12197 from smowton/smowton/admin/go-120-features
...
Go: complete Go 1.20 support
2023-02-16 08:12:02 +00: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
Owen Mansel-Chan
45c1537f06
Merge pull request #12198 from github/smowton/admin/update-change-note
...
Update Twirp change note to new style
2023-02-15 21:54:48 +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
Rasmus Wriedt Larsen
ee5382d8a6
Merge pull request #12193 from RasmusWL/import-resolution-fixup
...
Python: Fix `from <pkg> import *` import resolution
2023-02-15 20:13:24 +01:00
Chris Smowton
3ce7fafb67
Fix unsafe test routine name
2023-02-15 19:05:01 +00:00
Chris Smowton
14655e1d8c
Autoformat go
2023-02-15 18:41:14 +00: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
Chris Smowton
261a1348f0
Update Twirp change note to new style
2023-02-15 18:37:50 +00:00
Chris Smowton
c65fd69374
Add change note
2023-02-15 18:35:17 +00:00
Chris Smowton
233bd8ce8c
Claim Go 1.20 support
2023-02-15 18:31:28 +00:00
Chris Smowton
7e7850374e
Implement standard library models for Go 1.20
2023-02-15 18:29:49 +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
Chris Smowton
7d2b78b463
Note that all interface types are considered comparable as of Go 1.20
2023-02-15 17:15:00 +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
Rasmus Wriedt Larsen
c72dbc49fc
Merge pull request #12165 from RasmusWL/crypto-updates
...
Python/Ruby/JS Crypto: Add a few algorithms + block modes
2023-02-15 14:35:40 +01:00
Rasmus Wriedt Larsen
7e16fa9cbe
Python: Add change-note
2023-02-15 14:25:33 +01:00
Rasmus Wriedt Larsen
220f227707
Python: Add wrapper for isPreferredModuleForName
...
We talked about how it's annoying that we in 4 places have the same fix
`isPreferredModuleForName(<module>.getFile(), <name> + ["", ".__init__"])`
, and that it would be nice to have a simple wrapper predicate that
ensures we never forget to do the `+ ["", ".__init__"]` dance...
I had trouble coming up with a name for this (ironically), but
I think `getModuleFromName` is good enough.
2023-02-15 14:23:39 +01:00
Rasmus Wriedt Larsen
66c3529465
Python: Fix import * from __init__.py files
2023-02-15 14:10:37 +01:00
Rasmus Wriedt Larsen
df6039d6cf
Python: Add import resolution regression
2023-02-15 13:50:27 +01:00
Rasmus Wriedt Larsen
e1ae3c3cfb
Python: sys.exit if import resolution tests fail
2023-02-15 13:44:45 +01:00
Chris Smowton
368ca6cb30
Add test exercising Go 1.20 array conversions
2023-02-15 12:31:09 +00:00
Mathias Vorreiter Pedersen
2203eb6607
C++: Fix Code Scanning error.
2023-02-15 11:51:55 +00: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
Chris Smowton
2cd1e09a7e
Merge pull request #12111 from smowton/smowton/feature/java-merge-classes-and-interfaces
...
Java: merge the @class and @interface database types and tables
2023-02-15 10:27:41 +00:00
erik-krogh
759854991a
fix various nits based on feedback
2023-02-15 11:10:43 +01:00
Chris Smowton
5f0b1973ee
Merge pull request #12188 from smowton/smowton/feature/go-1.20-support
...
Go: Upgrade extractor compiler and dependency versions
2023-02-15 10:06:01 +00: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
Paolo Tranquilli
4be2e431ea
Merge pull request #12180 from github/redsun82/swift-codegen
...
Swift: some restructuring of codegen
2023-02-15 10:15:20 +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
Anders Schack-Mulligen
b52df0de0c
Merge pull request #12191 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-02-15 09:07:40 +01:00
Harry Maclean
fb14920281
Merge pull request #12056 from hmac/test-refactor
2023-02-15 17:34:25 +13:00
github-actions[bot]
5f07d1f385
Add changed framework coverage reports
2023-02-15 00:17:48 +00:00
Mathias Vorreiter Pedersen
c11218fcde
Merge pull request #12184 from MathiasVP/discriminate-union-contents
2023-02-14 23:36:02 +00:00
erik-krogh
b7305fd229
also consider relative exports when finding library inputs
2023-02-14 21:08:13 +01:00
Chris Smowton
194316d1c0
Accept test changes
...
Some diagnostics have been reworded for Go 1.20, and a standard library type parameter is visible to the TypeParamType test.
2023-02-14 18:33:53 +00:00
Chris Smowton
d075e016b2
Upgrade Go to 1.20
2023-02-14 17:59:18 +00:00
erik-krogh
de4f5017e1
add change-note
2023-02-14 18:36:07 +01:00
Chris Smowton
9e584eb241
Upgrade Go extractor compiler and dependency versions
2023-02-14 17:34:47 +00:00
Chris Smowton
62d10f91d8
Improve join ordering
2023-02-14 17:21:24 +00:00
Chris Smowton
d5f7ef08b7
Update stats
2023-02-14 17:21:24 +00:00
Chris Smowton
7f76d8ae55
Replace redundant use of Class or Interface
2023-02-14 17:21:24 +00:00
Chris Smowton
82a2f4349a
Resolve a newly-introduced ambiguity
...
Also fix a simple redundancy noticed while debugging
2023-02-14 17:21:24 +00:00
Chris Smowton
f48d87ba55
Add deletions for removed tables
2023-02-14 17:21:24 +00:00
Chris Smowton
3514dd1e4d
Java: merge the @class and @interface database types and tables
...
This will allow the extractor to emit class(id, ...) when all it knows about a class is its name, due to not having it available on the classpath. Previously it would have had to guess whether it belonged to @class or @interface, possibly introducing an inconsistency.
2023-02-14 17:21:23 +00:00
Jami
029e1d47fe
Merge pull request #12081 from jcogs33/jcogs33/update-some-Files-sinks
...
Java: update `createTempDirectory` and `copy` "create-file" sinks
2023-02-14 10:53:17 -05:00
Taus
e40bb6ac87
Merge pull request #12029 from github/tausbn/python-clean-up-version-handling
...
Python: Clean up version handling
2023-02-14 16:40:09 +01:00
Alex Ford
8d90c02a67
JS: remove unused field
2023-02-14 15:24:22 +00:00
Jeroen Ketema
899f35a59b
Merge pull request #12185 from jketema/test-annotations
...
C++: Update test annotations for use-use dataflow
2023-02-14 15:48:35 +01:00
Jeroen Ketema
1d4e9745a3
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-14 15:40:36 +01:00
Mathias Vorreiter Pedersen
2591460731
Merge pull request #12181 from MathiasVP/fix-node-type
...
C++: Fix node types
2023-02-14 13:54:12 +00:00
Taus
1b30043422
Python: Move change note to correct directory
2023-02-14 13:48:55 +00:00
Jeroen Ketema
9e462866a0
C++: Update test annotations for use-use dataflow
2023-02-14 14:48:08 +01: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
Mathias Vorreiter Pedersen
ba0be2fd9f
C++: Better discriminate for unions.
2023-02-14 13:26:40 +00:00
Taus
4f7c598ffc
Python: Add change note
2023-02-14 13:22:48 +00: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
Erik Krogh Kristensen
2f8c9a5a2c
Merge pull request #12171 from erik-krogh/reg-dot
...
JS: dont recognize regexps that match dot as sanitizers
2023-02-14 14:10:44 +01:00
Erik Krogh Kristensen
e3e2df3247
Merge pull request #12166 from erik-krogh/more-html-san
...
JS: add `HtmlSanitizer` as a sanitizer DOMBasedXss
2023-02-14 14:09:56 +01:00
Taus
39516862c1
Merge remote-tracking branch 'origin/main' into tausbn/python-clean-up-version-handling
2023-02-14 13:07:40 +00:00
Mathias Vorreiter Pedersen
4ba5059064
Merge pull request #12182 from MathiasVP/content-approx
...
C++: Use `Content` approximation
2023-02-14 13:00:47 +00:00
Erik Krogh Kristensen
028fcc7edf
Merge pull request #11959 from erik-krogh/ssrfSan
...
JS: add encodeURIComponent as a sanitizer for request-forgery
2023-02-14 13:39:53 +01:00
Erik Krogh Kristensen
a498936f16
Merge pull request #12170 from erik-krogh/more-lib
...
JS: More library inputs
2023-02-14 13:38:00 +01:00
Erik Krogh Kristensen
bca3fa94fd
Merge pull request #12159 from erik-krogh/express-ws
...
JS: add express-ws as a source
2023-02-14 13:36:33 +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
Joe Farebrother
f68083872d
Merge pull request #12174 from joefarebrother/stubgen-name-conflicts
...
Java: Stub generator: Use fully qualified names to avoid conflicts
2023-02-14 10:10:24 +00:00
Mathias Vorreiter Pedersen
b01a45f7be
C++: Respond to PR reviews.
2023-02-14 09:51:48 +00:00
Mathias Vorreiter Pedersen
bda46b3748
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-02-14 09:49:32 +00:00
Paolo Tranquilli
81de500301
Swift: fix import not working in all python versions
2023-02-14 10:40:05 +01:00
Mathias Vorreiter Pedersen
ffef81bc47
C++: Add QLDoc.
2023-02-14 09:38:43 +00:00
Mathias Vorreiter Pedersen
0a3f958849
C++: Use content approximations.
2023-02-14 09:10:10 +00:00
Mathias Vorreiter Pedersen
7a81f06e84
C++: Accept test changes.
2023-02-14 09:01:51 +00:00
Mathias Vorreiter Pedersen
cc036c188f
C++: Fix missing and spurious types.
2023-02-14 09:01:42 +00:00
Mathias Vorreiter Pedersen
748a345e7f
C++: Add a test to reveal missing or spurious types on dataflow nodes.
2023-02-14 08:58:29 +00:00
Anders Schack-Mulligen
0600a2ba96
Merge pull request #12138 from aschackmull/java/gen-file-mark-perf
...
Java: Improve performance of GeneratedFileMarker.
2023-02-14 09:57:09 +01:00
Tony Torralba
935e22d10d
Merge pull request #12139 from atorralba/atorralba/java/xxe-local-query
...
Java: Add local version of the XXE query
2023-02-14 09:54:36 +01:00
Paolo Tranquilli
8e079320f3
Swift: some restructuring of codegen
...
Loading of the schema and dbscheme has been moved to a separate
`loaders` package for better separation of concerns.
2023-02-14 09:53:02 +01:00
Michael Nebel
781aab3eb7
Merge pull request #11634 from michaelnebel/java/excludeinterfacemembers
...
Java: Exclude interface members from model generation.
2023-02-14 09:35:56 +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
erik-krogh
4140598769
update expected output for experimental query
2023-02-14 00:08:13 +01:00
erik-krogh
c17d057520
default to index.js when no main: is specified in package.json, and recognize more classes as library inputs
2023-02-13 21:24:41 +01:00
Joe Farebrother
0b722bfe30
Stub generator: Use fully qualified names to avoid conflicts
2023-02-13 17:09:32 +00:00
erik-krogh
68656274f4
dont recognize regexps that match dot as sanitizers
2023-02-13 17:36:51 +01:00
Jami Cogswell
e4c8387815
Java: update CaptureSinkModels.expected with read-file sink
2023-02-13 11:29:30 -05:00
Tony Torralba
1c57aa0456
Fix import locations
2023-02-13 17:13:01 +01:00
Tom Hvitved
8372ad9d84
Merge pull request #12169 from hvitved/util/numbers
...
Move `NumberUtils.qll` from Ruby into shared `util` pack
2023-02-13 16:37:51 +01:00
Tom Hvitved
2113c3c3d9
Ruby: Remove NumberUtils.qll
2023-02-13 15:59:50 +01:00
Tom Hvitved
29ce9bfe24
Util: Make some predicates private
2023-02-13 15:58:31 +01:00
Tom Hvitved
97f79602a9
Copy NumberUtils.qll from Ruby into shared util pack
2023-02-13 15:57:53 +01: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
erik-krogh
6192544fb4
add test for express-ws as a source
2023-02-13 15:26:50 +01:00
Jami Cogswell
1c3d4b98c8
Java: move change note
2023-02-13 09:15:31 -05:00
Jami Cogswell
191613e8bf
Java: update change note
2023-02-13 09:11:53 -05:00
Owen Mansel-Chan
4fa484dad2
Merge pull request #12130 from owen-mc/go/port-integration-tests
...
Go: port integration tests
2023-02-13 13:49:59 +00:00
Rasmus Wriedt Larsen
39e50f745d
Ruby: Fix .expected for CryptoAlgorithms
2023-02-13 14:21:12 +01:00
Michael Nebel
b3602a5b7f
C#: Use functionname as stored in the database.
2023-02-13 13:53:46 +01:00
Kasper Svendsen
c66a44f2e2
Merge pull request #12162 from kaspersv/kaspersv/inline-late-docs
...
QLDocs: Document inline_late pragma
2023-02-13 13:35:28 +01:00
Anders Schack-Mulligen
e877b161d8
Merge pull request #12124 from hvitved/dataflow/stage1-dispatch
...
Data flow: Call context virtual dispatch pruning in stage 1
2023-02-13 13:13:43 +01:00
Owen Mansel-Chan
7ebe472cfe
Move repo files into subfolder
...
This is so that the test-db doesn't get moved when all the repo files
are moved, which was causing some problems.
2023-02-13 11:59:38 +00:00
Owen Mansel-Chan
37d3793e87
Set LGTM_INDEX_IMPORT_PATH in two tests
...
This is needed for Dep and Glide
2023-02-13 11:59:38 +00:00
Owen Mansel-Chan
1f1e2dbf98
Make dep integration test linux-only
...
This is because there is no release of Dep for
MacOS (Arm).
2023-02-13 11:59:38 +00:00
Owen Mansel-Chan
3ee3acd8fd
Make Glide integration test linux-only
...
This is because it is hard to install Glide on the other platforms.
2023-02-13 11:59:37 +00:00
Owen Mansel-Chan
e635140eae
Add files needed for tests
2023-02-13 11:59:37 +00:00
Owen Mansel-Chan
f2c541a461
Delete build-sample test
...
This is adequately tested elsewhere.
2023-02-13 11:59:37 +00:00
Owen Mansel-Chan
f062a8d204
Copy LGTM integration tests over
2023-02-13 11:59:36 +00:00
Owen Mansel-Chan
947a9f12a1
Make DiagnosticsReporting.qll a library
2023-02-13 11:59:36 +00:00
Kasper Svendsen
11204987f1
Reword based on review comments
2023-02-13 12:49:50 +01:00
Michael Nebel
34c6b24882
Merge pull request #12147 from michaelnebel/csharp/relaxedshift
...
C# 11: Test of relaxed shift operator requirements.
2023-02-13 12:48:39 +01:00
Arthur Baars
457a2bb2a2
Merge pull request #12093 from aibaars/oneline-match
...
Ruby: add support for one-line pattern matches
2023-02-13 12:38:28 +01:00
Jeroen Ketema
73d877e3a5
Merge pull request #12163 from jketema/dataflow-new
...
C++: Add `semmle.code.cpp.dataflow.new`
2023-02-13 12:36:16 +01:00
Kasper Svendsen
ac54caac35
Update docs/codeql/ql-language-reference/annotations.rst
...
Co-authored-by: Philip Ginsbach <ginsbach@github.com >
2023-02-13 12:35:08 +01:00
Kasper Svendsen
426425a7ca
Update docs/codeql/ql-language-reference/annotations.rst
...
Co-authored-by: Philip Ginsbach <ginsbach@github.com >
2023-02-13 12:34:50 +01:00
Chris Smowton
0537579b28
Merge pull request #12131 from owen-mc/go/named-type-location
...
Add `hasLocationInfo` for `Type`s
2023-02-13 11:33:50 +00:00
Erik Krogh Kristensen
2f404df17c
Merge pull request #10782 from erik-krogh/rbPoly
...
Ruby: add library input as a source for `rb/polynomial-redos`
2023-02-13 12:26:07 +01:00
erik-krogh
b85bfc8ba6
add HtmlSanitizer as a sanitizer for DOMBasedXss
2023-02-13 11:57:29 +01:00
erik-krogh
c258e44772
add failing test for spurious edge through sanitizer
2023-02-13 11:49:57 +01:00
Erik Krogh Kristensen
26d5fb2412
Merge pull request #11824 from erik-krogh/secondMissAnchor
...
RB: add query detecting validators that use badly anchored regular expressions on library/remote input
2023-02-13 11:26:05 +01:00
Jeroen Ketema
b9200c92d5
C++: Address review comments
2023-02-13 11:14:48 +01:00
Kasper Svendsen
74472d786c
QLDocs: Document inline_late pragma
2023-02-13 10:51:48 +01:00
erik-krogh
634087b417
Merge branch 'main' into rbPoly
2023-02-13 10:46:00 +01:00
Michael Nebel
2ce6d5f920
Java: Update negative models test to not produce a negative summary for interface member.
2023-02-13 10:45:54 +01:00
Rasmus Wriedt Larsen
5235964b07
sync files
2023-02-13 10:44:12 +01:00
Rasmus Wriedt Larsen
b2e79e2948
Python/Ruby/JS Crypto: Add a few algorithms + block modes
...
I have tried to add a few links to support the claim that these
algorithms are strong/safe. It wasn't always super easy, so in some
cases I have ended up just linking to the documentation of the
`cryptography` Python package.
Co-authored-by: REDMOND\brodes <brodes@microsoft.com >
2023-02-13 10:40:47 +01:00
Paolo Tranquilli
f07c598a22
Merge pull request #12164 from github/redsun82/swift-codegen-outside-bazel
...
Swift: make `codegen` run also outside `bazel`
2023-02-13 10:32:20 +01:00
Michael Nebel
80628596dd
Java: Exclude interface members from model generation.
2023-02-13 10:21:32 +01:00
Geoffrey White
124e4ddd4f
Merge pull request #12150 from geoffw0/cfg2
...
Swift: control flow for #available
2023-02-13 09:17:06 +00:00
Tom Hvitved
0b8173e2e7
Ruby: Add another data flow test
2023-02-13 09:50:50 +01:00
Jeroen Ketema
3dfe0adf0a
C++: Fix formatting
2023-02-13 09:45:23 +01:00
Paolo Tranquilli
55aacd6fe9
Merge pull request #12137 from github/redsun82/swift-doc-for-schema-doc
...
Swift: add documentation for generated documentation
2023-02-13 09:43:34 +01:00
Paolo Tranquilli
483a87abe9
Swift: make codegen run also outside bazel
2023-02-13 09:39:31 +01:00
Jeroen Ketema
3482158fee
C++: Add semmle.code.cpp.dataflow.new
2023-02-13 09:38:23 +01:00
Jeroen Ketema
996eb6c63c
C++: Fix Ql-for-QL warnings
2023-02-13 09:22:31 +01:00
Tony Torralba
4fad01a739
Further refactoring
...
Avoid having two taint tracking configurations in the same file
2023-02-13 09:18:05 +01:00
Tony Torralba
f3e0b6e62c
PathGraph shouldn't be imported in a QLL library
2023-02-13 09:18:05 +01:00
Tony Torralba
422eb0d1bb
Add change note
2023-02-13 09:18:05 +01:00
Tony Torralba
5555b5cd19
Add local version of the XXE query
2023-02-13 09:18:05 +01:00
Paolo Tranquilli
542c9218de
Merge branch 'main' into redsun82/swift-doc-for-schema-doc
2023-02-13 09:07:02 +01:00
Tom Hvitved
f7a5a33474
Address review comment
2023-02-13 09:01:15 +01:00
erik-krogh
91393a7bc8
add change-note
2023-02-12 23:28:01 +01:00
erik-krogh
6474cfd4c8
add support for express-ws
2023-02-12 23:25:27 +01:00
Jami Cogswell
ad8849c6b8
Java: fix typo
2023-02-12 16:33:26 -05:00
Jami Cogswell
676e4e8461
Java: add change note
2023-02-12 16:32:31 -05: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
Jami Cogswell
ce1c814daa
Java: update path-injection query to use new 'read-file' sink kind
2023-02-11 17:10:58 -05:00
Jami Cogswell
c87c3e30c7
Java: update getInvalidModelKind with 'read-file' kind
2023-02-11 17:07:25 -05:00
Owen Mansel-Chan
685b8b4abd
Tests are no longer fooled by type aliases
2023-02-10 22:09:21 +00:00
Owen Mansel-Chan
7042f67375
Refactor code to be simpler
2023-02-10 22:09:20 +00:00
Owen Mansel-Chan
778826b528
Accept test changes
...
Note that
go/ql/test/library-tests/semmle/go/Types/QualifiedNames.expected and
go/ql/test/library-tests/semmle/go/Types/Types.expected gain two lines.
In both cases this is because GenericArray and GenericSignature are
each instantiated twice, so they appear with two different locations.
2023-02-10 22:09:20 +00:00
Owen Mansel-Chan
202c0be303
Add hasLocationInfo for Types
...
It returns a dummy location except for named types with a type
declaration in the source.
2023-02-10 22:09:20 +00:00
Sim4n6
eed19a3e15
Fix autoformatting issues
2023-02-10 21:58:29 +01:00
Mathias Vorreiter Pedersen
378484ec01
Merge pull request #12149 from MathiasVP/fewer-flowthroughs
...
C++: Fix spurious flow-through
2023-02-10 18:45:46 +00: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
Arthur Baars
679f02c274
Address comments
2023-02-10 18:08:30 +01:00
Jeroen Ketema
7bd28183ba
Merge pull request #12151 from jketema/remove-experimental-dataflow
...
C++: Remove experimental copy of the use-use IR dataflow library
2023-02-10 18:08:14 +01:00
Mathias Vorreiter Pedersen
168202dbf7
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-02-10 16:36:40 +00:00
Jeroen Ketema
8522eddf5a
Merge pull request #12148 from jketema/opt-in
...
C++: Revert `semmle.code.cpp.dataflow` to its old state
2023-02-10 17:34:27 +01:00
Jeroen Ketema
5f33827eca
C++: Update test results
2023-02-10 17:10:52 +01:00
Geoffrey White
8624098318
Swift: sync identical files.
2023-02-10 15:24:57 +00:00
Jeroen Ketema
b023c6bb23
C++: Remove experimental copy of the use-use IR dataflow library
2023-02-10 16:20:33 +01:00
Nora
d55e9d5dac
Merge pull request #12000 from github/nora/update-query-history-actions
...
Rename Query History Actions
2023-02-10 16:18:36 +01:00
Geoffrey White
eda331ebc2
Swift: Clean up.
2023-02-10 15:11:31 +00:00
Geoffrey White
11f022c69f
Swift: Add some more qldoc.
2023-02-10 15:02:05 +00:00
Jeroen Ketema
1a83b712a0
C++: Add change note
2023-02-10 15:27:49 +01:00
Geoffrey White
15b8aa1979
Swift: Effect on other tests :)
2023-02-10 14:16:48 +00:00
Mathias Vorreiter Pedersen
9a8b3bad31
C++: Respond to PR reviews.
2023-02-10 13:56:19 +00:00
Geoffrey White
6cb9198ee2
Swift: Control flow through #available.
2023-02-10 13:32:33 +00:00
Paolo Tranquilli
9d433eb420
Merge branch 'main' into redsun82/swift-doc-for-schema-doc
2023-02-10 14:27:56 +01:00
Jeroen Ketema
ecdeb9a970
C++: Revert semmle.code.cpp.dataflow to its old state
...
While here make sure all queries and tests use IR dataflow when appropriate.
2023-02-10 14:21:44 +01:00
Mathias Vorreiter Pedersen
5bd7589109
C++: Fix spurious flow though and accept test changes.
2023-02-10 12:42:40 +00:00
Mathias Vorreiter Pedersen
faf9fd6253
C++: Add a testcase (and a new test) to test flow through functions.
2023-02-10 12:40:29 +00:00
Jeroen Ketema
ffbaef8771
C++: Update for test changes
2023-02-10 11:23:19 +01:00
Michael Nebel
db41463d72
C#: Test of relaxed shift operator requirements.
2023-02-10 10:33:20 +01:00
Geoffrey White
38f4f65fc0
Swift: Add CFG test cases for #available.
2023-02-10 09:29:08 +00:00
Mathias Vorreiter Pedersen
e1aef3127c
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-10 09:23:37 +00:00
Jeroen Ketema
8f15abc285
Merge pull request #12146 from jketema/global-indirect
...
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 10:21:04 +01:00
Michael Nebel
1bd223b8c8
Merge pull request #12103 from michaelnebel/csharp/scopedmodfier
...
C# 11: Scoped parameters and local variables.
2023-02-10 10:04:09 +01:00
Jeroen Ketema
350fb89ebf
C++: Also mention all locations in the AST case
2023-02-10 09:49:24 +01:00
Mathias Vorreiter Pedersen
9aa9187dd7
Merge pull request #12141 from MathiasVP/fix-multiple-out-nodes
...
C++: Deduplicate `OutNode`s
2023-02-10 08:39:16 +00:00
Mathias Vorreiter Pedersen
4719fd5235
C++: Accept more test changes.
2023-02-10 08:38:46 +00:00
Jeroen Ketema
12930c68fb
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 09:29:27 +01:00
Paolo Tranquilli
fc7c72db77
Swift: tweaks to the schema doc documentation
2023-02-10 08:58:07 +01:00
Paolo Tranquilli
adf47b9a9c
Merge branch 'main' into redsun82/swift-doc-for-schema-doc
2023-02-10 08:49:31 +01:00
Paolo Tranquilli
c92fd97783
Merge pull request #12140 from github/redsun82/swift-fix-upgrade
...
Swift: remove query predicates in upgrade/downgrade scripts
2023-02-10 08:49:08 +01:00
Geoffrey White
224bc9381a
Swift: Fix ConditionElement.toString().
2023-02-09 21:15:36 +00:00
Michael Nebel
8d8ebeade1
Merge pull request #12067 from michaelnebel/csharp/reflectionload
...
C#: Delete dead assembly load code.
2023-02-09 18:49:36 +01:00
Mathias Vorreiter Pedersen
981c976754
C++: Expand comments.
2023-02-09 17:10:07 +00:00
Mathias Vorreiter Pedersen
6b851d0529
C++: Fix an inconsistency with too many out nodes.
2023-02-09 16:55:19 +00:00
Paolo Tranquilli
7fa85b34ea
Swift: remove query predicates in upgrade/downgrade scripts
2023-02-09 17:24:27 +01:00
Mathias Vorreiter Pedersen
7439de37a3
C++: Add a new test that demonstrates multiple out nodes.
2023-02-09 16:23:32 +00:00
Jeroen Ketema
9d6098af15
Merge pull request #12004 from jketema/single-use
...
C++: Map operand nodes that are only used once onto the related instruction node
2023-02-09 17:18:39 +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
Anders Schack-Mulligen
770f3c24bb
Java: Improve performance of GeneratedFileMarker.
2023-02-09 15:08:32 +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
Ian Lynagh
968f588893
Merge pull request #12090 from igfoo/igfoo/kotlin-1.8.10
...
Kotlin: 1.8.10 and 1.8.20 are supported, and use 1.8.10 for CI
2023-02-09 12:06:42 +00:00
Paolo Tranquilli
1e279125dc
Swift: add documentation for generated documentation
2023-02-09 12:52:16 +01:00
Michael Nebel
0f469ee0f7
C#: Add stats for the scoped annotation relation.
2023-02-09 12:28:15 +01:00
Arthur Baars
07947e6528
Address comments
2023-02-09 12:02:14 +01:00
Jeroen Ketema
e4c211df2d
C++: Address review comments
2023-02-09 11:58:41 +01:00
dependabot[bot]
80a397b4a5
Merge pull request #12134 from github/dependabot/cargo/ruby/serde_json-1.0.93
2023-02-09 10:50:27 +00:00
Michael Nebel
d4985a99e0
C#: Add change note.
2023-02-09 11:32:09 +01:00
Michael Nebel
59ab353827
C#: Add upgrade and downgrade scripts.
2023-02-09 11:32:09 +01:00
Michael Nebel
54b45134ef
C#: Add example code including tests.
2023-02-09 11:32:09 +01:00
Michael Nebel
c00b089aa8
C#: Introduce library support for scoped.
2023-02-09 11:32:08 +01:00
Michael Nebel
955f23d021
C#: Introduce extractor support for scoped variables and parameters.
2023-02-09 11:32:08 +01:00
Michael Nebel
dd6ceb7053
C#: Extend the DB schema with a scoped annotation relation.
2023-02-09 11:32:08 +01:00
Michael Nebel
7e174dce8b
C#: Re-factor. Introduce variablekind enum.
2023-02-09 11:32:08 +01:00
Michael Nebel
89bebe9d36
C#: Re-factor local variable populate.
2023-02-09 11:32:08 +01:00
Michael B. Gale
ad4ae1c331
Merge pull request #12132 from github/mbg/fix/log-injection-precision
...
Go: Downgrade `go/log-injection` precision to medium
2023-02-09 10:29:24 +00:00
Michael B. Gale
70a6ff84af
Add change note
2023-02-09 09:56:36 +00:00
Geoffrey White
0f6b05dedf
Merge pull request #12126 from geoffw0/append
...
Swift: Move some models into collections
2023-02-09 09:33:08 +00:00
Michael Nebel
b895065be9
Merge pull request #12058 from michaelnebel/csharp/structdefaults
...
C# 11: Check that we get AST for structs that doesn't initialise all fields.
2023-02-09 09:51:00 +01:00
Anders Schack-Mulligen
3e2bf23bfe
Merge pull request #12118 from michaelnebel/telemetry/performancefix
...
C#/Java: Materialize sink/source/summary predicates to avoid bad join order.
2023-02-09 09:39:38 +01:00
dependabot[bot]
bd98ae0dcc
build(deps): bump serde_json from 1.0.91 to 1.0.93 in /ruby
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.91 to 1.0.93.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.91...v1.0.93 )
---
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-02-09 08:13:18 +00:00
Erik Krogh Kristensen
f2904ca29b
Merge pull request #12135 from github/dependabot/cargo/ql/serde_json-1.0.93
...
build(deps): bump serde_json from 1.0.92 to 1.0.93 in /ql
2023-02-09 09:08:45 +01:00
dependabot[bot]
5e2f9e1568
build(deps): bump serde_json from 1.0.92 to 1.0.93 in /ql
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.92...v1.0.93 )
---
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-02-09 03:09:08 +00:00
Chris Smowton
f113eaa77d
Merge pull request #12059 from pwntester/go_twirp_support
...
[GoLang] Add support for Twirp framework
2023-02-08 21:55:56 +00: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
Michael B. Gale
46d49cd66f
Downgrade log injection precision to medium
...
This is in line with the precision of this query for other languages
2023-02-08 15:49:06 +00:00
Michael Nebel
f6a02310d3
C#: Fix bad join order in TestLibrary characteristic predicate.
2023-02-08 16:37:49 +01:00
Owen Mansel-Chan
18335854b6
Update go/ql/lib/semmle/go/frameworks/Twirp.qll
...
Co-authored-by: Michael B. Gale <mbg@github.com >
2023-02-08 15:33:35 +00: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
Mathias Vorreiter Pedersen
946e301ed6
Merge pull request #12079 from rdmarsh2/rdmarsh2/use-use-taint-test-reads
...
C++: allow read steps at the sink in IR taint test
2023-02-08 15:08:00 +00:00
Erik Krogh Kristensen
3ebac65167
apply change-note suggestions from doc review
...
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com >
2023-02-08 14:55:54 +01:00
Robert
13c7c8449c
Merge pull request #12123 from github/robertbrignull/telemetry_privacy_docs
...
Update telemetry privacy document for UI interaction and exceptions
2023-02-08 13:40:35 +00:00
Mathias Vorreiter Pedersen
825628675e
C++: Only allow implicit reads of fields that exist on the sink node's type.
2023-02-08 13:08:22 +00:00
Arthur Baars
78ad9d67b4
Address comments
2023-02-08 13:40:46 +01:00
Ian Lynagh
844e372651
Kotlin: Add a changenote for 1.8.20 support
2023-02-08 11:35:23 +00:00
Ian Lynagh
069c9674d1
Kotlin: Update supported versions
2023-02-08 11:35:23 +00:00
Ian Lynagh
6255298876
Kotlin: Use 1.8.10 for CI
...
I don't think there's any need for the CI version to be one of the
versions we build extractors for, so I've removed that check.
2023-02-08 11:35:23 +00:00
Chris Smowton
99bed0b089
Merge pull request #12127 from smowton/smowton/perf/golang-less-string-construction
...
Go: Consolidate repeated calls to `matches` and `regexpMatch`
2023-02-08 11:07:39 +00:00
Michael Nebel
02364d072e
Java: Fix bad join in TestLibrary characteristic predicate.
2023-02-08 11:59:59 +01:00
Alvaro Muñoz
764155ce97
remove bracket
2023-02-08 11:57:03 +01:00
Michael B. Gale
3abf321071
Merge pull request #11496 from github/mbg/add/writable-file-closed-error-query
...
Go: Add query to detect lack of error handling for `os.File.Close` on writable handles
2023-02-08 10:53:44 +00:00
Owen Mansel-Chan
931c683146
Use regex for case-insensitive string comparisons
...
This is slightly more efficient.
2023-02-08 10:45:07 +00:00
erik-krogh
eb564760be
improve qhelp based on doc review
2023-02-08 11:00:54 +01:00
Mathias Vorreiter Pedersen
7f09684577
Merge pull request #12121 from github/alexdenisov/extract-availability-info
...
Swift: extract availability info
2023-02-08 09:54:42 +00:00
Michael Nebel
f8dbbe006e
C#/Java: Materialize sink/source/summary predicates to avoid join on input/output before filtering.
2023-02-08 10:04:43 +01:00
Owen Mansel-Chan
c427f8fc95
Do not import file defining a Configuration
2023-02-08 06:31:25 +00:00
Henry Mercer
6e9484970f
Merge pull request #12128 from github/codeql-ci/atm/release-0.4.7
...
JS: Bump version numbers of ML-powered packs after 0.4.7 release
2023-02-07 22:29:20 +00:00
Henry Mercer
e972cb069e
Merge branch 'main' into codeql-ci/atm/release-0.4.7
2023-02-07 21:31:08 +00:00
github-actions[bot]
4f76ebbb0b
JS: Bump version of ML-powered library and query packs to 0.4.8
2023-02-07 19:44:25 +00:00
github-actions[bot]
30b2644f17
JS: Bump patch version of ML-powered library and query packs
2023-02-07 19:34:58 +00:00
Chris Smowton
99d3f689dc
Consolidate repeated calls to matches and regexpMatch
...
This is especially useful if it avoids temporary string construction, such as toLowerCase().matches(...)
2023-02-07 19:22:49 +00:00
Robert
15b293c56d
Apply copy edits
2023-02-07 17:11:47 +00:00
Geoffrey White
60e7d6b540
Swift: Move insert to RangeReplaceableCollection.
2023-02-07 17:08:23 +00:00
Geoffrey White
7cb665cde1
Swift: Move popLast to BidirectionalCollection and add popFirst.
2023-02-07 16:56:00 +00:00
Geoffrey White
d17c7bb0e8
Swift: Move first(_:), last(_:) into Sequence, BidirectionalCollection.
2023-02-07 16:47:02 +00:00
Geoffrey White
3586926157
Swift: Move first, last into Collection, BidirectionalCollection.
2023-02-07 16:36:06 +00:00
Taus
080ce09bd7
Python: Update six test expectations
2023-02-07 16:21:15 +00:00
Taus
8dea993f41
Python: Update failing test
...
Seems the name for the codec changed between Python 2 and 3. :)
2023-02-07 16:21:15 +00:00
Taus
49a3dd6131
Python: Clean up version handling
...
Depends on an internal PR.
2023-02-07 16:21:15 +00:00
Mathias Vorreiter Pedersen
334c41c3e1
Merge pull request #12122 from github/post-release-prep/codeql-cli-2.12.2
...
Post-release preparation for codeql-cli-2.12.2
2023-02-07 16:17:57 +00:00
Geoffrey White
b69d8625e5
Swift: Move append methods into RangeReplaceableCollection.
2023-02-07 16:07:35 +00:00
Geoffrey White
f9f08fff83
Swift: Use RangeReplaceableCollection in the test.
2023-02-07 16:03:51 +00:00
Tom Hvitved
8e8897b08b
Data flow: Sync files
2023-02-07 15:15:04 +01:00
Tom Hvitved
10534b62c9
Data flow: Call context virtual dispatch pruning in stage 1
2023-02-07 15:14:27 +01:00
Robert
80a503b65d
Update telemetry privacy document for UI interaction and exceptions
2023-02-07 14:00:22 +00:00
Mathias Vorreiter Pedersen
1980e25ac9
Merge pull request #12120 from MathiasVP/even-fewer-strings
...
C++: Avoid unnecessary calls to `toLowerCase()`
2023-02-07 13:57:12 +00:00
Alex Denisov
3448cde048
Swift: add database migration
2023-02-07 14:31:19 +01:00
Alex Denisov
712c25e6f4
Swift: extract availability info
2023-02-07 14:26:39 +01:00
github-actions[bot]
522a892d32
Post-release preparation for codeql-cli-2.12.2
2023-02-07 13:19:06 +00:00
Jeroen Ketema
20ce4cdf91
C++: Map operand nodes that are only used once onto the related instruction node
2023-02-07 14:17:54 +01:00
Mathias Vorreiter Pedersen
746f04bafc
C++: Construct fewer strings.
2023-02-07 11:44:32 +00:00
Tom Hvitved
984729f9b0
Merge pull request #12117 from hvitved/ruby/delay-location-to-string
...
Ruby: Avoid computing `Location::toString` in full
2023-02-07 12:42:03 +01:00
Mathias Vorreiter Pedersen
ff29356ae9
Merge pull request #12106 from MathiasVP/fewer-strings
...
C++: Replace `toUpperCase().matches("...")` with case-insensitive `regexpMatch`
2023-02-07 11:31:36 +00:00
Paolo Tranquilli
c9397a5abf
Merge pull request #10950 from github/redsun82/swift-regex
...
Swift: extract `RegexLiteralExpr`
2023-02-07 11:30:43 +01:00
Alvaro Muñoz
642a138eaa
Update Twirp.qll
2023-02-07 10:44:48 +01:00
Geoffrey White
d8616e77d5
Merge pull request #12108 from geoffw0/strings3
...
Swift: Remove a no-longer-needed special case from swift/unsafe-js-eval.
2023-02-07 09:44:41 +00:00
Paolo Tranquilli
a3b443c310
Swift: add upgrade/downgrade scripts for regex extraction
2023-02-07 10:21:37 +01:00
Paolo Tranquilli
ad04a408c7
Swift: add doc to RegexLiteralExpression
2023-02-07 10:21:37 +01:00
Paolo Tranquilli
50889b8fa1
Swift: move regex test to integration tests
2023-02-07 10:21:37 +01:00
Tom Hvitved
c0e3186607
Ruby: Avoid computing Location::toString in full
2023-02-07 10:06:47 +01:00
Paolo Tranquilli
d201c1eadd
Swift: support linux-only tests
2023-02-07 09:41:06 +01:00
Paolo Tranquilli
a244b825df
Merge branch 'main' into redsun82/swift-regex
2023-02-07 09:37:09 +01:00
Anders Schack-Mulligen
3c580896dc
Merge pull request #11712 from aschackmull/java/constant-guards
...
Java: Apply deadcode guard to data flow nodes.
2023-02-07 09:14:20 +01:00
Harry Maclean
43ce26e4d0
Ruby: re-add Eval.rb
2023-02-07 09:37:26 +13:00
Jeroen Ketema
a4c3ea2efc
Merge pull request #9245 from ihsinme/ihsinme-patch-102
...
CPP: Add query for CWE-805: Buffer Access with Incorrect Length Value using some functions
2023-02-06 21:24:07 +01:00
Jeroen Ketema
1c35109675
C++: Add experimental tag to experimental query
2023-02-06 20:31:26 +01:00
Jeroen Ketema
868f07bc91
Merge branch 'main' into ihsinme-patch-102
2023-02-06 20:16:53 +01:00
Geoffrey White
996536b08e
Swift: Remove a no-longer-needed special case from swift/unsafe-js-eval.
2023-02-06 17:35:21 +00:00
ihsinme
065ca3c227
Update DivideByZeroUsingReturnValue.ql
2023-02-06 19:42:46 +03:00
Mathias Vorreiter Pedersen
4016299aa8
Update cpp/ql/lib/semmle/code/cpp/security/Encryption.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2023-02-06 15:55:15 +00:00
Jeroen Ketema
d108185ec7
Merge pull request #12102 from jketema/fix-typos
...
C++: Fix some typos in the use-use dataflow code
2023-02-06 16:50:48 +01:00
Erik Krogh Kristensen
4eebeab8a8
Merge pull request #12078 from erik-krogh/qlCache
...
QL: simplify the QL-for-QL workflow, which should also fix the cache
2023-02-06 16:21:45 +01:00
Mathias Vorreiter Pedersen
1c9a526afa
C++: Construct fewer strings.
2023-02-06 15:18:15 +00:00
erik-krogh
9364a85e49
add Rust format check to QL-for-QL tests
2023-02-06 14:26:30 +01:00
Erik Krogh Kristensen
9360ae9638
Merge pull request #12076 from erik-krogh/poly-sink-track
...
PY: add tracking of strings to compile-sites for poly-redos
2023-02-06 14:21:04 +01:00
Anders Schack-Mulligen
b4607d3fab
Java: Add change notes.
2023-02-06 13:55:34 +01:00
Geoffrey White
dc59ed08f9
Merge pull request #12094 from geoffw0/string2
...
Swift: Models for the String class
2023-02-06 11:24:19 +00:00
Mathias Vorreiter Pedersen
9e96d6182d
Merge pull request #12096 from MathiasVP/recognize-more-iterators
...
C++: Teach iterator flow about `std::back_inserter`
2023-02-06 11:08:21 +00:00
Chris Smowton
cd2fc6566f
Merge pull request #12101 from owen-mc/go/gofmt-remove-confusing-error-message
...
Fix files that gofmt can't parse
2023-02-06 10:58:54 +00:00
Jeroen Ketema
30952f6a24
C++: Fix some typos in the use-use dataflow code
2023-02-06 11:56:59 +01:00
Mathias Vorreiter Pedersen
00fe448e3a
Merge pull request #12072 from aschackmull/dataflow/stage3-perf
...
Dataflow: Fix join in `fwdFlowRead` (take 2)
2023-02-06 10:43:11 +00:00
Erik Krogh Kristensen
f32fa25c1a
Merge pull request #12100 from github/dependabot/cargo/ql/serde_json-1.0.92
...
build(deps): bump serde_json from 1.0.91 to 1.0.92 in /ql
2023-02-06 10:33:32 +01:00
Arthur Baars
e382d6d000
Ruby: update stats
2023-02-06 10:28:19 +01:00
Arthur Baars
ec46f33a01
Ruby: add change note
2023-02-06 10:17:19 +01:00
Arthur Baars
f391948b53
Ruby: update expected output
2023-02-06 10:17:19 +01:00
Arthur Baars
4af0c4bb03
Ruby: desugar one-line pattern matches
2023-02-06 10:17:19 +01:00
Arthur Baars
3c15fd266d
Ruby: add one-line pattern match test
2023-02-06 10:17:19 +01:00
Arthur Baars
edbba85b96
Ruby: add one-line pattern matches to AST
2023-02-06 10:17:18 +01:00
Arthur Baars
e390ca50b0
Ruby: upgrade/downgrade scripts
2023-02-06 10:17:18 +01:00
Arthur Baars
90c51ef404
Ruby: re-generate dbscheme and library
2023-02-06 10:17:18 +01:00
Arthur Baars
c554a10e06
Ruby: update tree-sitter-ruby
2023-02-06 10:17:18 +01:00
Michael B. Gale
f7a2a8677a
Rename change note file
2023-02-06 09:13:11 +00:00
Michael B. Gale
6c0d2bdee1
Add example without defer statement
2023-02-06 09:10:41 +00:00
Mathias Vorreiter Pedersen
316eecc064
C++: Accept test changes.
2023-02-06 09:09:00 +00:00
Michael B. Gale
25f907867b
Update expected test output
2023-02-06 08:51:46 +00:00
Michael B. Gale
abe38373da
Inline precededBySync
2023-02-06 08:47:47 +00:00
Michael B. Gale
c252ec0414
Add test for deferred close that returns error
2023-02-06 08:47:47 +00:00
Michael B. Gale
e05bce9863
Update expected test results
2023-02-06 08:47:46 +00:00
Michael B. Gale
314ecab90a
Use dominatesNode and improve variable naming
2023-02-06 08:47:46 +00:00
Michael B. Gale
85a339030b
Make the query a path-problem
2023-02-06 08:47:46 +00:00
Michael B. Gale
199c8641ec
Rename close to sink in query
2023-02-06 08:47:46 +00:00
Michael B. Gale
f648b021a9
Despecialise parameter names for precededBySync
2023-02-06 08:47:46 +00:00
Michael B. Gale
bd6c167be6
Fixup: more docs improvements
2023-02-06 08:47:46 +00:00
Michael B. Gale
f866e16679
Use any instead of exists for isCloseSink
2023-02-06 08:47:45 +00:00
Michael B. Gale
5ab6056b26
Fixup: docs comment
2023-02-06 08:47:45 +00:00
Michael B. Gale
3f446bc76e
Use three-argument hasQualifiedName
2023-02-06 08:47:45 +00:00
Michael B. Gale
07041bb659
Use Method instead of Function where able
2023-02-06 08:47:45 +00:00
Michael B. Gale
416ed57583
Fix qldoc comments
2023-02-06 08:47:45 +00:00
Michael B. Gale
f321adf9f4
Fix typo
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2023-02-06 08:47:44 +00:00
Michael B. Gale
10109b4925
Fix class comments
2023-02-06 08:47:44 +00:00
Michael B. Gale
49ce91fd5b
Update precision to high
2023-02-06 08:47:44 +00:00
Michael B. Gale
7e9617f3ce
Detect lack of error handling for os.File.Close
2023-02-06 08:47:43 +00:00
Tamás Vajk
c03fe70b8d
Merge pull request #12086 from tamasvajk/feature/fix-exception-handling-archive
...
C#: Change handled exception in `TrapWriter.ArchiveContents`
2023-02-06 08:53:56 +01:00
Owen Mansel-Chan
9ed7836367
Fix files that gofmt can't parse
...
We have some .go files that gofmt can't parse because they don't start
with "package". This was intentional, as they are fragments to be
included in .qhelp files. They don't affect the return code as gofmt
doesn't change their formatting, so this wasn't changing the result of
the check. However, it was confusing that when the check failed because
some other files weren't formatted correctly, the user would see the
stderr complaining about those files, so we capture stderr.
It would be an improvement to print which files are not formatted
correctly, but that was beyond my abilities with bash and makefiles.
2023-02-06 07:16:58 +00:00
dependabot[bot]
33e8414fc4
build(deps): bump serde_json from 1.0.91 to 1.0.92 in /ql
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92 )
---
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-02-06 03:29:59 +00:00
Sim4n6
ec82d61991
Add another frequently used step
2023-02-05 14:36:17 +01:00
Chris Smowton
03385ac0b5
Merge pull request #12097 from github/smowton/admin/macos-ventura
...
Add MacOS Ventura to supported platforms
2023-02-04 17:54:21 +00:00
Philip Ginsbach
8cefde36bf
Merge pull request #12088 from github/ginsbach/DocumentFinalAlias
...
document final type aliases
2023-02-04 12:23:03 +00:00
Chris Smowton
f8b574c654
Add MacOS Ventura to supported platforms
...
Rebase of e8bf8fe7a4
2023-02-04 08:28:03 +00:00
Harry Maclean
02b09ca9f7
Ruby: Remove unused test files
2023-02-04 14:42:59 +13:00
Harry Maclean
cfb3bc9dce
Ruby: Remove unused test file
2023-02-04 14:30:56 +13:00
Harry Maclean
0711326619
Ruby: Move PosixSpawn tests to their own directory
2023-02-04 14:30:23 +13:00
Harry Maclean
dbbef0534b
Ruby: Move Core tests into core directory
2023-02-04 14:28:25 +13:00
Harry Maclean
b5d98d9011
Ruby: Move GraphQL test to their own directory
2023-02-04 14:25:38 +13:00
Harry Maclean
6c816d5602
Ruby: Move ActionDispatch tests to own directory
2023-02-04 14:19:08 +13:00
Harry Maclean
58d7af4018
Ruby: Move ActionView tests into their own dir
...
This ensures that changes to unrelated test files don't affect these
tests.
2023-02-04 14:19:08 +13:00
Mathias Vorreiter Pedersen
7642245747
Merge pull request #12095 from github/post-release-prep/codeql-cli-2.12.2
...
Post-release preparation for codeql-cli-2.12.2
2023-02-04 01:03:14 +00:00
Jami Cogswell
2d7e71dfce
Java: add read-file sink kind for first arg of copy
2023-02-03 17:28:46 -05:00
Mathias Vorreiter Pedersen
559c799309
C++: Also recognize iterators obtained via a function that doesn't receive the container as a qualiifer.
2023-02-03 21:43:21 +00:00
github-actions[bot]
57f40ccd48
Post-release preparation for codeql-cli-2.12.2
2023-02-03 21:12:22 +00:00
Alvaro Muñoz
23c7bc8143
import RequestForgery from tests.ql
2023-02-03 22:05:50 +01:00
Jami
b6805c6913
Merge pull request #11863 from jcogs33/jcogs33/update-paramsString
...
Java: update paramsString
2023-02-03 15:47:38 -05:00
erik-krogh
ecafce8191
improve the CryptoJS model by using API::Node
2023-02-03 21:44:23 +01:00
Geoffrey White
364c173fc3
Swift: Accept additional taint flow in UnsafeJsEval test.
2023-02-03 19:21:10 +00:00
Geoffrey White
1f69fff26c
Swift: Fix mistake caught by QL-for-QL.
2023-02-03 19:15:08 +00:00
Geoffrey White
f82a548cf9
Swift: Comments and formatting.
2023-02-03 18:50:51 +00:00
Geoffrey White
c666f9c845
Merge pull request #12089 from geoffw0/filedoc
...
Swift: QLDoc models files consistently.
2023-02-03 18:45:20 +00:00
Mathias Vorreiter Pedersen
77250af444
Merge pull request #12050 from MathiasVP/flow-out-of-iterators-3
2023-02-03 18:43:37 +00:00
Mathias Vorreiter Pedersen
431738175d
Merge pull request #11171 from MathiasVP/global-flow
2023-02-03 18:42:46 +00:00
Geoffrey White
ec72c7504c
Swift: Add a partial model of Collection.
2023-02-03 18:42:42 +00:00
Geoffrey White
e357b44943
Swift: Add a partial model of Sequence.
2023-02-03 18:42:42 +00:00
Geoffrey White
4bb0bbf488
Swift: Remove redundant copies.
2023-02-03 18:42:41 +00:00
Geoffrey White
e230951a14
Swift: Model StringProtocol methods.
2023-02-03 18:42:41 +00:00
Jonas Jensen
41f7c7ae53
Merge pull request #12092 from jbj/aliases-upper-case
2023-02-03 18:40:53 +01:00
Alvaro Muñoz
04d5b7e579
make RequestForgery import private
2023-02-03 18:19:35 +01:00
Alvaro Muñoz
4b198f9af8
apply code review feedback
2023-02-03 18:12:49 +01:00
Mathias Vorreiter Pedersen
09a7573163
C++: Add comments to the new FP.
2023-02-03 17:09:19 +00:00
Alvaro Muñoz
844193d065
use regexp to capture generated file names
2023-02-03 18:08:56 +01:00
Mathias Vorreiter Pedersen
ae774a6b95
C++: Add a test with an indirect source.
2023-02-03 16:59:54 +00:00
Alvaro Muñoz
1d0e80c2f5
Apply suggestions from code review
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2023-02-03 17:59:29 +01:00
Alvaro Muñoz
3002230af9
remove duplicated import
2023-02-03 17:48:13 +01:00
Philip Ginsbach
1ec2c2591b
fix documentation generator problem
2023-02-03 16:42:07 +00:00
Robert Marsh
ad8e82ac65
C++: allow read steps at the sink in IR taint test
2023-02-03 11:38:49 -05:00
Owen Mansel-Chan
2f637e2c8e
Remove unused variable
2023-02-03 16:36:20 +00:00
Alvaro Muñoz
c517eb89b2
add more sinks
2023-02-03 17:33:08 +01:00
Jonas Jensen
73112e401c
Change type name to upper case
...
QL doesn't allow types to be declared in lower case, so the example did
not compile.
2023-02-03 17:30:12 +01:00
Calum Grant
7d8b624a71
Basic script to generate shared code metrics
2023-02-03 16:24:39 +00:00
Philip Ginsbach
a354e776bf
document final type aliases
2023-02-03 15:59:47 +00:00
Alvaro Muñoz
20dc30d7e8
add RequestForgery test
2023-02-03 16:38:56 +01:00
Philip Ginsbach
a639f13fd9
Merge pull request #12085 from github/ginsbach/DocumentModuleSignatureMemberDefaults
...
document module signature member defaults
2023-02-03 15:33:00 +00:00
Alvaro Muñoz
6b3d458865
Apply suggestions from code review
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2023-02-03 16:20:21 +01:00
Alvaro Muñoz
c7637a7e1f
Apply suggestions from code review
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2023-02-03 16:19:48 +01:00
Alex Ford
7768026e70
Merge branch 'main' into js-use-shared-cryptography
2023-02-03 15:18:30 +00:00
Anders Schack-Mulligen
2d6d8aaa74
Java: Account for additional constants in ArrayIndexOutOfBounds query.
2023-02-03 16:16:39 +01:00
Anders Schack-Mulligen
a1aeb995e6
Java: Apply deadcode guard to data flow nodes.
2023-02-03 16:16:39 +01:00
Anders Schack-Mulligen
e8dbd65d77
Java: Refactor compile-time constant calculation and apply to ConstantIntegerExpr.
2023-02-03 16:16:27 +01:00
Alvaro Muñoz
a0cf8e786c
fix SSRF sink
2023-02-03 16:16:00 +01:00
Alvaro Muñoz
7140b956e8
improve generated files matching predicates
2023-02-03 16:13:44 +01: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
Tamas Vajk
f90c5346bf
C#: Change handled exception in TrapWriter.ArchiveContents
2023-02-03 15:13:23 +01:00
Mathias Vorreiter Pedersen
0a6f914bfc
C++: Make the documentation on 'isSink' less ambiguous.
2023-02-03 14:09:01 +00:00
Mathias Vorreiter Pedersen
0aed890b15
C++: Undo QLDoc change.
2023-02-03 14:02:55 +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
Geoffrey White
38eeb9c747
Swift: Model String methods.
2023-02-03 12:26:55 +00: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
Geoffrey White
1077dcd2e3
Swift: Model String initializers.
2023-02-03 11:36:35 +00:00
Philip Ginsbach
b8bd98e476
Merge pull request #12075 from github/ginsbach/RemoveIncorrectStatement
...
remove statement about namespaces from documentation that no longer holds
2023-02-03 11:18:07 +00:00
Geoffrey White
142ca0c9fb
Swift: Model StringProtocol initializers.
2023-02-03 10:53:44 +00:00
Geoffrey White
d888510688
Swift: Fix incorrect taint to String fields.
2023-02-03 10:21:52 +00:00
Geoffrey White
d25de8c764
Swift: Taint fields of StringProtocol.
2023-02-03 10:16:33 +00:00
Philip Ginsbach
e552a6206d
shadowing and visibility of default predicates
2023-02-03 10:11:25 +00:00
Geoffrey White
21abe54d8d
Swift: Greatly extend tests of taint through strings.
2023-02-03 10:11:12 +00:00
Philip Ginsbach
09fdf744d4
introduce module signature member defaults
2023-02-03 10:01:59 +00:00
Geoffrey White
bf6ef43451
Swift: Document library model files consistently.
2023-02-03 09:59:35 +00:00
erik-krogh
3545bb0819
adjust qhelp based on review
2023-02-03 10:50:18 +01:00
Mathias Vorreiter Pedersen
4e7ca1a175
Merge pull request #12082 from github/post-release-prep/codeql-cli-2.12.2
...
Post-release preparation for codeql-cli-2.12.2
2023-02-03 09:40:57 +00:00
Philip Ginsbach
808d3e3a1f
Merge pull request #12084 from github/ginsbach/IncorrectEnvironmentNumbering
...
we actually only distinguish four environments
2023-02-03 09:37:39 +00:00
Alvaro Muñoz
50bd0707ce
remove redundant import
2023-02-03 10:19:35 +01:00
Alvaro Muñoz
3a9d650cb9
add qldocs for member predicates
2023-02-03 10:09:16 +01:00
Philip Ginsbach
56e0b19df8
we actually only distinguish four environments
2023-02-03 09:04:43 +00:00
Alvaro Muñoz
8cb022713e
include review feedback
2023-02-03 10:01:55 +01:00
Arthur Baars
9a4cec7691
Merge pull request #11956 from aibaars/json-log
...
Ruby: structured logging
2023-02-03 09:54:49 +01:00
Alvaro Muñoz
13242df149
Apply suggestions from code review
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2023-02-03 09:45:00 +01:00
Alvaro Muñoz
dd31be43e0
Support for Twirp framework
2023-02-03 09:35:22 +01:00
github-actions[bot]
faf21f3edb
Post-release preparation for codeql-cli-2.12.2
2023-02-02 23:01:04 +00:00
erik-krogh
6e712b293a
add tracking of strings to compile-sites for poly-redos, in the style of Ruby
2023-02-02 22:56:20 +01:00
Jami Cogswell
30b1a2edbc
Java: add first argument to copy sink
2023-02-02 16:20:54 -05:00
Jami Cogswell
61a8f5e425
Java: add signature to createTempDirectory sink
2023-02-02 16:19:20 -05:00
erik-krogh
34266cfa4c
simplify the QL-for-QL workflow, which should also fix the cache
2023-02-02 22:17:38 +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
erik-krogh
52959d7c0a
add failing test for not tracking strings to re.compile
2023-02-02 19:10:32 +01:00
Erik Krogh Kristensen
c8cfb6a0cc
Merge pull request #12065 from knewbury01/knewbury01/fix-js-cleartext-logging-doc
...
Update JS CleartextLogging qhelp
2023-02-02 18:23:59 +01:00
Philip Ginsbach
55cd436b06
Merge pull request #12074 from github/ginsbach/DocumentShadowing2
...
shadowing in the QL language specification
2023-02-02 17:13:47 +00:00
Philip Ginsbach
1542353af7
statement no longer holds for namespaces with shadowing
2023-02-02 16:55:06 +00:00
Alvaro Muñoz
2576a09af9
remove unnecessary line
2023-02-02 17:50:50 +01:00
Nora Dimitrijević
a3a01ddc11
Merge pull request #11855 from d10c/swift/extract-captures
2023-02-02 17:50:41 +01:00
Philip Ginsbach
ab184ebd78
shadowing in the QL language specification
2023-02-02 16:19:18 +00:00
Kristen Newbury
21b4931fbb
Merge branch 'main' into knewbury01/fix-js-cleartext-logging-doc
2023-02-02 11:12:57 -05:00
Kristen Newbury
231110ddca
Update javascript/ql/src/Security/CWE-312/CleartextLogging.qhelp
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2023-02-02 11:12:44 -05:00
Henry Mercer
65863f1fc7
Merge pull request #10826 from github/dependabot/github_actions/actions/setup-dotnet-3.0.2
...
build(deps): bump actions/setup-dotnet from 2 to 3
2023-02-02 15:54:55 +00:00
Philip Ginsbach
1472d4b782
Merge pull request #12062 from github/ginsbach/DocumentShadowing
...
shadowing in the handbook
2023-02-02 15:52:54 +00:00
Anders Schack-Mulligen
67d4ed53b9
Dataflow: Sync.
2023-02-02 16:33:00 +01:00
Anders Schack-Mulligen
8cb233df1a
Dataflow: A proper perf fix for the stage-dependent fanout direction of the Content-to-Ap relation.
2023-02-02 16:31:07 +01:00
Michael Nebel
77283be6c0
Merge pull request #12068 from michaelnebel/csharp/dotnetpublishtest
...
C#: Avoid that the dotnet publish test refers to a specific .NET vers…
2023-02-02 15:34:06 +01:00
Michael Nebel
960f776e29
C#: Avoid that the dotnet publish test refers to a specific .NET version.
2023-02-02 14:18:50 +01:00
Philip Ginsbach
4282e1a18e
explicitly mention aliases
2023-02-02 13:04:43 +00:00
Philip Ginsbach
2b719d503d
visible namespaces also include private imports
2023-02-02 13:03:30 +00:00
Michael Nebel
ae10a6beb0
C#: Check that we get AST for struct that doesn't initialize all fields.
2023-02-02 12:50:59 +01:00
Mathias Vorreiter Pedersen
b53963a791
C++: QLDoc.
2023-02-02 11:49:31 +00:00
Nora Dimitrijević
ad5dbe18a4
Swift: db upgrade/downgrade script
2023-02-02 12:00:47 +01:00
Rasmus Wriedt Larsen
db114bb104
Merge branch 'main' into call-graph-code
2023-02-02 11:56:55 +01:00
Nora Dimitrijević
50e5b29eb7
Swift: all Callables can have captures [codegen'd]
2023-02-02 11:56:51 +01:00
Nora Dimitrijević
ce2e7f1d12
Swift: all Callables can have captures [hand-written]
2023-02-02 11:35:50 +01:00
Nora Dimitrijević
d230431006
Swift: extract closure captures (codegen'd part)
2023-02-02 11:35:49 +01:00
Nora Dimitrijević
6895c113cf
Swift: extract closure captures (hand-written part)
2023-02-02 11:30:33 +01:00
Nora Dimitrijević
87f7bc3a63
Swift: introduce closure capture AST test
2023-02-02 11:30:33 +01:00
Mathias Vorreiter Pedersen
968fff29ac
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into flow-out-of-iterators-3
2023-02-02 09:12:02 +00:00
Michael Nebel
470e4b64ea
C#: Delete assembly load code as it always throws a PlatformNotSupported exception.
2023-02-02 10:06:04 +01:00
dependabot[bot]
787fe38d90
build(deps): bump actions/setup-dotnet from 2 to 3.0.2
...
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet ) from 2 to 3.0.2.
- [Release notes](https://github.com/actions/setup-dotnet/releases )
- [Commits](https://github.com/actions/setup-dotnet/compare/v2...v3.0.2 )
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-02-02 08:09:43 +00:00
Kristen Newbury
dc5eb40d5f
Update JS CleartextLogging qhelp
2023-02-01 16:29:13 -05:00
Alvaro Muñoz
d6f1dfa205
update tests
2023-02-01 17:58:32 +01:00
Philip Ginsbach
c5deb8544b
rework documentation of namespaces to take account of shadowing
2023-02-01 16:56:35 +00:00
Alvaro Muñoz
4d6b35f891
apply gofmt
2023-02-01 14:51:48 +01:00
Alvaro Muñoz
70a151af02
add change-notes
2023-02-01 14:49:30 +01:00
Alvaro Muñoz
a3188f2e10
address review feedback
2023-02-01 14:43:51 +01:00
Mathias Vorreiter Pedersen
eb31160ae0
C++: Accept test changes.
2023-02-01 13:42:03 +00:00
Alvaro Muñoz
3502ab6523
fix missing QLDocs and refactor ServiceInterface
2023-02-01 14:37:38 +01:00
Mathias Vorreiter Pedersen
702b10ff96
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
2023-02-01 13:37:10 +00:00
Mathias Vorreiter Pedersen
0e1dcc8062
C++: Accept test changes. These all appear to be good changes.
2023-02-01 13:25:37 +00:00
Mathias Vorreiter Pedersen
136b5d189c
C++: Small cleanup by making 'GlobalUse' extend 'UseImpl'.
2023-02-01 13:24:40 +00: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
Alvaro Muñoz
afa6b1cec5
Initial support for Twirp framework
2023-02-01 13:55:09 +01:00
Arthur Baars
a46061541b
Ruby: address review comment
2023-02-01 09:59:05 +01:00
Arthur Baars
fa81d9da18
Apply suggestions from code review
...
Co-authored-by: Harry Maclean <hmac@github.com >
2023-02-01 09:47:39 +01:00
Jeroen Ketema
ce8a84abb3
Merge pull request #12043 from jketema/subpaths
...
C++: Fix missing subpaths when displaying dataflow paths
2023-02-01 09:17:16 +01:00
Mathias Vorreiter Pedersen
88338bdfcf
C++: Flow out of functions that write to iterators.
2023-01-31 15:11:47 +00:00
Mathias Vorreiter Pedersen
41ea71c31c
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-31 14:12:23 +00:00
Arthur Baars
57012714d6
Ruby: serialize timestamps as ISO8601
2023-01-31 14:32:29 +01:00
Mathias Vorreiter Pedersen
1a27a069ac
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-31 11:15:42 +00:00
Jeroen Ketema
24891c3f43
C++: Fix missing subpaths when displaying dataflow paths
2023-01-31 10:57:06 +01:00
Arthur Baars
d944c2bd79
Ruby: address comments
2023-01-31 10:22:12 +01:00
Mathias Vorreiter Pedersen
be359a32c0
Merge pull request #11976 from MathiasVP/fewer-uses-2
...
C++: Don't count every conversion as a use
2023-01-30 15:51:12 +00:00
erik-krogh
31743afa87
add change-note
2023-01-30 16:34:23 +01:00
erik-krogh
e01002368f
add query detecting validators that use badly anchored regular expressions on library/remote input
2023-01-30 16:34:20 +01:00
Mathias Vorreiter Pedersen
22202afbf5
Merge pull request #12007 from MathiasVP/fix-is-chi-before-iterator-use
...
C++: Add missing condition to `isChiBeforeIteratorUse`
2023-01-30 14:01:39 +00:00
Arthur Baars
907ebb723e
Merge branch 'main' into json-log
2023-01-30 10:49:42 +01:00
Mathias Vorreiter Pedersen
7cc7675cdc
C++: Accept query changes. These are just deduplications.
2023-01-30 09:26:14 +00:00
Mathias Vorreiter Pedersen
1b45c5f96a
C++: Accept test changes.
2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
9de8d5c501
C++: Reduce the number of uses by excluding conversions.
2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
7ecc3466cf
C++: Add another column to 'conversionFlow'.
2023-01-30 09:13:42 +00: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
Mathias Vorreiter Pedersen
9573395237
Merge pull request #12005 from MathiasVP/flow-out-of-invalid-functions
...
C++: Flow out of invalid functions
2023-01-29 16:15:40 +00: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
Mathias Vorreiter Pedersen
587b4fee9d
C++: Add missing condition to 'isChiBeforeIteratorUse'.
2023-01-27 14:04:01 +00:00
Mathias Vorreiter Pedersen
e48c93a3b5
Merge pull request #12003 from MathiasVP/positive-formulated-sanitizer-nonconst-format
...
C++: Positively phrased sanitizer in `cpp/non-constant-format`
2023-01-27 13:58:04 +00: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
Mathias Vorreiter Pedersen
2b47e150c6
C++: Accept test changes.
2023-01-27 11:44:17 +00:00
Mathias Vorreiter Pedersen
ec7b406cc9
C++: Generate flow out of parameters whose enclosing function is missing a return statement.
2023-01-27 11:44:04 +00: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
Mathias Vorreiter Pedersen
e8db563e98
C++: Reformulate the sanitizer in 'NonConstantFormat.ql'. It should no longer incorrectly sanitize indirect nodes for which there is no result for 'asIndirectExpr'.
2023-01-27 10:04:48 +00:00
Robert Marsh
6a91e85981
C++: fix UseImpl after merge conflict
2023-01-26 16:01:37 -05:00
Sim4n6
998f1bf215
Some reformatting
2023-01-26 18:54:36 +01:00
Robert Marsh
3648f26cca
Merge remote-tracking branch 'origin/mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
...
Resolved trivial conflicts.
2023-01-26 11:58:53 -05:00
Mathias Vorreiter Pedersen
ee62f2a223
C++: Fix global variable exclusion in DTT.
2023-01-26 16:49:58 +00:00
Mathias Vorreiter Pedersen
8c224429b3
C++: Better 'getType' for global variable nodes.
2023-01-26 16:49:49 +00:00
Nora
5993b60980
Update copy
2023-01-26 17:37:15 +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
Mathias Vorreiter Pedersen
bfe9ae22ad
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-26 13:03:49 +00: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
erik-krogh
80d05c0425
also recognize protected methods as library-input sources
2023-01-24 20:55:25 +01:00
erik-krogh
a017b7500b
Merge branch 'main' into rbPoly
2023-01-24 20:51:36 +01:00
Mathias Vorreiter Pedersen
b1dcb01ed7
Merge pull request #11977 from MathiasVP/accept-test-changes
...
C++: Accept test changes on the use-use flow branch
2023-01-24 12:00:04 +00:00
Mathias Vorreiter Pedersen
ec297fb838
C++: Accept more test changes.
2023-01-24 11:59:14 +00:00
Mathias Vorreiter Pedersen
9f9c486268
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-24 11:39:04 +00:00
Mathias Vorreiter Pedersen
7fb9db49be
C++: Accept test changes.
2023-01-24 11:11:11 +00:00
erik-krogh
49f5e89f36
update expected output for experimental query
2023-01-23 22:29:49 +01:00
Mathias Vorreiter Pedersen
ecbcee5bc8
Merge pull request #11945 from MathiasVP/refactor-param-out-nodes-2
2023-01-23 21:21:13 +00: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
Mathias Vorreiter Pedersen
79b77b01fd
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-23 15:49:36 +00:00
erik-krogh
3cece50f78
add encodeURIComponent as a sanitizer for request-forgery
2023-01-23 13:53:53 +01:00
erik-krogh
be8ef1b324
add failing test
2023-01-23 13:52:36 +01:00
Mathias Vorreiter Pedersen
9dbea539ed
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into refactor-param-out-nodes-2
2023-01-23 10:51:46 +00:00
Rasmus Wriedt Larsen
753192bb4d
Merge branch 'main' into call-graph-code
2023-01-23 11:25:02 +01:00
Jeroen Ketema
3f9deb66ce
Merge pull request #11936 from jketema/pretty-path
...
C++: In use-use dataflow use the AST representation of IR Instructions and Operands as their strings
2023-01-23 10:30:17 +01:00
Mathias Vorreiter Pedersen
da6bbbbc5e
C++: Accept test changes.
2023-01-21 01:43:23 +00:00
Mathias Vorreiter Pedersen
ae998583be
C++: Refactor parameter out nodes to not depend on 'ReturnIndirectionInstruction's.
2023-01-21 01:43:23 +00:00
Arthur Baars
2b9bc3c7e3
Ruby: write errors to json log
2023-01-20 20:11:55 +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
Jeroen Ketema
f628152be1
C++: In dataflow use the AST representation of IR Instructions and Operands
2023-01-20 10:39:50 +01:00
Arthur Baars
d5e60dfb22
Ruby: pass diagnostics::LogWriter to extractor
2023-01-19 13:53:56 +01:00
Arthur Baars
e85e61b6d7
Ruby: add diagnostics module
2023-01-18 16:28:16 +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
Mathias Vorreiter Pedersen
39d44adbc5
Merge pull request #11896 from jketema/spurious-default-taint
...
C++: Fix spurious results in default taint tracking
2023-01-17 17:10:15 +00: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
Jeroen Ketema
a892ae8764
C++: Fix spurious results in default taint tracking
2023-01-16 19:10:10 +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
Mathias Vorreiter Pedersen
2aace0df2c
Merge pull request #11743 from MathiasVP/fix-pointer-to-const-nodes
...
C++: `PostUpdateNode`s for const-pointer arguments
2023-01-13 14:03:21 +00:00
Mathias Vorreiter Pedersen
cdd9567062
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternalsCommon.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-01-13 13:54:07 +00:00
Jami
c725c447ac
Merge branch 'main' into jcogs33/update-paramsString
2023-01-12 08:24:57 -05:00
Mathias Vorreiter Pedersen
cc0371648b
C++: Accept test changes.
2023-01-11 16:25:21 +00:00
Mathias Vorreiter Pedersen
a83879fa42
C++: Make sure that arguments of const pointer-type (as opposed to arguments of pointer to const-type) has an outgoing argument node.
2023-01-11 16:24:22 +00:00
Mathias Vorreiter Pedersen
cd24405a22
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
2023-01-11 15:42:34 +00:00
Jami Cogswell
faae811be7
Java: try simplification of paramsString and paramsStringPart
2023-01-10 13:35:52 -05:00
Jami Cogswell
65aa064838
Java: update paramsString qldoc
2023-01-10 13:33:47 -05:00
Mathias Vorreiter Pedersen
8b01dfe696
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-10 17:30:29 +00:00
Mathias Vorreiter Pedersen
0f93e5c907
Merge pull request #11781 from MathiasVP/as-expr-for-arrays
...
C++: Map more expressions to `OperandNode`s
2023-01-09 14:38:22 +00:00
erik-krogh
d67e756f42
make the import of Gem private
2023-01-09 09:13:01 +01:00
Mathias Vorreiter Pedersen
83d751b287
Merge pull request #11768 from MathiasVP/fix-implicit-reads-in-cleartext-sqlite-database
...
C++: Fix implicit reads on `cpp/cleartext-storage-database`
2022-12-22 13:47:10 +00:00
Mathias Vorreiter Pedersen
e86e3ec3ec
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-22 11:29:43 +00:00
Mathias Vorreiter Pedersen
e453c7a36e
C++: Accept test changes.
2022-12-22 10:57:54 +00:00
Mathias Vorreiter Pedersen
05cd2518a4
C++: Map more expressions to operand nodes.
2022-12-22 10:57:11 +00:00
Mathias Vorreiter Pedersen
273af3cbf1
C++: Fix 'allowImplicitRead' override in 'cpp/cleartext-storage-database'.
2022-12-21 09:43:00 +00:00
Jeroen Ketema
0addae81cd
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-20 11:34:41 +01:00
Jeroen Ketema
949b61c635
Merge pull request #11729 from MathiasVP/fix-cleartext-sqlite-database
...
C++: Prepare `cpp/cleartext-storage-database` for use-use flow
2022-12-19 14:01:34 +01:00
Jeroen Ketema
88a1eead03
Merge pull request #11724 from MathiasVP/clear-text-transmission-dont-track-indirection
...
C++: Use `asExpr` in `cpp/cleartext-transmission`
2022-12-19 11:31:06 +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
Robert Marsh
df7a4ac093
Merge pull request #11722 from MathiasVP/make-buffer.qll-unique-again
...
C++: Use `unique` in `getBufferSize`
2022-12-16 15:00:18 -05:00
Mathias Vorreiter Pedersen
1d80e94bb4
C++: Prepare 'CleartextSqliteDatabase.ql' for use-use flow.
2022-12-16 17:10:10 +00:00
Mathias Vorreiter Pedersen
c09ed10d33
Merge pull request #11727 from MathiasVP/fix-crement-and-assign-op-dataflow-mappings
...
C++: Fix `DataFlow <-> Expr` mappings for `CrementOperation` and `AssignOperation`
2022-12-16 17:05:13 +00:00
Mathias Vorreiter Pedersen
33649ed7d3
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-16 17:02:06 +00:00
Mathias Vorreiter Pedersen
a7aa1a7d8b
C++: Accept more test changes
2022-12-16 16:04:35 +00:00
Robert Marsh
eddc2f3038
Merge pull request #11694 from MathiasVP/iterator-use-use-flow-using-ir-ssa
...
C++: Iterator flow for IR-based use-use flow (second attempt)
2022-12-16 10:51:19 -05:00
Mathias Vorreiter Pedersen
45f69be94c
C++: Accept test changes
2022-12-16 14:14:58 +00:00
Mathias Vorreiter Pedersen
df526552a6
C++: Fix mapping between dataflow nodes and '{Crement, Assign}Operations'.
2022-12-16 14:14:48 +00:00
Mathias Vorreiter Pedersen
2de2887ebb
C++: Accept test changes
2022-12-16 13:27:08 +00:00
Mathias Vorreiter Pedersen
4ace171447
C++: Don't track indirection expressions in 'cpp/cleartext-transmission'. Instead, just track the direct expression.
2022-12-16 13:26:53 +00:00
Mathias Vorreiter Pedersen
81de93da2d
C++: Accept test changes
2022-12-16 12:58:53 +00:00
Mathias Vorreiter Pedersen
c06f7259cf
C++: Make the 'getBufferSize' a lot more like the pre-use-use flow implementation.
2022-12-16 12:58:45 +00:00
Sim4n6
4376870a51
An uploded file is considered a source
2022-12-15 23:39:02 +01:00
Mathias Vorreiter Pedersen
a36afc6bff
C++: Accept more test changes.
2022-12-15 13:29:05 +00:00
Mathias Vorreiter Pedersen
73b93be313
C++: Prevent non-termination in 'getTypeImpl' when a iterator defines itself as 'value_type'.
2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
526b913f7d
C++: Fix join orders.
2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
cb47bdd9fd
C++: Accept test changes.
2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
f94ca0e087
C++: Add implicit defs and uses for iterators' underlying containers.
2022-12-15 11:55:21 +00:00
Mathias Vorreiter Pedersen
78b7e12b87
C++: Make 'DefImpl' and 'useImpl' abstract.
2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
5d417d7a69
C++: Implement an 'Indirection' subtype for iterators.
2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
ef110e77ff
C++: Remove an unnecessary predicate from the 'Indirection' class.
2022-12-15 11:54:32 +00:00
Jeroen Ketema
31b4dda7bd
Merge pull request #11687 from jketema/tainted-path-use-use
...
C++: Make `cpp/path-injection` work with use-use dataflow
2022-12-14 18:06:05 +01:00
Mathias Vorreiter Pedersen
22b04af0fa
Merge pull request #11658 from MathiasVP/uncertain-writes
...
C++: Flow through uncertain writes
2022-12-14 15:26:28 +00:00
Jeroen Ketema
bb256514c0
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-14 15:52:20 +01:00
Jeroen Ketema
3b78860d8d
Merge pull request #11692 from jketema/itemization
...
C++: Fix itemization in QLDoc
2022-12-14 15:19:12 +01:00
Jeroen Ketema
c18cfa7a7a
C++: Fix itemization in QLDoc
2022-12-14 13:46:07 +01:00
Jeroen Ketema
4075f693bd
C++: Make cpp/path-injection work with use-use dataflow
2022-12-14 13:38:55 +01:00
Mathias Vorreiter Pedersen
973aad5c17
Merge pull request #11677 from jketema/argv-flow-source
...
C++: Recognize indirect `argv` accesses as flow sources for use-use dataflow
2022-12-14 12:36:18 +00:00
Paolo Tranquilli
de2e92d5e1
Swift: remove / delimiters from regex extracted patterns
2022-12-14 09:18:36 +01:00
Paolo Tranquilli
fb5b6eab19
Swift: extract RegexLiteralExpr
2022-12-14 09:12:07 +01:00
Jeroen Ketema
628f92a9fb
C++: Fix QL-for-QL warnings
2022-12-13 16:24:55 +01:00
Jeroen Ketema
3be0b3e6c7
C++: Recognize indirect argv accesses as flow sources for use-use dataflow
...
This fixes the test regression on `cpp/command-line-injection`.
2022-12-13 16:18:17 +01:00
ALJI Mohamed
54109b8ea7
Add source wget.download
2022-12-13 15:34:01 +01:00
Mathias Vorreiter Pedersen
69155cb691
Merge pull request #11664 from jketema/alloca-in-loop-fix
...
C++: Fix `cpp/alloca-in-loop` regressions with use-use dataflow
2022-12-13 11:59:38 +00:00
Jeroen Ketema
b10ed976cc
Update cpp/ql/src/Likely Bugs/Memory Management/AllocaInLoop.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-12-13 10:57:34 +01:00
ALJI Mohamed
2f68b54b27
A simple download_file() call from maybe boto3
2022-12-12 19:46:34 +01:00
Jeroen Ketema
18dea55071
C++: Fix cpp/alloca-in-loop regressions with use-use dataflow
2022-12-12 19:15:50 +01:00
Mathias Vorreiter Pedersen
a161dddbbf
C++: Accept test changes. These happen because these remote flow sources specify that the remote source is both 'isReturnValue' and 'isReturnValueDeref'.
2022-12-12 13:39:09 +00:00
Mathias Vorreiter Pedersen
8722fb2cf5
C++: Accept test changes.
2022-12-12 10:54:40 +00:00
Mathias Vorreiter Pedersen
ad522651ec
C++: Flow through uncertain writes.
2022-12-12 10:54:26 +00:00
Mathias Vorreiter Pedersen
2999243e34
C++: Add failing IR dataflow testcase.
2022-12-12 10:42:59 +00:00
Jeroen Ketema
b2091e8632
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-12 11:40:36 +01:00
Jeroen Ketema
cb1dacfef1
C++: Fix QL-for-QL warnings
2022-12-12 11:23:29 +01:00
ALJI Mohamed
b19452467d
read by chunks as additional step
2022-12-10 21:59:14 +01:00
Mathias Vorreiter Pedersen
9e7b73ab4a
Merge pull request #11645 from MathiasVP/more-caching
2022-12-10 18:04:48 +00:00
Mathias Vorreiter Pedersen
9f9ffef697
C++: Make the Node IPA type private.
2022-12-10 14:51:21 +00:00
ALJI Mohamed
eff132512c
Copying the response data to the archive
2022-12-10 08:15:42 +01:00
Mathias Vorreiter Pedersen
de70cbfee9
C++: Change caching for dataflow.
2022-12-09 23:30:47 +00:00
Mathias Vorreiter Pedersen
2ad61df9df
Merge pull request #11640 from MathiasVP/local-expr-step-should-step
...
C++: Prevent an `Expr` from stepping to itself in IR dataflow
2022-12-09 17:31:19 +00:00
ALJI Mohamed
545aab0e07
tarball path provided using CLI argument (source)
2022-12-09 15:54:43 +01:00
Mathias Vorreiter Pedersen
52bf39bcf9
C++: Use a 'fastTC' instead of '*' to improve performance.
2022-12-09 14:21:09 +00:00
Mathias Vorreiter Pedersen
a3285653ae
C++: Prevent an expression to stepping to itself.
2022-12-09 14:20:27 +00:00
Mathias Vorreiter Pedersen
b9c9f65f0f
Merge pull request #11633 from MathiasVP/accept-consistency-failures
...
C++: Accept dataflow consistency changes
2022-12-09 11:03:03 +00:00
Mathias Vorreiter Pedersen
1169c1b898
C++: Accept test changes caused by the new consitency check.
2022-12-09 09:20:29 +00:00
Robert Marsh
f235b991db
Merge pull request #11374 from MathiasVP/indirect-outnodes-are-post-update-nodes
...
C++: Field flow through reference-returning functions
2022-12-08 10:46:19 -05:00
Mathias Vorreiter Pedersen
7c6918de98
Merge pull request #11543 from MathiasVP/refactor-isdef-isuse
...
C++: Refactor `isDef` and `isUse` in preparation for iterator flow
2022-12-08 14:31:36 +00:00
Mathias Vorreiter Pedersen
f814ce7f10
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into refactor-isdef-isuse
2022-12-08 13:25:20 +00:00
Mathias Vorreiter Pedersen
0a1097d735
C++: Accept test changes to 'sources-and-sinks.cpp'.
2022-12-08 13:17:35 +00:00
Mathias Vorreiter Pedersen
4fd6ac5657
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-08 13:10:18 +00:00
Mathias Vorreiter Pedersen
36d0903733
C++: Simplify 'getSourceVariable'.
2022-12-08 12:29:15 +00: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
Mathias Vorreiter Pedersen
9f85175ee1
C++: Fix blowup in 'stripPointer'.
2022-12-07 22:35:37 +00:00
Mathias Vorreiter Pedersen
5ae3228928
C++: Fix TODO.
2022-12-07 22:34:10 +00:00
Mathias Vorreiter Pedersen
68f0997d87
C++: Generalize loads and stores.
2022-12-07 22:34:10 +00:00
Mathias Vorreiter Pedersen
589f7bdbcc
C++: Introduce BaseSourceVariableInstruction.
2022-12-07 22:34:03 +00: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
Mathias Vorreiter Pedersen
e71fbb1def
Merge pull request #11541 from MathiasVP/add-node0
...
C++: Introduce a pre-SSA `DataFlow::Node` class
2022-12-06 13:28:39 +00: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
Mathias Vorreiter Pedersen
c563ed3635
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-05 10:27:55 +00:00
Mathias Vorreiter Pedersen
43adfe8893
C++: Fix QLDoc.
2022-12-02 11:30:46 +00:00
Mathias Vorreiter Pedersen
145dea0e9b
C++: Introduce a node class that exists before computing SSA.
2022-12-02 10:04:52 +00:00
Jeroen Ketema
2ef13d1df7
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-29 10:43:01 +01:00
Jeroen Ketema
4c94ff7deb
Merge pull request #11413 from jketema/default-taint-upper-bound-check-fix
...
C++: Fix upper bound detection in default taint flow
2022-11-24 15:36:59 +01:00
Jeroen Ketema
223eeb6921
C++: Fix upper bound detection in default taint flow
2022-11-24 14:38:36 +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
Mathias Vorreiter Pedersen
d9fab8afd9
Merge pull request #11405 from jketema/611-use-use-fix
...
C++: Fix CWE-611 XXE query to work with use-use dataflow - take 2
2022-11-24 09:10:28 +00:00
Jeroen Ketema
6fa5fdfeb2
C++: Fix CWE-611 XXE query to work with use-use dataflow - take 2
...
This commit ensures stack allocated parsers are also handled.
2022-11-23 23:59:04 +01:00
Mathias Vorreiter Pedersen
ac2174db13
Merge pull request #11400 from jketema/611-use-use-fix
...
C++: Fix CWE-611 XXE query to work with use-use dataflow
2022-11-23 17:08:52 +00:00
Jeroen Ketema
30bdd25228
C++: Fix CWE-611 XXE query to work with use-use dataflow
2022-11-23 16:14:28 +01:00
Jeroen Ketema
9e4cab74ec
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-23 11:07:03 +01:00
Mathias Vorreiter Pedersen
349c5cd800
Merge pull request #11254 from MathiasVP/fix-ssa-flow
...
C++: Fix spurious reference flow
2022-11-23 09:52:28 +00:00
Rasmus Wriedt Larsen
69b43f147a
Python: Fix ql4ql alerts
...
The rest will be ignored.
2022-11-22 16:24:47 +01:00
Mathias Vorreiter Pedersen
623372238d
C++: Better support for flow-through.
2022-11-22 13:54:44 +00: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
erik-krogh
2ad28ab4db
add library inputs as a source to poly-redos
2022-11-22 13:05:34 +01:00
Jeroen Ketema
cfb8f282d1
Merge pull request #11369 from jketema/fun-typo
...
C++: Fix typo flagged up by QL-for-QL
2022-11-22 12:34:54 +01:00
Jeroen Ketema
6a68e7936f
C++: Fix typo flagged up by QL-for-QL
2022-11-22 11:53:11 +01:00
Mathias Vorreiter Pedersen
98285393fe
Merge pull request #11357 from MathiasVP/ignore-more-instructions
...
C++: Ignore more instructions in dataflow
2022-11-22 10:47:51 +00:00
Jeroen Ketema
4731f9222c
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-22 10:53:24 +01:00
Mathias Vorreiter Pedersen
a2ce51fdf7
C++: Accept test changes.
2022-11-22 09:50:45 +00:00
ihsinme
5ceab40841
Update DivideByZeroUsingReturnValue.ql
2022-11-22 10:11:18 +03:00
Mathias Vorreiter Pedersen
320b5ca01a
C++: Ignore more instructions for dataflow.
2022-11-21 21:39:19 +00:00
Mathias Vorreiter Pedersen
fc3d6a1847
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-21 20:57:24 +00:00
Mathias Vorreiter Pedersen
7658df9ebd
Merge pull request #11355 from MathiasVP/fewer-read-steps
...
C++: Reduce `readStep` fan-in
2022-11-21 20:35:34 +00:00
Mathias Vorreiter Pedersen
23d6eb67c3
C++: Fix comment.
2022-11-21 19:26:04 +00:00
Mathias Vorreiter Pedersen
d1274e2769
C++: Accept more test changes.
2022-11-21 18:33:14 +00:00
Mathias Vorreiter Pedersen
231e2a8df3
C++: Reduce fan-in for 'readStep'.
2022-11-21 17:07:29 +00:00
Mathias Vorreiter Pedersen
24542ec84a
Merge branch 'main' into replace-ast-with-ir-use-usedataflow
2022-11-21 15:02:28 +00:00
Mathias Vorreiter Pedersen
d361053e10
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-11-21 10:37:03 +00:00
Mathias Vorreiter Pedersen
1e00e15c7b
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-11-21 10:36:57 +00:00
Jeroen Ketema
ffbe1e065a
Merge pull request #11314 from MathiasVP/fix-flow-out-of-const-member-functions
...
C++: Fix flow out of const member functions
2022-11-21 10:36:59 +01:00
Mathias Vorreiter Pedersen
7251f2fd3d
Merge pull request #11330 from MathiasVP/fix-performance-of-upcast-array-pointer-arith
2022-11-21 09:09:00 +00:00
Mathias Vorreiter Pedersen
bfba95f9f7
C++: Fix performance of 'cpp/upcast-array-pointer-arithmetic'.
2022-11-18 14:50:18 +00:00
Mathias Vorreiter Pedersen
3c49447165
Merge pull request #11325 from MathiasVP/fix-join-in-cast-array-pointer-query
...
C++: Fix join order in `cpp/upcast-array-pointer-arithmetic`
2022-11-18 13:41:57 +00:00
Mathias Vorreiter Pedersen
1e14af6e64
C++: Fix join in 'cpp/upcast-array-pointer-arithmetic'.
2022-11-18 10:19:55 +00:00
Mathias Vorreiter Pedersen
b9bcff40c5
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-flow-out-of-const-member-functions
2022-11-17 10:41:12 +00:00
Mathias Vorreiter Pedersen
f1b85d7ebf
Merge pull request #11315 from MathiasVP/accept-test-changes
...
C++: Accept test changes on the use-use flow branch
2022-11-17 10:40:33 +00:00
Mathias Vorreiter Pedersen
aa385a293d
C++: Accept test changes.
2022-11-16 23:00:00 +00:00
Mathias Vorreiter Pedersen
b12955e220
C++: Fix flow out of const member functions.
2022-11-16 22:46:21 +00:00
Mathias Vorreiter Pedersen
29f4b26280
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 16:09:35 +00:00
Robert Marsh
70a9e49039
Merge pull request #11218 from MathiasVP/merge-some-indirect-and-instruction-nodes
...
C++: Remove some `IndirectOperand` and `IndirectInstruction` nodes
2022-11-16 10:09:40 -05:00
Mathias Vorreiter Pedersen
a9173727cf
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 14:22:54 +00:00
Mathias Vorreiter Pedersen
4f2c2e6d5e
C++: Accept test changes.
2022-11-16 14:05:54 +00:00
Mathias Vorreiter Pedersen
3b1b8cc720
C++: Fix SSA for array writes.
2022-11-16 14:05:54 +00:00
Mathias Vorreiter Pedersen
3e5c66e932
C++: Accept test changes.
2022-11-16 14:05:48 +00:00
Mathias Vorreiter Pedersen
235a06903e
C++: Fix 'asParameter' to handle references.
2022-11-16 14:05:42 +00:00
Mathias Vorreiter Pedersen
2cebd5c51d
C++: Accept test changes.
2022-11-16 13:56:24 +00:00
Mathias Vorreiter Pedersen
b8fab9ae79
C++: Respond to review comments.
2022-11-15 16:07:07 +00:00
Mathias Vorreiter Pedersen
1f43a1a924
Merge branch 'replace-ast-with-ir-use-usedataflow' into merge-some-indirect-and-instruction-nodes
2022-11-15 16:00:52 +00:00
Jeroen Ketema
a270f318e9
Merge pull request #11271 from jketema/ast-config-for-smart-ptrs
...
C++: Reintroduce the AST testing configuration for the smart pointer test too
2022-11-15 14:48:03 +01:00
Jeroen Ketema
2acda03518
C++: Reintroduce the AST testing configuration for the smart pointer test too
2022-11-15 13:49:03 +01:00
Mathias Vorreiter Pedersen
3d94286785
Merge pull request #11257 from MathiasVP/reduce-path-duplication
...
C++: Reduce path duplication
2022-11-15 11:01:11 +00:00
Mathias Vorreiter Pedersen
16565401c7
C++: Reduce path duplication.
2022-11-14 15:29:57 +00:00
Mathias Vorreiter Pedersen
7408931565
C++: Disable 'reference -> dereference' dataflow.
2022-11-14 14:05:31 +00:00
Jeroen Ketema
2b37ebd7ed
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-11 17:24:34 +01:00
Mathias Vorreiter Pedersen
0c7f57e0c4
C++: Accept test changes.
2022-11-11 11:09:38 +00:00
Mathias Vorreiter Pedersen
f534768715
C++: Fix join orders.
2022-11-11 11:09:38 +00:00
Mathias Vorreiter Pedersen
e0a6c16228
C++: Add missing QLDoc.
2022-11-11 11:09:38 +00:00
Mathias Vorreiter Pedersen
1a1f078684
C++: Also pick the operand as the 'ExprNode' when the expression is the qualifier of a call (and not just when it's an argument of a call).
2022-11-11 11:07:08 +00:00
Mathias Vorreiter Pedersen
c999704d1e
C++: Now that we sometimes target an operand where we'd target an instruction before we should pick the operand as the 'sink' in the call-target resolution recursion.
2022-11-11 11:07:08 +00:00
Mathias Vorreiter Pedersen
a51ac7b4e7
C++: Remove some unnecessary IPA values from 'IndirectInstruction' and 'IndirectOperand' when the semantically identical value already exists in the IR.
2022-11-11 11:07:08 +00:00
ihsinme
0fb1dedbb2
Update DivideByZeroUsingReturnValue.ql
2022-11-11 11:38:48 +03:00
Jeroen Ketema
d8e96ef12a
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-10 12:09:43 +01:00
Jeroen Ketema
d0a00254ad
Merge pull request #11184 from jketema/reintro-ast-annotation
...
C++: Re-introduce the `ast` annotations in the taint tests and related test infrastructure
2022-11-10 12:00:16 +01:00
Jeroen Ketema
0e33f4da6b
C++: Re-introduce most of the ast annotation test infrastructure
2022-11-09 14:37:01 +01:00
Jeroen Ketema
bd301768ea
C++: Re-introduce the ast annotations in the taint tests
2022-11-09 14:30:56 +01:00
Jeroen Ketema
0d27d63984
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-09 14:28:47 +01:00
Jeroen Ketema
4c308d998e
Merge pull request #11179 from jketema/old-taint-fix
...
C++: Fix imports and module names in old dataflow/taint tracking library
2022-11-09 14:07:23 +01:00
Jeroen Ketema
af6a87e54d
C++: Add missing QLDoc comments
2022-11-09 13:08:53 +01:00
Jeroen Ketema
d7804f5473
C++: Fix DataFlow2 import
2022-11-09 12:53:05 +01:00
Jeroen Ketema
ceb6706c73
C++: Fix formatting
2022-11-09 12:52:44 +01:00
Jeroen Ketema
4ab5066ed2
C++: Fix imports and module names in old dataflow/taint tracking library
2022-11-09 11:52:39 +01:00
Mathias Vorreiter Pedersen
f19b381e3e
C++: Add use-use flow through global variables.
2022-11-08 17:10:37 +00:00
Jeroen Ketema
74f9b322a8
Merge branch 'main' into update-from-main
2022-11-08 17:01:02 +01:00
Mathias Vorreiter Pedersen
b305e15e11
Merge pull request #11147 from jketema/fix-dataflow-dataflow-tests
...
C++: Fix the use-use dataflow configuration in `dataflow/dataflow-tests`
2022-11-07 16:54:18 +00:00
Jeroen Ketema
89c5e3df1f
C++: Fix the dataflow configuration in dataflow/dataflow-tests
2022-11-07 16:43:55 +01:00
Jeroen Ketema
5732c3bca0
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-07 15:03:26 +01:00
Mathias Vorreiter Pedersen
bd549e527c
Merge pull request #11128 from jketema/dont-use-old
...
C++: Do not use the old dataflow library in `additional-flow-to-parameter`
2022-11-04 15:59:52 +00:00
Jeroen Ketema
fc2013334f
C++: Do not use the old dataflow library in additional-flow-to-parameter
...
Either both queries here should use the old library or neither should. The
expectation is that the expected results between the queries differ depending
on the additional flow step in one of them.
2022-11-04 15:46:36 +01:00
Mathias Vorreiter Pedersen
b95163cfe4
Merge pull request #11112 from MathiasVP/local-expr-flow
...
C++: Improve `Buffer.qll` performance
2022-11-04 10:32:27 +00:00
Mathias Vorreiter Pedersen
2617e6d7c6
C++: Inline a predicate that was only used once.
2022-11-04 09:35:34 +00:00
Mathias Vorreiter Pedersen
84af725ef1
Fix QLDoc.
2022-11-03 20:33:41 +00:00
Mathias Vorreiter Pedersen
b42e81c32d
C++: Speed up 'Buffer.qll'.
2022-11-03 20:31:55 +00:00
Mathias Vorreiter Pedersen
ae01201c43
Merge pull request #11109 from jketema/fix-field-dataflow-tests
...
C++: Fix the IR dataflow configuration for the field flow tests
2022-11-03 19:19:30 +00:00
Mathias Vorreiter Pedersen
1d1161771a
Merge pull request #11108 from jketema/indirect-arg-out-as-partial-def
...
C++: Turn `IndirectArgumentOutNode` into a `PartialDefinitionNode`
2022-11-03 17:57:12 +00:00
Jeroen Ketema
96425a1787
C++: Fix the IR dataflow configuration for the field flow tests
2022-11-03 18:06:37 +01:00
Jeroen Ketema
c87b516130
C++: Turn IndirectArgumentOutNode into a PartialDefinitionNode
2022-11-03 17:58:35 +01:00
Mathias Vorreiter Pedersen
f4915073c8
Merge pull request #11097 from MathiasVP/accept-test-change
...
C++: Accept test change
2022-11-03 11:24:57 +00:00
Mathias Vorreiter Pedersen
5d5c64a58b
C++: Accept test change.
2022-11-03 10:27:07 +00:00
Mathias Vorreiter Pedersen
18802a2883
Merge pull request #11042 from MathiasVP/simplify-buffer.qll
...
C++: Simplify `buffer.qll` repair
2022-11-03 09:18:39 +00:00
Mathias Vorreiter Pedersen
30f15473db
C++: Use 'max' instead of 'unique.'
2022-11-01 16:55:45 +00:00
Jeroen Ketema
80ef3b39ff
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-10-31 18:26:34 +01:00
Mathias Vorreiter Pedersen
1b50168d08
C++: Add an initial pruning stage to prevent this
...
large TC in 'localFlowToExpr':
```
Evaluated relational algebra for predicate Buffer#61e3d199::localFlowStepToExpr#2#ff@0a49913i with tuple counts:
4713946 ~0% {2} r1 = SCAN DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff OUTPUT In.1, In.0
40897385 ~46% {2} r2 = JOIN boundedFastTC:Buffer#61e3d199::localFlowToExprStep#2#ff_10#higher_order_body:DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff_0#higher_order_body WITH DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
45611331 ~43% {2} r3 = r1 UNION r2
3376553 ~14% {2} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
return r4
```
After this commit the tuple counts looks like:
```
Evaluated relational algebra for predicate Buffer#61e3d199::localFlowStepToExpr#2#ff@8cc38x5k on iteration 2 running pipeline standard with tuple counts:
51367 ~3% {2} r1 = JOIN Buffer#61e3d199::getBufferSize0#1#f#prev_delta WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0
124933 ~18% {2} r2 = JOIN r1 WITH #Buffer#61e3d199::localFlowToExprStep#2Plus#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
176300 ~17% {2} r3 = r1 UNION r2
184685 ~22% {2} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
56646 ~47% {2} r5 = JOIN r4 WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
44635 ~16% {2} r6 = r5 AND NOT Buffer#61e3d199::localFlowStepToExpr#2#ff#prev(Lhs.0, Lhs.1)
return r6
```
2022-10-30 14:20:15 +01:00
Mathias Vorreiter Pedersen
aa8214addf
C++: Simplify 'Buffer.qll' by avoiding 'asIndirectExpr'. This removes the flow from 'x' to 'x++', which makes the whole library a lot simpler.
2022-10-30 12:58:53 +01:00
Mathias Vorreiter Pedersen
18d3801c92
Merge pull request #11033 from MathiasVP/exclude-void-calls
...
C++: Don't create `DataFlow::Node`s for `void`-typed instructions
2022-10-28 20:46:33 +02:00
Mathias Vorreiter Pedersen
f3be58e2ba
C++: Accept more test changes.
2022-10-28 14:53:24 +02:00
Mathias Vorreiter Pedersen
20b188ff42
Merge pull request #11020 from rdmarsh2/rdmarsh2/repair-365-days-per-year
...
C++: repair Adding365DaysPerYear.ql
2022-10-28 14:35:05 +02:00
Mathias Vorreiter Pedersen
f6ff9c9c66
Update cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-10-28 14:32:08 +02:00
Mathias Vorreiter Pedersen
9888de8acb
Merge branch 'replace-ast-with-ir-use-usedataflow' into rdmarsh2/repair-365-days-per-year
2022-10-28 13:48:12 +02:00
Mathias Vorreiter Pedersen
42e8ec32d7
Merge pull request #11030 from MathiasVP/fix-ql-for-ql-errors
...
C++: Fix QL-for-QL in #10817
2022-10-28 13:39:50 +02:00
Mathias Vorreiter Pedersen
3261612a8c
C++: Exclude void-typed instructions from 'DataFlow::Node'. These nodes can never contain any data so we don't need dataflow nodes for them.
2022-10-28 13:00:23 +02:00
Mathias Vorreiter Pedersen
2098489bb0
C++: Make QL-for-QL happy.
2022-10-28 12:35:52 +02:00
Jeroen Ketema
fafc0b5575
Merge pull request #10995 from MathiasVP/fix-as-expr
...
C++: Fix `asExpr` and `asIndirectExpr` in IR dataflow
2022-10-28 11:23:13 +02:00
Mathias Vorreiter Pedersen
172261495f
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-as-expr
2022-10-28 10:32:31 +02:00
Robert Marsh
a334dc9b2b
C++: repair Adding365DaysPerYear.ql
2022-10-27 15:06:48 -04:00
Robert Marsh
b7e42e805b
Merge pull request #10994 from rdmarsh2/rdmarsh2/return-cstr-repair
...
C++: repair the ReturnCstr query
2022-10-27 14:25:22 -04:00
Robert Marsh
24cb36a1e2
C++: constrain indirect out node to constructors
2022-10-27 11:48:17 -04:00
Mathias Vorreiter Pedersen
20bd30060f
C++: Fix 'StackPointerFlowsToUse' import.
2022-10-27 16:34:04 +02:00
Mathias Vorreiter Pedersen
b4c8a52117
C++: Accept more test changes.
2022-10-27 14:44:43 +02:00
Mathias Vorreiter Pedersen
2fc7e6159e
C++: Accept test changes.
2022-10-27 12:12:34 +02:00
Mathias Vorreiter Pedersen
e2a0d62adf
C++: Fix 'asIndirectExpr' when the underlying instruction is a 'VariableAddressInstruction'.
2022-10-27 12:12:34 +02:00
Robert Marsh
25a1148e04
C++: autoformat
2022-10-26 14:11:37 -04:00
Robert Marsh
8e2d34f0b6
C++: Accept dataflow test changes
2022-10-26 14:10:23 -04:00
Mathias Vorreiter Pedersen
e43422a090
Merge pull request #10975 from rdmarsh2/rdmarsh2/inconsistent-loop-direction-repair
...
C++: repair InconsistentLoopDirection
2022-10-26 18:17:53 +02:00
Mathias Vorreiter Pedersen
562f052eb0
C++: Accept test changes.
2022-10-26 17:06:38 +02:00
Mathias Vorreiter Pedersen
bc9cd63ef0
C++: Add an 'IndirectExprNode(Base)' class similar to 'ExprNode(Base)' to structure conversions between indirect daaflow nodes and expressions.
2022-10-26 17:05:01 +02:00
Robert Marsh
de89b4c69f
C++: repair the ReturnCstr query
2022-10-26 11:02:23 -04:00
Robert Marsh
fc9f239a3b
C++: make ConstructorCall df nodes the qualifier
...
This makes the dataflow node for a ConstructorCall be the outnode of the
qualifier, which is the resulting constructed object. This should make
`asExpr` on a ConstructorCall do the "right thing" rather than selecting
the void-typed CallInstruction.
2022-10-26 11:01:53 -04:00
Robert Marsh
adeb69e396
C++: autoformat
2022-10-26 10:49:06 -04:00
Mathias Vorreiter Pedersen
4bcba16748
Merge pull request #10833 from MathiasVP/repair-badly-bounded-write-2
...
C++: Prepare `Buffer.qll` for IR-based use-use dataflow
2022-10-26 16:38:33 +02:00
Mathias Vorreiter Pedersen
2ba94f7c89
Merge pull request #10838 from MathiasVP/repair-cleartext-transmission-2
...
C++: Prepare `cpp/cleartext-transmission` for IR-based use-use dataflow
2022-10-26 13:43:56 +02:00
Robert Marsh
8a125d1ae5
C++: repair InconsistentLoopDirection
2022-10-25 13:34:08 -04:00
Jeroen Ketema
3befa1cd96
Merge pull request #10965 from MathiasVP/fix-gettypeimpl-in-ir-dataflow
...
C++: Fix `getType` in IR dataflow
2022-10-25 15:02:45 +02:00
Mathias Vorreiter Pedersen
557b94cd83
Merge pull request #10966 from jketema/spelling-comments
...
C++: Spelling fixes and documentation clarification
2022-10-25 14:34:49 +02:00
Mathias Vorreiter Pedersen
1bd48f8d02
Merge branch 'replace-ast-with-ir-use-usedataflow' into repair-cleartext-transmission-2
2022-10-25 14:27:33 +02:00
Mathias Vorreiter Pedersen
c8f81bc6b8
Merge branch 'replace-ast-with-ir-use-usedataflow' into repair-badly-bounded-write-2
2022-10-25 14:24:38 +02:00
Mathias Vorreiter Pedersen
39b268194a
C++: Accept test changes.
2022-10-25 14:10:51 +02:00
Jeroen Ketema
2ad3119fab
C++: Clarify getType based on the QLDoc of Instruction::getResultType()
2022-10-25 13:34:49 +02:00
Jeroen Ketema
21acefb0b4
C++: Fix some spelling mistakes that were earlier fixed in "experimental"
2022-10-25 13:32:29 +02:00
Mathias Vorreiter Pedersen
23b07e5589
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-gettypeimpl-in-ir-dataflow
2022-10-25 12:52:33 +02:00
Mathias Vorreiter Pedersen
b85d3bc829
Merge branch 'main' into replace-ast-with-ir-use-usedataflow
2022-10-25 12:51:30 +02:00
Mathias Vorreiter Pedersen
a4d434ee05
C++: Fix 'getType' for indirect dataflow nodes in IR dataflow.
2022-10-25 12:24:11 +02:00
Mathias Vorreiter Pedersen
75de0f5c65
C++: Respond to review comments.
2022-10-24 15:13:50 +02:00
Mathias Vorreiter Pedersen
a7d6f4ff19
C++: Fix pointer/pointee conflation and handle flow through '++' when tracking indirect flow.
2022-10-24 14:23:43 +02:00
Robert Marsh
500004dbe0
Merge pull request #10841 from MathiasVP/repair-command-line-injection-2
...
C++: Prepare `cpp/command-line-injection` for IR-based use-use dataflow
2022-10-17 13:42:32 -04:00
Robert Marsh
ccea372fd0
Merge pull request #10842 from MathiasVP/repair-non-constant-format-2
...
C++: Prepare `cpp/non-constant-format` for IR-based use-use dataflow
2022-10-17 13:39:56 -04:00
Robert Marsh
2f0c7729ff
Merge pull request #10818 from github/mathiasvp/fix-join-in-ssa-internals
...
C++: Fix join in `SsaInternals`
2022-10-17 13:36:32 -04:00
Robert Marsh
5cd6dafe27
Merge pull request #10839 from MathiasVP/repair-flow-sources-2
...
C++: Prepare `FlowSources.qll` for IR-based use-use dataflow
2022-10-14 13:46:28 -04:00
Mathias Vorreiter Pedersen
e7b0536896
C++: Repair 'cpp/non-constant-format' in preparation for IR-based use-use dataflow.
2022-10-14 15:26:25 +02:00
Mathias Vorreiter Pedersen
b1f93b07c9
C++: Repair the 'cpp/command-line-injection' query in preparation for IR-based use-use dataflow.
2022-10-14 15:11:41 +02:00
Mathias Vorreiter Pedersen
00a25dbe45
C++: Accept test changes.
2022-10-14 15:01:31 +02:00
Mathias Vorreiter Pedersen
01a81a9c56
C++: Repair the 'FlowSources' library in preparation for IR-based use-use dataflow.
2022-10-14 14:52:29 +02:00
Mathias Vorreiter Pedersen
7ad781e91c
C++: Repair the 'cpp/cleartext-transmission' query in preparation for IR-based use-use dataflow.
2022-10-14 14:37:59 +02:00
Mathias Vorreiter Pedersen
49f39d7602
C++: Accept test changes.
2022-10-14 12:35:46 +02:00
Mathias Vorreiter Pedersen
3ec60f11bb
C++: Repair 'Buffer.qll'.
2022-10-14 12:25:17 +02:00
Mathias Vorreiter Pedersen
134cc6291c
C++: Fix join in SsaInternals.
2022-10-14 10:29:56 +02:00
Mathias Vorreiter Pedersen
d62ae96763
C++: Fix ql-for-ql alerts.
2022-10-14 10:14:53 +02:00
Mathias Vorreiter Pedersen
1c51ad8d26
C++: Update 'identical-files'.
2022-10-14 10:14:53 +02:00
Mathias Vorreiter Pedersen
4c5953fce0
C++: Accept query-test changes.
2022-10-14 10:14:52 +02:00
Mathias Vorreiter Pedersen
373c849b18
C++: Accept library-test changes
2022-10-14 10:14:52 +02:00
Mathias Vorreiter Pedersen
41cbef81ec
C++: Replace AST dataflow with IR dataflow.
2022-10-14 10:14:52 +02: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
ihsinme
65c9a7b278
Update BufferAccessWithIncorrectLengthValue.ql
2022-06-26 13:49:44 +03:00
ihsinme
c1f0940b6a
Update cpp/ql/src/experimental/Security/CWE/CWE-805/BufferAccessWithIncorrectLengthValue.ql
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-06-23 12:50:59 +03:00
ihsinme
5609d5200b
Update cpp/ql/src/experimental/Security/CWE/CWE-805/BufferAccessWithIncorrectLengthValue.ql
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-05-30 20:41:39 +03:00
ihsinme
9499961a9c
Update BufferAccessWithIncorrectLengthValue.ql
2022-05-30 12:43:28 +03:00
ihsinme
d489c12014
Update BufferAccessWithIncorrectLengthValue.ql
2022-05-30 12:26:26 +03:00
ihsinme
475e36e6fc
Update BufferAccessWithIncorrectLengthValue.ql
2022-05-29 09:58:16 +03:00
ihsinme
df1ea5b679
Update BufferAccessWithIncorrectLengthValue.qhelp
2022-05-29 09:56:29 +03:00
ihsinme
5a9061e45b
create new branchihsinme-patch-102 in fork
2022-05-21 14:19:34 +00:00