Mathias Vorreiter Pedersen
69af3b123d
Merge pull request #8941 from github/release-prep/2.9.1
...
Release preparation for version 2.9.1
2022-04-28 14:45:32 +01:00
Jeroen Ketema
2e6addab03
Fix one more change note
2022-04-28 14:22:41 +02:00
Jeroen Ketema
4a648f3c89
Fix change note items
2022-04-28 14:14:19 +02:00
github-actions[bot]
8e4cf190e9
Release preparation for version 2.9.1
2022-04-28 11:59:05 +00:00
Erik Krogh Kristensen
3c07ab59a1
Merge pull request #8936 from jketema/camel-case
...
QL: Improve camel case query
2022-04-28 12:32:46 +02:00
yoff
4553a0913f
Merge pull request #8897 from tausbn/python-fix-bad-methodcallsite-join
...
Python: Fix bad join in `MethodCallsiteRefinement`
2022-04-28 12:17:33 +02:00
Jeroen Ketema
b6cf536f01
QL: Fix formatting
2022-04-28 12:05:47 +02:00
Tony Torralba
604a5fc71f
Merge pull request #8639 from atorralba/atorralba/spring-beans-improvements
...
Java: Improve Spring models
2022-04-28 11:59:51 +02:00
Henry Mercer
52a417b02d
Merge pull request #8921 from github/dependabot/github_actions/actions/setup-python-3
...
Bump actions/setup-python from 2 to 3
2022-04-28 10:57:02 +01:00
Jeroen Ketema
62831e93fe
QL: Add filter for NewType to camel case query
2022-04-28 11:54:42 +02:00
Henry Mercer
03c311181a
Merge pull request #8922 from github/dependabot/github_actions/actions/download-artifact-3
...
Bump actions/download-artifact from 2 to 3
2022-04-28 10:45:49 +01:00
Jeroen Ketema
3db9d56259
QL: Improve message for camel cazse query
2022-04-28 11:41:17 +02:00
Jeroen Ketema
52fc2dac47
QL: Add camel case tests
2022-04-28 11:38:14 +02:00
Mathias Vorreiter Pedersen
2517371a37
Merge pull request #8933 from MathiasVP/revert-globals
...
C++: Revert #8515
2022-04-28 10:38:08 +01:00
Tom Hvitved
db856798b9
Merge pull request #8920 from github/dependabot/github_actions/actions/setup-dotnet-2
...
Bump actions/setup-dotnet from 1 to 2
2022-04-28 10:47:28 +02:00
Stephan Brandauer
f4104e2b72
Merge pull request #8886 from kaeluka/add-rest-parameter-flowstep
...
JS: Add flow step to `...rest` parameters
2022-04-28 08:39:50 +01:00
Tony Torralba
1f1581cc97
Merge pull request #8913 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-04-28 09:34:52 +02:00
dependabot[bot]
8c4e92d065
Bump actions/download-artifact from 2 to 3
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-28 03:32:59 +00:00
dependabot[bot]
c8fd94a830
Bump actions/setup-python from 2 to 3
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-28 03:32:57 +00:00
dependabot[bot]
6526ee797d
Bump actions/setup-dotnet from 1 to 2
...
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet ) from 1 to 2.
- [Release notes](https://github.com/actions/setup-dotnet/releases )
- [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2 )
---
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 >
2022-04-28 03:32:55 +00:00
github-actions[bot]
018558b823
Add changed framework coverage reports
2022-04-28 00:18:25 +00:00
Harry Maclean
ba1d43dd42
Merge pull request #8658 from hmac/hmac/insecure-download
...
Ruby: Add InsecureDownload query
2022-04-28 11:07:35 +12:00
Harry Maclean
f4453f4da2
Merge pull request #8573 from hmac/hmac/missing-regexp-anchor
...
Ruby: Add MissingRegExpAnchor query
2022-04-28 11:06:33 +12:00
Chris Smowton
bb049bffbd
Merge pull request #8765 from artem-smotrakov/cover-jms
...
Java: Add flow sources and steps for RabbitMQ and JMS
2022-04-27 21:27:05 +01:00
Paolo Tranquilli
f95b5853c1
Merge pull request #8788 from AlexDenisov/alexdenisov/swift-first-extractor-test
...
Swift: file extraction
2022-04-27 17:47:17 +02:00
Mathias Vorreiter Pedersen
dc96d55943
Merge pull request #8888 from geoffw0/xxe2
...
C++: Add support for createLSParser to the CWE-611 XXE query.
2022-04-27 16:24:27 +01:00
Anna Railton
00b74d8b1c
Merge pull request #8895 from github/annarailton-patch-1
...
ATM: Update `TaintedPathInjection` -> `TaintedPath`
2022-04-27 16:15:46 +01:00
Mathias Vorreiter Pedersen
abbb7f861f
Merge pull request #8904 from MathiasVP/sync-swift-schema
...
Swift: Sync schema after extractor changes
2022-04-27 16:14:46 +01:00
Alex Denisov
272aa594cc
Swift: compiler options moved to .bazelrc
2022-04-27 17:11:16 +02:00
Mathias Vorreiter Pedersen
75c1e56bbd
Revert "Merge pull request #8515 from rdmarsh2/rdmarsh2/ir-global-vars"
...
This reverts commit 800e4ea7df , reversing
changes made to 7ce040f331 .
2022-04-27 16:04:28 +01:00
Henry Mercer
897bc2374a
Merge pull request #8906 from github/henrymercer/workflow-codeowners
...
Add CODEOWNERS for Actions workflows
2022-04-27 15:47:11 +01:00
Geoffrey White
d04078f989
C++: Fix.
2022-04-27 15:45:23 +01:00
Henry Mercer
c39eaf64ca
Merge pull request #8901 from github/dependabot/github_actions/actions/checkout-3
...
Bump actions/checkout from 2 to 3
2022-04-27 15:40:07 +01:00
Henry Mercer
6777090f36
Add CODEOWNERS for Actions workflows
2022-04-27 15:26:15 +01:00
Stephan Brandauer
ee280cda32
Improve docs after PR comment
...
Co-authored-by: Asger F <asgerf@github.com >
2022-04-27 16:24:20 +02:00
dependabot[bot]
c63a0e7010
Bump actions/checkout from 2 to 3
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-27 14:13:33 +00:00
Henry Mercer
3e80c78612
Merge pull request #8903 from github/dependabot/github_actions/actions/stale-5
...
Bump actions/stale from 3 to 5
2022-04-27 15:13:03 +01:00
Henry Mercer
b6a787d4a0
Merge pull request #8902 from github/dependabot/github_actions/actions/cache-3
...
Bump actions/cache from 2 to 3
2022-04-27 15:12:58 +01:00
Henry Mercer
f876ef91a3
Merge pull request #8900 from github/dependabot/github_actions/actions/labeler-4
...
Bump actions/labeler from 2 to 4
2022-04-27 15:12:52 +01:00
Henry Mercer
52475cd917
Merge pull request #8899 from github/dependabot/github_actions/actions/upload-artifact-3
...
Bump actions/upload-artifact from 2 to 3
2022-04-27 15:12:39 +01:00
Paolo Tranquilli
cde5ba7987
Merge pull request #8889 from redsun82/swift-codegen-unit-tests
...
Swift: add unit tests to code generation
2022-04-27 16:07:54 +02:00
Stephan Brandauer
4964f2df9a
add flow step to rest parameters
2022-04-27 16:03:19 +02:00
Chris Smowton
db90bf9900
Move change note
2022-04-27 15:00:26 +01:00
Mathias Vorreiter Pedersen
141e8fcd5b
Swift: Sync schema.
2022-04-27 14:39:13 +01:00
Tony Torralba
51bb33ae65
Merge pull request #8876 from atorralba/atorralba/externalflow-import-private
...
Java: Make all imports of ExternalFlow private
2022-04-27 15:24:55 +02:00
dependabot[bot]
c71c6f6dbe
Bump actions/stale from 3 to 5
...
Bumps [actions/stale](https://github.com/actions/stale ) from 3 to 5.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v3...v5 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-27 13:17:41 +00:00
dependabot[bot]
2c1ee564aa
Bump actions/cache from 2 to 3
...
Bumps [actions/cache](https://github.com/actions/cache ) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-27 13:17:37 +00:00
dependabot[bot]
70ba8e3a5c
Bump actions/labeler from 2 to 4
...
Bumps [actions/labeler](https://github.com/actions/labeler ) from 2 to 4.
- [Release notes](https://github.com/actions/labeler/releases )
- [Commits](https://github.com/actions/labeler/compare/v2...v4 )
---
updated-dependencies:
- dependency-name: actions/labeler
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-27 13:17:30 +00:00
dependabot[bot]
e1e68e96dc
Bump actions/upload-artifact from 2 to 3
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-27 13:17:28 +00:00
Henry Mercer
295c0fcbb5
Merge pull request #8896 from github/henrymercer/dependabot-actions-updates
...
Enable Dependabot updates for Actions
2022-04-27 14:16:46 +01:00
Geoffrey White
4aa41dfa52
Update cpp/ql/src/Security/CWE/CWE-611/XXE.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-04-27 13:06:02 +01:00
yoff
39753d5a0b
Merge pull request #8693 from erik-krogh/pyApi
...
PY: more API-graphs refactorings
2022-04-27 13:19:50 +02:00
Taus
d3a05b8b7e
Python: Fix bad join in MethodCallsiteRefinement
...
Observed on `FreeCAD/FreeCAD`:
```
Tuple counts for Essa::MethodCallsiteRefinement#24e22a14#f/1@274967ic after 34.5s:
638284 ~0% {2} r1 = SCAN Essa::TEssaNodeRefinement#24e22a14#ffff OUTPUT In.0, In.3 'this'
636521 ~0% {2} r2 = r1 AND NOT Essa::SingleSuccessorGuard#class#24e22a14#f(Lhs.1 'this')
1579493668 ~0% {2} r3 = JOIN r2 WITH SsaDefinitions::SsaSource::method_call_refinement#9197156e#fff ON FIRST 1 OUTPUT Lhs.1 'this', Rhs.2
266673 ~3% {1} r4 = JOIN r3 WITH Essa::EssaNodeRefinement::getDefiningNode#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.0 'this'
return r4
```
After a bit of unbinding, we have:
```
Tuple counts for Essa::MethodCallsiteRefinement#24e22a14#f/1@d73d8e27 after 66ms:
215168 ~1% {2} r1 = SCAN Definitions::SsaSourceVariable#class#486534ab#f OUTPUT In.0, In.0
283965 ~2% {2} r2 = JOIN r1 WITH SsaDefinitions::SsaSource::method_call_refinement#9197156e#fff ON FIRST 1 OUTPUT Rhs.2, Lhs.1
401274 ~0% {2} r3 = JOIN r2 WITH Essa::EssaNodeRefinement::getDefiningNode#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1 'this'
266671 ~2% {1} r4 = JOIN r3 WITH Essa::TEssaNodeRefinement#24e22a14#ffff_03#join_rhs ON FIRST 2 OUTPUT Lhs.1 'this'
266671 ~2% {1} r5 = r4 AND NOT Essa::SingleSuccessorGuard#class#24e22a14#f(Lhs.0 'this')
return r5
```
(I'm somewhat confused about the slight difference in tuples, but it's
probably just because the compiler moved some stuff around.)
2022-04-27 11:13:37 +00:00
Geoffrey White
6ada1bd05b
C++: Match createLSParser more precisely.
2022-04-27 11:51:17 +01:00
Erik Krogh Kristensen
e1c7d369be
Merge pull request #8796 from erik-krogh/redundantImport
...
Remove redundant imports
2022-04-27 12:39:51 +02:00
Henry Mercer
60ebf4d9b7
Enable Dependabot updates for Actions
...
This will automatically create update PRs for workflow files referencing Actions that have since had a major update.
2022-04-27 11:37:22 +01:00
yoff
9d774463f5
Merge pull request #8859 from tausbn/python-fix-bad-essa-joins
...
Python: Fix a bunch of bad joins
2022-04-27 12:27:50 +02:00
Anna Railton
1f1ef22f90
Update TaintedPathInjection -> TaintedPath
...
Lines up with usual naming in https://github.com/github/ml-ql-adaptive-threat-modeling-backend
2022-04-27 11:27:43 +01:00
Geoffrey White
a21af8e262
C++: Address QLDoc alerts.
2022-04-27 11:05:11 +01:00
Tom Hvitved
597424809f
Merge pull request #8893 from hvitved/ruby/simplify-fetch-summary
...
Ruby: Simplify flow summary for `fetch`
2022-04-27 11:47:11 +02:00
Paolo Tranquilli
0100c7171d
Swift: testing non-trivial dataclass properties
2022-04-27 10:17:49 +02:00
Paolo Tranquilli
7f0476049f
Swift: removed spurious mock import
2022-04-27 09:11:14 +02:00
Paolo Tranquilli
68231bfc27
Swift: bump python version to 3.8 in workflow
2022-04-27 08:55:27 +02:00
Tom Hvitved
3b7fe06858
Ruby: Simplify flow summary for fetch
2022-04-27 08:26:24 +02:00
Paolo Tranquilli
f171ce6341
Swift: add unit tests to code generation
...
Tests can be run with
```
bazel test //swift/codegen:tests
```
Coverage can be checked installing `pytest-cov` and running
```
pytest --cov=swift/codegen swift/codegen/test
```
2022-04-27 08:24:11 +02:00
Harry Maclean
992cc517a8
Ruby: Minor changes to InsecureDownload
2022-04-27 18:04:21 +12:00
Harry Maclean
f35379bf8c
Ruby: Add change note for rb/insecure-download
2022-04-27 12:47:09 +12:00
Harry Maclean
a85811ad69
Remove unused field
2022-04-27 12:47:09 +12:00
Harry Maclean
6998608257
Ruby: Document missing test result
2022-04-27 12:47:09 +12:00
Harry Maclean
bb3fb0325b
Ruby: Add InsecureDownload query
...
This query finds cases where a potentially unsafe file is downloaded
over an unsecured connection.
2022-04-27 12:47:09 +12:00
Harry Maclean
ce7675ef43
Ruby: Identify domain in Net::HTTP requests
2022-04-27 12:47:09 +12:00
Harry Maclean
bbc3043836
Add change note for rb/regex/missing-regexp-anchor
2022-04-27 10:12:33 +12:00
Harry Maclean
af2965c2a0
Explain anchors in MissingRegExpAnchor qlhelp
2022-04-27 10:12:33 +12:00
Harry Maclean
6f9dc5eb7e
Ruby: Update import for file move
2022-04-27 10:12:33 +12:00
Harry Maclean
2feb4a48be
Ruby: Add hasMisleadingAnchorPrecedence to MissingRegExpAnchor
2022-04-27 10:12:33 +12:00
Harry Maclean
3f8b27c0cd
Ruby: Add RegExpNonWordBoundary to RegExpTreeView
2022-04-27 10:12:33 +12:00
Harry Maclean
e3c3c00c68
Ruby: Add MissingRegExpAnchor query
2022-04-27 10:12:33 +12:00
Harry Maclean
debc57b417
Ruby: Add RegExpAnchor to RegExpTreeView
2022-04-27 10:12:33 +12:00
Harry Maclean
d95f533d19
Ruby: Add getLastChild to RegExpParent
2022-04-27 10:12:33 +12:00
Nick Rolfe
2d05ea3519
Merge pull request #8885 from SukkaW/replace-git-io-link
2022-04-26 20:29:32 +01:00
Mathias Vorreiter Pedersen
800e4ea7df
Merge pull request #8515 from rdmarsh2/rdmarsh2/ir-global-vars
...
C++: generate IR for global variables with initializers
2022-04-26 18:17:13 +01:00
Geoffrey White
7ce040f331
Merge pull request #8736 from geoffw0/xxe
...
C++: New query for CWE-611 / XML External Entity Expansion (XXE)
2022-04-26 17:21:06 +01:00
Nick Rolfe
649d7dd022
Merge pull request #8607 from github/nickrolfe/incomplete_sanitization
...
Ruby: port of `js/incomplete-sanitization`
2022-04-26 17:10:24 +01:00
Geoffrey White
742949154b
C++: Apply code style suggestion.
2022-04-26 16:53:24 +01:00
Taus
7d736952db
Python: Update expected output
2022-04-26 15:49:40 +00:00
Anna Railton
eacfceb6ce
Merge pull request #8605 from github/annarailton/new-query-label-mappings
...
Experimental (ATM): update query label mappings
2022-04-26 16:39:06 +01:00
SukkaW
0c4885caa7
Replace git.io link with the actual URL
2022-04-26 23:28:34 +08:00
Nick Rolfe
2a4d65f917
Merge pull request #8881 from github/nickrolfe/graph_ordering_typo
2022-04-26 14:30:49 +01:00
Nick Rolfe
a7185e8a75
Ruby: fix typo in edge key for graph query
2022-04-26 13:56:38 +01:00
Erik Krogh Kristensen
7dba2b5868
PY: revert deletion of redundant-import in ClientSuppliedIpUsedInSecurityCheckLib.qll
2022-04-26 14:51:21 +02:00
Chris Smowton
d01c847839
Make import private
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2022-04-26 13:34:24 +01:00
Chris Smowton
c0c50147b3
Replace singleton set
2022-04-26 13:34:24 +01:00
Artem Smotrakov
03d86306b2
Use doc-comment in JMS.qll
2022-04-26 13:34:24 +01:00
Artem Smotrakov
12ca1f0b11
Fixed library-tests/frameworks/guava/handwritten/flow.ql
2022-04-26 13:34:24 +01:00
Artem Smotrakov
52b7fbf484
Removed non-ASCII characters
2022-04-26 13:34:24 +01:00
Artem Smotrakov
e86fd72529
Moved RabbitMQ tests to java/ql/test/library-tests/frameworks/rabbitmq
2022-04-26 13:34:23 +01:00
Artem Smotrakov
3369ffc3c2
Removed RabbitMQ import in FlowSteps.qll
2022-04-26 13:34:23 +01:00
Artem Smotrakov
d7ad13b8de
Fixed typos in JMS.qll
2022-04-26 13:34:23 +01:00
Artem Smotrakov
20f185e772
Use tainted tag in JMS tests
2022-04-26 13:34:23 +01:00
Artem Smotrakov
7158fd1ce8
minorAnalysis in 2022-04-17-jms.md
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-04-26 13:34:23 +01:00
Artem Smotrakov
152de1533e
Added a change note for JMS
2022-04-26 13:34:23 +01:00
Artem Smotrakov
b6bd4f92d1
Added sources and steps for JMS API
2022-04-26 13:34:21 +01:00
Artem Smotrakov
5c6aa15fe5
Fixed model for DataInput
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2022-04-26 13:34:05 +01:00
Artem Smotrakov
269143a19f
Java: Added sources and flow steps for RabbitMQ
2022-04-26 13:34:04 +01:00
Artem Smotrakov
fb39e0f577
Java: Added flow steps for DataInput and ObjectInput
2022-04-26 13:32:48 +01:00
Erik Krogh Kristensen
d389012b75
Merge branch 'main' into redundantImport
2022-04-26 14:24:51 +02:00
Nick Rolfe
3737248deb
Merge pull request #8879 from github/nickrolfe/graph_ordering
...
Ruby: fix graph query tests by defining total ordering
2022-04-26 13:22:53 +01:00
yoff
76f2eca1ee
Merge pull request #8560 from erik-krogh/movePolyTest
...
PY: move the polynomialbacktracking-test to the test folder
2022-04-26 14:21:30 +02:00
Tony Torralba
75b7234a77
Add missing QLDoc
2022-04-26 14:07:07 +02:00
Nick Rolfe
a2f66e8631
Ruby: specify total ordering for test graph queries
2022-04-26 12:58:44 +01:00
Tony Torralba
b69d81ce24
Make all imports of ExternalFlow private
2022-04-26 13:48:44 +02:00
Alex Denisov
5db18bb845
Swift: add a comment clarifying swift::FrontendObserver
2022-04-26 13:35:10 +02:00
Alex Denisov
e2332fc5ec
Swift: Replace SwiftExtractor class with a function
2022-04-26 13:32:14 +02:00
Anders Schack-Mulligen
e5eef51e9d
Merge pull request #8875 from aschackmull/java/useless-imports
...
Java: Remove some useless imports.
2022-04-26 13:32:09 +02:00
Anders Schack-Mulligen
8cd506e513
Merge pull request #8874 from smowton/smowton/fix/insecure-cookies-look-through-named-constants
...
Java insecure cookies query: look through named constants
2022-04-26 12:52:12 +02:00
Erik Krogh Kristensen
881e5e16b5
Java: revert deletion of redundant imports
2022-04-26 12:47:39 +02:00
Anders Schack-Mulligen
7002f49abc
Java: Remove some useless imports.
2022-04-26 12:37:03 +02:00
Chris Smowton
2a8f179d6f
Merge pull request #8865 from smowton/smowton/admin/claim-java-18-support
...
Claim Java 18 support
2022-04-26 11:25:26 +01:00
Chris Smowton
8d7098245b
Add change note
2022-04-26 10:38:20 +01:00
Alex Denisov
ebd2ff4fc0
Swift: rename classes to reflect they belong to Swift
2022-04-26 11:33:35 +02:00
Chris Smowton
7d4767a4f5
Java insecure cookies query: look through named constants
2022-04-26 10:32:13 +01:00
Alex Denisov
81e4f9165e
Swift: remove -frontend option as we don't need it yet
2022-04-26 11:27:41 +02:00
Mathias Vorreiter Pedersen
3719875861
Merge pull request #8871 from erik-krogh/qlDeleteSyncScript
...
QL: delete old copy of the identical files scripts
2022-04-26 10:08:34 +01:00
Erik Krogh Kristensen
ba3aa4f186
QL: delete old copy of the identical files scripts
2022-04-26 10:37:14 +02:00
Erik Krogh Kristensen
6738270b65
Merge pull request #8229 from erik-krogh/parenSan
...
JS: step through parentheses in barrier functions
2022-04-26 10:30:21 +02:00
Alex Denisov
5fc4fab38e
Swift: add missing 'overrides'
2022-04-26 10:07:41 +02:00
Anders Schack-Mulligen
59aedc2872
Merge pull request #8853 from aschackmull/dataflow/fix-join
...
Dataflow: Fix join-on-config producing a CP.
2022-04-26 09:52:50 +02:00
Jeroen Ketema
e7580b68d8
Merge pull request #8852 from jketema/frontend-update
...
Fix test regressions due to C++ frontend update
2022-04-26 09:52:34 +02:00
Mathias Vorreiter Pedersen
8d2bd66d85
Merge pull request #8861 from MathiasVP/update-schema
...
Swift: Update `schema.yml` and regenerate files
2022-04-26 08:45:54 +01:00
Anders Schack-Mulligen
d5fcb4342e
Merge pull request #8868 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-04-26 08:55:38 +02:00
github-actions[bot]
51b2eb78a9
Add changed framework coverage reports
2022-04-26 00:15:54 +00:00
Mathias Vorreiter Pedersen
aca4c8727f
Merge pull request #8802 from github/post-release-prep/codeql-cli-2.9.0
...
Post-release preparation for codeql-cli-2.9.0
2022-04-25 22:52:55 +01:00
Chris Smowton
9cebbaa370
Claim Java 18 support
2022-04-25 21:21:03 +01:00
Jeroen Ketema
73e4f0c044
C++: Set clang_version to the default from previous frontend version
...
This ensures that `__atomic_fetch_min` parses and that the number of
builtins does not changed compared to the previous version of the
frontend.
2022-04-25 21:15:28 +02:00
Jeroen Ketema
ccd545336c
C++: Fix tests where float128 error message has changed
2022-04-25 21:14:20 +02:00
Jeroen Ketema
8e7066600a
C++: Fix test failures where location of reference dereference in lambda changed
2022-04-25 21:14:17 +02:00
Jeroen Ketema
6c1e21cd91
C++: Fix test where variable access position is more accurate in frontend
2022-04-25 21:14:06 +02:00
Jeroen Ketema
5b0603a5b9
C++: Artificial block insertion for loops and switches has changed in frontend
...
There are now more artificial blocks containing more than one instruction
(artificial blocks containing a single instruction have the extractor only
emit that instruction and not the block). The second instruction in each case
is the label for breaking out of a loop or switch.
2022-04-25 21:13:52 +02:00
Jeroen Ketema
d43ae9b7ed
C++: More artificially inserted blocks carry location information in frontend
2022-04-25 21:13:29 +02:00
Jeroen Ketema
a546e6e01c
C++: Update test to run with C++14
...
The test uses an `auto` return type without a trailing return type, which is
a C++14 feature.
2022-04-25 21:13:24 +02:00
Jeroen Ketema
b9e7045a2f
C++: Update vector type test to reflect it uses old-clang features
...
These features are no longer available and the frontend does stricter checking
on this.
2022-04-25 21:13:04 +02:00
Robert Marsh
d0fc348ad9
C++: autoformat
2022-04-25 14:17:49 -04:00
Mathias Vorreiter Pedersen
2c33a7cdd8
Merge pull request #8862 from github/add-swift-to-labeler
...
Include Swift in `labeler.yml`
2022-04-25 17:10:38 +01:00
Jean Helie
47fdb79cf8
Merge pull request #8751 from github/jhelie/add-gitkeep-to-model-resources
...
ML: add .gitkeep to resources dir in which ML models are to be found
2022-04-25 18:08:24 +02:00
Mathias Vorreiter Pedersen
00b1e4b3dd
Include Swift in labeler.yml
2022-04-25 16:57:47 +01:00
Mathias Vorreiter Pedersen
8869038b4f
Swift: Update schema.yml and regenerate files.
2022-04-25 16:15:37 +01:00
Alex Denisov
906ce34e2f
Swift: generate QL files properly
2022-04-25 17:09:29 +02:00
Mathias Vorreiter Pedersen
8e1d079db7
Merge pull request #8858 from github/erik-krogh/enable-ql-for-ql-swift
...
QL: add swift to QL-for-QL
2022-04-25 16:00:56 +01:00
Alex Denisov
355504a86a
Swift: use File from QL library
2022-04-25 16:58:30 +02:00
Alex Denisov
6f0ddaa431
Merge branch 'main' into alexdenisov/swift-first-extractor-test
2022-04-25 16:53:22 +02:00
Taus
d4fc096ea8
Python: Use local flow in Pythagorean.ql
...
The hand-rolled notion of flow was causing some severe performance
issues (on a few databases):
```
Tuple counts for Pythagorean::square#168e234a#f#loop_invariant_prefix/2@c86989kr after 6m35s:
175000 ~5% {2} r1 = JOIN SSA::SsaVariable::getDefinition#dispred#f0820431#ff_10#join_rhs WITH Flow::ControlFlowNode::getNode#dispred#f0820431#bf ON FIRST 1 OUTPUT Lhs.1, Rhs.1 'arg0'
174500 ~6% {2} r2 = JOIN r1 WITH SSA::SsaVariable::getVariable#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'arg0'
1467782500 ~5% {3} r3 = JOIN r2 WITH AstGenerated::Name_::getVariable#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT 3, Rhs.1 'arg1', Lhs.1 'arg0'
1467553000 ~0% {2} r4 = JOIN r3 WITH py_expr_contexts_12#join_rhs ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.1 'arg1'
return r4
```
Rewriting it to use the data flow library made all of this go away. 🎉
2022-04-25 14:35:37 +00:00
Taus
b2cc91369a
Python: Fix bad join in firstUse
...
This was what it looked like (at the point when I killed the evaluation):
```
Tuple counts for SsaCompute::SsaComputeImpl::AdjacentUsesImpl::firstUse#c5fa2be7#ff/2@i1#be98bwif after 1m50s:
274000 ~7% {4} r1 = SCAN SsaCompute::SsaComputeImpl::AdjacentUsesImpl::definesAt#c5fa2be7#ffff OUTPUT In.1, In.0 'def', In.2, In.3
2731768000 ~1% {7} r2 = JOIN r1 WITH SsaCompute::SsaComputeImpl::AdjacentUsesImpl::variableSourceUse#c5fa2be7#ffff ON FIRST 1 OUTPUT Rhs.0, Lhs.2, Lhs.3, Rhs.2, Rhs.3, Rhs.1 'use', Lhs.1 'def'
178000 ~4% {2} r3 = JOIN r2 WITH SsaCompute::SsaComputeImpl::AdjacentUsesImpl::adjacentVarRefs#c5fa2be7#fffff ON FIRST 5 OUTPUT Lhs.6 'def', Lhs.5 'use'
return r3
```
And this is what it looks like now:
```
Tuple counts for SsaCompute::SsaComputeImpl::AdjacentUsesImpl::firstUse#c5fa2be7#ff/2@i1#f9d6ewsi after 207ms:
931353 ~2% {4} r1 = SCAN SsaCompute::SsaComputeImpl::AdjacentUsesImpl::variableSourceUse#c5fa2be7#ffff OUTPUT In.0, In.2, In.3, In.1 'use'
1050477 ~0% {4} r2 = JOIN r1 WITH SsaCompute::SsaComputeImpl::AdjacentUsesImpl::adjacentVarRefs#c5fa2be7#fffff_03412#join_rhs ON FIRST 3 OUTPUT Lhs.0, Rhs.3, Rhs.4, Lhs.3 'use'
506626 ~0% {2} r3 = JOIN r2 WITH SsaCompute::SsaComputeImpl::AdjacentUsesImpl::definesAt#c5fa2be7#ffff_1230#join_rhs ON FIRST 3 OUTPUT Rhs.3 'def', Lhs.3 'use'
return r3
```
2022-04-25 14:33:31 +00:00
Erik Krogh Kristensen
f5e1aa7c98
QL: add swift to QL-for-QL
2022-04-25 16:29:44 +02:00
Taus
49233268a9
Python: Fix bad join in getValue
...
We were building essentially a CP of all control flow nodes:
```
Tuple counts for Essa::AssignmentDefinition::getValue#dispred#f0820431#ff/2@dd1f67vl after 2m45s:
733365 ~6% {3} r1 = JOIN Essa::TEssaNodeDefinition#24e22a14#ffff_30#join_rhs WITH Essa::EssaNodeDefinition::getDefiningNode#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.0
376588 ~0% {2} r2 = JOIN r1 WITH SsaDefinitions::SsaSource::assignment_definition#9197156e#fff ON FIRST 2 OUTPUT Lhs.2 'this', Rhs.2 'result'
376588 ~0% {3} r3 = JOIN r2 WITH Essa::TEssaNodeDefinition#24e22a14#ffff_30#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'this', Lhs.1 'result'
6965593033 ~2% {3} r4 = JOIN r3 WITH project#SsaDefinitions::SsaSource::assignment_definition#9197156e ON FIRST 1 OUTPUT Lhs.1 'this', Rhs.1, Lhs.2 'result'
376588 ~0% {2} r5 = JOIN r4 WITH Essa::EssaNodeDefinition::getDefiningNode#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.0 'this', Lhs.2 'result'
return r5
```
We first tried preventing the join on `result`, but this caused the
characteristic predicate to blow up instead. Finally, we figured just
putting the `value` part in a field would be sufficient, and this did
the trick.
2022-04-25 14:28:00 +00:00
Tony Torralba
85d5b122f7
Merge pull request #8817 from atorralba/atorralba/cleartext-storage-sharedprefs-improvs
...
Java: Add value-preserving flow steps for Android's SharedPreferences
2022-04-25 16:16:46 +02:00
Erik Krogh Kristensen
17005dde2d
QL: fix query-id, and add description
2022-04-25 15:21:35 +02:00
Mathias Vorreiter Pedersen
3199a690aa
Merge pull request #8854 from redsun82/swift-ql-gen
...
Swift: QL generation script
2022-04-25 14:05:25 +01:00
Paolo Tranquilli
643471f400
add temporary exception for Swift for QLdoc
2022-04-25 14:24:22 +02:00
Paolo Tranquilli
cdb10a2151
Swift: fix codegen check
2022-04-25 14:03:48 +02:00
Paolo Tranquilli
9bf4c72085
Swift: split codegen action and fix dependencies
2022-04-25 14:00:41 +02:00
Anders Schack-Mulligen
60eb341b49
Merge pull request #8851 from aschackmull/shared/accesspathsyntax-cleanup
...
Minor clean-up in AccessPathSyntax.qll
2022-04-25 13:47:22 +02:00
Mathias Vorreiter Pedersen
faaa2cedcd
Merge pull request #8849 from JohnMcSandwich/main
...
C++: add new Windows pool allocation functions in `Allocation.qll`
2022-04-25 12:46:31 +01:00
Paolo Tranquilli
de0fa9e456
Swift: QL generation script
...
Also added code generation to the swift checks.
2022-04-25 13:23:36 +02:00
Anders Schack-Mulligen
c06efa1f42
Dataflow: Sync.
2022-04-25 13:11:04 +02:00
Anders Schack-Mulligen
f4d93f089a
Dataflow: Fix join-on-config producing a CP.
2022-04-25 13:10:31 +02:00
Tony Torralba
f1e5e57d76
Update java/ql/lib/semmle/code/java/frameworks/android/SharedPreferences.qll
2022-04-25 12:39:01 +02:00
Anders Schack-Mulligen
40a16325a9
Minor clean-up in AccessPathSyntax.
2022-04-25 12:27:48 +02:00
Alex Denisov
5b20d580be
Swift: use parenthesis instead of curly braces
2022-04-25 12:26:34 +02:00
Anders Schack-Mulligen
cbdd4927ce
Merge pull request #8582 from Marcono1234/marcono1234/JumpStmt-superclass
...
Java: Make `JumpStmt` a proper superclass
2022-04-25 12:22:20 +02:00
Anders Schack-Mulligen
fd2904d49c
Merge pull request #8760 from Marcono1234/patch-1
...
Clarify `min`, `max` and `rank` documentation
2022-04-25 12:20:00 +02:00
Tom Hvitved
bffa8fa7cb
Merge pull request #8641 from hvitved/dataflow/interpret-read-store
...
Data flow: Introduce `ContentSet`
2022-04-25 12:17:34 +02:00
Mathias Vorreiter Pedersen
516ef8d27a
Update cpp/ql/lib/change-notes/2022-04-25-windows-pool-allocation-functions.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-04-25 10:54:12 +01:00
Mathias Vorreiter Pedersen
12c8d9c60e
C++: Add change note.
2022-04-25 10:51:49 +01:00
Alex Denisov
8bcdfb2e4f
Swift: initialize LLVM
...
No need to shutdown LLVM, it's done by the PROGRAM_START macro
2022-04-25 11:49:21 +02:00
Alex Denisov
462133e0f0
Swift: add more comments
2022-04-25 11:48:51 +02:00
Anders Schack-Mulligen
b21f077e8e
Update java/ql/lib/semmle/code/java/Statement.qll
2022-04-25 11:02:23 +02:00
Jeroen Ketema
ba2a884a45
Merge pull request #8818 from jketema/links
...
Replace `help.semmle.com` links by `codeql.github.com` links
2022-04-25 10:25:42 +02:00
JohnMcSandwich
b3dff77d1a
C++: add new Windows pool allocation functions in Allocation.qll
...
Add:
- ExAllocatePool2
- ExAllocatePool3
- ExAllocatePoolZero
2022-04-25 10:21:42 +02:00
Mathias Vorreiter Pedersen
e8b6bfbe0e
Merge pull request #8813 from jketema/buffer
...
C++: Cover variable sized member arrays without a size in `Buffer.qll`
2022-04-25 09:20:31 +01:00
Tom Hvitved
2466288656
Data flow: Simplify revFlowStore
2022-04-25 10:11:54 +02:00
Tom Hvitved
cf0a1e748a
Add change notes
2022-04-25 09:17:40 +02:00
Jeroen Ketema
79164056d1
Replace help.semmle.com links by codeql.github.com links
2022-04-22 20:42:11 +02:00
Jeroen Ketema
a4711206c8
Merge pull request #8769 from felickz/patch-1
...
Docs - Supported Queries - Fixing broken link
2022-04-22 18:29:27 +02:00
Tony Torralba
d982aeaf6f
Add change note
2022-04-22 17:50:47 +02:00
Mathias Vorreiter Pedersen
1e61fdde8b
Merge pull request #8815 from jketema/unreachable-test-case
...
C++: Add non-returning function test case using `__builtin_expect`
2022-04-22 16:47:44 +01:00
Tony Torralba
f1c08bc492
Add value-preserving steps for SharedPreferences
2022-04-22 17:44:59 +02:00
Jeroen Ketema
97d4a12fb2
C++: Add non-returning function test case using __builtin_expect
2022-04-22 17:10:54 +02:00
Jeroen Ketema
dee0f09197
C++: Cover variable sized member arrays without a size in Buffer.qll
...
Currently the extractor incorrectly emits 0 for the array `data` below:
```
struct myStruct { // c
...
char data[]; // v
};
```
This will change in the future, and no size will be emitted anymore.
This commit makes sure `Buffer.qll` handles arrays without sizes.
2022-04-22 16:57:24 +02:00
Robert Marsh
ebdf553621
Merge pull request #8806 from dbartol/dbartol/typedefs/work
...
C++: Work around missing size for typedef
2022-04-22 10:09:24 -04:00
Rasmus Wriedt Larsen
3e8274ede8
Merge pull request #8812 from RasmusWL/stdlib-FileSystemAccess-improvement
...
Python: Minor Stdlib file system access improvement
2022-04-22 16:06:41 +02:00
Tom Hvitved
3edc72feb6
Update CaptureModels.qll
2022-04-22 15:49:17 +02:00
Erik Krogh Kristensen
45080e7777
PY: add missing qldoc
2022-04-22 15:30:31 +02:00
Erik Krogh Kristensen
acac8919b3
PY: update expected output for deprecation warning in test file
2022-04-22 15:28:31 +02:00
Tom Hvitved
bc6ee10583
Data flow: Sync files
2022-04-22 15:10:00 +02:00
Tom Hvitved
488a4ede94
Data flow: Inline getAStoreContent up-front
2022-04-22 15:09:59 +02:00
annarailton
9c25da20a4
Update queryNames
2022-04-22 13:42:29 +01:00
CodeQL CI
06e5962da7
Merge pull request #8791 from asgerf/js/static-accessors
...
Approved by erik-krogh
2022-04-22 13:39:32 +01:00
Tom Hvitved
b033f107df
Merge remote-tracking branch 'upstream/main' into dataflow/interpret-read-store
2022-04-22 14:35:02 +02:00
Rasmus Wriedt Larsen
03c0366fd4
Merge branch 'main' into stdlib-FileSystemAccess-improvement
2022-04-22 14:31:31 +02:00
Erik Krogh Kristensen
789b0a46d1
Merge pull request #8578 from erik-krogh/labelNaming
...
JS: update `toString()` on API-graph labels.
2022-04-22 14:27:25 +02:00
Geoffrey White
d859a91a14
C++: Add support for createLSParser.
2022-04-22 12:24:01 +01:00
Erik Krogh Kristensen
8fcbaea273
Merge branch 'main' into labelNaming
2022-04-22 13:19:44 +02:00
Erik Krogh Kristensen
ff73dbc35c
delete redundant imports
2022-04-22 12:55:28 +02:00
Geoffrey White
79aba67036
Merge branch 'main' into xxe
2022-04-22 11:50:41 +01:00
Erik Krogh Kristensen
ae20393e38
QL: add redundant-import query
2022-04-22 12:47:13 +02:00
Erik Krogh Kristensen
a96489b23d
delete duplicate imports
2022-04-22 12:41:30 +02:00
Erik Krogh Kristensen
c015ef6ef4
Merge pull request #8810 from erik-krogh/rubyPathgraph
...
Ruby: dont import the PathGraph module from Query.qll files
2022-04-22 12:02:59 +02:00
Mathias Vorreiter Pedersen
489355cdab
Merge pull request #8793 from MathiasVP/exclude-internal-diagnostics
...
Exclude internal diagnostics from all selectors
2022-04-22 10:55:38 +01:00
Tom Hvitved
093a3879be
Merge pull request #8794 from hvitved/ruby/capture-barrier-guards
...
Ruby: Handle captured variables in `BarrierGuard::getAGuardedNode()`
2022-04-22 11:47:36 +02:00
Erik Krogh Kristensen
a737350f27
RB: dont import the PathGraph module from Query.qll files
2022-04-22 11:46:06 +02:00
Anders Schack-Mulligen
bf921177f4
Merge pull request #8811 from erik-krogh/syncLate
...
Java: get tainttracking3/TaintTrackingImpl.qll in sync
2022-04-22 11:21:01 +02:00
Asger F
0187e9a3b1
Merge pull request #8808 from vovikhangcdv/doublevkay/fixing-PrototypePollutngAssignment-examples
...
Javascript: Fix PrototypePollutingAssignment example which is incorrect use of express leads to no result when scanning.
2022-04-22 11:18:23 +02:00
Tom Hvitved
be5363ea53
Merge pull request #8801 from hvitved/ruby/exclude-splat-in-taint-tracking
...
Ruby: Exclude `SplatExpr` from taint tracking
2022-04-22 11:12:05 +02:00
Rasmus Wriedt Larsen
650d57083b
Python: Recognize path arguments to pathlib methods
2022-04-22 11:01:59 +02:00
Rasmus Wriedt Larsen
bcaba45202
Python: Expand pathlib tests
2022-04-22 11:01:59 +02:00
Rasmus Wriedt Larsen
059dea713d
Python: Fix os.path.samefile modeling
2022-04-22 11:01:59 +02:00
Erik Krogh Kristensen
dca74a1f45
get tainttracking3/TaintTrackingImpl.qll in sync
2022-04-22 10:37:31 +02:00
Chris Smowton
d309e15072
Merge pull request #8748 from smowton/smowton/admin/dependent-dataflow-configs
...
Java: Avoid higher-numbered dataflow configs that depend on lower-numbered ones
2022-04-22 08:56:00 +01:00
Alex Denisov
aa13891667
Swift: regenerate dbscheme
2022-04-22 09:42:22 +02:00
Mathias Vorreiter Pedersen
35471ff23c
Merge pull request #8809 from AlexDenisov/alexdenisov/rename-swift-db-columns
...
Swift: rename certain dbscheme columns
2022-04-22 08:17:37 +01:00
Mathias Vorreiter Pedersen
52dc016a7a
Merge pull request #8798 from jketema/using
...
C++: Fix tests after extractor changes that improve `using` position accuracy
2022-04-22 08:15:34 +01:00
Alex Denisov
2ce46a9b60
Swift: remove test table from dbscheme
2022-04-22 08:48:44 +02:00
Alex Denisov
c6c51e1ab9
Swift: build with Clang on Linux
2022-04-22 08:48:44 +02:00
Alex Denisov
62d36a29f7
Swift: Extract files
2022-04-22 08:48:38 +02:00
Alex Denisov
e85cdf2ec3
Swift: rename certain dbscheme columns
2022-04-22 08:31:09 +02:00
AlexDenisov
a5189eae9f
Merge pull request #8735 from redsun82/swift-dbscheme-gen
...
Swift: dbscheme generator
2022-04-22 08:26:59 +02:00
Khang. Võ Vĩ
f4581ae866
fix PrototypePollutingAssignment examples
2022-04-22 11:55:45 +07:00
Dave Bartolomeo
83fdff54c4
Work around missing size for typedef
...
See #8805 for the underlying issue. The symptom was bad IR generation on a large number of functions because we never generated an `IRVariable` for a parameter with the affected type.
2022-04-21 16:16:09 -04:00
github-actions[bot]
1aecfc67c2
Post-release preparation for codeql-cli-2.9.0
2022-04-21 19:22:19 +00:00
Tom Hvitved
c20ce62767
Ruby: Exclude SplatExpr from taint tracking
...
`SplatExpr`s are modelled using flow summaries, so there is no need to include them
explicitly in `defaultAdditionalTaintStep`.
2022-04-21 20:27:04 +02:00
Mathias Vorreiter Pedersen
813de65118
Merge pull request #8799 from jketema/comment-fix
...
C++: Fix the layout of comments in `getBufferSize`
2022-04-21 17:17:42 +01:00
Mathias Vorreiter Pedersen
7df7e99761
Merge pull request #8797 from github/release-prep/2.9.0
...
Release preparation for version 2.9.0
2022-04-21 17:14:52 +01:00
Jeroen Ketema
a09fd8c35e
C++: Fix the layout of comments in getBufferSize
2022-04-21 17:42:10 +02:00
Jeroen Ketema
8139e1a2a8
C++: Fix tests after extractor changes that improve using position accuracy
2022-04-21 17:36:11 +02:00
Dave Bartolomeo
410bc6f2e0
Fix formatting in change log
2022-04-21 11:04:30 -04:00
Dave Bartolomeo
71b4570765
Fix formatting in change log
2022-04-21 11:03:52 -04:00
Dave Bartolomeo
55e1ec2b47
Fix formatting in change log
2022-04-21 11:03:18 -04:00
Dave Bartolomeo
e9be6fcf86
Fix formatting in change log
2022-04-21 11:02:58 -04:00
Dave Bartolomeo
b2fe530f1c
Fix formatting in change log
2022-04-21 11:02:31 -04:00
Dave Bartolomeo
136d3ff1f4
Fix formatting in change log
2022-04-21 11:02:07 -04:00
Dave Bartolomeo
d0687303f4
Fix formatting in change log
2022-04-21 11:01:39 -04:00
Dave Bartolomeo
033694d7f7
Fix formatting in change log
2022-04-21 11:00:38 -04:00
Dave Bartolomeo
b224f81e24
Fix formatting in change log
2022-04-21 10:59:38 -04:00
Dave Bartolomeo
fb710cd944
Fix formatting in change log
2022-04-21 10:59:03 -04:00
Dave Bartolomeo
f042d9bfea
Fix formatting in change log
2022-04-21 10:58:26 -04:00
Dave Bartolomeo
36ca792986
Fix formatting in change log
2022-04-21 10:57:35 -04:00
Dave Bartolomeo
ab50df829e
Fix formatting in change log
2022-04-21 10:57:05 -04:00
github-actions[bot]
eeaf233c29
Release preparation for version 2.9.0
2022-04-21 14:49:00 +00:00
Tom Hvitved
bd09c61504
Merge pull request #8786 from hvitved/ruby/dataflow/argument-tokens
...
Ruby: Implement `Argument[any]` and `Argument[n..]`
2022-04-21 16:31:24 +02:00
Michael Nebel
0ec5aa6095
Merge pull request #8675 from michaelnebel/csharp/capturemodelimprovement
...
C#: CaptureModel improvements
2022-04-21 15:16:35 +02:00
Tom Hvitved
addb92f13b
Ruby: Handle captured variables in BarrierGuard::getAGuardedNode()
2022-04-21 13:25:47 +02:00
Tom Hvitved
325b451288
Ruby: Add barrier guards test involving captured variables
2022-04-21 13:25:40 +02:00
Michael Nebel
6180970ae7
C#: Address review comments.
2022-04-21 13:05:32 +02:00
Mathias Vorreiter Pedersen
74906fcbaf
Add exclusion rules for internal diagnostics queries to all the suite selectors (previously it was only excluded in the Code Scanning selector).
2022-04-21 10:11:26 +01:00
Tom Hvitved
b6309c9db0
Merge pull request #8792 from hvitved/csharp/exclude-model-generation-from-cs-suites
...
C#: Exclude model generation queries from all suites
2022-04-21 11:06:56 +02:00
Tom Hvitved
f65b6ae3d1
C#: Exclude model generation queries from all suites
2022-04-21 09:51:52 +02:00
Mathias Vorreiter Pedersen
966c6f108b
Merge pull request #8720 from MathiasVP/smaller-join-in-get-root-cause
...
C++: Remove TC from `Element.getRootCause`
2022-04-21 08:23:05 +01:00
Asger Feldthaus
c6e66edb97
JS: Change note
2022-04-21 08:32:01 +02:00
Harry Maclean
3ea6ba5398
Merge pull request #8618 from hmac/hmac/qlhelp-comment-workflow
...
Update existing qhelp comment, if it exists
2022-04-21 14:01:17 +12:00
Erik Krogh Kristensen
9927a82520
Merge pull request #8789 from erik-krogh/apiIpaBranches
...
JS/PY: mention newtype constructors in API graph label classes
2022-04-20 23:39:46 +02:00
Erik Krogh Kristensen
ff5b873557
Merge pull request #8773 from erik-krogh/exhaustion
...
JS: promote `js/resource-exhaustion` out of experimental
2022-04-20 19:33:42 +02:00
Erik Krogh Kristensen
9c5f3e9406
remove leftover debug comments
2022-04-20 18:42:46 +02:00
Erik Krogh Kristensen
aec8413487
PY: mention newtype constructors in API graph label classes
2022-04-20 18:38:44 +02:00
Erik Krogh Kristensen
ef51b46795
JS: mention newtype constructors in API graph label classes
2022-04-20 18:37:19 +02:00
Erik Krogh Kristensen
8bd975a6ec
Merge pull request #8785 from hvitved/ruby/api-graph-labels
...
Ruby: Mention `newtype` constructors in API graph label classes
2022-04-20 18:32:09 +02:00
Arthur Baars
040dd09c5a
Merge pull request #8718 from github/sj/codeowners-pms
...
Update CODEOWNERS for documentation and license changes
2022-04-20 18:08:43 +02:00
Arthur Baars
98df392b4f
Merge pull request #8719 from github/sj/update-readme-license-explanation
...
Update README to clarify license explanation
2022-04-20 18:07:00 +02:00
AlexDenisov
a187939424
Merge pull request #8784 from AlexDenisov/alexdenisov/swift-package-test-sdk
...
Swift: package test SDK
2022-04-20 16:07:40 +02:00
Bas van Schaik
732a2c32a8
Update README.md
2022-04-20 15:03:49 +01:00
Anders Schack-Mulligen
677c436e99
Merge pull request #8703 from aschackmull/dataflow/revert-state-in-out-barriers
...
Dataflow: Revert support for flow-state based in-/out-barriers
2022-04-20 14:54:02 +02:00
Tom Hvitved
ea229d361c
Sync files
2022-04-20 13:55:18 +02:00
Tom Hvitved
b4542c58c2
Ruby: Implement Argument[any] and Argument[n..]
2022-04-20 13:55:18 +02:00
Tom Hvitved
501b03149f
Ruby: Mention newtype constructors in API graph label classes
2022-04-20 13:37:55 +02:00
Nick Rolfe
9b2a98326c
Ruby: update use of PostUpdateNode now that it's public
2022-04-20 12:08:41 +01:00
Nick Rolfe
9b6e610e24
Merge remote-tracking branch 'origin/main' into nickrolfe/incomplete_sanitization
2022-04-20 12:05:22 +01:00
Nick Rolfe
3d109a4051
Merge pull request #8777 from github/nickrolfe/post_update_node
...
Ruby: make PostUpdateNode public
2022-04-20 12:04:37 +01:00
Alex Denisov
682c910d49
Swift: package test SDK
2022-04-20 12:35:19 +02:00
Mathias Vorreiter Pedersen
3388196c27
Merge branch 'main' into smaller-join-in-get-root-cause
2022-04-20 11:16:00 +01:00
Asger F
e60475618d
Merge pull request #8728 from asgerf/ql/library-coverage
...
QL: Add facilities for data flow
2022-04-20 11:40:18 +02:00
Nick Rolfe
f1b8af1db9
Ruby: rename PostUpdateNode::Range to PostUpdateNodeImpl
2022-04-20 10:35:40 +01:00
Asger Feldthaus
44216b29a9
JS: Autoformat
2022-04-20 11:14:42 +02:00
Asger Feldthaus
4c66f50352
JS: More tests
2022-04-20 11:14:42 +02:00
Asger Feldthaus
fec2837c1e
JS: Ensure accessors do not appear to be calls
2022-04-20 11:14:42 +02:00
Asger Feldthaus
ddb682b181
JS: Show all accessor calls in CG test
2022-04-20 11:14:41 +02:00
Asger Feldthaus
37a76f4441
JS: PropWrite is not a SourceNode
2022-04-20 11:14:41 +02:00
Asger Feldthaus
c9db6201ef
JS: Add call-graph test for accessor calls
2022-04-20 11:14:41 +02:00
Asger Feldthaus
7d5c80433d
JS: Handle accessor-calls to static accessors
2022-04-20 11:14:41 +02:00
Asger Feldthaus
37b3a6e5c0
JS: Add ClassNode.getStaticMember
2022-04-20 11:14:41 +02:00
Anders Schack-Mulligen
cb898ae03f
Merge pull request #8701 from aschackmull/doc/any-none
...
Doc: Add any() and none() to the language reference.
2022-04-20 10:49:42 +02:00
yoff
0c7130602a
Merge pull request #8731 from RasmusWL/delete-old-readme
...
Python: Delete old dataflow readme
2022-04-20 10:36:12 +02:00
yoff
a66153d73e
Merge pull request #8733 from RasmusWL/split-dataflow-private
...
Python: Split `DataFlowPrivate`
2022-04-20 10:21:05 +02:00
Erik Krogh Kristensen
10130eef6d
Merge pull request #8678 from erik-krogh/fileSource
...
JS: Add files as a source for `js/xss-through-dom`
2022-04-20 09:18:38 +02:00
Harry Maclean
942388e8bc
Pipe to jq --arg instead of gh api --jq
2022-04-20 11:41:38 +12:00
Harry Maclean
eba303dea7
Fix typo
2022-04-20 11:21:06 +12:00
Robert Marsh
f94fcf11cd
C++: accept dataflow test changes
2022-04-19 13:32:19 -04:00
Felicity Chapman
b10e7300ae
Update docs/codeql/ql-language-reference/formulas.rst
2022-04-19 17:29:31 +01:00
Nick Rolfe
c02670aca2
Ruby: make PostUpdateNode public
2022-04-19 17:12:51 +01:00
Felicity Chapman
d663102ffb
Update docs/codeql/ql-language-reference/formulas.rst
2022-04-19 16:57:05 +01:00
Felicity Chapman
6fbe227cbc
Try to fix Sphinx warning in formulas.rst
2022-04-19 16:36:42 +01:00
Stephan Brandauer
2fb3147b7b
Merge pull request #8430 from kaeluka/js/CVE-2022-24718
...
JS: Add taint step for handlebars model
2022-04-19 15:57:58 +01:00
Michael Nebel
91324d40b5
Merge pull request #8659 from michaelnebel/csharp/capturemodelsmetadata
...
C#: Add kind tag to Capture model queries.
2022-04-19 16:39:03 +02:00
Anders Schack-Mulligen
48fbbf2531
Dataflow: Add change notes.
2022-04-19 15:29:35 +02:00
Anders Schack-Mulligen
b521d64156
Dataflow: Sync.
2022-04-19 15:29:35 +02:00
Anders Schack-Mulligen
4ae59b530b
Dataflow: Revert flow-state versions of in-/out-barriers.
2022-04-19 15:29:34 +02:00
Nick Rolfe
08f6fbbe10
Ruby: make comment about backslash escaping clearer
2022-04-19 14:05:17 +01:00
Geoffrey White
3326fd5400
C++: Update test .expected.
2022-04-19 13:43:17 +01:00
Geoffrey White
5698638d1f
Apply suggestions from code review (documentation)
...
Co-authored-by: hubwriter <hubwriter@github.com >
2022-04-19 13:38:00 +01:00
Erik Krogh Kristensen
8669bbd948
update expected output of rate-limit query after test reorg
2022-04-19 14:27:24 +02:00
Nick Rolfe
76c6a521fd
Ruby: add clarifying comment
2022-04-19 13:10:57 +01:00
Anders Schack-Mulligen
82463c9290
Merge pull request #8774 from MathiasVP/nomagic-revPartialPathStep
...
Add `nomagic` to `revPartialPathStep`
2022-04-19 14:02:04 +02:00
Michael Nebel
c79c9dd573
C#: Don't generate models for any higher order callables.
2022-04-19 12:50:51 +02:00
Michael Nebel
8726766465
C#: Remove the API special case for GetHashCode, Equals and IEquatable.Equals as these are now excluded based on their type.
2022-04-19 12:50:51 +02:00
Michael Nebel
f6fd401df1
C#: Add some testcases, where we don't get a summary due to the use of simple types.
2022-04-19 12:50:51 +02:00
Michael Nebel
f9e5c6b77d
C#: Don't use simple types in summaries test cases as these will be excluded in generation purely based on the type.
2022-04-19 12:50:51 +02:00
Michael Nebel
f533636ad7
C#: Remove taint when it flows via a primitive/simple type (as is the case for java).
2022-04-19 12:50:51 +02:00
Nick Rolfe
76587c4144
Ruby: fix capitalisation of String in qhelp
2022-04-19 11:42:31 +01:00
Nick Rolfe
468c718da0
Ruby: simplify predicate
2022-04-19 11:32:26 +01:00
Nick Rolfe
ac805f0cdc
Ruby: simplify predicate by using DataFlow::CallNode
2022-04-19 11:27:33 +01:00
Nick Rolfe
ca4dc0583d
Ruby: fix comment typos
2022-04-19 11:15:34 +01:00
Geoffrey White
6e184f2438
C++: Rename variables 'a' and 'b'.
2022-04-19 10:57:42 +01:00
Nick Rolfe
14de91ce94
Ruby: make StringSubstitutionCal extend DataFlow::CallNode
2022-04-19 10:52:14 +01:00
Mathias Vorreiter Pedersen
a7c0113bc7
Merge pull request #8741 from geoffw0/autogen
...
C++: Fix issue with extremely long comments in AutogeneratedFile.qll
2022-04-19 10:45:16 +01:00
Geoffrey White
da38c9041c
C++: Improvements from PR comments.
2022-04-19 10:25:00 +01:00
Geoffrey White
50c7e47dd9
C++: Improve QLDoc.
2022-04-19 10:15:12 +01:00
Erik Krogh Kristensen
6799232009
fix typo in qldoc
2022-04-19 11:09:27 +02:00
Geoffrey White
da454128ed
Update cpp/ql/src/Security/CWE/CWE-611/XXE.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-04-19 10:08:07 +01:00
Geoffrey White
0aa1945f30
C++: Comments.
2022-04-19 10:04:15 +01:00
Mathias Vorreiter Pedersen
91b413d59f
Dataflow: Sync identical files.
2022-04-19 09:57:21 +01:00
Erik Krogh Kristensen
4b6d8e6865
add missing qldoc
2022-04-19 10:56:58 +02:00
Mathias Vorreiter Pedersen
d5722ffa61
C++: Add 'nomagic' to 'revPartialPathStep'.
2022-04-19 09:56:41 +01:00
Erik Krogh Kristensen
8e5a7bcd76
add change-note
2022-04-19 10:53:48 +02:00
Robert Marsh
cae08c505f
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-04-18 15:25:03 -04:00
Robert Marsh
b5c8413f5c
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-04-18 15:19:25 -04:00
Chuan-kai Lin
b433f08cef
Merge pull request #8770 from cklin/csharp-downgrades-remove-version
...
C#: remove version from downgrades pack
2022-04-18 09:41:21 -07:00
Chuan-kai Lin
8e850ee564
C#: remove version from downgrades pack
2022-04-18 08:46:05 -07:00
Chad Bentz
990b7a29e8
Docs - Supported Queries - Fixing broken link
...
update link target
2022-04-18 10:30:24 -04:00
Marcono1234
6a48ba955c
Clarify that min, max and rank may have multiple results
2022-04-16 19:12:25 +02:00
Marcono1234
8fdfe5426f
Clarify min, max and rank documentation regarding expression type
2022-04-16 18:53:07 +02:00
Jean Helie
f1f00ccac5
ML: add .gitkeep to resources dir in which ML models are to be found
2022-04-15 12:19:06 +02:00
Chris Smowton
90505949c7
Generally define lower-numbered data-flow configs in terms of higher-numbered ones
...
Since usually we have DataFlow3::Configurations that stand alone, DataFlow2::Configurations that depend on them, and finally DataFlow::Configurations that produce a top-level query result (for example), qll files where the reverse pattern holds will usually not be concurrently importable due to dataflow configuration recursion prevention.
2022-04-15 09:25:40 +01:00
Chris Smowton
27d87e9300
Add TaintTracking3
2022-04-15 09:25:26 +01:00
Erik Krogh Kristensen
2e5d435bea
add CWE-400, and add a reference to DoS attacks
2022-04-14 18:37:50 +02:00
Geoffrey White
8a32c17c56
C++: Fix the issue.
2022-04-14 17:03:28 +01:00
Paolo Tranquilli
24697feebc
Swift: integrated template name in dataclass
2022-04-14 15:53:15 +02:00
Paolo Tranquilli
197ea5b8f3
Swift: use more @property in codegen
2022-04-14 12:28:52 +02:00
Paolo Tranquilli
71f9b25500
Swift: uses classes instead of Enum for Properties
2022-04-14 11:35:11 +02:00
Paolo Tranquilli
64496b4c97
Swift: cleanup and some docstrings for codegen
...
Also added code generation and clang formatting to the pre-commit
configuration.
2022-04-14 11:27:41 +02:00
Paolo Tranquilli
91fd83a554
Swift: dbscheme generator
...
This patch introduces the basic infrastructure of the code generation
suite and the `dbscheme` generator.
Notice that the checked in `schema.yml` should reflect swift 5.6 but
might need some tweaking.
Closes https://github.com/github/codeql-c-team/issues/979
2022-04-14 11:27:41 +02:00
Jean Helie
d094bbc06d
Merge pull request #8546 from github/jhelie/enforce-unknown-incompatibiliy-with-notasink
...
ML: add defensive check to ensure Unknown endpoints cannot also be NotASink
2022-04-14 11:21:18 +02:00
Geoffrey White
2ac21d6932
C++: Use isBarrier rather than isBarrierOut (which is going away).
2022-04-14 09:21:57 +01:00
Harry Maclean
cf0611d1e7
Pass args to jq via --arg
2022-04-14 13:50:41 +12:00
Harry Maclean
a90647798e
Fail workflow if COMMENT_ID fails validation
...
And print an error message to STDERR.
2022-04-14 13:21:38 +12:00
Harry Maclean
c9a5cb4bf6
Distinguish between validated and raw COMMENT_ID
2022-04-14 13:19:14 +12:00
Harry Maclean
c3f1fba985
Merge pull request #8598 from hmac/hmac/insecure-dep-resolution
...
Ruby: Add rb/insecure-dependency query
2022-04-14 02:09:44 +02:00
Erik Krogh Kristensen
4c97f68a3d
remove postmessage events as source for js/resource-exhaustion
2022-04-13 23:14:42 +02:00
Erik Krogh Kristensen
51a0b6d501
remove client-side remote-flow from js/resource-exhaustion
2022-04-13 23:05:59 +02:00
Geoffrey White
27b6b99cd0
C++: Correct and improve some comments and naming.
2022-04-13 18:34:15 +01:00
Nick Rolfe
a1a7d2c088
Ruby: add changenote for rb/incomplete-sanitization
2022-04-13 17:32:38 +01:00
Nick Rolfe
fdca896614
Ruby: improve handling of [g]sub!
...
rb/incomplete-sanitization has a few cases where we find flow from one
one string substitution call to another, e.g.
a.sub(...).sub(...)
But this didn't find typical chained uses of the destructive variants,
e.g.
a.sub!(...)
a.sub!(...)
We now handle those cases by tracking flow from the post-update node for
the receiver of the first call.
2022-04-13 17:19:25 +01:00
Jean Helie
1e39a9caae
ML: update regression test output following fix to getAnUnknown predicate
2022-04-13 18:14:16 +02:00
Jean Helie
f87cd164ce
ML: add defensive check to ensure Unknown endpoints cannot also be NotASink
2022-04-13 18:14:16 +02:00
Jean Helie
f2b813a6e7
ML: add regression test for effective sink that is also NotASink
2022-04-13 18:14:16 +02:00
Henry Mercer
6603f8ab94
Merge pull request #8734 from github/henrymercer/non-extending-subtypes-minor-fixes
...
Docs: Fix typo and formatting in "Non-extending subtypes"
2022-04-13 17:11:33 +01:00
Nick Rolfe
bbb8177176
Ruby: add rc/incomplete-sanitization query
2022-04-13 16:48:43 +01:00
Henry Mercer
54b3d4d0d7
Docs: Fix typo and formatting in "Non-extending subtypes"
...
- Fix typo `select any(Foo f) would yield bar` -> `select any(Foo f).foo() would yield bar`
- Fix inline code formatting
- Change `foo_method` to `fooMethod` to follow QL style guide
2022-04-13 16:12:42 +01:00
Geoffrey White
2ad81e63a5
C++: Change note.
2022-04-13 16:11:14 +01:00
AlexDenisov
df2cc181a0
Merge pull request #8726 from redsun82/swift-prebuilt-fetching
...
Swift: fetch prebuilt swift and link against it
2022-04-13 16:58:36 +02:00
Geoffrey White
dfd846bb7b
C++: Changes to the qhelp.
2022-04-13 15:53:13 +01:00
Paolo Tranquilli
aaf9e7da2f
turn off universal_binaries for now
2022-04-13 16:45:23 +02:00
Paolo Tranquilli
9e3401ce59
make self repository name parametric
...
In a workspace macro we must use the exact repository name, and this
can be different when importing the workspace (it is different in
semmle-code).
2022-04-13 16:22:27 +02:00
Paolo Tranquilli
73d5691d91
update swift package
2022-04-13 16:22:27 +02:00
Paolo Tranquilli
e68172f4b0
Swift: fetch prebuilt swift and link against it
...
This is known to break linux integration in sembuild.
2022-04-13 16:22:27 +02:00
Geoffrey White
d83aea5ea3
C++: Copy the qhelp from Javascript.
2022-04-13 15:16:01 +01:00
Geoffrey White
b149666f45
C++: Query metadata (precision is provisional, might up it to 'high' later).
2022-04-13 15:15:28 +01:00
Rasmus Wriedt Larsen
a271e17f04
Python: Move dataflow call-graph to new qll file
...
Seems like all other languages use a file called `DataFlowDispatch`. I
want to introduce a setup where we have (old) points-to based approach
in one file, and can develop a type-tracking based approach in another
file, so that's the reason for the naming differing slightly.
For which predicates go in which files, I have taken mostly inspiration
from C# and Ruby.
2022-04-13 15:56:57 +02:00
Rasmus Wriedt Larsen
3d15205084
Python: Autoformat
2022-04-13 15:36:16 +02:00
Rasmus Wriedt Larsen
ded4e9250c
Python: Move IterableUnpacking to own file
2022-04-13 15:36:05 +02:00
Rasmus Wriedt Larsen
c740894408
Python: Move MatchUnpacking to own file
...
I had hoped that git would be able to see this as a rename, and
therefore I haven't done autoformat
2022-04-13 15:36:05 +02:00
AlexDenisov
058ac5bcae
Merge pull request #8717 from AlexDenisov/alexdenisov/swift-ql-ci
...
Swift: enable QL tests on CI
2022-04-13 14:42:27 +02:00
Geoffrey White
be0df1662c
C++: Rename the query file.
2022-04-13 13:20:02 +01:00
Geoffrey White
ffbe724040
C++: Remove unfinished parts for now.
2022-04-13 13:18:23 +01:00
Jean Helie
407a8a7715
ML: fix ATM expected tests outputs
2022-04-13 14:02:12 +02:00
Rasmus Wriedt Larsen
2e60172bfa
Python: Delete old dataflow readme
2022-04-13 12:09:38 +02:00
Paolo Tranquilli
6166f0601c
Merge pull request #8727 from redsun82/bazel_workspace_rename
...
Bazel: rename workspace to codeql
2022-04-13 10:51:10 +02:00
Alex Denisov
60c6241382
Swift: run QL tests on macOS
2022-04-13 10:35:15 +02:00
Asger Feldthaus
a5ad4c8263
QL: Update printAst output
...
Annotations are not longer their own children/parent.
2022-04-13 10:29:21 +02:00
Erik Krogh Kristensen
41bdd8f4da
minor fixes
2022-04-13 10:11:07 +02:00
Erik Krogh Kristensen
b13e7c055b
move the sanitizer-guard to the Query.qll file
2022-04-13 09:58:33 +02:00
Erik Krogh Kristensen
96e4633dfe
remove more code that did nothing
2022-04-13 09:57:32 +02:00
Erik Krogh Kristensen
a9595af01e
update expected output
2022-04-13 09:43:21 +02:00
Erik Krogh Kristensen
d35604ed82
remove the length sanitizer from loop-bound-injection - it did nothing
2022-04-13 09:43:21 +02:00
Erik Krogh Kristensen
dd28157d0a
add test of a length check
2022-04-13 09:43:21 +02:00
Erik Krogh Kristensen
8e47a9b242
add sanitizer step for .length in js/resource-exhaustion
2022-04-13 09:30:09 +02:00
Stephan Brandauer
fb66ccff39
handlebars taint step: conservatively assume unknown templates have no flow to helpers
2022-04-13 09:27:59 +02:00
Asger Feldthaus
c1827cfd30
QL: Add test for getAStringValue
2022-04-13 08:45:25 +02:00
Asger Feldthaus
4c72c31a5a
QL: Add InlineExpectationsTest
2022-04-13 08:45:25 +02:00
Asger Feldthaus
b0801c9b2f
QL: Add some missing qldoc
2022-04-13 08:45:25 +02:00
Asger Feldthaus
8188e2876c
QL: Autoformat
2022-04-13 08:45:25 +02:00
Asger Feldthaus
6632b7da1c
QL: Add FrameworkCoverage query
2022-04-13 08:45:25 +02:00
Alex Denisov
b8c1f1a6e1
Swift: run QL tests on Linux
2022-04-13 07:44:19 +02:00
Paolo Tranquilli
141ba2e039
Bazel: rename workspace to codeql
2022-04-12 17:37:29 +02:00
Robert Marsh
0e3e35f233
C++: don't dump global vars without initializers
2022-04-12 11:21:41 -04:00
Paolo Tranquilli
03ebf8b049
Merge pull request #8700 from redsun82/swift-skeleton
...
Swift: first skeleton extractor
2022-04-12 17:14:42 +02:00
Paolo Tranquilli
8ef28787b6
Swift: do not fail pack creation if dir does not exist
2022-04-12 17:05:26 +02:00
Erik Krogh Kristensen
a2d2626c9c
add security severity
2022-04-12 16:34:00 +02:00
Erik Krogh Kristensen
d64df30724
reintroduce the reverted qhelp
2022-04-12 16:33:06 +02:00
Erik Krogh Kristensen
ebf9ba7250
remove the type-overloaded new Buffer() as a sink
2022-04-12 16:29:58 +02:00
Erik Krogh Kristensen
e2b7f7d05d
reintroduce the number sinks
2022-04-12 16:26:10 +02:00
Erik Krogh Kristensen
029459cc35
reorganize CWE-770 tests
2022-04-12 16:15:40 +02:00
Paolo Tranquilli
6440242268
Swift+Bazel: apply review comments
2022-04-12 16:03:20 +02:00
Erik Krogh Kristensen
688b2b6898
use the Query.qll pattern
2022-04-12 15:52:52 +02:00
Erik Krogh Kristensen
8fb54c3f32
move js/resource-exhaustion out of experimental
2022-04-12 15:51:36 +02:00
Asger Feldthaus
4b74fa628c
QL: Add global flow and type-tracking
2022-04-12 15:25:09 +02:00
Asger Feldthaus
0ffb558e48
QL: Support local flow via unification
2022-04-12 15:25:06 +02:00
Asger Feldthaus
49d5b662ff
QL: Add Node.getEnclosingPredicate
2022-04-12 15:25:03 +02:00
Asger Feldthaus
2b8454001a
QL: Add scoped variable nodes
2022-04-12 15:24:59 +02:00
Asger Feldthaus
2d640e7e95
QL: Add basic data flow nodes
2022-04-12 15:24:55 +02:00
Asger Feldthaus
c9b9751894
QL: Add NodeNumbering library
2022-04-12 15:24:52 +02:00
Asger Feldthaus
60a22b71b4
QL: Remove redundant union part
2022-04-12 15:24:48 +02:00
Asger Feldthaus
f02912bdf5
QL: Add VarDef.getAnAccess
2022-04-12 15:24:45 +02:00
Asger Feldthaus
85403cd4de
QL: Fix up parent-child relation in tree
2022-04-12 15:24:42 +02:00
Paolo Tranquilli
f2f99611bd
.gitignore CLion project files
2022-04-12 12:41:00 +02:00
Paolo Tranquilli
a205b465ba
Bazel: reorganization
...
* fixed 5.0.0 as bazel version
* made dependencies better loadable
* moved `//swift/install` to `//swift:create-extractor-pack` (following
the clearer ruby naming)
* renamed `extractor_pack` to `extractor-pack` for consistency with Ruby
2022-04-12 12:40:59 +02:00
Paolo Tranquilli
13b2442fed
Bazel: code reorganization
2022-04-12 12:40:59 +02:00
Paolo Tranquilli
664d5ba0a9
Swift: moved install to a separate package
...
When importing the workspace from semmle-code, we do not need nor want
to instantiate `@util`, so that must be in a separate bazel package.
2022-04-12 12:40:59 +02:00
Paolo Tranquilli
95dbf2d666
Swift: first skeleton extractor
...
This adds a first dummy extractor for swift.
Running `bazel run //swift:install` will create an `extractor_pack`
directory in `swift`. From that moment providing `--search-path=swift`
will pick up the extractor.
2022-04-12 12:40:59 +02:00
CodeQL CI
a43f3a21a8
Merge pull request #8550 from erik-krogh/classJoin
...
Approved by asgerf
2022-04-12 09:23:58 +01:00
Geoffrey White
cb211f8844
Merge pull request #8599 from 4B5F5F4B/main
...
C++: refactor some code, and add access_ok cases
2022-04-11 15:57:27 +01:00
Mathias Vorreiter Pedersen
e86b6b182f
C++: Remove TC from 'Element.getRootCause'.
2022-04-11 15:27:10 +01:00
Bas van Schaik
c3912b2f29
Update README to clarify license explanation
2022-04-11 14:30:56 +01:00
CodeQL CI
9c8dee2a4d
Merge pull request #8687 from asgerf/js/missing-flow-fixes
...
Approved by erik-krogh
2022-04-11 14:08:15 +01:00
Bas van Schaik
422255b859
Update CODEOWNERS for documentation and license
...
To make sure the right people are pinged when a change like #5893 is made
2022-04-11 12:33:23 +01:00
Marcono1234
348a186df8
Java: Make JumpStmt a concrete class again
...
Public abstract classes can be error-prone, when users unintentionally
implement a new subclass instead of refining the set of existing subclasses.
2022-04-10 17:54:47 +02:00
Taus
626770aaab
Merge pull request #8004 from ahmed-farid-dev/ZipSlip
...
Add query to detect ZipSlip
2022-04-08 23:55:02 +02:00
Jeroen Ketema
4cfe04567f
Merge pull request #8702 from jketema/command-line-sanitizer
...
C++: Use `isSanitizerOut(DataFlow::Node node)` in `cpp/command-line-injection`
2022-04-08 23:42:35 +02:00
Taus
3d14c5f3c3
Python: Update tests
...
We need to import `tty` in order to be able to detect the standard library correctly.
2022-04-08 23:20:47 +02:00
Taus
ab81247b7c
Python: Fix modelling in ZipSlip.qll
...
- Remove use of points-to.
- Exclude sources and sinks in the standard library (to prevent test brittleness).
2022-04-08 23:19:41 +02:00
Taus
57beeaada0
Python: Fix name clash in CopyFile.qll
2022-04-08 23:18:03 +02:00
Taus
e1371151f9
Python: Autoformat Concepts.qll
2022-04-08 23:16:41 +02:00
Taus
8521f9a008
Python: Autoformat ZipSlip.ql
2022-04-08 23:13:38 +02:00
Taus
4b580820c8
Python: Fix broken QHelp
2022-04-08 23:12:46 +02:00
Edoardo Pirovano
3d41a5cae3
Merge pull request #8704 from github/edoardo/3.5-mergeback
...
Merge `rc/3.5` branch into `main`
2022-04-08 19:32:58 +01:00
Dave Bartolomeo
9f074cd8fd
Bump a few more versions
...
Also fixes up some dependency declarations that should have been "*" because they refer to packs in the same workspace.
2022-04-08 13:01:41 -04:00
Geoffrey White
8d1e8e9ecb
C++: Flow states and transformers.
2022-04-08 17:19:18 +01:00
Edoardo Pirovano
f25618eed6
Bump minor version of all packs
2022-04-08 15:38:58 +01:00
Edoardo Pirovano
ce82c54b94
Merge branch 'main' into edoardo/3.5-mergeback
2022-04-08 15:30:58 +01:00
Ian Lynagh
3e5b5bee8a
Merge pull request #8642 from github/post-release-prep/codeql-cli-2.8.5
...
Post-release preparation for codeql-cli-2.8.5
2022-04-08 15:09:21 +01:00
Jeroen Ketema
83d35a9a96
C++: Use isSanitizerOut(DataFlow::Node node) in cpp/command-line-injection
2022-04-08 11:28:17 +02:00
annarailton
8ae905aef9
Update endpointTypeEncoded -> label
...
Fixes https://github.com/github/ml-ql-adaptive-threat-modeling/issues/1821
2022-04-08 10:22:13 +01:00
annarailton
b0ab7218db
Add test for query mappings
2022-04-08 10:22:13 +01:00
annarailton
4808eb9926
Change encoding -> label and description -> labelName
...
Fixes https://github.com/github/ml-ql-adaptive-threat-modeling/issues/1820
2022-04-08 10:22:13 +01:00
annarailton
de4e01a8f2
Change NotASinkType to NegativeType
...
Fixes https://github.com/github/ml-ql-adaptive-threat-modeling/issues/1819
2022-04-08 10:22:13 +01:00
Anders Schack-Mulligen
35d30d6c3c
Doc: Add any() and none() to the language reference.
2022-04-08 10:28:13 +02:00
Geoffrey White
3aaa058308
C++: Get the simplest part of the query working, disable the rest for now, fix metadata, formatting etc.
2022-04-07 19:01:30 +01:00
Geoffrey White
9a0880f516
C++: Clean up the tests, make them a bit more realistic, and add many more test cases.
2022-04-07 19:00:30 +01:00
Geoffrey White
e2eda65fe1
C++: Rename test, add .expected.
2022-04-07 18:59:51 +01:00
Tony Torralba
9833fa2451
Add tests for SpringController
2022-04-07 18:17:50 +02:00
Anders Schack-Mulligen
4eaec3953a
Merge pull request #8694 from aschackmull/dataflow/cleanup-unused
...
Dataflow: Cleanup unused column
2022-04-07 15:16:27 +02:00
Anders Schack-Mulligen
c0f48b6c14
Merge pull request #8681 from JLLeitschuh/fix/JLL/os_check_bugs
...
Java: Fix Local Temp File/Dir Incorrect Guard Logic
2022-04-07 14:00:13 +02:00
Anders Schack-Mulligen
7beed570f2
Dataflow: Sync.
2022-04-07 13:53:48 +02:00
Anders Schack-Mulligen
876a9f80ce
Dataflow: remove unused column.
2022-04-07 13:53:27 +02:00
Erik Krogh Kristensen
7e4c76c63b
revert API-graph change in Flask.qll
2022-04-07 13:52:14 +02:00
Erik Krogh Kristensen
bdfd6bdc79
fix a ql/field-only-used-in-charpred warning
2022-04-07 13:52:14 +02:00
Erik Krogh Kristensen
50bfc8eaa0
refactor uses of API::Node::getAUse() that should have been something else
2022-04-07 13:52:13 +02:00
Erik Krogh Kristensen
4e5afab082
refactor more python type-trackers to API-graphs
2022-04-07 13:51:40 +02:00
Jeroen Ketema
319ff35bd7
Merge pull request #8692 from jketema/implied-cctor-source
...
Revert "Revert "Merge pull request #8592 from jketema/implied-cctor-source""
2022-04-07 13:38:39 +02:00
Asger Feldthaus
b85739cb7e
JS: Update test output
2022-04-07 13:23:26 +02:00
Jeroen Ketema
bfe9fb1721
Revert "Revert "Merge pull request #8592 from jketema/implied-cctor-source""
...
This reverts commit b1d9a070f4 .
2022-04-07 12:29:43 +02:00
Mathias Vorreiter Pedersen
a6f7bd102a
Merge pull request #8691 from jketema/revert-8592
...
Revert "Merge pull request #8592 from jketema/implied-cctor-source"
2022-04-07 11:26:33 +01:00
Owen Mansel-Chan
32f96c84ed
Merge pull request #8677 from github/RasmusWL/update-codeowners
...
Remove @xcorail from CODEOWNERS
2022-04-07 11:16:01 +01:00
Jeroen Ketema
b1d9a070f4
Revert "Merge pull request #8592 from jketema/implied-cctor-source"
...
This reverts commit d4834cb7ff , reversing
changes made to 268a3fd1c5 .
2022-04-07 12:02:37 +02:00
Mathias Vorreiter Pedersen
d4834cb7ff
Merge pull request #8592 from jketema/implied-cctor-source
...
C++: Add tests for copy constructor calls with implied source
2022-04-07 11:00:40 +01:00
Rasmus Wriedt Larsen
268a3fd1c5
Merge pull request #8680 from RasmusWL/subclass
...
Python: Refactor how we find a `Class` from `API::Node`
2022-04-07 11:52:52 +02:00
Rasmus Wriedt Larsen
e9df2f8fca
Update CODEOWNERS
...
remove extra blank line
2022-04-07 11:51:23 +02:00
Rasmus Wriedt Larsen
142ca78c7d
Update CODEOWNERS
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2022-04-07 11:28:42 +02:00
Asger Feldthaus
81cf3d4574
JS: Use Class#getAnInstanceReference
2022-04-07 10:43:29 +02:00
Rasmus Wriedt Larsen
218c698498
Update CODEOWNERS
...
Co-authored-by: Chuan-kai Lin <cklin@github.com >
2022-04-07 10:11:26 +02:00
Asger Feldthaus
2a67085d9d
JS: Change note
2022-04-07 10:02:21 +02:00
Erik Krogh Kristensen
ef9b6a11a6
Merge pull request #8679 from erik-krogh/getUrl
...
Java: rename existing getUrl predicate to getRepositoryUrl
2022-04-07 10:01:14 +02:00
Asger Feldthaus
4eda6f643f
JS: Recognize subclasses of HTMLElement in domValueRef
2022-04-07 09:57:31 +02:00
Asger Feldthaus
cff8dc0537
JS: Improve flow through Array.prototype.reduce
2022-04-07 09:57:31 +02:00
Michael Nebel
72d4c97463
Merge pull request #8628 from michaelnebel/csharp/generatedkind
...
C#: Introduce generated flag as a part of the kind column for flow summaries
2022-04-07 08:43:30 +02:00
Erik Krogh Kristensen
489d4cb908
add change-note
2022-04-06 23:23:50 +02:00
Jonathan Leitschuh
2753521650
Java: Fix Local Temp File/Dir Incorrect Guard Logic
...
Resolves https://github.com/github/codeql/pull/8032#discussion_r841723906
2022-04-06 12:16:09 -04:00
Erik Krogh Kristensen
563d0d6532
rename existing getUrl predicate to getRepositoryUrl
2022-04-06 15:32:33 +02:00
Rasmus Wriedt Larsen
f8f41428df
Python: Minor refactor for FlaskViewClass
2022-04-06 15:15:42 +02:00
Rasmus Wriedt Larsen
1c2323eb85
Python: Refactor how we find a Class from API::Node
...
Using `getAnImmediateUse` might give better performance than `getAUse`.
Since all the changed code is about `API::Node`s that are found after
doing `.getASubclass*()`, this change is OK.
It's also nice to align how we actually do this.
2022-04-06 15:12:24 +02:00
Anders Schack-Mulligen
879b8a1200
Merge pull request #8676 from pwntester/java_hotspots_mods
...
Make security-related TaintTracking Configuration public
2022-04-06 14:40:14 +02:00
Robert Marsh
3a35a40062
WIP: start on CWE-611 tests
2022-04-06 12:55:56 +01:00
Robert Marsh
370dd057dc
C++: more WIP on Xerces XXE query
2022-04-06 12:55:54 +01:00
Robert Marsh
9b6c1bc691
WIP: Xerces XXE
2022-04-06 12:55:52 +01:00
Tom Hvitved
4099d1318f
Data flow: Tweak two join-orders
...
Before
```
[2022-04-06 13:19:29] (96s) Tuple counts for DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff/2@i14#aa10f2wi after 4.4s:
10681 ~0% {2} r1 = SCAN DataFlowImpl2::Stage1::revFlow#7ad53399#fff#prev_delta OUTPUT In.0, In.2 'config'
982 ~1% {3} r2 = JOIN r1 WITH DataFlowImpl2::readSet#7ad53399#ffff_2301#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.1 'config', Rhs.2
83691528 ~2% {3} r3 = JOIN r2 WITH DataFlowPublic::ContentSet::getAReadContent#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'config', Lhs.2, Rhs.1 'c'
83581763 ~2% {3} r4 = r3 AND NOT DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff#prev(Lhs.2 'c', Lhs.0 'config')
83581763 ~0% {3} r5 = SCAN r4 OUTPUT In.2 'c', In.0 'config', In.1
0 ~0% {3} r6 = JOIN r5 WITH DataFlowImpl2::Stage1::fwdFlowConsCand#7ad53399#ff ON FIRST 2 OUTPUT Lhs.2, Lhs.1 'config', Lhs.0 'c'
0 ~0% {2} r7 = JOIN r6 WITH DataFlowImpl2::Stage1::fwdFlow#7ad53399#2#fff_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'c', Lhs.1 'config'
return r7
```
After
```
[2022-04-06 13:44:38] (6s) Tuple counts for DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff/2@i14#5abbf2wn after 6ms:
10681 ~0% {2} r1 = SCAN DataFlowImpl2::Stage1::revFlow#7ad53399#fff#prev_delta OUTPUT In.0, In.2 'config'
982 ~1% {3} r2 = JOIN r1 WITH DataFlowImpl2::readSet#7ad53399#ffff_2301#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.1 'config', Rhs.2
109765 ~0% {3} r3 = JOIN r2 WITH DataFlowImpl2::Stage1::fwdFlowConsCandSet#7ad53399#fff#reorder_0_2_1 ON FIRST 2 OUTPUT Lhs.1 'config', Lhs.2, Rhs.2 'c'
0 ~0% {3} r4 = r3 AND NOT DataFlowImpl2::Stage1::revFlowConsCand#7ad53399#ff#prev(Lhs.2 'c', Lhs.0 'config')
0 ~0% {3} r5 = SCAN r4 OUTPUT In.1, In.0 'config', In.2 'c'
0 ~0% {2} r6 = JOIN r5 WITH DataFlowImpl2::Stage1::fwdFlow#7ad53399#2#fff_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'c', Lhs.1 'config'
return r6
```
2022-04-06 13:52:30 +02:00
Erik Krogh Kristensen
943af17d10
Merge pull request #8619 from erik-krogh/atmSteps
...
JS-ML: fix isKnownStepSrc such that it recognizes taint-steps
2022-04-06 12:56:53 +02:00
Erik Krogh Kristensen
0435cee57f
add a taint-step through URL.createObjectURL for js/xss-through-dom
2022-04-06 12:18:47 +02:00
Rasmus Wriedt Larsen
b99767ef52
Merge pull request #8668 from RasmusWL/use-instanceof
...
Python: Rewrite concepts to use `extends ... instanceof ...`
2022-04-06 12:09:12 +02:00
Erik Krogh Kristensen
b11d48e749
add files in the DOM as a source for js/xss-through-dom
2022-04-06 12:09:07 +02:00
Anders Schack-Mulligen
bbb6d08071
Merge pull request #8661 from Marcono1234/marcono1234/getMethod-public-only
...
Java: Fix reflection predicate for `getMethod` having non-public method result
2022-04-06 12:03:14 +02:00
Alvaro Muñoz Sanchez
9ccd0e564b
Add QLDocs
2022-04-06 12:00:41 +02:00
Rasmus Wriedt Larsen
4d2a3b38d2
Merge pull request #8511 from RasmusWL/use-query-suffix
...
Python: Use `Query.qll` suffix for dataflow configuration definitions
2022-04-06 11:59:29 +02:00
Rasmus Wriedt Larsen
2e9505e7f2
Remove @xcorail from CODEOWNERS
...
Since @xcorail didn't have write access to this repo, that caused troubles with the CODEOWNERS file.
2022-04-06 11:48:38 +02:00
Anders Schack-Mulligen
d0b5b99e74
Merge pull request #8611 from github/smowton/doc/switch-expr-accessors
...
Java: make SwitchCase.getRuleExpression/Statement more consistent
2022-04-06 11:16:40 +02:00
Tom Hvitved
31ec2988df
Merge pull request #8674 from hvitved/csharp/useless-upcast-lambda-tests
...
C#: Add more tests for `cs/useless-cast-to-self`
2022-04-06 11:11:40 +02:00
Tom Hvitved
cee527e03a
Document flow through arrays in dataflow.md
2022-04-06 11:11:02 +02:00
Alvaro Muñoz Sanchez
19b8d51c0b
Update CommandLineQuery
...
Make TaintTracking configuration public
2022-04-06 10:58:56 +02:00
Alvaro Muñoz Sanchez
abaa71e2c5
Update Sql Injection queries
...
move java/ql/src/Security/CWE/CWE-089/SqlInjectionLib.qll -> java/ql/lib/semmle/code/java/security/SqlInjectionQuery.qll
2022-04-06 10:57:14 +02:00
Geoffrey White
6c70cb4581
Merge pull request #8672 from jketema/unused-locals
...
C++: Add `cpp/unused-local-variable` test case with `switch` initializer
2022-04-06 09:03:12 +01:00
Tom Hvitved
02b11084bc
C#: Add more tests for cs/useless-cast-to-self
2022-04-06 09:36:59 +02:00
4B5F5F4B
04538d0599
Autoformated to make CodeQL happy
2022-04-06 11:59:26 +08:00
Jeroen Ketema
d19504fca2
C++: Add cpp/unused-local-variable test case with switch initializer
...
This is similar to the test case with the `if` initializer, and we should
not forget about it once we support `if` initialization.
2022-04-05 18:27:53 +02:00
Alex Ford
ccd7bb5e70
Merge pull request #8421 from alexrford/ruby/weak-cryptographic-algorithm
...
Ruby: Add `rb/weak-cryptographic-algorithm` query
2022-04-05 14:34:45 +01:00
Ahmed Farid
29f69bde75
Update zipslip_bad.py
2022-04-05 12:46:51 +00:00
Ahmed Farid
dfe7f532ac
Update CopyFile.qll
2022-04-05 12:42:05 +00:00
Ahmed Farid
0d6d07886b
Rename Zip.qll to CopyFile.qll
2022-04-05 12:37:14 +00:00
Ahmed Farid
8882bc1533
Update Frameworks.qll
2022-04-05 12:32:10 +00:00
Ahmed Farid
68bfe38529
Update Zip.qll
2022-04-05 12:31:30 +00:00
Michael Nebel
2562910b94
C#: Update Csv validation to allow sources and sink kinds to be prefixed with generated.
2022-04-05 14:25:34 +02:00
Michael Nebel
d7bf024318
Java: Add testcase for generated summary model.
2022-04-05 14:25:34 +02:00
Michael Nebel
0374f84c05
Java: Make support for generated as a part of kind.
2022-04-05 14:25:34 +02:00
Michael Nebel
3a04e9a03d
Java: Update java capture models with new kind column (including tests).
2022-04-05 12:55:47 +02:00
Michael Nebel
412699f407
C#: Modify generator and update test output with updated kind column.
2022-04-05 12:51:01 +02:00
Rasmus Wriedt Larsen
5b96db26b3
Python: Rewrite concepts to use extends ... instanceof ...
...
This solved performance problems experienced in
https://github.com/github/codeql/pull/8634 , and this commit+PR is to
ensure we get this change in as fast as possible.
2022-04-05 12:34:15 +02:00
Michael Nebel
c2920405fc
C#: Add a query for detecting flow summaries that are discarded due to existing handwritten models.
2022-04-05 08:55:12 +02:00
Michael Nebel
3937714f9f
C#: The CaptureSummaryModels query should only produce summary models that will not be discarded at run-time.
2022-04-05 08:55:12 +02:00
Michael Nebel
784327c183
Java/Ruby: Hardcode generated flag to false.
2022-04-05 08:55:12 +02:00
Michael Nebel
8e1fa35367
C#: Add testcase, where generated flow summary is ignored.
2022-04-05 08:55:12 +02:00
Michael Nebel
de76df3988
C#: Only use generated summaries, if no handwritten model exist for a particular dataflow callable.
2022-04-05 08:55:12 +02:00
Michael Nebel
30dc4ae788
C#: Add testcase with multiple generated flow summaries.
2022-04-05 08:55:12 +02:00
Michael Nebel
689e8f1952
C#: Small testcase with a summary flow model that is listed as generated.
2022-04-05 08:55:12 +02:00
Michael Nebel
26ad4861a3
C#: Introduce parsing of the kind field.
2022-04-05 08:55:12 +02:00
Michael Nebel
f8b094ac1f
C#: Only use generated flow summaries in case no handwritten summary exists.
2022-04-05 08:55:11 +02:00
Michael Nebel
4d953da480
C#: Initial steps to allow generated as a part of the kind.
2022-04-05 08:55:11 +02:00
Michael Nebel
1f72f6c2cd
Merge pull request #8559 from michaelnebel/csharp/generateflowmodelsscript
...
C#: Generate Flow Models script
2022-04-05 08:43:22 +02:00
Harry Maclean
1df1f42589
Fail workflow if files cannot be uploaded
2022-04-05 14:16:42 +12:00
Harry Maclean
5739a3b4e8
Fix typo
2022-04-05 14:14:39 +12:00
Harry Maclean
342bb17fb6
Simplify shell script
2022-04-05 14:03:29 +12:00
Harry Maclean
de743418e2
Add more validations to workflow inputs
2022-04-05 13:36:34 +12:00
Harry Maclean
815c6f4113
Use env vars instead of contexts
2022-04-05 12:03:10 +12:00
Harry Maclean
8f3578c92a
Ruby: Include query results in test
2022-04-05 10:20:02 +12:00
Robert Marsh
a3072fcd83
Merge pull request #8664 from geoffw0/privdata3
...
C++: More enhancements to PrivateData.qll
2022-04-04 14:43:19 -04:00
Geoffrey White
04b8306f06
C++: Add some more patterns.
2022-04-04 16:57:00 +01:00
Geoffrey White
d2e7f22d1b
C++: Group all phone number related exprs together.
2022-04-04 16:48:03 +01:00
Geoffrey White
d42ee7d279
C++: Extend tests.
2022-04-04 16:46:56 +01:00
Michael Nebel
8c3be653c2
C#: Update test output.
2022-04-04 16:07:46 +02:00
Michael Nebel
3fe941aae2
C#: Add missing empty ext column in generated summaries.
2022-04-04 15:58:35 +02:00
Michael Nebel
c6fe54c41b
C#: Add script for running CaptureModel queries and generate qll source file.
2022-04-04 15:58:35 +02:00
Marcono1234
6dd14a6cb3
Java: Fix reflection predicate for getMethod having non-public method result
2022-04-04 15:10:49 +02:00
Tom Hvitved
415a1c2107
Java/C#: Update CaptureModels.qll
2022-04-04 13:51:44 +02:00
Tom Hvitved
57f2a74636
Python: Implement ContentSet
2022-04-04 13:51:44 +02:00
Tom Hvitved
7113c1b29c
C#: Implement ContentSet
2022-04-04 13:51:44 +02:00
Tom Hvitved
b91858e7cf
Java: Implement ContentSet
2022-04-04 13:51:44 +02:00
Tom Hvitved
d99bb65ea9
C++: Implement ContentSet
2022-04-04 13:51:44 +02:00
Tom Hvitved
725d76e934
Ruby: Implement ContentSet
2022-04-04 13:51:44 +02:00
Tom Hvitved
c4fbc618a9
Data flow: Sync files
2022-04-04 13:51:44 +02:00
Tom Hvitved
309fd937c1
Data flow: Introduce ContentSet
2022-04-04 13:51:43 +02:00
Tom Hvitved
a5040fd0ce
Ruby: Add data-flow test for reverse array stores
2022-04-04 13:51:43 +02:00
Asger F
de169277cb
Merge pull request #8576 from asgerf/js/decorated-method-or-class
...
JS: Add decorator edges in API graphs and corresponding MaD tokens
2022-04-04 12:49:28 +02:00
Jeroen Ketema
e91c04234e
C++: Update tests for copy constructor calls with implied source
2022-04-04 12:48:02 +02:00
Jeroen Ketema
e710cf7921
C++: Add tests for copy constructor direct initializations
2022-04-04 12:48:01 +02:00
Jeroen Ketema
82b1cd69d2
Merge pull request #8554 from jketema/bitwise-lambda-capture-init
...
C++: Handle bitwise copies in lambda captures
2022-04-04 12:23:05 +02:00
Michael Nebel
3466adaf8c
C#: Add kind tag to Capture model queries.
2022-04-04 11:00:58 +02:00
Michael Nebel
25881d673e
Merge pull request #8626 from michaelnebel/csharp/equalsgethashcodeoverrides
...
C#: Exclude Equals and GetHashCode overrides from model generation.
2022-04-04 09:40:31 +02:00
Harry Maclean
ee81bf2767
Use --paginate to get all comments
2022-04-04 10:21:26 +12:00
Harry Maclean
1cf2530feb
Use environment variable instead of GH context
2022-04-04 10:18:41 +12:00
Harry Maclean
c2b94e8d1d
Rename workflow to reflect its generic nature
...
This workflow can (pretty much) be used by any other workflow that wants
to post a PR comment.
2022-04-04 10:16:48 +12:00
Harry Maclean
e34911118f
Use gh api instead of third-party actions
...
Also move more steps to the unprivileged workflow.
2022-04-04 10:16:48 +12:00
Harry Maclean
9116dbd670
Update QHelp PR comment if it already exists
...
If we've already commented on a PR with a preview of the QHelp changes,
then update the existing comment instead of creating a new one.
2022-04-04 10:16:48 +12:00
Tom Hvitved
50dc3820c6
Merge pull request #8589 from hvitved/regex/speedup-concretise
2022-04-03 17:56:07 +02:00
Jeroen Ketema
e1fa58a6f2
C++: Update tests after generating reference conversion
2022-04-01 18:32:46 +02:00
Jeroen Ketema
1d51b618d1
C++: Update tests for handling op bitwise copy in lambda captures
2022-04-01 18:32:46 +02:00
Jeroen Ketema
dea510ac95
C++: Add change note for cpp/unused-local-variable changes
2022-04-01 18:32:46 +02:00
Jeroen Ketema
4f49f9d6e1
C++: Remove exception from cpp/unused-local-variable that is no longer needed
2022-04-01 18:32:46 +02:00
Jeroen Ketema
3fed59fd13
C++: Add more lambda capture IR tests
2022-04-01 18:32:45 +02:00
github-actions[bot]
6af568b16d
Post-release preparation for codeql-cli-2.8.5
2022-04-01 16:22:14 +00:00
Chris Smowton
3119885a9b
Merge pull request #8638 from smowton/smowton/docs/additional-flow-step-description
...
Improve wording of isAdditionalFlow/TaintStep qldoc
2022-04-01 16:41:04 +01:00
Paolo Tranquilli
a323cce03e
Merge pull request #8630 from redsun82/bazel-workspace
...
Bazel: add skeleton bazel workspace
2022-04-01 15:46:59 +02:00
Ian Lynagh
4551af90f6
Merge pull request #8640 from github/release-prep/2.8.5
...
Release preparation for version 2.8.5
2022-04-01 14:07:21 +01:00
Mathias Vorreiter Pedersen
002f7cd438
Merge pull request #8623 from geoffw0/privdata2
...
C++: Some enhancements to SensitiveExprs.qll
2022-04-01 13:49:44 +01:00
Chris Smowton
28fa49dcd6
dataflow -> data-flow
2022-04-01 13:22:58 +01:00
Rasmus Wriedt Larsen
ba011fb13f
Merge pull request #8601 from zbazztian/recognize-flask-named-body-param
...
Python: Flask: Identify body contents passed via named response parameter in invocations of Response constructor
2022-04-01 14:19:28 +02:00
Paolo Tranquilli
1cc7621300
Bazel: add to CODEOWNERS and move around doc note
2022-04-01 14:04:50 +02:00
Paolo Tranquilli
3772efd193
.gitignore bazel symlinks
2022-04-01 14:04:50 +02:00
Paolo Tranquilli
8a5e611453
Bazel: add skeleton bazel workspace
...
This moves in codeql some internal bazel definitions in preparation for
future work.
2022-04-01 14:04:50 +02:00
Sebastian Bauersfeld
504e7e4a55
Update python/ql/lib/change-notes/2022-03-30-flask-recognize-body-param.md
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-04-01 18:41:27 +07:00
Erik Krogh Kristensen
29a5bdb601
Merge pull request #7339 from erik-krogh/pyPerf
...
Python: Cache more predicates to improve performance.
2022-04-01 13:37:21 +02:00
Michael Nebel
81904cc993
C#: Refactor isIrrelevantOverrideOrImplementation to make it easier to extend it with more methods later.
2022-04-01 13:27:05 +02:00
Erik Krogh Kristensen
eae2a6af36
update expected output for Locations.ql
2022-04-01 12:58:00 +02:00
Erik Krogh Kristensen
ed7e1206ff
rename isBeforeCode to isCommentAfterCode
2022-04-01 12:55:00 +02:00
Tony Torralba
4cf0ebc5a8
Add change note
2022-04-01 12:43:27 +02:00
github-actions[bot]
ee746d20df
Release preparation for version 2.8.5
2022-04-01 10:39:31 +00:00
Tony Torralba
cc9b16beff
Fix wrong models of spring-web
2022-04-01 12:37:30 +02:00
Tony Torralba
3747aec144
Improve models of spring-beans
2022-04-01 12:37:22 +02:00
Chris Smowton
3b0bd3bc0f
Improve wording
2022-04-01 11:31:31 +01:00
Chris Smowton
81e60eb145
Add change note
2022-04-01 11:20:03 +01:00
Chris Smowton
99026a6071
Improve wording of isAdditionalFlow/TaintStep qldoc
2022-04-01 11:07:27 +01:00
Michael Nebel
5cb2bd9245
C#: Exclude IEquatable Equals implementations.
2022-04-01 11:39:41 +02:00
Michael Nebel
02a0cbf0f4
C#: Add test cases.
2022-04-01 11:32:10 +02:00
Michael Nebel
99bbca8c31
C#: Exclude overrides of Equals and GetHashCode in model generation.
2022-04-01 11:32:10 +02:00
Michael Nebel
f480ab9fd2
Merge pull request #8629 from michaelnebel/csharp/capturemodelmetadata
...
C#: Improve query meta data.
2022-04-01 10:40:05 +02:00
Jeroen Ketema
f2beb9eb2b
Merge pull request #8622 from MathiasVP/fix-cpp-performance
...
C++: Fix bad magic and bad join
2022-04-01 09:51:16 +02:00
Michael Nebel
c139850cd6
Merge pull request #8609 from michaelnebel/csharp/operatorsummaries
...
C#: Operator flow
2022-04-01 09:04:04 +02:00
Michael Nebel
01e57e90c9
C#: Fix query name for source model generation.
2022-04-01 08:54:35 +02:00
Harry Maclean
ae60d40511
Ruby: Fix typo in rb/insecure-dependency qhelp
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-04-01 15:35:53 +13:00
Harry Maclean
5814db19d5
Ruby: Fix bug in rb/insecure-dependency query
...
Only look at the first component of strings for the prefix.
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-04-01 15:35:21 +13:00
Harry Maclean
3d96c5e6db
Ruby: Add test case for rb/insecure-dependency
...
This tests that we recognise kwargs in hashrocket style:
gem "foo", "1.2.3", :git => "..."
as well as the modern style:
gem "foo", "1.2.3", git: "..."
2022-04-01 15:30:07 +13:00
Chris Smowton
9309a652df
Merge pull request #8493 from JLLeitschuh/feat/JLL/test_assertion_guard_preconditions
...
[Java]: Add precondition support for testing library asserts
2022-03-31 22:30:09 +01:00
Alex Ford
8b0ebbfecc
Ruby: replace use of deprecated getStringOrSymbol()
2022-03-31 17:21:17 +01:00
Alex Ford
882f78c6f9
Merge remote-tracking branch 'origin/main' into ruby/weak-cryptographic-algorithm
2022-03-31 17:17:46 +01:00
Alex Ford
2b66dfa93e
Ruby: replace a range field with instanceof
2022-03-31 15:39:11 +01:00
Chris Smowton
9bcf466aa8
Accept expected test result improvement
2022-03-31 15:19:08 +01:00
Stephan Brandauer
2cbb25acaa
another review fix
2022-03-31 16:04:04 +02:00
Chris Smowton
2829770003
Autoformat and fix typo
2022-03-31 14:11:09 +01:00
Michael Nebel
2edd6d72c0
C#: Improve query meta data.
2022-03-31 14:56:23 +02:00
Anders Schack-Mulligen
f1ec2e3260
Merge pull request #8426 from atorralba/atorralba/missing-severities
...
Java: Add missing security-severity scores
2022-03-31 14:53:47 +02:00
Chris Smowton
fa8791f1d5
Merge pull request #8620 from jketema/doc-typo-fix
...
CLI docs: make the running text match the example
2022-03-31 12:36:51 +01:00
Anders Schack-Mulligen
8d9ce5fb4c
Merge pull request #8625 from aschackmull/java/qldoc-casing-fix
...
Java: Fix acronym casing in qldoc referring to Java class names.
2022-03-31 13:33:11 +02:00
Chris Smowton
04325abfa5
Add test
2022-03-31 12:26:38 +01:00
Chris Smowton
c2d461bcee
Format
2022-03-31 12:19:53 +01:00
Chris Smowton
0d9c353c37
Represent switch statement and switch expression results alike
2022-03-31 12:19:11 +01:00
Chris Smowton
96bf754f01
Accept intrigus suggested doc clarifications
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-03-31 12:09:45 +01:00
Tom Hvitved
46d69cf544
Regex: Further tweaks to concretise computations
2022-03-31 12:52:43 +02:00
Tom Hvitved
5181544790
Sync shared files
2022-03-31 12:52:42 +02:00
Tom Hvitved
5052452ef9
SuperlinearBackTracking: Speedup concretise
2022-03-31 12:52:42 +02:00
Tom Hvitved
7efe698e56
Address review comment
2022-03-31 12:52:42 +02:00
Tom Hvitved
0fb28f4bc9
Sync shared files
2022-03-31 12:52:42 +02:00
Tom Hvitved
20f4d5a584
ExponentialBackTracking: Speedup concretise
2022-03-31 12:52:42 +02:00
Tom Hvitved
9c90385846
Merge pull request #8624 from hvitved/ruby/fix-import
...
Ruby: Fix broken import
2022-03-31 12:51:50 +02:00
Anders Schack-Mulligen
f28da00ec4
Java: Fix qldoc as followup to https://github.com/github/codeql/pull/8323
2022-03-31 12:50:36 +02:00
Stephan Brandauer
8f1a3597a7
autoformat
2022-03-31 12:32:29 +02:00
Tom Hvitved
40986bfcb1
Ruby: Fix broken import
2022-03-31 12:32:03 +02:00
Geoffrey White
fbd71cd050
C++: Update to regexpMatch.
2022-03-31 11:27:20 +01:00
Michael Nebel
27b1d1e1e0
Merge pull request #8348 from michaelnebel/csharp/externalapi-telemetry
...
C#: ExternalAPI implementation for Telemetry.
2022-03-31 11:36:07 +02:00
Mathias Vorreiter Pedersen
dc88f715f8
C++: Fix join order.
2022-03-31 10:35:36 +01:00
Mathias Vorreiter Pedersen
da39c9f5ef
C++: Fix bad magic.
2022-03-31 10:35:29 +01:00
Geoffrey White
9035ca236e
C++: Change note.
2022-03-31 10:24:18 +01:00
Geoffrey White
b296b0150a
C++: Some enhancements to SensitiveExprs.qll as well, inspired by csharp.
2022-03-31 10:24:17 +01:00
Geoffrey White
146318dbc1
Merge pull request #8580 from geoffw0/privdata
...
C++: Port PrivateData.qll from C# and use it in cpp/cleartext-transmission
2022-03-31 10:12:46 +01:00
Arthur Baars
15c54f6100
Merge pull request #8354 from aibaars/incomplete-url-string-sanitization
...
Incomplete url string sanitization
2022-03-31 10:59:51 +02:00
Stephan Brandauer
a6d2ecdc4d
review comments
2022-03-31 10:49:33 +02:00
Jeroen Ketema
85e2367769
CLI docs: make the running text match the example
2022-03-31 10:14:30 +02:00
Arthur Baars
7e866ed376
Merge pull request #8617 from cklin/qldoc-coverage-new-language
...
QLdoc check: handle new languages gracefully
2022-03-31 10:00:36 +02:00
Erik Krogh Kristensen
67e1ffdd3e
fix isKnownStepSrc such that it actually includes taint/dataflow-steps
2022-03-31 09:46:01 +02:00
Erik Krogh Kristensen
e038baed36
add .gitignore ignoring test dbs
2022-03-31 09:45:28 +02:00
Chuan-kai Lin
1ff0fda5d1
QLdoc check: handle new languages gracefully
2022-03-30 14:58:13 -07:00
Erik Krogh Kristensen
1218c4f4ed
fix ql/name-casing, and drive-by QL-for-QL typo fix
2022-03-30 22:59:14 +02:00
Erik Krogh Kristensen
1847a5713b
remove TODO
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
7ca6426ea5
revert the Taint stage, as it caused an alert for ql/abstract-class-import
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
7e4ab4c60b
Revert "import all the frameworks that extend RegexString"
...
This reverts commit 84bc9042de4e876685f8f5ffdd88893383d1cfdc.
It caused ql/abstract-class-import alerts
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
3b9335c051
nomagic on containsInScope
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
5caff81ff9
import all the frameworks that extend RegexString
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
b959705531
revert changes in MRO.qll
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
b74852ffd6
cache a bit more (again)
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
d9ced55e2c
make private predicates private
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
040196f40d
cache more basicblock predicates
2022-03-30 22:54:01 +02:00
Erik Krogh Kristensen
79713e0ef8
a bit more caching
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
7643aac207
revert bad nomagic
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
35c7fa58a7
joiner order fixes
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
88e896992e
cache the remainder of the pointsto layer
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
79da0970cc
various join order fixes
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
3e9ee887d4
fix bad mistake
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
758a5d7a85
few join order fixes
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
6eca4ba2d3
get around identical files by adding the ref() call somewhere else
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
4089788629
revert caching of some large predicates that caused the DB size to increase too much
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
0da80f90d3
rename the SSA stages to AST
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
c9e3a62953
cached stages iteration 5
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
a8f9a91e38
cached stages iteration 4
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
f68357a063
cached stages iteration 3.5
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
37a9b41e26
cached stages iteration 3
2022-03-30 22:54:00 +02:00
Erik Krogh Kristensen
60b5af215f
cached stages iteration 2
2022-03-30 22:53:59 +02:00
Erik Krogh Kristensen
71eacea90b
add the cached stages pattern to Python
2022-03-30 22:53:59 +02:00
Chuan-kai Lin
48015e5a2e
Merge pull request #8597 from cklin/run-js-ml-tests
...
JS: Fix expected test output for ATM queries
2022-03-30 13:10:02 -07:00
Chuan-kai Lin
a8dabb238d
JS: Fix expected test output for ATM queries
2022-03-30 11:35:17 -07:00
Robert Marsh
3ce7c521d1
C++: fix IR global var init for string constants
2022-03-30 14:01:59 -04:00
Robert Marsh
e01799827a
C++: add test for string global var inits in IR
2022-03-30 13:38:25 -04:00
Robert Marsh
fb0a848e5a
C++: fix inconsistency with global var constructor
2022-03-30 13:32:02 -04:00
Robert Marsh
9d4aac61fd
C++: add IR tests for global var with constructor
2022-03-30 13:20:26 -04:00
Chris Smowton
19cd97e426
Java: Clarify the meaning of getRuleExpression/Statement
2022-03-30 17:58:11 +01:00
Ian Lynagh
46c27dd20f
Merge pull request #8514 from github/post-release-prep/codeql-cli-2.8.4
...
Post-release preparation for codeql-cli-2.8.4
2022-03-30 16:36:14 +01:00
Nick Rolfe
fa1bb82701
Merge pull request #8610 from github/nickrolfe/re-fix-location-join-order
...
Ruby: undo accidental revert of #8538
2022-03-30 16:31:52 +01:00
Nick Rolfe
10b75bff76
Ruby: undo accidental revert of 13be9919
2022-03-30 16:02:12 +01:00
Chris Smowton
9675f34cf5
Merge pull request #8257 from luchua-bc/java/insecure-webview-resource-response
...
Java: CWE-200 Query to detect insecure WebResourceResponse implementation
2022-03-30 15:56:27 +01:00
Arthur Baars
031d183bdf
Merge pull request #8532 from aibaars/regex-refactor-2
...
JS/Ruby/Python: rename RegExpTreeView.qll to ReDoSUtilSpecific.qll
2022-03-30 16:38:47 +02:00
Robert Marsh
417b0b5353
C++: accept test changes for updated extractor
2022-03-30 10:23:17 -04:00
Michael Nebel
8238c99199
C#: Only include APIs that has a proper namespace.
2022-03-30 15:22:32 +02:00
Michael Nebel
5c13391580
C#: Add test cases for operators.
2022-03-30 15:09:44 +02:00
Michael Nebel
04960fc0c6
C#: Filter out explicit and implicit conversion operators, when creating summaries.
2022-03-30 15:09:26 +02:00
Michael Nebel
8b08ddf7ad
C#: Use callables qualified name instead of name, when printing summary like information.
2022-03-30 15:05:57 +02:00
Michael Nebel
4163078ecc
C#: The qualified name of the operator should use the function name instead of the displayed name.
2022-03-30 15:05:03 +02:00
Tom Hvitved
3c50987b9b
Merge pull request #8590 from hvitved/ruby/rc-perf-picks
...
Ruby: Cherry pick performance fixes onto `rc/3.5`
2022-03-30 14:48:33 +02:00
Sebastian Bauersfeld
a3c3a7fe0d
Python: Identify alternative body argument in invocations of Response constructor.
2022-03-30 19:34:54 +07:00
Dave Bartolomeo
70c44734e6
Merge pull request #8445 from dbartol/dbartol/ir-range/semantic-scratch
...
Sign, Modulus, and Range analysis for C++ using sharable semantic layer
2022-03-30 07:08:09 -04:00
Dave Bartolomeo
e2396a5e03
Remove PrintIR tests for range analysis
...
These were only used for debugging, and don't actually make good tests.
2022-03-30 06:45:28 -04:00
Dave Bartolomeo
19789fa738
Merge remote-tracking branch 'upstream/main' into semantic-scratch
2022-03-30 06:39:14 -04:00
Nick Rolfe
a274af2b16
Merge pull request #7985 from github/nickrolfe/constant_regexp
...
Ruby: separate constant propagation of regexps from strings
2022-03-30 11:37:33 +01:00
4B5F5F4B
9ab773422a
refactor some code, and add access_ok cases
2022-03-30 12:25:32 +08:00
Harry Maclean
167bda2d4e
Ruby: Add QLDoc for InsecureDependencyQuery.qll
2022-03-30 13:50:12 +13:00
Harry Maclean
d13bbbaf35
Ruby: Add change note for rb/insecure-dependency
2022-03-30 13:39:35 +13:00
Harry Maclean
37cedda63a
Ruby: Add InsecureDependencyResolution query
...
This query looks for places in a Gemfile where URLs with insecure
protocols (HTTP or FTP) are specified.
2022-03-30 13:39:15 +13:00
Marcono1234
a93b4ed0f2
Java: Make JumpStmt a proper superclass
2022-03-30 00:30:27 +02:00
Erik Krogh Kristensen
48ef3b106f
fix mistake in inlining
2022-03-29 23:39:22 +02:00
Erik Krogh Kristensen
090c5c39f6
add explicit this
2022-03-29 22:44:03 +02:00
Erik Krogh Kristensen
cebba05b8b
rename getAClassReferenceStep to getAClassReferenceRec
2022-03-29 22:44:03 +02:00
Erik Krogh Kristensen
be6c122b27
improve the join order of getAClassReference
2022-03-29 22:44:02 +02:00
Erik Krogh Kristensen
979fa2386a
autoformat
2022-03-29 22:38:23 +02:00
Robert Marsh
9442be1a27
Autoformat
2022-03-29 16:23:57 -04:00
Robert Marsh
8d21c8b7c5
Merge pull request #8423 from 4B5F5F4B/main
...
[CPP][Linux Kernel]Add ql to detect CVE-2017-5123
2022-03-29 15:10:15 -04:00
luchua-bc
fa2a6a7da3
Remove unnecessary taint step and update qldoc
2022-03-29 17:52:49 +00:00
Jeroen Ketema
e5ac492b62
Merge pull request #8593 from jketema/pointless-options
...
C++: Remove debugging options from library tests
2022-03-29 17:55:47 +02:00
Jeroen Ketema
d1857a9e37
C++: Remove debugging options from library tests
2022-03-29 17:24:18 +02:00
Geoffrey White
e04298d532
C++: Delete experimental PrivateData.qll.
2022-03-29 15:26:46 +01:00
Asger Feldthaus
8bb58a3222
Merge branch 'js/decorated-method-or-class' of github.com:asgerf/codeql into js/decorated-method-or-class
2022-03-29 16:13:54 +02:00
Asger Feldthaus
75a84378ac
JS: Do not generate def-nodes for decorated parameters
2022-03-29 16:13:45 +02:00
Asger Feldthaus
ca145f21b0
JS: Add test showing why parameter-sinks wont actually work well in JS
2022-03-29 16:06:53 +02:00
Geoffrey White
cf5c6baadd
C++: More test cases for salary.
2022-03-29 15:05:27 +01:00
Asger Feldthaus
3bcfca421f
JS: Add test case for decorated parameter sinks
2022-03-29 15:55:43 +02:00
Geoffrey White
0e3e145e53
C++: Add CWE-359 tag to cpp/cleartext-transmission.
2022-03-29 14:44:06 +01:00
Asger F
6e630cccc2
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2022-03-29 15:41:20 +02:00
Michael Nebel
db7abb429f
C#: Remove unneeded exists.
2022-03-29 14:59:32 +02:00
Michael Nebel
6be41b0c29
C#/Java: Address review comments.
2022-03-29 14:52:57 +02:00
Michael Nebel
b0a24a7a44
C#: Change the implementation on getAnInput and getAnOutput based on hvitveds recommendations.
2022-03-29 14:52:57 +02:00
Michael Nebel
c2196a04aa
C#: Update the description of the telemetry queries.
2022-03-29 14:52:57 +02:00
Michael Nebel
bfb206c810
C#: Let ExternalApi extend DataFlowCallable instead of Callable.
2022-03-29 14:52:57 +02:00
Michael Nebel
e1d4c1b68c
C#/Java: Reorder code in terms of dependency, rename ExternalAPI to ExternalApi and add some missing predicate qualifiers.
2022-03-29 14:52:52 +02:00
Michael Nebel
4f00666591
C#: Add query and test case for supported external taint.
2022-03-29 14:49:37 +02:00
Michael Nebel
03c1bf6d87
C#: Mark Xunit as uninteresting.
2022-03-29 14:49:37 +02:00
Michael Nebel
18b1b51d07
C#: Add test for known sources telemetry query.
2022-03-29 14:49:37 +02:00
Michael Nebel
1f1059bfc6
C#: Add telemetry query for supported sources.
2022-03-29 14:49:37 +02:00
Michael Nebel
a7ece69f2b
C#: Add test for supported sinks query.
2022-03-29 14:49:37 +02:00
Michael Nebel
d81e73f9c6
C#: Add telemetry query for supported sinks.
2022-03-29 14:49:37 +02:00
Michael Nebel
e4f6321851
C#: Add test for unsupported uses of library code.
2022-03-29 14:49:37 +02:00
Michael Nebel
e014cae7df
C#: Add test and output for all library usages.
2022-03-29 14:49:37 +02:00
Michael Nebel
7cef859253
C#: Add sample code file that calls both supported and unsupported library code with respect to flow summaries.
2022-03-29 14:49:37 +02:00
Michael Nebel
918a6c7425
C#: Telemetry query for measuring (unsupport dataflow) library usage.
2022-03-29 14:49:37 +02:00
Michael Nebel
c023808657
C#: Telemetry query for measuring all library usage.
2022-03-29 14:49:37 +02:00
Michael Nebel
0650c6d395
C#: Add initial port of the java implementation of ExternalAPI.qll.
2022-03-29 14:49:37 +02:00
Michael Nebel
e9070b010b
C#: Add getCall predicate to ArgumentNode.
2022-03-29 14:49:37 +02:00
Michael Nebel
c552ab4138
Java: Remove duplicate import statement in ExternalAPI.qll.
2022-03-29 14:49:37 +02:00
Michael Nebel
c3ac5aba57
Merge pull request #8482 from michaelnebel/csharp/capturesourcesink-models
...
C#: Capture[Source|Sink]Models utility.
2022-03-29 14:43:10 +02:00
Dave Bartolomeo
c9f79047b3
Improve QLDoc
2022-03-29 07:27:45 -04:00
Dave Bartolomeo
01c747ccb7
Remove debugging code
2022-03-29 07:14:51 -04:00
Dave Bartolomeo
820beed085
Remove Java portion (moved to separate PR)
2022-03-29 07:09:33 -04:00
Tony Torralba
e564481e9f
Organize imports
2022-03-29 11:38:24 +02:00
Asger F
68575f3655
Merge pull request #8579 from asgerf/js/literal-csv-rows
...
JS: write all CSV rows as literals
2022-03-29 11:13:19 +02:00
Michael Nebel
8e60073d5a
Java: Remove dataflow imports for java.qll.
2022-03-29 11:07:58 +02:00
Michael Nebel
f734edf8ff
C#/Java: Minor refactor and re-arranging of code to align the CaptureModel specific implementations.
2022-03-29 11:07:58 +02:00
Michael Nebel
dd267b353a
C#: Move isRelevantMemberAccess out of PropagateToSinkConfigurationSpecific.
2022-03-29 11:07:58 +02:00
Michael Nebel
3933dfa78e
Java: Make imports private and add parts of the dataflow library to java.qll (same as in C#).
2022-03-29 11:07:58 +02:00
Michael Nebel
ad90c55bc6
C#: Improve encapsulation in CaptureModelsSpecific.
2022-03-29 11:07:57 +02:00
Michael Nebel
26d5eb64b3
C#/Java: Initial merge ModelGeneratorUtils into CaptureModels.
2022-03-29 11:07:57 +02:00
Michael Nebel
9b7691a5fc
C#/Java: Address comments on re-exposing functionality.
2022-03-29 11:07:57 +02:00
Michael Nebel
1710b66003
C#/Java: Some minor variable name changes and QL Doc updates.
2022-03-29 11:07:57 +02:00
Michael Nebel
4298024cd6
C#: Refactor isRelevantForModels.
2022-03-29 11:07:57 +02:00
Michael Nebel
5970fd9904
C#: Also include property reads in possible new sink discovery. Only include public fields and properties.
2022-03-29 11:07:57 +02:00
Michael Nebel
8a65efbae4
C#/Java: Add isRelevantSinkKind predicate with language specific implementation.
2022-03-29 11:07:57 +02:00
Michael Nebel
0009d781d7
Java: Make most imports private.
2022-03-29 11:07:57 +02:00
Michael Nebel
1c7d764d54
C#: Make most module imports private.
2022-03-29 11:07:57 +02:00
Michael Nebel
ad27a5a1a6
C#/Java: Add some more QL Doc to the CaptureModels[Specific] implementation.
2022-03-29 11:07:57 +02:00
Michael Nebel
62dcbff67f
C#: Update sync files config.
2022-03-29 11:07:57 +02:00
Michael Nebel
5d62c48890
C#/Java: Move libraries to internal folder as these are for internal use only.
2022-03-29 11:07:57 +02:00
Michael Nebel
3d2ce57c9e
Java: Collapse all the specific code for summary, source and sink models into a single file.
2022-03-29 11:07:57 +02:00
Michael Nebel
43c9f9d7bb
C#: Collapse all the specific code for summary, source and sink models into a single file.
2022-03-29 11:07:57 +02:00
Michael Nebel
852d8a2770
Java: Collapse all the shared code for summary, source and sink models into a single file.
2022-03-29 11:07:57 +02:00
Michael Nebel
4f2227f206
C#: Collapse all the shared code for summary, source and sink models into a single file.
2022-03-29 11:07:57 +02:00
Michael Nebel
79fd2e6a40
C#/Java: Make configurations private and sprinkle some QL Doc.
2022-03-29 11:07:57 +02:00
Michael Nebel
6194d5cf63
C#: Add test for CaptureSinkModel query.
2022-03-29 11:07:57 +02:00
Michael Nebel
5babb0e66a
C#: Update stubs to include one more known sink method.
2022-03-29 11:07:57 +02:00
Michael Nebel
858508fa33
C#: Make sure that language independent parts of CaptureSinkModels is in sync.
2022-03-29 11:07:57 +02:00
Michael Nebel
db21a6a0f3
C#: Add CaptureSummaryModels query.
2022-03-29 11:07:57 +02:00
Michael Nebel
fb2a7dfb48
Java: Refactor CaptureSinkModels into language specific and generic part.
2022-03-29 11:07:57 +02:00
Michael Nebel
cc5fbbb7c5
Java: Minor cleanup in CaptureSinkModels.
2022-03-29 11:07:56 +02:00
Michael Nebel
cc4e26466f
C#: Add test case for CaptureSummaryModels query.
2022-03-29 11:07:56 +02:00
Michael Nebel
b4efd0e154
C#: Make sure that the shared CaptureSummaryModel is in sync.
2022-03-29 11:07:56 +02:00
Michael Nebel
4ae5dc323f
C#: Add CaptureSourceModel query.
2022-03-29 11:07:56 +02:00
Michael Nebel
45234b1631
Java: Refactor CaptureSourceModel to enable re-use.
2022-03-29 11:07:56 +02:00
Michael Nebel
f00837578b
Java: isPublic and fromSource check as this is already ensured by the TargetApi characteristic predicate.
2022-03-29 11:07:56 +02:00
Michael Nebel
f42ed1e3ad
Java: Cleanup imports in CaptureSourceModels.
2022-03-29 11:07:56 +02:00
Geoffrey White
b94ade3bdd
C++: Improve the regexps.
2022-03-29 10:03:58 +01:00
Erik Krogh Kristensen
ae3b32409a
update expected output of tests that relied on API::Node::toString()
2022-03-29 10:59:08 +02:00
Geoffrey White
393819837c
C++: Convert to regexp.
2022-03-29 09:33:16 +01:00
Tom Hvitved
f429dafb09
Address review comments
2022-03-29 10:23:59 +02:00
Tom Hvitved
15ef8c1d8f
Ruby: Cache ConstantReadAccess::getValue
2022-03-29 10:23:54 +02:00
Tom Hvitved
fe50c2879e
Ruby: Rework getConstantValue implementation
2022-03-29 10:23:49 +02:00
Tom Hvitved
ec82fb1221
Ruby: Fix bad join-order in RegExpTerm::hasLocationInfo
...
Before:
```
[2022-03-23 14:50:16] (776s) Tuple counts for RegExpTreeView::RegExpTerm::hasLocationInfo#dispred#f0820431#ffffff/6@5f6cf7if after 1m4s:
707103 ~7% {2} r1 = SCAN Literal::StringlikeLiteral::getNumberOfComponents#dispred#f0820431#ff OUTPUT In.0, (In.1 - 1)
64721 ~0% {5} r2 = JOIN r1 WITH RegExpTreeView::RegExpTerm#7783c185#ffff_1023#join_rhs ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Rhs.1 'this', Rhs.2, Rhs.3
64721 ~0% {5} r3 = JOIN r2 WITH Literal::StringlikeLiteral::getComponent#dispred#f0820431#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2 'this', Lhs.3, Lhs.4
64721 ~0% {5} r4 = JOIN r3 WITH AST::AstNode::getLocation#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2 'this', Lhs.3, Lhs.4
64721 ~3% {6} r5 = JOIN r4 WITH Locations::Location::hasLocationInfo#dispred#f0820431#ffffff ON FIRST 1 OUTPUT Rhs.1 'filepath', Lhs.1, Lhs.2 'this', Lhs.3, Lhs.4, Rhs.4 'endline'
353247577 ~1% {10} r6 = JOIN r5 WITH Locations::Location::hasLocationInfo#dispred#f0820431#ffffff_1023#join_rhs ON FIRST 1 OUTPUT Lhs.1, 0, Lhs.2 'this', Lhs.3, Lhs.4, Lhs.0 'filepath', Lhs.5 'endline', Rhs.1, Rhs.2 'startline', Rhs.3
353247577 ~0% {9} r7 = JOIN r6 WITH Literal::StringlikeLiteral::getComponent#dispred#f0820431#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.7, Lhs.2 'this', Lhs.3, Lhs.4, Lhs.5 'filepath', Lhs.6 'endline', Lhs.8 'startline', Lhs.9
64721 ~2% {6} r8 = JOIN r7 WITH AST::AstNode::getLocation#dispred#f0820431#bf ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.5 'filepath', Lhs.7 'startline', (Lhs.8 + Lhs.3), Lhs.6 'endline', ((Lhs.8 + Lhs.4) - 1)
return r8
```
After:
```
[2022-03-23 14:58:35] (247s) Tuple counts for RegExpTreeView::RegExpTerm::componentHasLocationInfo#f0820431#fbfffff/7@de55ac7l after 1.1s:
12956 ~0% {3} r1 = SCAN files OUTPUT In.0, 0, In.1 'filepath'
9850785 ~0% {7} r2 = JOIN r1 WITH locations_default_102345#join_rhs ON FIRST 1 OUTPUT Rhs.1, 0, Lhs.2 'filepath', Rhs.2 'startline', Rhs.3 'startcolumn', Rhs.4 'endline', Rhs.5 'endcolumn'
823486 ~0% {8} r3 = JOIN r2 WITH AST::AstNode::getLocation#dispred#f0820431#bf_10#join_rhs ON FIRST 1 OUTPUT 0, Rhs.1, 0, Lhs.2 'filepath', Lhs.3 'startline', Lhs.4 'startcolumn', Lhs.5 'endline', Lhs.6 'endcolumn'
698251 ~4% {7} r4 = JOIN r3 WITH Literal::StringlikeLiteral::getComponent#dispred#f0820431#fff_120#join_rhs ON FIRST 2 OUTPUT Rhs.2, 0, Lhs.3 'filepath', Lhs.4 'startline', Lhs.5 'startcolumn', Lhs.6 'endline', Lhs.7 'endcolumn'
64721 ~1% {7} r5 = JOIN r4 WITH RegExpTreeView::RegExpTerm#7783c185#ffff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', 0, Lhs.2 'filepath', Lhs.3 'startline', Lhs.4 'startcolumn', Lhs.5 'endline', Lhs.6 'endcolumn'
return r5
[2022-03-23 14:58:35] (247s) Tuple counts for RegExpTreeView::RegExpTerm::hasLocationInfo#dispred#f0820431#ffffff/6@ad66b12q after 53ms:
707103 ~7% {2} r1 = SCAN Literal::StringlikeLiteral::getNumberOfComponents#dispred#f0820431#ff OUTPUT In.0, (In.1 - 1)
64721 ~0% {4} r2 = JOIN r1 WITH RegExpTreeView::RegExpTerm#7783c185#ffff_1023#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', Lhs.1, Rhs.2, Rhs.3
64721 ~5% {5} r3 = JOIN r2 WITH project#RegExpTreeView::RegExpTerm::componentHasLocationInfo#f0820431#bffffff ON FIRST 2 OUTPUT Lhs.0 'this', Rhs.2 'filepath', Lhs.2, Lhs.3, Rhs.3 'endline'
64721 ~2% {6} r4 = JOIN r3 WITH project#RegExpTreeView::RegExpTerm::componentHasLocationInfo#f0820431#fbfffff ON FIRST 2 OUTPUT Lhs.0 'this', Lhs.1 'filepath', Rhs.2 'startline', (Rhs.3 + Lhs.2), Lhs.4 'endline', ((Rhs.3 + Lhs.3) - 1)
return r4
```
2022-03-29 10:23:32 +02:00
Tony Torralba
6799838ece
Simplification
2022-03-29 09:43:37 +02:00
4B5F5F4B
9358b824c0
modify select clause to make codeql happy:)
2022-03-29 10:41:12 +08:00
luchua-bc
833d842113
Drop the getPath check from the library
2022-03-28 20:14:40 +00:00
Robert Marsh
3c1ec5a595
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-03-28 16:06:17 -04:00
luchua-bc
657f615703
Fine tune the query and update qldoc
2022-03-28 20:05:12 +00:00
Robert Marsh
af6a4f31e7
C++: TranslatedInstructionContainer to RootElement
2022-03-28 15:20:48 -04:00
Robert Marsh
5811d0b2ad
C++: add AliasedDefinition to IR global var inits
2022-03-28 14:53:43 -04:00
Stephan Brandauer
9c3fcb6268
precise tracking of handlebars arguments
2022-03-28 17:26:43 +02:00
Asger Feldthaus
cf596a1856
JS: Add decorator edges in API graphs and corresponding MaD tokens
2022-03-28 15:34:40 +02:00
Erik Krogh Kristensen
20599d1846
Merge branch 'main' of github.com:github/codeql into labelNaming
2022-03-28 15:30:33 +02:00
Asger Feldthaus
e152416317
JS: write all CSV rows as literals
2022-03-28 15:30:18 +02:00
Asger F
e5f2b830f3
Merge pull request #8577 from asgerf/fix-mad-warning
...
JS/Ruby: Fix regexp in MaD checking
2022-03-28 15:29:16 +02:00
Asger F
f22df765ed
Merge pull request #8533 from asgerf/mad-receiver-token
...
JS/Ruby: Represent non-positional arguments with Argument/Parameter tokens
2022-03-28 15:28:52 +02:00
Geoffrey White
611b820cbc
C++: Change notes.
2022-03-28 14:27:21 +01:00
Erik Krogh Kristensen
e79eecb640
update toString() of API::Node, and update expected output that depends on the former
2022-03-28 15:23:45 +02:00
Nick Rolfe
9406aa2f29
Merge remote-tracking branch 'origin/main' into nickrolfe/constant_regexp
2022-03-28 13:05:34 +01:00
Asger Feldthaus
0b30ecf36a
Ruby: add select clause back to Summaries.ql
2022-03-28 13:57:50 +02:00
Erik Krogh Kristensen
36db492aa2
move the polynomialbacktracking-test to the test folder
2022-03-28 13:22:26 +02:00
Erik Krogh Kristensen
c5fb19c377
update the JS API-graph labels toString() to print the predicate calls on the API-graphs
2022-03-28 13:19:16 +02:00
Arthur Baars
85c4daa2bf
Address comments
2022-03-28 13:15:32 +02:00
Asger Feldthaus
d5bcd14733
Sync ApiGraphModels.qll
2022-03-28 12:43:55 +02:00
Asger Feldthaus
7e6206ed36
JS: Fix the regexp for valid MaD token arguments
2022-03-28 12:43:43 +02:00
Arthur Baars
2ae5e8158e
Python: import RegExpTreeView correctly
2022-03-28 12:41:32 +02:00
Nick Rolfe
a9eac19dac
Ruby: address review feedback
2022-03-28 11:19:24 +01:00
Arthur Baars
b103679d8a
JS/Ruby/Python: rename RegExpTreeView.qll to ReDoSUtilSpecific.qll
2022-03-28 12:17:26 +02:00
Arthur Baars
af1d949d06
Merge pull request #8489 from aibaars/regex-refactor
...
Ruby: refactor regex libraries
2022-03-28 12:17:00 +02:00
Geoffrey White
18f80eb3e3
C++: Loosen a few constraints slightly.
2022-03-28 11:16:57 +01:00
Geoffrey White
850646b8ba
C++: Deprecate the experimental version, forward to the new one.
2022-03-28 11:16:56 +01:00
Geoffrey White
3fed7bf6d0
C++: Extend cpp/cleartext-transmission using PrivateData.qll.
2022-03-28 11:16:56 +01:00
Geoffrey White
202b6d44a5
C++: Update SensitiveExprs.qll to clarify the relationship.
2022-03-28 10:54:56 +01:00
Geoffrey White
0453c0f0a1
C++: Convert to C++ and make it look more like SensitiveExprs.qll.
2022-03-28 10:54:55 +01:00
Geoffrey White
ec98269a24
C++: Copy PrivateData.qll from csharp.
2022-03-28 10:54:54 +01:00
Geoffrey White
bb272003b4
C++: More test cases.
2022-03-28 10:54:54 +01:00
Erik Krogh Kristensen
c98d024c0e
Merge pull request #8575 from erik-krogh/qlFixTypo
...
QL: fix Import::getImportString
2022-03-28 11:41:59 +02:00
Arthur Baars
accdd9499a
Ruby: drop unused predicates that do not exist in Python variant
2022-03-28 11:32:52 +02:00
Erik Krogh Kristensen
7ac6f5849c
fix Import::getImportString
2022-03-28 11:04:18 +02:00
Ahmed Farid
53f756b078
Update ZipSlip.expected
2022-03-28 08:54:44 +00:00
Mathias Vorreiter Pedersen
57c39e9642
Merge pull request #8574 from erik-krogh/qlForQlFixes
...
QL: two small improvements
2022-03-28 09:26:43 +01:00
Erik Krogh Kristensen
77aff04429
add a getImportString utility predicate to Import
2022-03-28 10:14:27 +02:00
Erik Krogh Kristensen
d4c8f42336
add QLDoc to the child relation for TopLevel
2022-03-28 09:54:08 +02:00
yoff
5efc19c39d
Merge pull request #7806 from erik-krogh/pyDef
...
Python: Add def nodes to API graphs
2022-03-28 08:09:14 +02:00
Ahmed Farid
d89ed8b98b
Update zipslip_bad.py
2022-03-28 01:40:08 +00:00
Ahmed Farid
a50f051cdd
Update zipslip_bad.py
2022-03-28 01:38:58 +00:00
Ahmed Farid
cafbd98454
Update zipslip_bad.py
2022-03-28 01:08:39 +00:00
Ahmed Farid
f364e41dbe
Update ZipSlip.expected
2022-03-28 01:02:38 +00:00
Ahmed Farid
a8c14ed6c3
Update zipslip_bad.py
2022-03-28 01:00:38 +00:00
Ahmed Farid
ddba3b7784
Update ZipSlip.qll
2022-03-28 00:59:56 +00:00
Ahmed Farid
0fac4f195d
Update Concepts.qll
2022-03-28 00:47:27 +00:00
Ahmed Farid
413f1945ce
Update Zip.qll
2022-03-28 00:44:56 +00:00
4B5F5F4B
2d7b9c0c4f
modify a little cute typo
2022-03-26 22:55:27 +08:00
4B5F5F4B
7a091f808b
Create NoCheckBeforeUnsafePutUser.ql
2022-03-26 22:45:03 +08:00
4B5F5F4B
64863d493b
Delete cve-2017-5123.ql
2022-03-26 22:42:59 +08:00
Edoardo Pirovano
8faabb837a
Merge pull request #8561 from erik-krogh/latestTools
...
QL: use latest tools in codeql-action/init
2022-03-25 15:12:58 -04:00
Erik Krogh Kristensen
21192b7593
use latest tools in codeql-action/init
2022-03-25 19:26:10 +01:00
Andrew Eisenberg
5fb84a774b
Merge pull request #8553 from github/aeisenberg/cpp-suites
...
Suites: Remove self-referential `from` directives
2022-03-25 09:15:53 -07:00
Michael Nebel
79f3da8af1
Merge pull request #8506 from michaelnebel/java/generalize-generate-flow-model
...
Java/C#: Generalize script for generating flow models.
2022-03-25 16:20:53 +01:00
Geoffrey White
2014599f88
Merge pull request #8318 from geoffw0/cwe497b
...
C++: New query cpp/potential-system-data-exposure
2022-03-25 14:55:00 +00:00
Taus
b75ac4e827
Merge pull request #8540 from tausbn/python-add-points-to-call-graph-meta-query
...
Python: Add call graph meta-query
2022-03-25 15:36:33 +01:00
Erik Krogh Kristensen
9e71d9bada
Merge pull request #8556 from erik-krogh/bumpAction
...
QL: update codeql-action version in QL-for-QL
2022-03-25 14:46:31 +01:00
Erik Krogh Kristensen
68c07fe1c0
pin the commit of codeql-action in the remaining steps/workflows
2022-03-25 14:35:44 +01:00
Erik Krogh Kristensen
8f377f4101
pin the commit
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2022-03-25 14:19:29 +01:00
Erik Krogh Kristensen
cf57eb825c
update codeql-action version in QL-for-QL
2022-03-25 13:37:27 +01:00
Taus
d56caa2398
Merge pull request #8547 from RasmusWL/regexstring-imports
...
Python: Import framework-modeling in `regex.qll`
2022-03-25 13:26:04 +01:00
Geoffrey White
9f3fd57534
Merge branch 'main' into cwe497b
2022-03-25 11:57:30 +00:00
Mathias Vorreiter Pedersen
c115c68247
Merge pull request #8542 from MathiasVP/public-iterated-dominance-frontier
...
C++: Use `iterated (post)dominance frontier` algorithm in `IRBlock`
2022-03-25 11:51:15 +00:00
Jeroen Ketema
b91914bd89
Merge pull request #8534 from jketema/bitwise-ctor-field-init
...
C++: Handle bitwise copies in copy constructors
2022-03-25 12:47:57 +01:00
Geoffrey White
e377eebdbc
C++: More 'adversary' -> 'malicious user' and related doc changes.
2022-03-25 11:34:37 +00:00
Geoffrey White
11074b6d77
Update cpp/ql/src/Security/CWE/CWE-497/PotentiallyExposedSystemData.ql
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-03-25 11:08:07 +00:00
Nick Rolfe
c7ba7fd389
Ruby: add changenotes for regexp constant value changes
2022-03-25 11:08:01 +00:00
Geoffrey White
6b6ee61d3f
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-03-25 11:06:46 +00:00
Jeroen Ketema
94f014d948
C++: Update tests for handling of bitwise copies in copy constructors
2022-03-25 11:43:01 +01:00
Jeroen Ketema
b18b86b2e2
C++: Remove check for value-less literals in constructors
2022-03-25 11:43:01 +01:00
Chris Smowton
f0168d00d1
Merge pull request #8529 from github/smowton/admin/commons-lang3-test-typo
...
Java: Fix harmless search-replace mistake
2022-03-25 10:36:00 +00:00
Asger Feldthaus
8e2ffc2508
Ruby: add the inline test expectations
2022-03-25 11:31:22 +01:00
Asger Feldthaus
5703f63afa
Ruby: use InlineFlowTest in Summaries.ql test
2022-03-25 11:18:52 +01:00
Erik Krogh Kristensen
cf94c93b1a
Merge pull request #8481 from erik-krogh/schemeChain
...
JS: recognize string replacement chains as scheme checks in js/incomplete-url-scheme-check
2022-03-25 11:13:10 +01:00
Nick Rolfe
034fce0682
Ruby: show constant value type in tests
2022-03-25 08:25:07 +00:00
Andrew Eisenberg
99f14af56a
Suites: Remove self-referential from directives
...
Fixes https://github.com/github/codeql/issues/8412
See https://github.com/github/codeql/issues/8412#issuecomment-1078281668
for more detail.
2022-03-24 14:19:20 -07:00
Nick Rolfe
0613fda57f
Ruby: separate constant propagation of regexps from strings
2022-03-24 17:46:58 +00:00
Tom Hvitved
e12b6df118
Merge pull request #8484 from hvitved/ruby/constant-value-rework
...
Ruby: Rework `getConstantValue` implementation
2022-03-24 14:32:31 +01:00
Rasmus Wriedt Larsen
d51aaf2f91
Python: Import framework-modeling in regex.qll
2022-03-24 14:28:44 +01:00
Mathias Vorreiter Pedersen
80630972b1
Merge branch 'main' into public-iterated-dominance-frontier
2022-03-24 12:50:29 +00:00
Rasmus Wriedt Larsen
98c0d73ffe
Merge pull request #8524 from RasmusWL/ruby-update-ssrf-concept
...
Ruby: Minor change of SSRF concept
2022-03-24 13:48:06 +01:00
Stephan Brandauer
a28e9c5b6e
documentation for handlebars.js flow step
2022-03-24 13:08:52 +01:00
Stephan Brandauer
0bd9e9f298
add handlebars taint step
2022-03-24 11:46:16 +01:00
Chris Smowton
005a020f04
Merge pull request #8508 from igfoo/igfoo/error_elements
...
Java: Add ErrorExpr, ErrorStmt
2022-03-24 10:39:14 +00:00
Arthur Baars
15801fcc85
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-03-24 11:37:03 +01:00
Arthur Baars
eef0da09bb
Ruby: move RegExpTreeView.qll out of 'internal'
2022-03-24 11:37:03 +01:00
Arthur Baars
1a9aaf4543
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-03-24 11:37:03 +01:00
Arthur Baars
5f787144c0
Add change note
2022-03-24 11:37:03 +01:00
Arthur Baars
3c434931ec
Ruby: make ParseRegExp.qll and RegExpTreeView.qll internal libraries
2022-03-24 11:37:03 +01:00
Arthur Baars
74aea81fe3
Ruby: refactor regex libraries
2022-03-24 11:37:02 +01:00
Arthur Baars
65f8f56095
Merge branch 'main' into incomplete-url-string-sanitization
2022-03-24 11:27:30 +01:00
Arthur Baars
496aab78a7
Merge pull request #8535 from aibaars/setter-method-arg-location
...
Ruby: fix location of setter-call argument
2022-03-24 11:26:13 +01:00
Tom Hvitved
eff7cf6396
Merge pull request #8538 from hvitved/ruby/regexpterm-location-perf
...
Ruby: Fix bad join-order in `RegExpTerm::hasLocationInfo`
2022-03-24 10:01:12 +01:00
Tom Hvitved
2699412160
Merge pull request #8543 from hmac/hmac/test-naming-fix
...
Ruby: Fix bad name of lambda in test
2022-03-24 09:46:04 +01:00
Harry Maclean
28a430a2f2
Ruby: Fix bad name of lambda in test
...
This isn't the identity function, so it's confusing for it to be named
so.
2022-03-24 12:44:41 +13:00
Ahmed Farid
eab6568cda
Update zipslip_good.py
2022-03-24 00:35:24 +01:00
Ahmed Farid
8dea7248ea
Update zipslip_bad.py
2022-03-24 00:34:52 +01:00
Ahmed Farid
b5f1e9de08
Update zipslip_bad.py
2022-03-24 00:33:28 +01:00
Ahmed Farid
a05318f10c
Update zipslip_good.py
2022-03-24 00:32:11 +01:00
Ahmed Farid
1836723ecb
Merge branch 'main' into ZipSlip
2022-03-23 19:27:12 -04:00
Harry Maclean
3b4206cebf
Merge pull request #8517 from hmac/hmac/lambda-captured-var
...
Ruby: fix bug with captured variable reads in lambdas
2022-03-24 10:00:19 +13:00
Mathias Vorreiter Pedersen
61c944201f
Merge pull request #8461 from Paul1nh0/dev_cve_2016_6480
...
Add query for double-fetch vulnerability
2022-03-23 18:15:05 +00:00
Asger Feldthaus
b0b795dbbb
JS: Autoformat
2022-03-23 19:15:01 +01:00
Mathias Vorreiter Pedersen
c76a323246
C++/C#: Sync identical files.
2022-03-23 17:27:25 +00:00
Mathias Vorreiter Pedersen
1b4fb45089
C++: Use the iterated (post)dominance frontier algorithm in the public '(post)dominanceFrontier' predicate on 'IRBlocks'.
2022-03-23 17:27:16 +00:00
Asger Feldthaus
69eb24e748
Ruby: fix toCsv representation of argument/parameter positions
2022-03-23 18:11:09 +01:00
Asger Feldthaus
6870a19ace
Ruby: autoformat
2022-03-23 18:06:12 +01:00
Asger Feldthaus
0d51804b5e
Ruby: update a comment mentioning Receiver
2022-03-23 18:06:12 +01:00
Asger Feldthaus
ce54eb3c78
Ruby: Add Argument[foo:] syntax for keyword arguments
2022-03-23 18:06:12 +01:00
Asger Feldthaus
c923b9bb9b
Ruby: Replace Receiver with Argument[self]
2022-03-23 18:06:12 +01:00
Asger Feldthaus
ec30a0f975
Ruby: replace BlockArgument with Argument[block]
2022-03-23 18:06:12 +01:00
Asger Feldthaus
6d84baf276
Ruby: Support self,block in Argument/Parameter tokens
2022-03-23 18:06:12 +01:00
Asger Feldthaus
95122b2b6c
JS: Support Argument[this] token
2022-03-23 18:06:12 +01:00
Asger Feldthaus
d476f976fe
JS: Support Parameter[this] token
2022-03-23 18:06:12 +01:00
Taus
af888f7604
Python: Add call graph meta-query
2022-03-23 16:36:28 +00:00
CodeQL CI
ac29d5f51b
Merge pull request #8523 from asgerf/js/api-graph-receiver-label
...
Approved by erik-krogh
2022-03-23 15:31:12 +00:00
Mathias Vorreiter Pedersen
8b8f0ca6e5
Merge pull request #8479 from geoffw0/widecharperf
...
C++: Fix expensive getWideCharType().
2022-03-23 14:22:17 +00:00
Anna Railton
41418e729e
Merge pull request #8536 from github/codeql-ci/js-atm-new-release
...
JS: Bump version numbers of ML-powered packs after 0.2.0 release
2022-03-23 14:16:11 +00:00
Tom Hvitved
13be99196f
Ruby: Fix bad join-order in RegExpTerm::hasLocationInfo
...
Before:
```
[2022-03-23 14:50:16] (776s) Tuple counts for RegExpTreeView::RegExpTerm::hasLocationInfo#dispred#f0820431#ffffff/6@5f6cf7if after 1m4s:
707103 ~7% {2} r1 = SCAN Literal::StringlikeLiteral::getNumberOfComponents#dispred#f0820431#ff OUTPUT In.0, (In.1 - 1)
64721 ~0% {5} r2 = JOIN r1 WITH RegExpTreeView::RegExpTerm#7783c185#ffff_1023#join_rhs ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Rhs.1 'this', Rhs.2, Rhs.3
64721 ~0% {5} r3 = JOIN r2 WITH Literal::StringlikeLiteral::getComponent#dispred#f0820431#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2 'this', Lhs.3, Lhs.4
64721 ~0% {5} r4 = JOIN r3 WITH AST::AstNode::getLocation#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2 'this', Lhs.3, Lhs.4
64721 ~3% {6} r5 = JOIN r4 WITH Locations::Location::hasLocationInfo#dispred#f0820431#ffffff ON FIRST 1 OUTPUT Rhs.1 'filepath', Lhs.1, Lhs.2 'this', Lhs.3, Lhs.4, Rhs.4 'endline'
353247577 ~1% {10} r6 = JOIN r5 WITH Locations::Location::hasLocationInfo#dispred#f0820431#ffffff_1023#join_rhs ON FIRST 1 OUTPUT Lhs.1, 0, Lhs.2 'this', Lhs.3, Lhs.4, Lhs.0 'filepath', Lhs.5 'endline', Rhs.1, Rhs.2 'startline', Rhs.3
353247577 ~0% {9} r7 = JOIN r6 WITH Literal::StringlikeLiteral::getComponent#dispred#f0820431#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.7, Lhs.2 'this', Lhs.3, Lhs.4, Lhs.5 'filepath', Lhs.6 'endline', Lhs.8 'startline', Lhs.9
64721 ~2% {6} r8 = JOIN r7 WITH AST::AstNode::getLocation#dispred#f0820431#bf ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.5 'filepath', Lhs.7 'startline', (Lhs.8 + Lhs.3), Lhs.6 'endline', ((Lhs.8 + Lhs.4) - 1)
return r8
```
After:
```
[2022-03-23 14:58:35] (247s) Tuple counts for RegExpTreeView::RegExpTerm::componentHasLocationInfo#f0820431#fbfffff/7@de55ac7l after 1.1s:
12956 ~0% {3} r1 = SCAN files OUTPUT In.0, 0, In.1 'filepath'
9850785 ~0% {7} r2 = JOIN r1 WITH locations_default_102345#join_rhs ON FIRST 1 OUTPUT Rhs.1, 0, Lhs.2 'filepath', Rhs.2 'startline', Rhs.3 'startcolumn', Rhs.4 'endline', Rhs.5 'endcolumn'
823486 ~0% {8} r3 = JOIN r2 WITH AST::AstNode::getLocation#dispred#f0820431#bf_10#join_rhs ON FIRST 1 OUTPUT 0, Rhs.1, 0, Lhs.2 'filepath', Lhs.3 'startline', Lhs.4 'startcolumn', Lhs.5 'endline', Lhs.6 'endcolumn'
698251 ~4% {7} r4 = JOIN r3 WITH Literal::StringlikeLiteral::getComponent#dispred#f0820431#fff_120#join_rhs ON FIRST 2 OUTPUT Rhs.2, 0, Lhs.3 'filepath', Lhs.4 'startline', Lhs.5 'startcolumn', Lhs.6 'endline', Lhs.7 'endcolumn'
64721 ~1% {7} r5 = JOIN r4 WITH RegExpTreeView::RegExpTerm#7783c185#ffff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', 0, Lhs.2 'filepath', Lhs.3 'startline', Lhs.4 'startcolumn', Lhs.5 'endline', Lhs.6 'endcolumn'
return r5
[2022-03-23 14:58:35] (247s) Tuple counts for RegExpTreeView::RegExpTerm::hasLocationInfo#dispred#f0820431#ffffff/6@ad66b12q after 53ms:
707103 ~7% {2} r1 = SCAN Literal::StringlikeLiteral::getNumberOfComponents#dispred#f0820431#ff OUTPUT In.0, (In.1 - 1)
64721 ~0% {4} r2 = JOIN r1 WITH RegExpTreeView::RegExpTerm#7783c185#ffff_1023#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', Lhs.1, Rhs.2, Rhs.3
64721 ~5% {5} r3 = JOIN r2 WITH project#RegExpTreeView::RegExpTerm::componentHasLocationInfo#f0820431#bffffff ON FIRST 2 OUTPUT Lhs.0 'this', Rhs.2 'filepath', Lhs.2, Lhs.3, Rhs.3 'endline'
64721 ~2% {6} r4 = JOIN r3 WITH project#RegExpTreeView::RegExpTerm::componentHasLocationInfo#f0820431#fbfffff ON FIRST 2 OUTPUT Lhs.0 'this', Lhs.1 'filepath', Rhs.2 'startline', (Rhs.3 + Lhs.2), Lhs.4 'endline', ((Rhs.3 + Lhs.3) - 1)
return r4
```
2022-03-23 14:55:06 +01:00
Geoffrey White
9ae1ec69dc
C++: Autoformat.
2022-03-23 13:37:39 +00:00
Michael Nebel
6804e20e4a
Merge pull request #8451 from michaelnebel/csharp/modelgenerator-improvements
...
C#: Model generator improvements and more tests
2022-03-23 13:30:58 +01:00
Arthur Baars
06a99c3987
Ruby: fix location of setter-call argument
2022-03-23 12:55:52 +01:00
github-actions[bot]
1e620c99c6
JS: Bump patch version of ML-powered library and query packs post-release
2022-03-23 11:53:34 +00:00
github-actions[bot]
dc0c8374d2
JS: Bump minor version of ML-powered library and query packs
2022-03-23 11:47:53 +00:00
github-actions[bot]
2b42d84ccd
JS: Bump patch version of ML-powered model pack post-release
2022-03-23 11:47:53 +00:00
github-actions[bot]
6fbc0e6e32
JS: Bump ML model pack dependency of ML-powered model building and query packs
2022-03-23 11:47:53 +00:00
github-actions[bot]
8d13662315
JS: Bump minor version of ML-powered model pack
2022-03-23 11:47:08 +00:00
yoff
647d37492d
Merge pull request #8289 from tausbn/python-remove-with-test-syntax-error
...
Python: Fix syntax error in `with` test output
2022-03-23 12:25:11 +01:00
Mathias Vorreiter Pedersen
a81024a485
Merge pull request #8525 from MathiasVP/more-precise-is-before
...
C++: Consider columns in `Location.isBefore`
2022-03-23 11:04:34 +00:00
Mathias Vorreiter Pedersen
0eab54d385
Merge pull request #8491 from jketema/command-line-injection-with-flow-state
...
C++: Use flow states in `cpp/command-line-injection`
2022-03-23 11:03:29 +00:00
Michael Nebel
b204f783fb
C#: Remove special handling of bulk types.
2022-03-23 11:26:49 +01:00
Rasmus Wriedt Larsen
671889372b
Ruby: Update wording of change-note
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-03-23 11:26:41 +01:00
Rasmus Wriedt Larsen
e66932c728
Ruby: Make deprecated getURL work with new modeling
...
So an "old" query using the deprecated predicate, will still find the
same results, even when the modeling has been updated.
2022-03-23 11:22:34 +01:00
Tom Hvitved
4bcd4d75a9
Address review comments
2022-03-23 11:22:25 +01:00
Asger Feldthaus
f2285709bd
JS: Change note
2022-03-23 10:42:51 +01:00
Asger Feldthaus
59d5c54432
JS: Update test output from knex
2022-03-23 10:42:51 +01:00
Asger Feldthaus
73071bdc08
JS: Change getAParameter to not return the receiver
2022-03-23 10:42:51 +01:00
Asger Feldthaus
6bef5a70b3
JS: Add dedicated API graph label for receiver, instead of parameter -1
2022-03-23 10:42:51 +01:00
Mathias Vorreiter Pedersen
a84ee50af0
Update cpp/ql/src/change-notes/2022-03-21-command-line-injection-with-flow-states.md
2022-03-23 09:35:41 +00:00
Michael Nebel
bbe28bc668
Java: Do not explicitly require python3 when executing the GenerateFlowModel.py.
2022-03-23 10:35:32 +01:00
Michael Nebel
7eddc1e7ec
Java: Adjust scripts for new location.
2022-03-23 10:35:32 +01:00
Michael Nebel
7fc11be787
Java: Move generate_flow_model file into a shared models-as-data script folder.
2022-03-23 10:35:32 +01:00
Michael Nebel
bd89de3c43
Java: Make sure to use python3 during workflow execution (required for python string interpolation).
2022-03-23 10:35:32 +01:00
Michael Nebel
6c9d1a3edb
Java: Make standalone library for shared functionality.
2022-03-23 10:35:32 +01:00
Michael Nebel
9564f8bf5c
Java: Put remainings parts of the generator code into the class.
2022-03-23 10:35:32 +01:00
Michael Nebel
20414c0e56
Java: Move Generator creation into class definition.
2022-03-23 10:35:32 +01:00
Michael Nebel
3f33cdf688
Java: Introduce generator class.
2022-03-23 10:35:32 +01:00
Michael Nebel
6ed1424679
Java: Refactor language specific parts into variable.
2022-03-23 10:35:32 +01:00
Michael Nebel
1ac988323a
Java: Add dry-run optional paramteter to generator script.
2022-03-23 10:35:31 +01:00
Michael Nebel
586fd5a43b
Java: Rename file for generating flow models.
2022-03-23 10:35:31 +01:00
Rasmus Wriedt Larsen
bbf60b875e
Merge pull request #8476 from RasmusWL/shared-concepts-scaffolding
...
Python/JS/Ruby: Shared concepts scaffolding
2022-03-23 10:22:42 +01:00
Paul1nh0
5a1dc61d9d
modify arguments check logic
...
As far as I can tell, root cause of double-fetech issue is read from the same user mode memory twice, so it makes sense that only check whether user mode pointer is same or not
2022-03-23 11:20:08 +08:00
Paul1nh0
6a6cd61d83
automated using CodeQL for VSCode extension
2022-03-23 09:37:45 +08:00
Mathias Vorreiter Pedersen
01929d484e
Merge pull request #8526 from MathiasVP/internal-diagmetric-queries-ql
...
C++: Add internal `ExtractionError` query
2022-03-22 17:26:38 +00:00
Robert Marsh
12ccf3662a
C#: match IR global variable changes
2022-03-22 13:22:37 -04:00
Robert Marsh
6be3db8575
C++: update test expectations for extractor changes
2022-03-22 13:01:56 -04:00
Owen Mansel-Chan
efc0d95535
Merge pull request #8528 from github/smowton/admin/fix-go-doc-links
...
Fix broken links
2022-03-22 16:25:41 +00:00
Taus
f9120167b4
Python: Fix syntax error in with test output
...
Depends on an internal PR. The two lines in question were caused by
the insertion of an extra node due to the failure to parse a trailing
comma corrcetly.
2022-03-22 16:22:03 +00:00
Jonathan Leitschuh
bd87be636a
Refactor to conditionCheckArgument deprecate old method
2022-03-22 11:56:43 -04:00
Rasmus Wriedt Larsen
64a5c5d9aa
Ruby: Keep getURL predicate for easier deprecation
...
Notice that we still don't fully keep our standard deprecation support,
since the new `getAUrlPart` is still abstract, and therefore will cause
compile errors if not implemented.
2022-03-22 16:48:14 +01:00
Paul1nh0
f2728f5284
delete some unused code
2022-03-22 23:20:30 +08:00
Chris Smowton
b5c05a580d
Java: Fix harmless search-replace mistake
2022-03-22 14:42:09 +00:00
yoff
47e062cfb9
Merge pull request #8486 from aibaars/incomplete-hostname-python
...
Python: switch to shared implementation of IncompleteHostnameRegExp.ql
2022-03-22 15:06:14 +01:00
Erik Krogh Kristensen
8ae04e04d4
Merge pull request #8509 from erik-krogh/fpXss
...
JS: filter away reads of .src that end in a URL sink for js/xss-through-dom
2022-03-22 14:51:17 +01:00
Mathias Vorreiter Pedersen
c35b385383
C++: Fix 'implicit this' warning.
2022-03-22 13:32:46 +00:00
Tom Hvitved
c06508570a
Ruby: Cache ConstantReadAccess::getValue
2022-03-22 14:15:07 +01:00
Paul1nh0
afe4a8435f
Using globalValueNumber to match same arguments
2022-03-22 21:14:07 +08:00
Chris Smowton
35af797683
Fix broken links
2022-03-22 12:34:22 +00:00
Mathias Vorreiter Pedersen
93346a574f
C++: Add a new 'Location.isBefore' predicate that also considers columns.
2022-03-22 12:16:53 +00:00
Mathias Vorreiter Pedersen
c6c3206031
C++: Add example of 'goto' on the same line as the destination label.
2022-03-22 12:11:29 +00:00
Mathias Vorreiter Pedersen
5cdf0b5ee2
Merge pull request #8507 from geoffw0/sde-perf
...
C++: Make getUnderlyingType nomagic
2022-03-22 11:12:44 +00:00
Paul1nh0
d476493c3e
Add double-fetch.ql under CWE-362 directory
2022-03-22 19:08:44 +08:00
Paul1nh0
dd4e82126c
remove to another directory
2022-03-22 19:06:53 +08:00
Paul1nh0
2dad2c477b
query description added
2022-03-22 19:06:03 +08:00
Geoffrey White
5d5904d6c8
C++: Autoformat.
2022-03-22 10:55:04 +00:00
Mathias Vorreiter Pedersen
5cbd86519b
C++: Add internal extraction errors query and modify the 'code-scanning-selectors' to exclude internal queries.
2022-03-22 10:52:02 +00:00
Michael Nebel
b95a332ded
C#: Simplify the isCollectionType predicate.
2022-03-22 11:25:14 +01:00
Rasmus Wriedt Larsen
9254b2904e
Ruby: Adjust HttpClients test
2022-03-22 11:19:55 +01:00
Rasmus Wriedt Larsen
6bd9d82610
Merge pull request #8061 from RasmusWL/orm
...
Python: Add data-flow through Django ORM models
2022-03-22 11:14:08 +01:00
Rasmus Wriedt Larsen
945b52fc46
Ruby: autoformat
...
😳
2022-03-22 10:59:26 +01:00
Michael Nebel
1d45996001
Merge pull request #8466 from michaelnebel/csharp/refactor-aspartial
...
C#: Refactor asPartial to allow re-use.
2022-03-22 10:54:54 +01:00
Rasmus Wriedt Larsen
68de6a4e3c
Ruby: Add change-note
2022-03-22 10:53:55 +01:00
Rasmus Wriedt Larsen
9c2fc1b415
Ruby: client request: getUrl => getAUrlPart
...
This is a port of the same change in Python from
f8fc583af3
The description of that commit was:
> I think `getUrl` is a bit too misleading, since from the name, I would
> only ever expect ONE result for one request being made.
>
> `getAUrlPart` captures that there could be multiple results, and that
> they might not constitute a whole URl.
>
> Which is the same naming I used when I tried to model this a long time ago
> a80860cdc6/python/ql/lib/semmle/python/web/Http.qll (L102-L111)
2022-03-22 10:53:55 +01:00
Rasmus Wriedt Larsen
311cbb4e13
Merge branch 'main' into shared-concepts-scaffolding
2022-03-22 10:36:33 +01:00
Rasmus Wriedt Larsen
414764ccee
Concepts: Minor rewrite in qldoc
...
As suggested by @hmac
2022-03-22 10:33:58 +01:00
Rasmus Wriedt Larsen
e50a9421a6
JS: Update dataflow import in ConceptsImports.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2022-03-22 10:32:20 +01:00
Erik Krogh Kristensen
099d91ba6f
update qldoc
2022-03-22 10:27:21 +01:00
Tom Hvitved
99ddfb489f
Ruby: Rework getConstantValue implementation
2022-03-22 10:07:44 +01:00
Erik Krogh Kristensen
ea065b7d8a
Merge pull request #8521 from erik-krogh/getRubyMoreInSync
...
Ruby: sync ExponentialBackTracking.qll
2022-03-22 09:59:20 +01:00
Erik Krogh Kristensen
90a6717932
sync ExponentialBackTracking.qll for ruby
2022-03-22 09:27:04 +01:00
Tamás Vajk
36c7e10195
Merge pull request #8519 from github/revert-8294-tamasvajk/fix/mad-adjustments
...
Revert "Fix MaD workflows to be more resilient to missing files"
2022-03-22 09:19:14 +01:00
Tamás Vajk
87e1641772
Revert "Fix MaD workflows to be more resilient to missing files"
2022-03-22 09:08:56 +01:00
Tamás Vajk
80fb021e32
Merge pull request #8294 from github/tamasvajk/fix/mad-adjustments
...
Fix MaD workflows to be more resilient to missing files
2022-03-22 09:02:37 +01:00
Harry Maclean
99b5c580a5
Ruby: Fix captured reads in lambdas
...
These were previously identified as method calls. The fix is to
recognise lambdas as a scope which can inherit variables from its
parent.
2022-03-22 15:35:43 +13:00
Harry Maclean
c891e62a0e
Ruby: Add some tests for method calls in lambdas
...
This reveals a bug where we identify reads of captured variables in
lambdas as method calls. This is fixed in a followup commit.
2022-03-22 15:33:22 +13:00
Harry Maclean
3e8bc8b0f2
Merge pull request #8224 from github/hmac/http-to-file-access
...
Ruby: Add rb/http-to-file-access query
2022-03-22 13:46:36 +13:00
Jeroen Ketema
2d9b630fa8
C++: Fix ExecTainted.ql formatting
2022-03-21 23:28:58 +01:00
Harry Maclean
b1ae548f4c
Ruby: Fix doc comment formatting
2022-03-22 11:10:09 +13:00
Harry Maclean
c2d4bc50c9
Add missing file doc comment
2022-03-22 11:10:09 +13:00
Harry Maclean
91a7e9405c
Share HttpToFileAccessQuery between JS and Ruby
...
There's so little in this query that it may not be worth sharing, but
it's an interesting exercise in figuring out how we do it nicely.
2022-03-22 11:10:08 +13:00
Harry Maclean
130d93dded
Ruby: Make HttpToFileAccess more specific
...
Only consider sources from HTTP requests, rather than any remote flow
source.
2022-03-22 11:09:08 +13:00
Harry Maclean
fac17384c3
Ruby: Add RequestInputAccess concept
...
This sits in between RemoteFlowSource and specific classes like
ParamsSource from ActionController. It represents any user-controller
input from an incoming HTTP request.
This more closely aligns our concepts with the JS library, and allows us
to specifically target sources from HTTP requests in the
HttpToFileAccess query.
2022-03-22 11:09:08 +13:00
Harry Maclean
ff1d96c922
Ruby: Add rb/http-to-file-access query
2022-03-22 11:09:08 +13:00
Jeroen Ketema
b79eb6d10d
C++: Encode string value of data flow nodes in ExecState
2022-03-21 21:29:42 +01:00
Robert Marsh
23e9963a19
Merge branch 'main' into rdmarsh2/ir-global-vars
2022-03-21 16:13:40 -04:00
Robert Marsh
32e128d207
C#: sync IR files
2022-03-21 16:01:53 -04:00
Robert Marsh
5bb6441047
C++: Fix consistency issues with aggregate inits
2022-03-21 16:01:24 -04:00
Harry Maclean
6c18e1d7ac
Merge pull request #8272 from hmac/hmac/tainted-format-string
2022-03-22 08:37:47 +13:00
github-actions[bot]
a3e74efc21
Post-release preparation for codeql-cli-2.8.4
2022-03-21 19:36:47 +00:00
Rasmus Wriedt Larsen
88184ba9f5
Python: Update path-injection .expected
...
AHA! This change happened because we are no longer importing all the old
deprecated implementation.
2022-03-21 20:24:12 +01:00
Robert Marsh
a36c6f2dab
C++: restrict IR generation to global vars w inits
2022-03-21 14:26:29 -04:00
Mathias Vorreiter Pedersen
aff76b7295
Merge pull request #8512 from github/fix-dead-select-clause-link
...
Fix dead link in `CONTRIBUTING.md`
2022-03-21 17:39:07 +00:00
Robert Marsh
c27dfb5120
C++: IR translation for global variable inits
2022-03-21 13:17:05 -04:00
Mathias Vorreiter Pedersen
2e55fd6be3
Update CONTRIBUTING.md
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-03-21 16:49:59 +00:00
Ian Lynagh
e41bbfd931
Merge pull request #8510 from github/release-prep/2.8.4
...
Release preparation for version 2.8.4
2022-03-21 16:27:29 +00:00
Mathias Vorreiter Pedersen
cf54006c86
Fix dead link in CONTRIBUTING.md
...
cc @felicitymay.
2022-03-21 16:05:57 +00:00
Erik Krogh Kristensen
c8385a1e80
js/xss-through-dom: filter away reads of .src that end in a URL sink
2022-03-21 16:48:59 +01:00
Rasmus Wriedt Larsen
758a81cc0f
Python: Remove import of Concepts in DataFlowPrivate
...
As discussed in PR review
2022-03-21 16:22:15 +01:00
Jonathan Leitschuh
b3ee1bd313
Refactor Preconditions and add Tests
2022-03-21 11:20:05 -04:00
Rasmus Wriedt Larsen
978ef05571
Python: Add change-note
2022-03-21 16:18:40 +01:00
Ian Lynagh
1f8ce3a868
Java: Tweak release notes
2022-03-21 15:14:45 +00:00
Rasmus Wriedt Larsen
b8dee25cce
Python: ReflectedXSS -> ReflectedXss for new Query file
...
So we stick to the naming conventions.
This rename is OK, since the new file was only just introduced in this
PR.
2022-03-21 16:12:38 +01:00
Arthur Baars
79cd7bf8ed
Python: create semmle/python/dataflow/new/Regex.qll
2022-03-21 15:57:19 +01:00
Jonathan Leitschuh
db0879ec25
Apply suggestions from code review
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-03-21 10:35:13 -04:00
Rasmus Wriedt Larsen
695553ba9f
Python: Deprecate old non-Query.qll dataflow defs
2022-03-21 15:03:22 +01:00
Rasmus Wriedt Larsen
db86a18791
Python: Autoformat
2022-03-21 14:53:53 +01:00
Rasmus Wriedt Larsen
0125aea91b
Python: Re-introduce old dataflow configs .qll files
...
and move all the old deprecated aliases to that file. We now have a
situation where all queries should work as they did before, and we just
have these new Query.qll files that contain the implementation.
(deprecation comes later)
2022-03-21 14:53:53 +01:00
Rasmus Wriedt Larsen
1bf8fa6a3b
Python: Adopt Query.qll suffix for dataflow config defs
...
This commit in itself makes everything break, but should make it easy to
follow the overall changes being made.
2022-03-21 14:53:53 +01:00
Michael Nebel
92f8a90f31
C#: Introduce a collectionType predicate.
2022-03-21 14:44:38 +01:00
github-actions[bot]
dedc8c2254
Release preparation for version 2.8.4
2022-03-21 13:25:49 +00:00
Michael Nebel
8e2277e4f3
C#: Improve some of the QL Doc string.
2022-03-21 14:24:51 +01:00
Michael Nebel
d31ef371ec
Merge pull request #8391 from michaelnebel/csharp/gvn-interface
...
C#: Deprecate the StructuralComparisonConfiguration interface and use sameGvn instead.
2022-03-21 14:10:53 +01:00
Geoffrey White
97fef4b3a5
C++: Switch strategy to nomagic.
2022-03-21 12:58:06 +00:00
Ian Lynagh
7295a5d313
Java: Add an upgrade script
2022-03-21 11:51:36 +00:00
Ian Lynagh
6284362868
Java: Update stats
2022-03-21 11:44:19 +00:00
Geoffrey White
7f825c12eb
C++: Make getUnderlyingType 'nomagic'.
2022-03-21 11:12:18 +00:00
Jeroen Ketema
e05227d3fe
C++: Add change note for the cpp/command-line-injection changes
2022-03-21 11:30:39 +01:00
Jeroen Ketema
8b4c42dd07
C++: Add cpp/command-line-injection test using a wrapper macro
2022-03-21 11:19:54 +01:00
Alex Ford
c891c53835
Merge pull request #8395 from alexrford/ruby/clear-text-storage
...
Ruby: add `rb/clear-text-storage-sensitive-data` query
2022-03-21 10:05:39 +00:00
CodeQL CI
b04c46f96d
Merge pull request #8478 from asgerf/js/store-load-flow-context-sensitivity-bug
...
Approved by erik-krogh
2022-03-21 08:54:51 +00:00
Harry Maclean
5a6da827d0
Ruby: Avoid FP in TaintedFormatString query
...
Kernel#printf supports two call signatures:
printf(String, *args)
printf(IO, String, *args)
We want to identify the String argument, which is the format string.
Previously we would return the 0th and 1st arguments, which gives some
FPs when the 1st arg is not a format string.
We now try to rule out the trivial case by checking if arg 0 has a
string value, and then assuming it is the format string. Otherwise we
fall back to returning both arguments.
This still has some false positive potential, but less than previously.
2022-03-21 12:51:47 +13:00
Harry Maclean
5dcf0ad759
Ruby: Make IOPrintfCall more sensitive
...
It will now identify cases like this:
file = File.open "foo.txt", "a"
file.printf(params[:format], arg)
2022-03-21 12:51:47 +13:00
Harry Maclean
c253bddbe0
Ruby: Make getFormatArgument 0-indexed
2022-03-21 12:51:47 +13:00
Harry Maclean
c73dc8ad0c
Ruby: Add change note for rb/tainted-format-string
2022-03-21 12:51:47 +13:00
Harry Maclean
10a411e5cc
Ruby: Remove duplicate CWE reference
2022-03-21 12:51:47 +13:00
Harry Maclean
d79a6ddcb2
Ruby: Improve qhelp for rb/tainted-format-string
2022-03-21 12:51:47 +13:00
Harry Maclean
0cfe37dff4
Share TaintedFormatString between Ruby and JS
2022-03-21 12:51:46 +13:00
Harry Maclean
4249e30824
Ruby: Test tainted interpolated format arg
2022-03-21 12:51:18 +13:00
Harry Maclean
63199024a2
Add missing QLDoc
2022-03-21 12:51:18 +13:00
Harry Maclean
f6215d4c7e
Ruby: Add rb/tainted-format-string query
2022-03-21 12:51:18 +13:00
Alex Ford
b79bb72153
Ruby: split up CipherInstantiation charpred
2022-03-20 18:32:47 +00:00
Jonathan Leitschuh
1d0275344d
[Java]: Add precondition support for testing library asserts
2022-03-18 20:39:24 -04:00
Jeroen Ketema
f8198c3123
C++: Use flow states in cpp/command-line-injection
2022-03-18 20:06:45 +01:00
Robert Marsh
4bf35ad188
Merge pull request #8483 from jketema/command-line-injection-test-cases-with-calls
...
C++: Add additional command line injection tests
2022-03-18 15:05:12 -04:00
Arthur Baars
beef8e29bc
Merge pull request #8332 from hvitved/ruby/regexp-taint-flow
...
Ruby: Use taint tracking instead of type tracking to define `regExpSource`
2022-03-18 18:24:02 +01:00
Arthur Baars
9412b331db
Revert "Revert "Python: switch to shared implementation of IncompleteHostnameRegExp.ql""
...
This reverts commit 6d24591416 .
2022-03-18 16:31:22 +01:00
Jeroen Ketema
d37ef1b5ca
C++: Add command line injection test that currently results in a false positive
2022-03-18 16:12:09 +01:00
Arthur Baars
bf888f0f0b
Merge remote-tracking branch 'upstream/main' into incomplete-url-string-sanitization
...
Conflicts:
config/identical-files.json
javascript/ql/src/Security/CWE-020/IncompleteUrlSubstringSanitization.ql
javascript/ql/src/Security/CWE-020/IncompleteUrlSubstringSanitization.qll
ruby/ql/src/queries/security/cwe-020/IncompleteUrlSubstringSanitization.qll
2022-03-18 16:09:20 +01:00
Arthur Baars
117fb5be7d
Merge pull request #7917 from aibaars/incomplete-hostname
...
Ruby: IncompleteHostnameRegExp.ql
2022-03-18 16:00:09 +01:00
Alex Ford
2bd25da8e3
Ruby: Tidy an exists
2022-03-18 14:43:45 +00:00
Alex Ford
62bc0357ea
Ruby: Improve Cryptography module qldoc
2022-03-18 14:38:14 +00:00
Tom Hvitved
1437aefe9d
Ruby: Use taint tracking instead of type tracking to define regExpSource
2022-03-18 14:48:12 +01:00
Tom Hvitved
d97eaba070
Ruby: Add dataflow/taintracking copies for use in libraries
2022-03-18 14:48:12 +01:00
Arthur Baars
4a27928728
Ruby/JS add missing ^ in qhelp
2022-03-18 14:00:10 +01:00
Jeroen Ketema
459870ac1e
C++: Add additional command line injection tests
2022-03-18 13:42:27 +01:00
Arthur Baars
431b60506e
Merge remote-tracking branch 'upstream/main' into incomplete-hostname
2022-03-18 13:05:34 +01:00
Arthur Baars
6d24591416
Revert "Python: switch to shared implementation of IncompleteHostnameRegExp.ql"
...
This reverts commit ce50f35dda .
2022-03-18 13:02:55 +01:00
Chris Smowton
767453520e
Merge pull request #8032 from JLLeitschuh/feat/JLL/check_os
...
Java: Add Guard Classes for checking OS & unify System Property Access
2022-03-18 11:20:36 +00:00
Asger Feldthaus
26b7edccd4
JS: Change note
2022-03-18 11:59:36 +01:00
Erik Krogh Kristensen
693c77f3df
add test for string replacement chains of URL schemes
2022-03-18 11:05:59 +01:00
Asger F
929419abba
Merge pull request #8254 from asgerf/ruby/mad-prototype
...
Ruby: initial prototype of models-as-data
2022-03-18 10:48:33 +01:00
Erik Krogh Kristensen
235aa9c24e
recognize string replacement chains as scheme checks in js/incomplete-url-scheme-check
2022-03-18 10:37:20 +01:00
Mathias Vorreiter Pedersen
8bf172913e
Merge pull request #8474 from hvitved/flow-state-changing-steps-should-be-in-path-explanation-alternative
...
Dataflow: Flow-state changing steps should always be in path explanations
2022-03-18 09:08:36 +00:00
Asger Feldthaus
8753632193
JS: Fix bug in reachableFromStoreBase
2022-03-17 17:30:46 +01:00
Asger Feldthaus
8c6ca6582e
JS: Add test showing missing flow
2022-03-17 17:30:46 +01:00
Geoffrey White
ff3bedcab9
C++: Fix expensive getWideCharType().
2022-03-17 14:41:57 +00:00
Mathias Vorreiter Pedersen
abe30457ee
Python: Accept test changes.
2022-03-17 14:03:58 +01:00
Tom Hvitved
79ea2a3a9c
Data flow: Sync files
2022-03-17 14:03:58 +01:00
Tom Hvitved
4df12dc6e6
Data flow: State-changing taint steps should not be stepped over by the big step relation
2022-03-17 14:03:58 +01:00
Rasmus Wriedt Larsen
2b9408b0c3
Concepts: Add some architecture documentation
2022-03-17 13:49:10 +01:00
Harry Maclean
36c421346b
Introduce ConceptsShared.qll
2022-03-17 13:49:10 +01:00
Erik Krogh Kristensen
870521bd1e
Merge pull request #8473 from erik-krogh/redundantAnyCast
...
QL: expand redundant-inline-cast, and rename to redundant-cast
2022-03-17 10:41:50 +01:00
Erik Krogh Kristensen
fe94421d32
rename redundant-inline-cast to redundant-cast
2022-03-17 10:25:40 +01:00
Erik Krogh Kristensen
86398a8c65
Merge pull request #8304 from erik-krogh/xssUrl
...
JS: Refactor the XSS / Client-side-url queries
2022-03-17 09:13:09 +01:00
4B5F5F4B
d4c7314484
Delete cve-2016-6480.ql
...
commit by mistake
2022-03-17 09:49:28 +08:00
Erik Krogh Kristensen
aa8b7c8679
update reference to deprecated class name
2022-03-16 22:32:54 +01:00
Erik Krogh Kristensen
6cdc38748c
update expected output
2022-03-16 22:32:09 +01:00
Erik Krogh Kristensen
d8a5947a08
simplify TaintedUrlSuffix::source() to only consider window.location based sources
2022-03-16 22:32:09 +01:00
Erik Krogh Kristensen
b3de5d94a6
move PrefixStringSanitizer to the Query.qll file, and have it extend LabeledSanitizerGuardNode
2022-03-16 22:32:09 +01:00
Erik Krogh Kristensen
562dce57e8
rename isXSSSink to isXssSink
2022-03-16 22:32:09 +01:00
Erik Krogh Kristensen
f083e87fa1
refactor the js/xss query to use three flowlabels and one configuration
2022-03-16 22:32:08 +01:00
Erik Krogh Kristensen
87842bb8b7
add client-side-url sinks that may execute JavaScript as XSS sinks
2022-03-16 22:32:08 +01:00
Erik Krogh Kristensen
b471fec149
split interpretsArgumentsAsURL out of interpretsArgumentsAsHTML, and use it to generalize AttributeUrlSink
2022-03-16 22:32:08 +01:00
Erik Krogh Kristensen
2576e1f655
add utility predicate to get client-side remote-flow-sources that contain a URL query/fragment
2022-03-16 22:32:08 +01:00
Erik Krogh Kristensen
67e6a4c716
add a isXSSSink predicate to the client-side-url-redirection sinks
2022-03-16 22:32:08 +01:00
Erik Krogh Kristensen
fc79242674
add tests
2022-03-16 22:32:08 +01:00
Erik Krogh Kristensen
559f03ebbc
remove unnecessary module qualifier
2022-03-16 22:32:07 +01:00
Erik Krogh Kristensen
2d9d383c55
remove unused import
2022-03-16 22:32:07 +01:00
Arthur Baars
1a51f0cf56
Ruby: regex: fix getGroupNumber
...
non-capture groups should not have a group number
2022-03-16 18:50:51 +01:00
Dave Bartolomeo
606e015afb
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeAnalysis.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-16 13:07:35 -04:00
Dave Bartolomeo
e275ab3951
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeAnalysisSpecific.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-16 13:07:15 -04:00
Dave Bartolomeo
6adc11b10e
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeAnalysisSpecific.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-16 13:07:08 -04:00
Dave Bartolomeo
b36281dd8c
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeAnalysisSpecific.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-16 13:07:02 -04:00
Dave Bartolomeo
db4963ada0
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeAnalysisSpecific.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-16 13:06:54 -04:00
Michael Nebel
4a68b74aa3
C#: Re-use the asPartialModel for DataFlowPrivate in tests.
2022-03-16 17:02:00 +01:00
Michael Nebel
115cef2484
C#: Move asPartialModel into DataFlowPrivate (to enable re-use).
2022-03-16 16:44:24 +01:00
Arthur Baars
f95e1efb67
Ruby: remove wrong clause
2022-03-16 16:25:42 +01:00
Arthur Baars
fb8cc6e1a4
Ruby: String.index method returns 'nil', not '-1'
2022-03-16 16:18:19 +01:00
Michael Nebel
138eb485c6
C#: Address review comments.
2022-03-16 16:00:48 +01:00
Jeroen Ketema
7a9a9d833a
Merge pull request #8435 from jketema/all-the-barriers
...
Add flow state versions of isBarrierIn, isBarrierOut, and isBarrierGuard
2022-03-16 15:50:19 +01:00
Michael Nebel
68f24cda0b
Merge pull request #8462 from michaelnebel/csharp/capture-models-fix-bad-join-order
...
C#: Fix bad join order in returnNodeAsOutput.
2022-03-16 15:46:17 +01:00
Dave Bartolomeo
571c034549
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeAnalysisSpecific.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-16 10:14:45 -04:00
Asger Feldthaus
e1976da7f9
JS: Autoformat
2022-03-16 15:01:17 +01:00
Arthur Baars
f2ec5132ba
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-03-16 14:46:34 +01:00
Dave Bartolomeo
e669ffa22e
Merge pull request #8320 from jketema/structured-binding-array
...
C++: Handle initialization of structured bindings via bitwise copy in extractor
2022-03-16 09:41:31 -04:00
Ian Lynagh
565f607096
Java: Add a changenote for ErrorExpr/ErrorStmt
2022-03-16 13:20:33 +00:00
Asger F
228570129e
Merge branch 'main' into ruby/mad-prototype
2022-03-16 13:50:31 +01:00
Asger Feldthaus
e168da4c5f
Shared: make a predicate private
2022-03-16 13:48:56 +01:00
Michael Nebel
5f7b5ec5df
C#: Fix bad join order in returnNodeAsOutput.
2022-03-16 13:44:11 +01:00
Asger Feldthaus
8cef512234
Ruby: ensure ApiGraphs.qll imports its entry points
2022-03-16 13:40:14 +01:00
Asger Feldthaus
e3fbaf5d8f
Shared: prefer exists(var) instead of var = any(string s)
2022-03-16 13:37:08 +01:00
Asger Feldthaus
102540072e
Shared: remove documentation prone to falling out of date
2022-03-16 13:32:55 +01:00
Nick Rolfe
f6681f30c6
Merge pull request #8399 from github/nickrolfe/simple_symbol_constant_value
...
Ruby: implement getComponent(n) for simple and hash-key symbols
2022-03-16 12:10:39 +00:00
Asger Feldthaus
2ca45ef9f9
Ruby: support BlockArgument in identifying access path
2022-03-16 12:51:14 +01:00
Nick Rolfe
94ce578ea4
Ruby: implement getComponent(n) for simple and hash-key symbols
2022-03-16 11:43:46 +00:00
Asger Feldthaus
c9355095e3
Ruby: Use Receiver instead of Argument[-1] in ActiveStorage
2022-03-16 12:37:21 +01:00
Asger Feldthaus
71f195d1e0
Ruby: add test for Receiver in summary
2022-03-16 12:37:21 +01:00
Arthur Baars
6b323eeda8
Update expected output
2022-03-16 12:34:03 +01:00
Arthur Baars
ab93b3784b
Merge remote-tracking branch 'upstream/main' into incomplete-hostname
2022-03-16 12:31:12 +01:00
Arthur Baars
852f05bfb7
Address comment
2022-03-16 12:26:39 +01:00
Nick Rolfe
76918238f0
Ruby: test ExprCfgNode::getConstantValue()
2022-03-16 11:21:57 +00:00
Geoffrey White
95a63a69a5
Merge branch 'main' into cwe497b
2022-03-16 11:09:46 +00:00
Asger Feldthaus
f140c13261
JS: Sync ApiGraphModels.qll and update accordingly
2022-03-16 12:04:41 +01:00
Asger Feldthaus
2b02a173c1
Ruby: canonicalize callables based on package;type;path instead of input;output;kind
2022-03-16 12:04:41 +01:00
Asger Feldthaus
d8b4bc81ff
JS: Rename EntryPoint.getNode -> getANode
2022-03-16 12:04:39 +01:00
Erik Krogh Kristensen
f53df255b9
Merge pull request #8459 from erik-krogh/addSeverities
...
JS: add missing @security-severity to JS queries
2022-03-16 12:03:19 +01:00
Nick Rolfe
82ef2a12f6
Merge pull request #8164 from github/nickrolfe/escape_sequences
...
Ruby: interpret string escape sequences in getConstantValue()
2022-03-16 10:45:39 +00:00
Chris Smowton
b11340c829
Change note tense and detail level
2022-03-16 10:34:25 +00:00
Nick Rolfe
1a850028e7
Ruby: update date in changenote filename
2022-03-16 10:32:43 +00:00
Erik Krogh Kristensen
cd9d61c1fc
Merge pull request #8450 from erik-krogh/importAs
...
disallow lowercase import-as aliases
2022-03-16 11:32:37 +01:00
Jeroen Ketema
37293141ee
Merge pull request #8428 from jketema/noreturn
...
C++: Handle C11 _Noreturn in DefaultOptions
2022-03-16 11:23:23 +01:00
Rasmus Wriedt Larsen
ae1ba11d57
Merge branch 'main' into orm
2022-03-16 11:23:14 +01:00
Paul1nh0
85b22647ac
Add query for double-fetch vulnerability
2022-03-16 18:16:49 +08:00
4B5F5F4B
2a29c201ff
Merge branch 'github:main' into main
2022-03-16 18:06:16 +08:00
Asger Feldthaus
33ca55770c
Ruby: EntryPoint.getNode -> getANode
2022-03-16 11:02:26 +01:00
Asger Feldthaus
ecf7073bf1
Shared: codeql -> ql in code blocks
2022-03-16 11:00:24 +01:00
Rasmus Wriedt Larsen
f1e6271d20
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-03-16 10:53:19 +01:00
4B5F5F4B
baf1c8d76b
Create cve-2016-6480.ql
2022-03-16 17:49:05 +08:00
Rasmus Wriedt Larsen
461e2f3663
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-03-16 10:43:20 +01:00
Michael Nebel
8b16c1f585
C#: Add some test cases for inheritance.
2022-03-16 10:40:49 +01:00
Erik Krogh Kristensen
d47b0a68e7
exclude tests from ql/missing-security-metadata
2022-03-16 10:40:45 +01:00
Erik Krogh Kristensen
2442beaf9a
add missing severities to JS queries
2022-03-16 10:40:34 +01:00
Michael Nebel
e69ea8f577
C#: Add some testcases for generics.
2022-03-16 10:20:55 +01:00
Michael Nebel
814947b876
C#: Add some test cases for methods that are not properly exposed and will this not get their summary captured.
2022-03-16 09:47:14 +01:00
Michael Nebel
a555e04b55
C#: Bulk array flow.
2022-03-16 09:30:15 +01:00
Michael Nebel
226a874a74
C#: Test cases for IEnumerable.
2022-03-16 09:22:18 +01:00
Michael Nebel
ec6dab89d8
C#: Update the Summary model generator with better support for IEnumerable typed parameters.
2022-03-16 09:21:02 +01:00
Jeroen Ketema
d51cbe2525
C++: Update IR tests for handling of bitwise copy with explicit source
2022-03-15 23:22:37 +01:00
Jeroen Ketema
8be02b164c
C++: Add IR tests exposing incorrect translation due to unhandled bitwise copy
...
These tests are in addition to exisiting tests involving default copy
constructors, which suffer from the same problem, i.e., the extractor not
handling bitwise copies.
2022-03-15 23:22:37 +01:00
Jeroen Ketema
2894bb0933
C++: Use correct change note file name format
2022-03-15 23:21:14 +01:00
Jeroen Ketema
638b2cac04
C++: Add change note on _Noreturn/noreturn in C11
2022-03-15 23:21:14 +01:00
Jeroen Ketema
1a1c34e1be
C++: Handle C11 _Noreturn in DefaultOptions
2022-03-15 23:21:14 +01:00
Geoffrey White
92d748e006
C++: Fix ODR/dbcheck issue in test.
2022-03-15 20:00:19 +00:00
Dave Bartolomeo
7359e3253d
Fix reference to deprecated predicate
2022-03-15 15:59:35 -04:00
Dave Bartolomeo
62553ab089
Merge remote-tracking branch 'upstream/main' into semantic-scratch
2022-03-15 15:53:50 -04:00
Erik Krogh Kristensen
b45f56ac08
Merge pull request #8431 from erik-krogh/deadCode
...
Delete dead code
2022-03-15 20:09:06 +01:00
Dave Bartolomeo
f22c91b762
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/analysis/RangeUtils.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-15 15:01:32 -04:00
Dave Bartolomeo
c8a0a86354
Fix Code Scanning warning
2022-03-15 14:53:43 -04:00
Dave Bartolomeo
7623b3d04d
Update cpp/ql/lib/experimental/semmle/code/cpp/semantic/SemanticType.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-03-15 14:49:20 -04:00
Dave Bartolomeo
ea9a5b782c
Don't bother hiding toString() and getLocation()
2022-03-15 14:47:26 -04:00
Ian Lynagh
2116e6d120
Java: Add ErrorExpr, ErrorStmt
2022-03-15 17:30:19 +00:00
Jonathan Leitschuh
09cc8ee09e
Add tests for StandardSystemProperty
2022-03-15 12:37:42 -04:00
Mathias Vorreiter Pedersen
57922f56ee
Merge pull request #8424 from ihsinme/ihsinme-patch-fix077
...
Detection reduction on request
2022-03-15 16:17:47 +00:00
Mathias Vorreiter Pedersen
05758181bb
Merge pull request #7884 from rdmarsh2/rdmarsh2/template-implicit-copy-constructor
...
C++: fix hasImplicitCopyConstructor for templates
2022-03-15 15:32:05 +00:00
Anna Railton
a08246a2a7
Merge pull request #8448 from github/annarailton-patch-1
...
Add docstring to `ExtractEndpointMapping.ql`
2022-03-15 14:54:45 +00:00
Geoffrey White
46f3f28a11
C++: Fix broken merge.
2022-03-15 14:53:25 +00:00
Michael Nebel
4f2678fc72
C#: Add some testcases for model generation of methods using Lists.
2022-03-15 15:44:06 +01:00
Michael Nebel
a9bbe6889b
C#: Use CollectionType instead of ArrayType when generating models.
2022-03-15 15:41:46 +01:00
Erik Krogh Kristensen
b0fc958b32
simplify imports
...
Co-authored-by: Henry Mercer <henry.mercer@me.com >
2022-03-15 15:10:04 +01:00
Erik Krogh Kristensen
57db7633c8
C#: make csharp import private
2022-03-15 14:59:06 +01:00
Erik Krogh Kristensen
89af50f6d5
rename all lower-case import-as statements
2022-03-15 14:40:38 +01:00
Erik Krogh Kristensen
54582438a1
QL: recognize the names defined by import as statements
2022-03-15 14:29:33 +01:00
Geoffrey White
71e0da738d
Merge branch 'main' into cwe497b
2022-03-15 13:29:32 +00:00
Anna Railton
739d94e8f9
Add docstring to ExtractEndpointMapping.ql
2022-03-15 12:50:51 +00:00
Erik Krogh Kristensen
3067231b1a
Merge pull request #8253 from erik-krogh/domWrite
...
JS: merge hasDominatingWrite and hasDominatingAssignment
2022-03-15 13:37:00 +01:00
Erik Krogh Kristensen
154d0171d3
Merge pull request #8438 from erik-krogh/apiDisable
...
JS: add some API-nodes to js/disabling-certificate-validation
2022-03-15 12:56:59 +01:00
Chris Smowton
451661dd20
Improve guard class names
2022-03-15 11:46:54 +00:00
Mathias Vorreiter Pedersen
9f014be7c7
Merge pull request #8447 from MathiasVP/add-missing-security-severity
...
C++: Add missing `security-severity` tags
2022-03-15 11:29:28 +00:00
Geoffrey White
28315df405
Merge branch 'main' into cwe497b
2022-03-15 11:23:00 +00:00
Joe Farebrother
8acd8ea01f
Merge pull request #8446 from joefarebrother/sensitive-logging
...
Java: Add security severity to sensitive logging query
2022-03-15 11:17:46 +00:00
Jeroen Ketema
157a36bc4f
Use node variable in all disjuncts
2022-03-15 11:55:35 +01:00
Jeroen Ketema
9a0e94f389
Add flow state versions of isBarrierIn, isBarrierOut, and isBarrierGuard
2022-03-15 11:55:34 +01:00
Mathias Vorreiter Pedersen
7337ebd569
C++: Add missing 'security-severity' tags.
2022-03-15 10:54:36 +00:00
Mathias Vorreiter Pedersen
9642e59349
Merge pull request #8382 from MathiasVP/use-taint-configuration-in-three-more-queries
...
C++: Use a `TaintTracking::Configuration` in three more queries
2022-03-15 10:43:05 +00:00
Joe Farebrother
e4a16cc700
Add security severity
2022-03-15 10:42:41 +00:00
Tony Torralba
6d5414281e
Merge pull request #8437 from atorralba/atorralba/missing-security-severity-query
...
Added MissingSecurityMetadata query
2022-03-15 11:42:41 +01:00
Dave Bartolomeo
72725875a5
Undo debugging changes
2022-03-15 06:05:33 -04:00
Henry Mercer
f38b498eed
Merge pull request #8433 from github/henrymercer/js-atm-remove-isEffectiveSinkWithOverridingScore
...
JS: Remove `isEffectiveSinkWithOverridingScore` from ML-powered libraries
2022-03-15 10:04:30 +00:00
Dave Bartolomeo
c9fbf83c1c
Working range analysis for C++
2022-03-15 06:02:54 -04:00
Tony Torralba
6f484d3d64
Merge pull request #8440 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-03-15 10:58:27 +01:00
Asger Feldthaus
d628dc0b52
Ruby: sync ApiGraphModels.qll
2022-03-15 10:52:41 +01:00
Asger Feldthaus
82750638c6
JS: Verify models even if package is not used in database
2022-03-15 10:51:44 +01:00
Tony Torralba
fd4c9fd543
Cover a missing @tag security when @security-severity is used
2022-03-15 10:39:42 +01:00
Asger Feldthaus
a19f06ffc0
JS: Port checks to JS
2022-03-15 10:35:49 +01:00
Asger Feldthaus
7f8205684e
Ruby: verify tokens in identifying access path
2022-03-15 10:25:59 +01:00
Tony Torralba
82b2fd2d23
Exclude queries without precision
2022-03-15 10:22:10 +01:00
Dave Bartolomeo
f53a66b52a
Add working sign and modulus analysis
2022-03-15 05:16:23 -04:00
Mathias Vorreiter Pedersen
7e0e7d5004
Merge branch 'main' into use-taint-configuration-in-three-more-queries
2022-03-15 09:06:55 +00:00
Asger Feldthaus
97ca1155c3
JS: Sync ApiGraphModels.qll and test
2022-03-15 09:29:34 +01:00
Asger Feldthaus
65249dabd3
Ruby: add warning for wrong number of columns in CSV row
2022-03-15 09:28:21 +01:00
Erik Krogh Kristensen
c7509c4dd3
Merge branch 'main' into deadCode
2022-03-15 09:19:14 +01:00
Tony Torralba
18165cbb46
Exclude examples folder
2022-03-15 09:14:11 +01:00
Michael Nebel
ba67ea0445
C#: Fix performance issue with UselessNullCoalescingExpression query.
2022-03-15 09:09:45 +01:00
Jonas Jensen
d89c52f4b0
Merge pull request #8403 from erik-krogh/noUpper
...
Rename all upper-case variables, and all lower-case modules
2022-03-15 09:00:37 +01:00
Asger Feldthaus
f28acbf3dc
Ruby: autoformat
2022-03-15 08:15:18 +01:00
github-actions[bot]
b10adfc8da
Add changed framework coverage reports
2022-03-15 00:13:15 +00:00
Arthur Baars
3311fedda7
Merge pull request #8365 from aibaars/qldoc-test
...
CI: add QLdoc test
2022-03-14 23:36:01 +01:00
Robert Marsh
143b79c0cc
C++/WIP: Generate IR for global variables
2022-03-14 17:12:30 -04:00
Robert Marsh
bf21a471ed
C++: add some global variables to IR tests
2022-03-14 17:11:36 -04:00
Erik Krogh Kristensen
195ce9c58a
add some API-nodes to js/disabling-certificate-validation
2022-03-14 21:33:13 +01:00
Arthur Baars
6a74e761c8
Merge pull request #8398 from github/post-release-prep/codeql-cli-2.8.3
...
Post-release preparation for codeql-cli-2.8.3
2022-03-14 21:05:09 +01:00
Geoffrey White
73710e9edb
C++: Fix QLDoc.
2022-03-14 19:11:43 +00:00
Tom Hvitved
d3d20c69dd
Merge pull request #8425 from hvitved/csharp/structural-comparision-fix
...
C#: Avoid combinatorial explosion in structural comparison library
2022-03-14 20:10:40 +01:00
Geoffrey White
7c93eb1eaf
C++: Fix large newtype.
2022-03-14 19:06:41 +00:00
Geoffrey White
d1b04b4e07
C++: Use asDefiningArgument() where appropriate.
2022-03-14 17:53:47 +00:00
Henry Mercer
5102cadf8e
Merge pull request #8404 from github/codeql-ci/js-atm-new-release
...
JS: Bump version numbers of ML-powered packs after 0.1.0 release
2022-03-14 17:32:37 +00:00
Dave Bartolomeo
20c3cfb1a0
Squash a few sign analysis diffs due to range analysis fixes
2022-03-14 13:07:45 -04:00
Tony Torralba
03f3535188
Added MissingSecuritySeverity query
2022-03-14 17:53:08 +01:00
Asger Feldthaus
fee32d3480
Elaborate on qldoc for API::EntryPoint
2022-03-14 17:52:07 +01:00
Asger Feldthaus
be65b9bebc
Ruby: remove spurious Instance token from getExtraSuccessorFromInvoke
2022-03-14 17:39:43 +01:00
Asger Feldthaus
072ad8f4a7
Ruby: add (from model) to remote flow description
2022-03-14 17:39:17 +01:00
Asger Feldthaus
37bbd46e43
Ruby: fix broken comment
2022-03-14 17:33:57 +01:00
Asger Feldthaus
c9d7651c59
Be explicit about re-exporting
2022-03-14 17:26:30 +01:00
Nick Rolfe
488c8ef609
Ruby: accept test changes after adding more literals
2022-03-14 15:49:22 +00:00
Nick Rolfe
2a892c39ac
Ruby: add change note for getConstantValue improvements
2022-03-14 15:45:58 +00:00
Nick Rolfe
a39aed52c6
Ruby: add more tests for edge cases in parsing of integers
2022-03-14 15:45:57 +00:00
Nick Rolfe
6c5868cfb5
Ruby: use NumberUtils in parseInteger
...
And make parse{Binary,Octal,Hex}Int hold only for values in the range
0 to 2^31-1 (incl.)
2022-03-14 15:45:57 +00:00
Nick Rolfe
6bd9616c6e
Ruby: interpret string escape sequences in getConstantValue()
2022-03-14 15:45:57 +00:00
Michael Nebel
bcdbfefb2b
Merge pull request #8329 from michaelnebel/csharp/model-generator
...
C#: Capture Summary models.
2022-03-14 16:10:05 +01:00
Erik Krogh Kristensen
c93f29b1a1
fix typo in change note
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-03-14 16:03:45 +01:00
Joe Farebrother
d4b5eed3e4
Merge pull request #8410 from joefarebrother/sensitive-logging
...
Java: Promote Sensitive Logging query
2022-03-14 14:50:26 +00:00
Henry Mercer
8b1b2af2d8
JS: Remove isEffectiveSinkWithOverridingScore
...
This was previously used in the ATM external API query, but is now dead
code.
2022-03-14 14:25:36 +00:00
Erik Krogh Kristensen
8c28b93427
QL: rename query to ql/name-casing
2022-03-14 15:03:58 +01:00
Erik Krogh Kristensen
87987872c6
QL: use an/a correctly in the alert message
2022-03-14 15:03:07 +01:00
Erik Krogh Kristensen
93fcfc3012
QL: use negative char classes to generalize query to detect e.g. underscores
2022-03-14 15:00:27 +01:00
Mathias Vorreiter Pedersen
7593ebaa62
C++: Use 'getAstVariable' now that 'getASTVariable' is deprecated.
2022-03-14 13:38:27 +00:00
Chris Smowton
9f02ca0db2
Merge pull request #8357 from p0wn4j/jdbc-url-ssrf-sink
...
Java: Add JDBC connection SSRF sinks
2022-03-14 13:27:34 +00:00
Michael Nebel
432ac7a824
C#: Deprecate the StructuralComparisonConfig class.
2022-03-14 14:17:56 +01:00
Michael Nebel
5a4a97569f
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in Constants.
2022-03-14 14:17:56 +01:00
Michael Nebel
5b5ea140d2
C#: Delete the Internal StructuralComparisonConfiguration class as it is no longer needed.
2022-03-14 14:17:56 +01:00
Michael Nebel
bf4dc0034a
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in Guards.
2022-03-14 14:17:56 +01:00
Michael Nebel
90b4eb9e13
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in UnsafeLazyInitialization.
2022-03-14 14:17:56 +01:00
Michael Nebel
74b8e73133
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in MissedTernaryOpportunity.
2022-03-14 14:17:56 +01:00
Michael Nebel
94999d4df5
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in UselessIsBeforeAs.
2022-03-14 14:17:56 +01:00
Michael Nebel
8e7c7d8259
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in UselessNullCoalescingExpression.
2022-03-14 14:17:56 +01:00
Michael Nebel
4a1981edfd
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in NestedLoopsSameVariable.
2022-03-14 14:17:56 +01:00
Michael Nebel
b4f2fc60ec
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in SelfAssignment.
2022-03-14 14:17:56 +01:00
Michael Nebel
f241eef2ea
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in structuralComparison test.
2022-03-14 14:17:56 +01:00
Michael Nebel
6f5b2e8440
C#: Use Gvn comparison instead of StructuralComparisonConfiguration in UseTryGetValue.
2022-03-14 14:17:56 +01:00
Chris Smowton
ca8237b9de
Make comment into qldoc
2022-03-14 13:14:31 +00:00
Mathias Vorreiter Pedersen
50b77761f1
C++: Port the 'predictable' barrier from 'DefaultTaintTracking' to 'cpp/unclear-array-index-validation' to prevent an explosion of new results.
2022-03-14 13:14:07 +00:00
Joe Farebrother
e4b762b5c5
Improve qldoc; make taint tracking
2022-03-14 13:10:34 +00:00
Michael Nebel
21bcaf6a0e
C#/Java: After remaining code after rebase.
2022-03-14 14:08:49 +01:00
Michael Nebel
74352925e4
C#/Java: Remove inline from returnNodeEnclosingCallable.
2022-03-14 13:50:55 +01:00
Michael Nebel
48dc9d7057
C#/Java: Move containerContent to DataFlowPrivate.
2022-03-14 13:50:55 +01:00
Michael Nebel
b7803ef0b1
C#: Introduce SyntheticFieldContent in RelevantContent.
2022-03-14 13:50:55 +01:00
Michael Nebel
12ff2c6cd5
C#/Java: Improve comments in CaptureSummaryModels.
2022-03-14 13:50:55 +01:00
Michael Nebel
3ad9731e91
C#/Java: Add some more QL docs.
2022-03-14 13:50:50 +01:00
Michael Nebel
2476e716a2
C#: Move the isRelevantTaintStep and isRelevantContent into the shared utils.
2022-03-14 13:49:52 +01:00
Michael Nebel
665e3c9326
C#: Re-factor containerContent into standalone predicate in DataFlow library.
2022-03-14 13:49:51 +01:00
Michael Nebel
5d03e510d2
C#/Java: Include synthetic fields in isRelevantContent.
2022-03-14 13:49:51 +01:00
Michael Nebel
d881d31959
C#: Remove comma from QL Doc.
2022-03-14 13:49:51 +01:00
Michael Nebel
cd03af3be4
C#: Get rid of the isOwnInstanceAccess based on ReturnStmt.
2022-03-14 13:49:46 +01:00
Mathias Vorreiter Pedersen
0bf4ce7cf1
Merge pull request #8427 from MathiasVP/fix-bad-join-in-return-stack-allocated-memory
...
C++: Fix join in `cpp/return-stack-allocated-memory`
2022-03-14 12:49:30 +00:00
Michael Nebel
34a91f1aac
C#: Rename CaptureSummaryModelsQuery to CaptureSummaryModels.
2022-03-14 13:48:56 +01:00
Michael Nebel
94a840e96b
C#: Add some more testcases for flow summary generation.
2022-03-14 13:48:56 +01:00
Michael Nebel
36e0c683bd
C#: Add QL Doc to the primary predicate used for capturing flow.
2022-03-14 13:48:56 +01:00
Michael Nebel
e8aacb710e
C#: Add file level QL Doc to Capture Summary models specific implementations.
2022-03-14 13:48:56 +01:00
Michael Nebel
d114582b56
C#: Add QLDoc to the shared Capture summary models library.
2022-03-14 13:48:51 +01:00
Michael Nebel
8d2593ba0c
C#: Add expected output from running the test.
2022-03-14 13:47:24 +01:00
Michael Nebel
4d46b581c3
C#: Add some initial examples.
2022-03-14 13:47:24 +01:00
Michael Nebel
75b4632815
C#: Add test query.
2022-03-14 13:47:24 +01:00
Michael Nebel
20cbd6b332
Java/C#: Include the share files in sync files.
2022-03-14 13:47:24 +01:00
Michael Nebel
b08e696d42
C#: Add query.
2022-03-14 13:47:24 +01:00
Michael Nebel
31a374afa3
C#: Add copy of the shared CaptureSummaryModels logic.
2022-03-14 13:47:24 +01:00
Michael Nebel
e5cce6cca3
C#: Add initial implementation of specific predicates needed to capture summary models.
2022-03-14 13:47:24 +01:00
Michael Nebel
82d93d0f9e
Java: Refactor CaptureSummaryModels code to enable re-use in C#.
2022-03-14 13:47:20 +01:00
Michael Nebel
ba233ed7a1
Java: Rearrange and refactor language specific content into standalone predicates.
2022-03-14 13:46:24 +01:00
Chris Smowton
b351d5bc2f
Autoformat
2022-03-14 12:44:40 +00:00
Michael Nebel
6259ecfc12
C#: Add copy of shared functionality.
2022-03-14 13:43:51 +01:00
Michael Nebel
dadc143b60
C#: Add printer predicates for parameter and return nodes.
2022-03-14 13:43:51 +01:00
Michael Nebel
2b90b5ff62
C#: Add isRelevant predicates.
2022-03-14 13:43:51 +01:00
Michael Nebel
81c8cac77e
C#: Add partial model printer for TargetApi class.
2022-03-14 13:43:51 +01:00
Michael Nebel
9c6ed0ade3
C#: Add TargetAPI class.
2022-03-14 13:43:51 +01:00
Michael Nebel
9ca199c9ae
Java: Move generic code out of language specific file for model generation.
2022-03-14 13:43:45 +01:00
Michael Nebel
a2d9f4f6f4
Java: Introduce language specific file for model generator code.
2022-03-14 13:40:40 +01:00
Michael Nebel
a1c642685a
Java: Re-arrange code in ModelGeneratorUtils.
2022-03-14 13:35:56 +01:00
Erik Krogh Kristensen
689f3c0478
update some references to deprecated module names
2022-03-14 13:28:34 +01:00
Erik Krogh Kristensen
7c4f9f92fb
Merge pull request #8422 from erik-krogh/depMore
...
JS: Address some code that weren't affecting any query result
2022-03-14 13:24:08 +01:00
Chris Smowton
f83ea25ead
Add change note
2022-03-14 12:14:37 +00:00
Erik Krogh Kristensen
548e50c676
QL: add quick-eval predicate to detect unqueryable code
2022-03-14 13:04:22 +01:00
Erik Krogh Kristensen
2250ebc5e2
remove leftover comments
2022-03-14 13:04:22 +01:00
Erik Krogh Kristensen
3bf5e06d53
delete all dead code
2022-03-14 13:03:31 +01:00
Mathias Vorreiter Pedersen
7c411b4bad
C++: Respond to review comments
2022-03-14 11:57:28 +00:00
Erik Krogh Kristensen
27d41cba7e
QL: add ql/dead-code query
2022-03-14 12:57:02 +01:00
Chris Smowton
aada8d3af9
Merge pull request #8405 from smowton/smowton/fix/range-analysis-use-ranked-phi-nodes
...
C#/Java: Range analysis: use ranked phi nodes
2022-03-14 11:55:55 +00:00
Erik Krogh Kristensen
a4525bbb29
add change-note
2022-03-14 12:22:39 +01:00
Erik Krogh Kristensen
ad2ab5602e
PY: rename remaining private python modules
2022-03-14 12:22:33 +01:00
Mathias Vorreiter Pedersen
0da5d91955
Merge branch 'main' into use-taint-configuration-in-three-more-queries
2022-03-14 11:12:23 +00:00
Jeroen Ketema
4c2081b7fc
Merge pull request #8401 from jketema/taint-flow
...
Extend taint tracking interface with flow states
2022-03-14 12:06:10 +01:00
Mathias Vorreiter Pedersen
31b1e4079f
C++: Prevent join-on-enclosing-callable in 'cpp/return-stack-allocated-memory'.
2022-03-14 11:01:07 +00:00
Rasmus Wriedt Larsen
2f4a22c86c
Merge pull request #6112 from jorgectf/jorgectf/python/deserialization
...
Python: Port and extend XXE modeling
2022-03-14 11:59:28 +01:00
Erik Krogh Kristensen
8515a70fe6
JS: fix all ql/no-upper-case-variables
2022-03-14 11:50:48 +01:00
Erik Krogh Kristensen
02127b40cd
PY: fix all ql/no-upper-case-variables
2022-03-14 11:50:48 +01:00
Erik Krogh Kristensen
83f26eb833
rename all upper-case variables to start with a lower-case letter
2022-03-14 11:50:48 +01:00
Erik Krogh Kristensen
4f0d4ecf6e
QL: add no-uppercase-variables query
2022-03-14 11:50:48 +01:00
Erik Krogh Kristensen
7d6700a943
Merge branch 'main' into depMore
2022-03-14 11:49:18 +01:00
Erik Krogh Kristensen
c06336480c
add change note
2022-03-14 11:41:53 +01:00
Erik Krogh Kristensen
bbb2847ec1
Merge pull request #8323 from erik-krogh/acronyms
...
Enforcing consistent casing of acronyms
2022-03-14 11:38:25 +01:00
Jeroen Ketema
c832b21fbe
Add change notes for changes to the taint tracking library
2022-03-14 10:38:48 +01:00
Erik Krogh Kristensen
6d66ea4253
also deprecate the definitionReaches predicate, it was only used in a test
2022-03-14 10:14:15 +01:00
Erik Krogh Kristensen
54760081dc
add pointers to the qldoc of deprecated predicates
2022-03-14 10:10:38 +01:00
Alex Ford
6eca036b44
Ruby: Add qldoc for Cryptography module (from python version)
2022-03-14 08:57:13 +00:00
Tony Torralba
1f4f4207b5
Add missing security-severity scores
2022-03-14 09:50:14 +01:00
Tom Hvitved
06b8f74644
C#: Avoid combinatorial explosion in structural comparison library
...
In cases where the target of a call/access has multiple values (which is a DB
inconsistency), the GVN construction underlying the structural comparision library
may run into a combinatorial explosion. This change excludes such expressions from
the GVN construction.
2022-03-14 09:07:45 +01:00
ihsinme
62381d0762
Update test.cpp
2022-03-14 09:36:28 +03:00
ihsinme
de92356c88
Update InsecureTemporaryFile.expected
2022-03-14 09:35:03 +03:00
ihsinme
1db759cc4d
Update InsecureTemporaryFile.ql
2022-03-14 09:33:08 +03:00
4B5F5F4B
597603a3a6
Create cve-2017-5123.ql
...
Add query to detect CVE-2017-5123
2022-03-14 09:44:30 +08:00
4B5F5F4B
4030561eb7
Delete CVE
2022-03-14 09:43:04 +08:00
4B5F5F4B
880c12bd34
Create CVE
2022-03-14 09:42:40 +08:00
Erik Krogh Kristensen
8f86b067e7
deprecate the unused localTaintStep and stringStep predicates
2022-03-13 23:54:53 +01:00
Erik Krogh Kristensen
cc231fef4c
deprecate some unused predicate in DefUse.qll
2022-03-13 23:54:53 +01:00
Erik Krogh Kristensen
c0a63beec1
deprecate unused document predicates in DOM.qll
2022-03-13 23:54:53 +01:00
Erik Krogh Kristensen
5e52a71091
remove test .qll files that weren't imported
2022-03-13 23:54:53 +01:00
Erik Krogh Kristensen
4fc85a791d
deprecate DefiningIdentifier, it was not used in any query
2022-03-13 23:54:53 +01:00
Erik Krogh Kristensen
9cf0a94e4d
use some Sanitizer classes that were unused in the query code
2022-03-13 23:54:53 +01:00
Alex Ford
fc232ce55f
Ruby: changenote for rb/weak-cryptographic-algorithm
2022-03-13 21:25:28 +00:00
Alex Ford
94d5f3bb1f
Ruby: Add rb/weak-cryptographic-algorithm query
2022-03-13 21:25:28 +00:00
Alex Ford
40b87e6df7
Ruby: tests for rb/weak-cryptographic-algorithm
2022-03-13 21:25:24 +00:00
Alex Ford
446141ada3
Ruby: qhelp for rb/weak-cryptographic-algorithm
2022-03-13 21:25:12 +00:00
Alex Ford
4234cfeeec
Ruby: model CipherOperations for OpenSSL
2022-03-13 21:21:52 +00:00
Alex Ford
489391eb4c
Ruby: add CryptographicOperation concept
2022-03-13 21:21:52 +00:00
Dave Bartolomeo
afa3399e27
Zero diffs between Java AST and Semantic range analysis
2022-03-13 13:38:21 -04:00
Dave Bartolomeo
8b4d6a26ef
Performance improvements for semantic layer construction
2022-03-12 11:28:12 -05:00
p0wn4j
ee67d27b56
Java: Add JDBC connection SSRF sinks
2022-03-12 16:35:32 +04:00
Arthur Baars
f59f36b863
Use RUNNER_TEMP instead of runner.temp
2022-03-11 21:13:41 +01:00
Joe Farebrother
b924de631f
Add change note, minor docs improvement
2022-03-11 17:58:52 +00:00
Ahmed Farid
3c9de6f488
Update Zip.qll
2022-03-11 18:50:37 +01:00
Joe Farebrother
594d51e84d
Exclude constants
2022-03-11 17:45:42 +00:00
Joe Farebrother
06f2c03828
Add tests
2022-03-11 17:44:52 +00:00
Arthur Baars
7da0889813
Update check-qldoc.yml
2022-03-11 17:45:23 +01:00
Arthur Baars
e1f9eca272
Update check-qldoc.yml
2022-03-11 17:44:55 +01:00
Jonathan Leitschuh
50ff2c2c68
Code cleanup from code review
2022-03-11 11:44:15 -05:00
Robert Marsh
5c04516179
Merge pull request #8390 from redsun82/remove-unique-from-uuid
...
C++: Remove uniqueness constraint from uuid
2022-03-11 11:08:34 -05:00
Alex Ford
808cc9cf35
Merge pull request #8396 from alexrford/ruby/charpred-only-field
...
Ruby: resolve `ql/field-only-used-in-charpred` alerts
2022-03-11 15:48:05 +00:00
Erik Krogh Kristensen
fa37ece593
Merge pull request #8408 from erik-krogh/pathProblem
...
QL: make a query checking for `edges` relation in a path-problem query
2022-03-11 16:27:46 +01:00
Erik Krogh Kristensen
14e0d387e7
add a ql/path-problem-query query
2022-03-11 16:06:27 +01:00
Alex Ford
757aa294aa
Update ruby/ql/lib/codeql/ruby/ast/internal/Scope.qll
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-03-11 14:53:02 +00:00
Tony Torralba
c49d19eb0f
Merge pull request #8407 from smowton/smowton/admin/revert-8325
...
Java: Revert #8325 , Add CharacterLiteral to CompileTimeConstantExpr.getStringValue
2022-03-11 14:55:10 +01:00
Arthur Baars
cf4b834536
Address comments
2022-03-11 14:25:34 +01:00
Ahmed Farid
f092cd8d80
Update Zip.qll
2022-03-11 14:15:05 +01:00
Ahmed Farid
eb71cdf7a2
Update ZipSlip.ql
2022-03-11 14:13:28 +01:00
Ahmed Farid
0de1cef26e
Update ZipSlip.qll
2022-03-11 14:03:17 +01:00
Chris Smowton
58d4513d84
Change note
2022-03-11 12:51:13 +00:00
Chris Smowton
496cae7742
Revert 8325, Add CharacterLiteral to CompileTimeConstantExpr.getStringValue
...
As pointed out in 8325's thread, this breaks the corner case of char-literal addition and the convention that getStringValue only applies to String-typed constants.
2022-03-11 12:45:53 +00:00
Chris Smowton
579b57cf67
Range analysis: use ranked phi nodes
...
This borrows a technique (and the implementing code) off Modulus analysis.
2022-03-11 12:32:12 +00:00
Erik Krogh Kristensen
1e365611fc
fix all other implicit-this warnings introduced by the acronym patch
2022-03-11 13:22:07 +01:00
github-actions[bot]
7ac7657ffc
JS: Bump patch version of ML-powered library and query packs post-release
2022-03-11 12:17:13 +00:00
Erik Krogh Kristensen
2e2970128e
fix typo in change-note
2022-03-11 13:16:34 +01:00
Erik Krogh Kristensen
a5a82a0b58
JS: remove accidential copy-pasted change-note
2022-03-11 13:16:34 +01:00
Erik Krogh Kristensen
b63b675169
RB: add explicit-this
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-03-11 13:16:10 +01:00
github-actions[bot]
2f6886642c
JS: Bump minor version of ML-powered library and query packs
2022-03-11 12:13:03 +00:00
Jeroen Ketema
a8b2805aeb
Merge pull request #8246 from ihsinme/ihsinme-patch-82
...
CPP: Add query for CWE-754: Improper Check for Unusual or Exceptional Conditions when using functions scanf
2022-03-11 12:54:49 +01:00
Chris Smowton
b1a42816bd
Merge pull request #8402 from smowton/smowton/admin/revert-8360
...
Java: Revert #8360 , "Add CompileTimeConstantExpr.getStringified method"
2022-03-11 11:54:24 +00:00
Erik Krogh Kristensen
e625d17978
Merge pull request #8374 from erik-krogh/nonDocBlock
...
QL: add query detecting block comments in a position where a QLDoc should be
2022-03-11 12:24:44 +01:00
Jeroen Ketema
93a0da75b6
Fix taint tracking configurations that broke due to interface change
2022-03-11 12:18:04 +01:00
Chris Smowton
46cd85c70b
Revert #8360 , "Add CompileTimeConstantExpr.getStringified method"
2022-03-11 11:13:21 +00:00
Jeroen Ketema
cd28f09ae0
Extend taint tracking interface with flow states
2022-03-11 11:50:35 +01:00
Jeroen Ketema
80c6253a57
C++: Remove private imports unused after deprecated cleanup
2022-03-11 11:47:44 +01:00
Chris Smowton
f006cd0e37
Merge pull request #8360 from JLLeitschuh/feat/JLL/compile_time_constant_getStringified
...
[Java] Add CompileTimeConstantExpr.getStringified method
2022-03-11 10:34:52 +00:00
Erik Krogh Kristensen
4f8f7cd57d
JS: update expected output of test
2022-03-11 11:18:14 +01:00
Erik Krogh Kristensen
1a275a32f7
add change-notes
2022-03-11 11:18:14 +01:00
Erik Krogh Kristensen
c2787ee18b
RB: add missing QLDoc
2022-03-11 11:18:09 +01:00
Erik Krogh Kristensen
8f08b4ccc8
JS: add missing QLDoc
2022-03-11 11:18:01 +01:00
Erik Krogh Kristensen
25690759fd
JS: update expected test output
2022-03-11 11:17:41 +01:00
Erik Krogh Kristensen
bb32c79f0c
Java: add missing qldoc
2022-03-11 11:17:38 +01:00
Erik Krogh Kristensen
cc43a94385
Java: remove duplicated class
2022-03-11 11:10:38 +01:00
Erik Krogh Kristensen
b568bb91ef
JS: remove duplicated predicate
2022-03-11 11:10:38 +01:00
Erik Krogh Kristensen
ed54d7b74b
fixup getAPrimaryQlClass
2022-03-11 11:10:38 +01:00
Erik Krogh Kristensen
23191b1f2c
C#: rename XmlComment to XmlCommentLine to avoid naming conflict
2022-03-11 11:10:38 +01:00
Erik Krogh Kristensen
69353bb014
patch upper-case acronyms to be PascalCase
2022-03-11 11:10:33 +01:00
Erik Krogh Kristensen
e3a15792fa
QL: add query detecting upper-case acronyms
2022-03-11 11:05:45 +01:00
Erik Krogh Kristensen
122ab6e6d8
C#: fix some ql/non-doc-block warnings
2022-03-11 11:02:58 +01:00
Erik Krogh Kristensen
ddf93b555e
PY: fix some ql/non-doc-block warnings
2022-03-11 11:02:58 +01:00
Erik Krogh Kristensen
8db51b49f3
QL: fix ql/non-doc-block in QL-for-QL
2022-03-11 11:02:58 +01:00
Erik Krogh Kristensen
8483b9fd65
QL: add query detecting block comments in a position where a QLDoc should be
2022-03-11 11:02:56 +01:00
Tony Torralba
c99bad4047
Recover old change note
2022-03-11 10:35:04 +01:00
Mathias Vorreiter Pedersen
3c17d90e3b
C++: Accept test changes.
2022-03-11 09:30:44 +00:00
Mathias Vorreiter Pedersen
272e096190
Merge branch 'main' into use-taint-configuration-in-three-more-queries
2022-03-11 09:24:03 +00:00
github-actions[bot]
3a5ebbb861
Post-release preparation for codeql-cli-2.8.3
2022-03-11 09:23:34 +00:00
Erik Krogh Kristensen
df9533f46e
Merge pull request #8347 from erik-krogh/depBeGone
...
remove all deprecations that are over a year old
2022-03-11 10:01:07 +01:00
Jonathan Leitschuh
1c9864286d
Remove SystemProperty from FlowSources
2022-03-10 18:29:29 -05:00
Robert Marsh
1e2cc4fca8
C++: change note for template implicit copy ops
2022-03-10 15:26:24 -05:00
Erik Krogh Kristensen
d316ad198e
Merge pull request #8380 from erik-krogh/chainedCalls
...
JS: support that the base is not a method-call in getAChainedMethodCall
2022-03-10 21:13:42 +01:00
Alex Ford
305a51754c
Run python config/sync-files.py
2022-03-10 18:34:16 +00:00
Alex Ford
506989ff91
Ruby: simplify some charpreds
2022-03-10 18:27:43 +00:00
Alex Ford
25416babe0
Ruby: resolve ql/field-only-used-in-charpred alerts
2022-03-10 18:27:43 +00:00
Alex Ford
0f0a51e2e0
Ruby: update test output
2022-03-10 18:27:06 +00:00
ihsinme
ac8adeabf5
Update ImproperCheckReturnValueScanf.expected
2022-03-10 21:12:23 +03:00
ihsinme
623f3fbe21
Update test.cpp
2022-03-10 21:10:41 +03:00
Erik Krogh Kristensen
9466043169
CPP: remove remaining ObjectiveC references
2022-03-10 19:00:49 +01:00
Alex Ford
2b25765156
Format QL
2022-03-10 17:55:42 +00:00
Alex Ford
43fb759dfa
Ruby: add a few more rb/clear-text-storage-sensitive-data test cases
2022-03-10 17:52:50 +00:00
Alex Ford
37c0702cdd
Ruby: update test output
2022-03-10 17:50:29 +00:00
Alex Ford
0b73088ed4
Ruby: link to sink in rb/clear-text-storage-sensitive-data message
2022-03-10 17:38:52 +00:00
Alex Ford
0f3cf47ca9
Ruby/JS/Py: Add "random" to the notSensitiveRegexp() heuristic
2022-03-10 17:38:52 +00:00
Alex Ford
532fc080a1
Ruby: Fix inconsistencies in checking for sensitive names in CleartextSources
2022-03-10 17:38:52 +00:00
Alex Ford
8be1be388e
Ruby: update CleartextStorage test output for source locations
2022-03-10 17:38:52 +00:00
Alex Ford
fda2b56e20
Ruby: move rb/clear-text-storage-sensitive-data location from sink to source
2022-03-10 17:38:52 +00:00
Alex Ford
4618000567
Ruby: move an import into CleartextStorage.ql
2022-03-10 17:38:52 +00:00
Alex Ford
853fbe8911
Ruby: Fix CleartextStorageCustomizations to use PersistentWriteAccess
2022-03-10 17:38:52 +00:00
Alex Ford
a1a7c31661
Ruby: drop an outdated TODO
2022-03-10 17:38:52 +00:00
Alex Ford
9fe7d6e143
Ruby: fix typo
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-03-10 17:38:52 +00:00
Alex Ford
0e2709f809
Ruby: changenote for rb/clear-text-storage-sensitive-data
2022-03-10 17:38:52 +00:00
Alex Ford
ef29a372a4
Ruby: Cleartext storage tests
2022-03-10 17:38:52 +00:00
Alex Ford
0070e30377
Ruby: Add rb/clear-text-storage-sensitive-data query
2022-03-10 17:38:52 +00:00
Alex Ford
7084718b07
Ruby: factor out common parts of CleartextLoggingCustomizations into CleartextSources
2022-03-10 17:38:52 +00:00
Alex Ford
19c7f7be46
Merge pull request #8271 from github/alexrford/ruby/orm-write-access
...
Ruby: Add `OrmWriteAccess` concept to model writes to a DB using an ORM
2022-03-10 17:35:02 +00:00
Jonathan Leitschuh
ecb8911756
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-03-10 11:48:16 -05:00
ihsinme
a094e6f63b
Update test.cpp
2022-03-10 17:56:34 +03:00
ihsinme
fa3ce61369
Update test.cpp
2022-03-10 17:54:03 +03:00
Tom Hvitved
d4808a7b4a
Merge pull request #8389 from hvitved/ruby/regex-unique-get-value
...
Ruby: Avoid multiple `RegExpEscape::getValue` results
2022-03-10 15:53:28 +01:00
Joe Farebrother
4bf6c10896
Split configs into Query.qll library
2022-03-10 13:23:40 +00:00
Erik Krogh Kristensen
41778328c2
Update javascript/ql/lib/semmle/javascript/dataflow/Sources.qll
...
Co-authored-by: Stephan Brandauer <kaeluka@github.com >
2022-03-10 14:16:28 +01:00
Taus
4ee4bba4d1
Merge branch 'main' into ZipSlip
2022-03-10 13:30:51 +01:00
Mathias Vorreiter Pedersen
bff10e8ea1
C++: Add change note.
2022-03-10 10:59:04 +00:00
Mathias Vorreiter Pedersen
0d3e47bcae
C++: Pick the offset expression as the sink in 'cpp/unclear-array-index-validation' (and not the array expression).
2022-03-10 10:57:51 +00:00
Mathias Vorreiter Pedersen
5de2e24e9a
Merge pull request #8358 from geoffw0/cwe497c
...
C++: Upgrade cpp/system-data-exposure to high precision
2022-03-10 10:49:19 +00:00
Erik Krogh Kristensen
c2743177af
JS: delete the TrackedNodes.qll, it had no public interface left
2022-03-10 11:34:17 +01:00
Mathias Vorreiter Pedersen
693eca2179
C++: Give 'cpp/unclear-array-index-validation' precision low.
2022-03-10 10:17:08 +00:00
Chris Smowton
3113b27606
Fix style
2022-03-10 10:03:14 +00:00
Paolo Tranquilli
34829e92b1
C++: Remove uniqueness constraint from uuid
...
Different class definitions can have the same uuid. This happens for
example when using `#import <msxml6.dll>` there will be several C++
classes generated in `msxml6.tlh` which will share uuids with
`extern "C"` struct declarations in the system header `msxml.h`.
Notice that as far as the standard cpp QL library and queries go, we
expose `getUuid()` on `UserType` and we never try to invert it, so we
only rely on uniqueness of the `id` column in the `usertype_uuid` table,
not the `uuid` column.
Closes github/codeql-c-team#893
2022-03-10 10:33:37 +01:00
Tom Hvitved
76663f80f0
Ruby: Avoid multiple RegExpEscape::getValue results
2022-03-10 10:32:24 +01:00
Tom Hvitved
0d71f0ab40
Ruby: Add regex unicode test
2022-03-10 10:30:17 +01:00
Erik Krogh Kristensen
fa766126e5
CPP: remove import of deleted deprecation
2022-03-10 10:25:03 +01:00
Erik Krogh Kristensen
a96223c9c1
PY: remove leftover comments
2022-03-10 10:25:03 +01:00
Erik Krogh Kristensen
e6b0552114
JS: delete leftover comment
2022-03-10 10:25:02 +01:00
Erik Krogh Kristensen
53d557c037
CPP: delete file that that had been deprecated for over a year
2022-03-10 10:24:57 +01:00
Geoffrey White
9e3156dd1c
Merge branch 'main' into cwe497c
2022-03-10 09:05:58 +00:00
Erik Krogh Kristensen
b9b65005d6
C#: delete leftover comment
2022-03-10 10:02:36 +01:00
ihsinme
4b451cfee6
Update ImproperCheckReturnValueScanf.expected
2022-03-10 10:13:04 +03:00
ihsinme
5e23615be7
Update test.cpp
2022-03-10 10:12:29 +03:00
Alex Ford
edf8a3f810
Ruby: update test output
2022-03-10 00:17:29 +00:00
Alex Ford
ace60df619
Ruby: add missing qldoc
2022-03-10 00:00:02 +00:00
Dave Bartolomeo
00ae5de780
Make semantic modulus analysismatch Java results
2022-03-09 18:06:43 -05:00
Alex Ford
8abee165a5
Ruby: test cases for PersistentWriteAccess in rails model class
2022-03-09 22:35:40 +00:00
Alex Ford
a040b67434
Ruby: drop some redundant extends classes
2022-03-09 19:13:58 +00:00
Alex Ford
d85424d0e0
Ruby: Drop ActiveRecord::Persistence.ModifyAndSaveCall
2022-03-09 19:10:53 +00:00
Alex Ford
19c413d5fb
Ruby: Drop setsKeyValuePair/2 predicate from ActiveRecord::Persistence.ModifyAndSaveCall
2022-03-09 19:09:18 +00:00
Alex Ford
ee433637f8
Ruby: replace OrmWriteAccess with PersistentWriteAccess concept
2022-03-09 18:59:16 +00:00
Erik Krogh Kristensen
34c7bcadde
CPP: delete LocalScopeVariableReachability.qll
2022-03-09 18:28:13 +01:00
Erik Krogh Kristensen
9c4fcf4c6d
fix typo in change-note
...
Co-authored-by: Stephan Brandauer <kaeluka@github.com >
2022-03-09 18:28:13 +01:00
Erik Krogh Kristensen
b45d06df9a
PY: remove leftover comment
2022-03-09 18:28:13 +01:00
Erik Krogh Kristensen
755b0bbcb9
PY: update tests to not use deleted deprecations
2022-03-09 18:28:13 +01:00
Erik Krogh Kristensen
61e282da84
PY: delete test that mostly used deleted deprecated features
2022-03-09 18:28:13 +01:00
Erik Krogh Kristensen
6a28ddd9ec
JS: un-deprecate deleted deprecated class that defined taint-steps
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
e140548547
C++: reintroduce deprecated predicates that affect an internal test
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
309e376c6d
PY: convert test to not use deleted deprecations
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
59db0e7a0f
JS: delete unused predicate
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
c48a5a1294
JS: update tests to not use deleted deprecations
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
9e46239928
CPP: remove 13 month old deprecation that override an even older deprecation
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
417def8c8b
only mark deprecations as old after 14 months
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
d5a76e8c98
Python: delete test that only used deprecated classes
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
91af2f14b1
CPP: update expected output after deleting deprecated things
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
a1769f8036
Python: add default implementation of getName() and deprecate it
2022-03-09 18:28:12 +01:00
Erik Krogh Kristensen
e721094182
Python: remove old deprecation that was recently updated by an automated patch of mine
2022-03-09 18:28:11 +01:00
Erik Krogh Kristensen
b8d632810e
Python: remove deprecation that were recently updated from an automated patch of mine
2022-03-09 18:28:11 +01:00
Erik Krogh Kristensen
5312e4a8b5
add change note that all old deprecations were deleted
2022-03-09 18:28:11 +01:00
Erik Krogh Kristensen
f924d69dbd
Java: remove deprecations that were recently updated from an automated patch of mine
2022-03-09 18:28:11 +01:00
Erik Krogh Kristensen
6dd3f7f113
CPP: remove old deprecated predicate that was recently updated by an automated patch of mine
2022-03-09 18:28:11 +01:00
Erik Krogh Kristensen
1e445856e7
CPP: remove leftover line comment
2022-03-09 18:28:11 +01:00
Erik Krogh Kristensen
a86f0afb3c
delete all deprecations that are over 14 months old
2022-03-09 18:28:07 +01:00
Erik Krogh Kristensen
ef07aaa998
add script for detecting deprecations that are over a year old
2022-03-09 18:25:07 +01:00
Jonathan Leitschuh
2a6c4e9350
Add localFlowPlusInitializers
2022-03-09 11:06:26 -05:00
Jonathan Leitschuh
363fff2358
Cleanup from code review feedback
2022-03-09 10:48:06 -05:00
Jonathan Leitschuh
65457cc2e2
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-03-09 10:25:05 -05:00
Mathias Vorreiter Pedersen
f2676968f0
C++: Actally convert 'cpp/overflow-destination' to a path-problem query.
2022-03-09 13:49:52 +00:00
Mathias Vorreiter Pedersen
8a8fb692a3
C++: Use a 'TaintTracking::Configuration' for 'cpp/uncontrolled-allocation-size'.
2022-03-09 12:09:32 +00:00
Mathias Vorreiter Pedersen
2328898b19
C++: Use a 'TaintTracking::Configuration' for 'cpp/unclear-array-index-validation'.
2022-03-09 12:09:27 +00:00
Mathias Vorreiter Pedersen
d7652f9742
C++: Use a 'TaintTracking::Configuration' for 'cpp/overflow-destination'.
2022-03-09 12:07:25 +00:00
Arthur Baars
747c7f6b5e
JS/Ruby: share implementation of IncompleteUrlSubstringSanitization query
2022-03-09 12:11:14 +01:00
Erik Krogh Kristensen
cebd24156c
support that the base is not a method-call in getAChainedMethodCall
2022-03-09 11:12:04 +01:00
Rasmus Wriedt Larsen
0e9da4aadb
Python: Resolve name conflict over XML module
...
Not the prettiest solution... but it works ¯\_(ツ)_/¯
2022-03-09 11:02:28 +01:00
Dave Bartolomeo
ec3e643120
Remove direct dependencies on import java
2022-03-09 00:06:17 -05:00
Ahmed Farid
475cca0d7e
Update ZipSlip.qll
2022-03-09 00:00:52 +01:00
Ahmed Farid
27b9d6c752
Update ZipSlip.qll
2022-03-08 23:59:03 +01:00
Ahmed Farid
23bd53a325
Update zipslip_good.py
2022-03-08 23:55:17 +01:00
Dave Bartolomeo
09a5fded1c
Clean up SemanticCFG
2022-03-08 17:36:13 -05:00
Dave Bartolomeo
04fae43734
Minimize language-specific code for sign analysis
2022-03-08 17:13:06 -05:00
Geoffrey White
9ebdb2ac1d
C++: QLDoc.
2022-03-08 16:12:58 +00:00
Arthur Baars
6aacc75a49
CI: add QLdoc test
2022-03-08 12:07:20 +01:00
Rasmus Wriedt Larsen
6b14c1d6b9
Merge branch 'main' into jorgectf/python/deserialization
2022-03-08 11:15:03 +01:00
ihsinme
8335778e20
Update ImproperCheckReturnValueScanf.qhelp
2022-03-08 07:45:07 +03:00
ihsinme
c0c7748c5e
Apply suggestions from code review
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-03-08 07:42:35 +03:00
Jonathan Leitschuh
2e8b5f743b
[Java] Add CompileTimeConstantExpr.getStringified method
...
Removes CharacterLiteral from CompileTimeConstantExpr.getStringValue
Resolves:
- https://github.com/github/codeql/pull/8325#issuecomment-1060470279
- https://github.com/github/codeql/pull/8325#issuecomment-1060587205
2022-03-07 20:11:38 -05:00
Jonathan Leitschuh
a21992ade9
Minor refactoring to improve tests and documentation
2022-03-07 18:40:53 -05:00
Jonathan Leitschuh
5b651f29d8
Fix insufficient tests and add documentation
2022-03-07 16:39:40 -05:00
Geoffrey White
c793699562
C++: Change note.
2022-03-07 17:41:00 +00:00
Geoffrey White
fc6f42296a
C++: Upgrade cpp/system-data-exposure.
2022-03-07 17:39:04 +00:00
Arthur Baars
49b4fe77ad
Add missing QLdoc
2022-03-07 17:59:06 +01:00
Jonathan Leitschuh
b282c7f1b9
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
Co-authored-by: Chris Smowton <smowton@github.com >
2022-03-07 11:31:32 -05:00
Arthur Baars
a1873cc803
Ruby: IncompleteUrlSubstringSanitization.ql
2022-03-07 16:17:32 +01:00
Arthur Baars
c9fa1fb5bb
Ruby: copy JS version of IncompleteUrlSubstringSanitization.ql
2022-03-07 16:17:08 +01:00
Arthur Baars
ce50f35dda
Python: switch to shared implementation of IncompleteHostnameRegExp.ql
2022-03-07 16:10:08 +01:00
Arthur Baars
bb348116ab
JavaScript: update expected output
2022-03-07 16:10:08 +01:00
Arthur Baars
98f56f4d60
Js/Ruby: Share IncompleteHostnameRegExp.ql
2022-03-07 16:10:08 +01:00
Arthur Baars
097c661362
Ruby: drop results that cannot be found yet from IncompleteHostnameRegExp.expected
2022-03-07 16:10:08 +01:00
Arthur Baars
9e8930c192
Ruby: IncompleteHostnameRegExp.ql
2022-03-07 16:10:08 +01:00
Arthur Baars
832c9c4b0b
Ruby: copy IncompleteHostnameRegExp files from JavaScript
2022-03-07 16:10:07 +01:00
Arthur Baars
eeb9a1d270
JavaScript: fix typos in documentation
2022-03-07 16:09:13 +01:00
Arthur Baars
602538d1c1
Ruby: add RegExpPatterns module
2022-03-07 16:09:12 +01:00
Geoffrey White
cb33ed4fc2
C++: Only look for sensitive strings in appropriate parameters.
2022-03-07 11:29:09 +00:00
Geoffrey White
f1d6234483
C++: Add more information about registry query parameters.
2022-03-07 09:45:31 +00:00
Ahmed Farid
3b8c7e8944
Update ZipSlip.expected
2022-03-07 10:11:34 +01:00
Ahmed Farid
8402d661df
Update zipslip_bad.py
2022-03-07 10:11:00 +01:00
Ahmed Farid
6685c6b4b3
Update ZipSlip.qll
2022-03-07 10:09:53 +01:00
Ahmed Farid
35a1c80ceb
Update zipslip_bad.py
2022-03-07 00:24:45 +01:00
Ahmed Farid
0d9436892a
Update zipslip_bad.py
2022-03-07 00:24:25 +01:00
Ahmed Farid
6233309028
Update ZipSlip.expected
2022-03-07 00:23:48 +01:00
Ahmed Farid
ce7923c8b3
Update zipslip_bad.py
2022-03-07 00:23:19 +01:00
Ahmed Farid
e8449d8f40
Update zipslip_bad.py
2022-03-07 00:23:03 +01:00
Ahmed Farid
b7d4715c4e
Create ZipSlip.expected
2022-03-07 00:06:24 +01:00
Ahmed Farid
b9b52d4c7c
Update zipslip_bad.py
2022-03-07 00:02:50 +01:00
Ahmed Farid
d7dacfc6bd
Update zipslip_good.py
2022-03-07 00:01:55 +01:00
Ahmed Farid
908db6a05f
Update zipslip_bad.py
2022-03-07 00:01:09 +01:00
Ahmed Farid
7f2d242702
Update zipslip_good.py
2022-03-06 23:59:11 +01:00
Ahmed Farid
8649375be3
Update ZipSlip.qll
2022-03-06 23:56:02 +01:00
Ahmed Farid
91b5f2ad34
Update Zip.qll
2022-03-06 23:54:46 +01:00
Ahmed Farid
466f75bad8
Update Concepts.qll
2022-03-06 23:53:00 +01:00
Alex Ford
98dbe3aaf3
Ruby: make ActiveRecord Persistence::ModifyAndSaveCall private
2022-03-05 18:22:32 +00:00
Jonathan Leitschuh
523ddb79f3
Cleanup after code review feedback
2022-03-04 15:35:01 -05:00
Jonathan Leitschuh
5243fe3dbf
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-03-04 15:30:52 -05:00
Geoffrey White
4316026720
C++: VariableAccess -> Expr.
2022-03-04 18:00:54 +00:00
Alex Ford
8fed9f9aa0
Ruby: ActiveRecord - match OrmWriteAccesses for assignements to the assignment node rather than the setter call
2022-03-04 17:24:24 +00:00
Jorge
5552834e0f
Merge pull request #9 from RasmusWL/WIP
...
Rasmus' rewrite of https://github.com/github/codeql/pull/6112
See https://github.com/github/codeql/pull/6112#pullrequestreview-898959413
2022-03-04 17:18:54 +01:00
Erik Krogh Kristensen
7691807713
delete the getLastParameter predicate from ApiGraphs
2022-03-04 16:24:54 +01:00
Joe Farebrother
6c05f7a81a
remove url from sensitive info regex
2022-03-04 10:37:05 +00:00
Rasmus Wriedt Larsen
ef045a6789
Python: Fix typo in set_default_parser
2022-03-04 10:18:30 +01:00
Rasmus Wriedt Larsen
1a9620a87a
Python: Add conditional assignment check for sax parser
2022-03-04 10:16:28 +01:00
Rasmus Wriedt Larsen
f0131afc54
Python: Fix huge_tree modeling
2022-03-04 10:16:28 +01:00
Rasmus Wriedt Larsen
d6cbfec434
Python: huge_tree tests were wrong
...
Nice spotted @jorgectf!
2022-03-04 10:16:28 +01:00
Rasmus Wriedt Larsen
3cd165d5b7
Python: Apply suggestions from code review
...
Co-authored-by: Jorge <46056498+jorgectf@users.noreply.github.com >
2022-03-04 10:15:50 +01:00
Erik Krogh Kristensen
934e06ca3b
fix mistake in argumentPassing. The type-tracking was not required to be in an end state
2022-03-04 09:49:42 +01:00
Jonathan Leitschuh
7ab193dde2
Add System.getProperties().getProperty support
2022-03-03 20:08:38 -05:00
Jorge
683c2fa825
Apply suggestions from code review
2022-03-04 01:02:56 +01:00
Ahmed Farid
be7c619ca8
Update zipslip_bad.py
2022-03-04 00:48:45 +01:00
Dave Bartolomeo
952e495ef5
New SemanticExpr implementation
...
Cleans up SignAnalysis to reduce need for language-specific enhancements
2022-03-03 18:18:58 -05:00
Jonathan Leitschuh
31527a67e5
Refactor OS Checks & SystemProperty logic from review feedback
2022-03-03 17:15:35 -05:00
Jonathan Leitschuh
103c770ce7
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-03-03 16:39:45 -05:00
Rasmus Wriedt Larsen
3f6c55e8ae
Python: Rename vulnerable predicate => vulnerableTo
2022-03-03 22:09:31 +01:00
Rasmus Wriedt Larsen
0d69dc854c
Python: Minor qldoc improvement
2022-03-03 22:06:26 +01:00
Rasmus Wriedt Larsen
837daaae3b
Python: Remove XMLParser concept
2022-03-03 22:04:48 +01:00
Rasmus Wriedt Larsen
df8e0fce68
Python: Minor fixup of qldoc
2022-03-03 22:02:48 +01:00
Rasmus Wriedt Larsen
c0a6f9f3fd
Python: Restructure lxml modeling
...
and handle parser being passed as positional argument
2022-03-03 22:00:55 +01:00
Rasmus Wriedt Larsen
c0a2c25f5a
Python: Restructure modeling of xml.etree parsers
2022-03-03 21:59:34 +01:00
Rasmus Wriedt Larsen
a033b71eaf
Python: Align QLdocs of XML modeling
2022-03-03 21:34:46 +01:00
Rasmus Wriedt Larsen
de0e67f327
Python: Restructure overall XML modeling
2022-03-03 21:31:15 +01:00
Rasmus Wriedt Larsen
46238d5ea0
Python: Add test for XMLPullParser
...
But handling this in a nice way will require some restructuring
2022-03-03 21:28:46 +01:00
Rasmus Wriedt Larsen
33ebcdf437
Python: Support feed method of lxml/xml.etree Parsers
2022-03-03 21:26:24 +01:00
Rasmus Wriedt Larsen
f72f673e7e
Python: Update XmlEntityInjection.expected
...
I had forgotten about this, but better late than never... also added a
small representative test
2022-03-03 21:18:18 +01:00
Rasmus Wriedt Larsen
3278793972
Python: Handle more functions and kw-args
2022-03-03 21:18:18 +01:00
Rasmus Wriedt Larsen
2451123c67
Python: Move XML PoC to new test dir
2022-03-03 21:18:18 +01:00
Rasmus Wriedt Larsen
c739ae40b6
Python: Port xmltodict tests
2022-03-03 21:18:18 +01:00
Rasmus Wriedt Larsen
0b12d91817
Python: Port xml.sax tests
2022-03-03 21:18:18 +01:00
Rasmus Wriedt Larsen
5fb4c4d152
Python: Port xml.etree tests
2022-03-03 20:51:02 +01:00
Rasmus Wriedt Larsen
a7134cac2e
Python: Port xml.dom tests
2022-03-03 20:39:56 +01:00
Rasmus Wriedt Larsen
faebaee141
Python: Use concept tests for XML Parsing
...
I was loosing my mind from looking through those .expected files
Just going to take it one file at time, to make reviewing easier
2022-03-03 20:36:51 +01:00
Rasmus Wriedt Larsen
4b03f5c724
Python: Rename xml.sax test for consistency
2022-03-03 19:39:32 +01:00
Rasmus Wriedt Larsen
7cda901da2
Python: Add separate query for SimpleXMLRPCServer
...
This was a rough quick-n-dirty query, and should get some qhelp as well at some point.
2022-03-03 19:35:33 +01:00
Rasmus Wriedt Larsen
9406a972cd
Python: Fix vuln detection for xml.minidom with parser arg
2022-03-03 17:52:11 +01:00
Rasmus Wriedt Larsen
5a652480b1
Python: Annotate xml.dom tests
2022-03-03 17:37:25 +01:00
Rasmus Wriedt Larsen
c4d08db62a
Python: Expand XML PoC with minidom/pulldom/expat
2022-03-03 17:30:16 +01:00
Ahmed Farid
5e14d89714
Update ZipSlip.qll
2022-03-03 17:12:06 +01:00
Rasmus Wriedt Larsen
3affa6cf3a
Python: Annotate xmltodict tests
2022-03-03 15:08:56 +01:00
Rasmus Wriedt Larsen
61291936bf
Python: Properly model xml.etree
2022-03-03 15:06:55 +01:00
Rasmus Wriedt Larsen
703e3e8a0f
Python: Handle DTD retrieval vuln in lxml
2022-03-03 14:46:48 +01:00
Rasmus Wriedt Larsen
e295399f70
Python: Properly handle huge_tree in lxml
2022-03-03 14:43:37 +01:00
Rasmus Wriedt Larsen
124c03c15c
Python: Expand lxml tests
...
And add annotations, see PoC.py for reference
Some of these needs fixing though
2022-03-03 14:40:45 +01:00
Geoffrey White
6848b6095b
C++: Autoformat.
2022-03-03 12:51:54 +00:00
Rasmus Wriedt Larsen
3c321dd98d
Python: Model lxml.etree.get_default_parser in own class
2022-03-03 13:49:17 +01:00
Rasmus Wriedt Larsen
52891cb476
Python: Add PoC for XML vulns
2022-03-03 13:48:46 +01:00
Joe Farebrother
4ad402f33f
Move from experimental to main
2022-03-03 12:13:14 +00:00
Geoffrey White
5c6923c099
C++: Improve and differentiate the qhelp.
2022-03-03 11:04:55 +00:00
Geoffrey White
88b7a085b0
C++: Make the bulk of test cases in tests.cpp more relevant.
2022-03-03 10:40:17 +00:00
Geoffrey White
07b4bf7023
C++: Use the same trick as in ExposedSystemData to catch a few more results.
2022-03-03 10:33:39 +00:00
Geoffrey White
6e5729c924
C++: Fix typo and adjust violation message wording.
2022-03-03 10:28:53 +00:00
Geoffrey White
9e193f624c
C++: Change note.
2022-03-03 09:55:02 +00:00
Rasmus Wriedt Larsen
661d8bf553
Python: Better handling of resolve_entities arg in lxml
2022-03-03 10:05:57 +01:00
Rasmus Wriedt Larsen
515b824b3c
Python: Add lxml positive test
2022-03-03 09:42:19 +01:00
ihsinme
01f9114a80
Update test.cpp
2022-03-03 10:57:11 +03:00
ihsinme
bec4170bdf
Update ImproperCheckReturnValueScanf.expected
2022-03-03 10:39:19 +03:00
ihsinme
8e0c0ad200
Update test.cpp
2022-03-03 10:37:31 +03:00
ihsinme
25b3aba823
Update test.cpp
2022-03-03 10:21:38 +03:00
ihsinme
2dc85e183c
Update test.cpp
2022-03-03 10:20:41 +03:00
ihsinme
547342cd61
Update test.cpp
2022-03-03 10:16:00 +03:00
ihsinme
1a30b8d467
Apply suggestions from code review
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-03-03 10:14:22 +03:00
Jonathan Leitschuh
fea50065f5
Fix duplicated comment
2022-03-02 19:54:04 -05:00
Jonathan Leitschuh
85de9f305e
Fix naming of OSCheck method
2022-03-02 19:41:46 -05:00
Jonathan Leitschuh
a7adbb7291
Refactor more system property access logic
2022-03-02 19:33:05 -05:00
Jonathan Leitschuh
3c53a05e16
Add OS Checks based upon separator or path separator
2022-03-02 14:15:56 -05:00
Geoffrey White
2a14a4f14e
C++: Fill in metadata.
2022-03-02 18:52:52 +00:00
Geoffrey White
66b9356eb9
C++: There is no overlap between OutputWrite and RemoteFlowSinkFunction.
2022-03-02 18:16:39 +00:00
Geoffrey White
a1ace7122d
C++: Move SystemData class into a library.
2022-03-02 18:01:06 +00:00
Geoffrey White
70e4a409fd
C++: Add the new query to tests.
2022-03-02 17:56:53 +00:00
Geoffrey White
d95b56fca0
C++: Create prototype query.
2022-03-02 17:56:49 +00:00
Jonathan Leitschuh
82d3cd8924
Improve system property lookup
2022-03-02 12:51:15 -05:00
Jonathan Leitschuh
dad9a02fbd
Update TempDirInfoDisclosure with new OS Guards
2022-03-02 12:51:15 -05:00
Jonathan Leitschuh
5913c9acad
Refactor OS Guard Checks
2022-03-02 12:51:14 -05:00
Jonathan Leitschuh
fd63107edf
Update OS Check from Review Feedback
2022-03-02 12:51:12 -05:00
Jonathan Leitschuh
9f5022ee95
Review fixup and add test for apache SystemUtils
2022-03-02 12:50:38 -05:00
Jonathan Leitschuh
49513443f2
Update java/ql/lib/semmle/code/java/os/OSCheck.qll
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2022-03-02 12:50:37 -05:00
Jonathan Leitschuh
3cdfc00542
Cleanup from review feedback
2022-03-02 12:50:37 -05:00
Jonathan Leitschuh
39828fd596
Apply OS guard checks to TempDirLocalInformationDisclosure
2022-03-02 12:50:37 -05:00
Jonathan Leitschuh
cd073a2173
Java: Add Guard Classes for checking OS
2022-03-02 12:50:35 -05:00
Geoffrey White
67aa1449ce
C++: Add some more test cases (moved from the private repo).
2022-03-02 17:23:07 +00:00
Ahmed Farid
c45b67c316
Create zipslip_good.py
2022-03-02 18:10:24 +01:00
Ahmed Farid
aef1df122b
Create zipslip_bad.py
2022-03-02 18:09:45 +01:00
Ahmed Farid
c8f73ec845
Create ZipSlip.qlref
2022-03-02 18:08:32 +01:00
Geoffrey White
19718fa280
C++: Add a couple of new test cases.
2022-03-02 15:18:04 +00:00
Geoffrey White
da740cfa05
C++: Test layout.
2022-03-02 15:18:04 +00:00
Rasmus Wriedt Larsen
7f7758b83d
Python: rewrite xml sax modeling
2022-03-02 15:22:11 +01:00
Rasmus Wriedt Larsen
6dd776b2de
Python: Only produce one alert per vulnerable XML sink
...
This made it much easier to debug the current alerts on tests at least.
Notice that it's important that we have `strictconcat` and not just
`concat`, since `concat` will also allow flow to sinks that are not
vulnerable to any kind of XML vulnerability :|
2022-03-02 15:22:11 +01:00
Rasmus Wriedt Larsen
16e482bf6f
Python: Improve QLDoc for XML parsing/parsers
2022-03-02 14:25:12 +01:00
Rasmus Wriedt Larsen
aaf55b21c4
Python: Add XMLVulnerabilityKind
...
This gives some freedom in changing the name presented, and not worrying about whether you have made a typo that makes everything break :|
2022-03-02 14:25:12 +01:00
Rasmus Wriedt Larsen
ee23c05489
Python: XML: Expose vuln kind on sink
2022-03-02 14:25:12 +01:00
Rasmus Wriedt Larsen
500e0aced6
Python: Rewrite sax XML tests
...
The tests for type-trackers were not that interesting, since they did
not have XML input in both cases, which is the problem we were trying
hard to solve.
I did keep the test-case of not-user-supplied url alive as well though
👍
I added OK/NOT OK annotations.
Notice that we report all 4 kinds of vulnerabilities on line 93
2022-03-02 14:24:46 +01:00
Erik Krogh Kristensen
62f2614f72
move hasDominatingWrite to the TypeTracking stage
2022-03-02 11:30:05 +01:00
Erik Krogh Kristensen
1db6a644a5
only block flow for dominated reads when the property name is known
2022-03-02 11:30:05 +01:00
Erik Krogh Kristensen
a9062cc047
merge hasDominatingWrite and hasDominatingAssignment
2022-03-02 11:30:05 +01:00
Rasmus Wriedt Larsen
518e2aeebf
Merge branch 'main' into jorgectf/python/deserialization
2022-03-01 16:47:13 +01:00
Rasmus Wriedt Larsen
27d5349a74
Python: ORM: Remove imports from test code
...
These are no longer needed, as data-flow now has this import by default
2022-03-01 15:39:52 +01:00
Rasmus Wriedt Larsen
a1c7ec8c6d
Python: Accept .exepcted changes from importing frameworks from data-flow
...
Since `python.qll` has `private import
semmle.python.dataflow.new.DataFlow`, that means that all tests now
implicitly imports the frameworks modeling, and therefore any python
class is part of the DjangoViewClassHelper ql class.
de8ecb214f/python/ql/lib/python.qll (L44)
2022-03-01 15:37:16 +01:00
ihsinme
a6654fce4a
Update ImproperCheckReturnValueScanf.ql
2022-03-01 16:37:29 +03:00
ihsinme
e9fefab9b1
Update test.cpp
2022-03-01 16:36:24 +03:00
ihsinme
bfec3c5e6e
Update ImproperCheckReturnValueScanf.expected
2022-03-01 16:35:31 +03:00
Asger Feldthaus
df379809df
Ruby: support CSV rows of form ;any;Method[foo]
2022-03-01 14:08:21 +01:00
Asger Feldthaus
05ea33033b
Ruby: add test for API::EntryPoint
2022-03-01 14:08:21 +01:00
Asger Feldthaus
bf83400bd2
Ruby: port API::EntryPoint from JS
2022-03-01 14:08:21 +01:00
Asger Feldthaus
e10e3b9466
Ruby: convert ActiveStorage::Filename model to MaD
2022-03-01 14:08:21 +01:00
Asger Feldthaus
e6a3747656
Ruby: add test for ActiveStorage.Filename.new
2022-03-01 14:08:21 +01:00
Asger Feldthaus
70c083fa64
Ruby: convert Regexp.escape model to MaD
2022-03-01 14:08:21 +01:00
Asger Feldthaus
cbd044a768
Ruby: add a code injection test for flwo through Regexp.escape
2022-03-01 14:08:21 +01:00
Asger Feldthaus
63e7c16d6b
Ruby: add test with sinks and type-defs
2022-03-01 14:08:20 +01:00
Asger Feldthaus
388949f12e
Ruby: support WithBlock and WithoutBlock
2022-03-01 14:08:20 +01:00
Asger Feldthaus
d6bc9c259e
Ruby: add simple test case
2022-03-01 14:08:20 +01:00
Asger Feldthaus
d808bdc028
JS: Sync ApiGraphModels.qll
2022-03-01 14:08:20 +01:00
Asger Feldthaus
a33e89279d
Ruby: instantiate ApiGraphModels library in Ruby
2022-03-01 14:08:20 +01:00
Rasmus Wriedt Larsen
cd58c12bbe
Merge branch 'main' into orm
2022-03-01 12:01:54 +01:00
Rasmus Wriedt Larsen
98c60a706e
Python: Autoformat
...
Oops
2022-03-01 11:54:09 +01:00
Rasmus Wriedt Larsen
e32f8d98b0
Python: Always import ORM steps for data-flow
...
For C#, see
fdd787b89c/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll (L16)
that import EntityFramework, which is ORM library.
2022-03-01 11:32:36 +01:00
ihsinme
d772ea0efe
Apply suggestions from code review
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-03-01 10:49:36 +03:00
Ahmed Farid
70c0c7e461
Update zipslip_bad.py
2022-03-01 00:24:33 +01:00
Ahmed Farid
85bcaa96ce
Update Concepts.qll
2022-03-01 00:23:06 +01:00
Ahmed Farid
c22b032bbe
Update Zip.qll
2022-03-01 00:11:33 +01:00
Ahmed Farid
67d3498891
Update ZipSlip.ql
2022-03-01 00:07:37 +01:00
Ahmed Farid
b29936716d
Update Frameworks.qll
2022-03-01 00:06:22 +01:00
Ahmed Farid
76bd3317eb
Create Zip.qll
2022-03-01 00:05:30 +01:00
Ahmed Farid
abe25da3df
Create ZipSlip.qll
2022-03-01 00:04:02 +01:00
Ahmed Farid
3eae13161f
Delete ZipSlipCheckLib.ql
2022-03-01 00:01:34 +01:00
Ahmed Farid
21f6ad5190
Update and rename ZipSlipCheck.ql to ZipSlip.ql
2022-03-01 00:01:06 +01:00
Tamas Vajk
1538e89bd9
Use generate-report.py from base SHA
2022-02-28 20:36:23 +01:00
Tamas Vajk
bd30c63aa1
Fix expected file comparer to handle missing files better in MaD workflows
2022-02-28 20:16:20 +01:00
Tamas Vajk
714659c706
Change cp to mv in CSV coverage PR job
2022-02-28 20:07:23 +01:00
Rasmus Wriedt Larsen
8afd560c64
Python: ORM: Handle load of PolymorphicModels
2022-02-28 16:38:41 +01:00
Rasmus Wriedt Larsen
48fba87273
Python: ORM: add flow to base-class
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
6b9dd49499
Python: ORM: Model polymorphic.models.PolymorphicModel as Django ORM class
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
e1191cf63c
Python: ORM: Add tests for inheritance
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
092cfceb18
Python: Add dataflow consistency checks to ORM tests
...
Luckily they passed :phew:
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
d7ff00e615
Python: Add change-note
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
ed36ff1570
Python: ORM: Handle <Model>.objects.[<QuerySet>].update()
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
fea46b642d
Python: ORM: Handle <Model>.objects.create and friends
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
9b458b54aa
Python: ORM: Add flow to collection/dict queries
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
9cff4cbd1c
Python: ORM: Add a few more tests
...
There were a few methods I had overlooked
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
ae057c74cc
Python: ORM: Store step for constructor
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
f8a51bb994
Python: ORM: Add data-flow steps for Django ORM
...
Added dummy-whitespace to `orm_security_tests.py` so it would be
possible to see what the reflected XSS results are in the diff
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
ef39968a56
Python: ORM: Add data-flow plumbing for ORM modeling
...
The idea is that we will do `save ==> synthetic`
and `synthetic ==> load`, so we don't need to do CP between save/load.
This setup with synthetic node in the middle, also allows for a limited
amount of the field-flow we can do with real flow-summary support.
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
d3f07cdc10
Python: ORM: Add qltests
...
Which shows that there is no flow yet, which is not really a surprise :D
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
c78fed6594
Python: ORM: Add raw python test files
...
no ql test files yet though, will come in next commit.
2022-02-28 16:38:40 +01:00
Rasmus Wriedt Larsen
f89fb50eb5
Python: ORM: Add boilerplate django project
...
By doing
```
django-admin startproject testproj
django-admin startapp testapp
```
2022-02-28 16:38:40 +01:00
Erik Krogh Kristensen
5130929358
remove comment suggesting that the receiver is parameter -1
2022-02-28 15:25:34 +01:00
Erik Krogh Kristensen
843ed8fca5
rename pw to aw
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-02-28 15:25:25 +01:00
Alex Ford
6ddacce27a
Ruby: Add OrmWriteAccess concept changenote
2022-02-28 01:18:39 +00:00
Alex Ford
63ef9a75c9
Ruby: model OrmWriteAccesses for ActiveRecord
2022-02-28 01:18:39 +00:00
Alex Ford
b1fd321b65
Ruby: update Rails framework test output for existing tests
2022-02-28 01:13:26 +00:00
Alex Ford
283a48c76d
Ruby: tests for OrmWriteAccess
2022-02-28 01:12:49 +00:00
Alex Ford
8c6c680a28
Ruby: Add OrmWriteAccess concept
2022-02-28 01:11:40 +00:00
Ahmed Farid
c207294dfc
Update zipslip_good.py
2022-02-26 18:31:22 +01:00
Ahmed Farid
d0d14be693
Update ZipSlip.qhelp
2022-02-26 18:25:13 +01:00
luchua-bc
88d9694628
Query to detect insecure WebResourceResponse implementation
2022-02-26 02:03:35 +00:00
Erik Krogh Kristensen
4fba5e4dfb
step through parentheses in barrier functions
2022-02-25 17:47:12 +01:00
ihsinme
0c8a07218c
Add files via upload
2022-02-25 11:16:05 +03:00
ihsinme
bddb5fd9f9
Add files via upload
2022-02-25 11:14:20 +03:00
Dave Bartolomeo
02bf008610
Fix formatting
2022-02-23 12:18:27 -05:00
Dave Bartolomeo
b11c55ff23
Fix mismatched results between semantic and AST range analysis
2022-02-22 18:19:38 -05:00
jorgectf
c5f30d99d5
Create an extendable AdditionalTaintStep class in customizations
2022-02-20 17:34:12 +01:00
Dave Bartolomeo
ac9e2d0c6d
Parallel semantic modulus analysis
2022-02-18 17:43:27 -05:00
Dave Bartolomeo
e2e2c0e540
Fix a few bugs to make results of semantic sign analysis match the original AST analysis
2022-02-18 17:03:10 -05:00
Dave Bartolomeo
99f24e5a9e
Fix up sign analysis and create diff query
2022-02-18 13:03:26 -05:00
Dave Bartolomeo
5bd5f39ad8
Try parallel versions of sign analysis, AST vs. semantic
2022-02-18 12:28:36 -05:00
root
5ed5e0b105
Add query to detect ZipSlip
2022-02-13 16:44:27 -05:00
jorgectf
85b5ef36ae
XmlInjection -> XmlEntityInjection
2022-02-09 13:28:56 +01:00
jorgectf
b00051e4ab
Update .expected
2022-02-08 17:52:37 +01:00
jorgectf
01ad25f3f0
Apply .getALocalSource() and fix xmltodict's vulnerable predicate
2022-02-08 17:51:09 +01:00
jorgectf
7c4a6a12b0
Test polish
2022-02-08 17:50:39 +01:00
jorgectf
8f9cd16806
Update
2022-02-08 17:23:18 +01:00
Robert Marsh
56caa5dfd6
C++: fix hasImplicitCopyConstructor for templates
...
Fixes some cases in instantiations of templates with manually written
copy constructors or copy assignment operators where
hasImplicitCopyConstructor would incorrectly hold
2022-02-07 14:26:28 -05:00
Robert Marsh
61c315d74b
C++: test for explicit template copy constructor
2022-02-07 12:56:59 -05:00
jorgectf
d2f07e4df2
Merge branch 'jorgectf/python/deserialization' of https://github.com/jorgectf/codeql into jorgectf/python/deserialization
2022-02-05 16:20:17 +01:00
Jorge
99e14d16bc
Merge branch 'github:main' into jorgectf/python/deserialization
2022-02-05 16:20:09 +01:00
jorgectf
43fde3561f
Merge branch 'jorgectf/python/deserialization' of https://github.com/jorgectf/codeql into jorgectf/python/deserialization
2022-02-04 16:32:11 +01:00
Jorge
d96eb01b9c
Merge branch 'github:main' into jorgectf/python/deserialization
2022-02-04 16:32:01 +01:00
Erik Krogh Kristensen
5e23da813f
rename named-parameters to keyword-parameters
2022-02-03 23:10:39 +01:00
Erik Krogh Kristensen
e434f075fa
introduce, and use, API::APICallNode
2022-02-03 23:10:39 +01:00
Erik Krogh Kristensen
3801a158a8
remove module exporst nodes from API graphs
2022-02-03 23:10:39 +01:00
Erik Krogh Kristensen
c3f4a851f0
remove some TODOs I won't do
2022-02-03 23:10:39 +01:00
Erik Krogh Kristensen
3be3da2eb6
add recursive API-graph test
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
ef5818e243
support import * in ApiGraphs
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
16774ba285
add support for named parameters in API graphs
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
095c73f1fe
redo the ApiGraph testing framework
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
66fd43fc3b
add def edge for function returns
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
d8eea7ba4c
property writes are def nodes
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
a908b219e9
more backtracking of def nodes, and lots of tests
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
038b032a43
get basic module exports to work in API-graphs
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
df9efbe778
get mimimal def nodes to work in python
2022-02-03 23:10:38 +01:00
Erik Krogh Kristensen
52ca0d168b
move API-graph tests out of the experimental test folder
2022-02-03 23:10:37 +01:00
Erik Krogh Kristensen
89786d9ce2
rename pr to ref in memberFromRef
2022-02-03 23:10:37 +01:00
jorgectf
080775c873
Merge branch 'jorgectf/python/deserialization' of https://github.com/jorgectf/codeql into jorgectf/python/deserialization
2022-01-31 17:48:47 +01:00
Jorge
a1f8acc9bb
Merge branch 'github:main' into jorgectf/python/deserialization
2022-01-31 17:48:35 +01:00
jorgectf
9ab6d21757
Add forward type tracking test
2022-01-14 22:56:51 +01:00
jorgectf
cb8e54e38e
Delete redundant LXMLParser dangerous check
2021-11-16 13:27:24 +01:00
jorgectf
637901d980
Make concepts instances of their ranges
2021-11-16 13:25:29 +01:00
jorgectf
066b40098c
Add lxml.etree.XMLParser missing resolve_entities dangerous case
2021-10-28 19:34:15 +02:00
Rasmus Wriedt Larsen
58bc1102e5
Merge branch 'main' into jorgectf/python/deserialization
2021-10-28 12:31:34 +02:00
jorgectf
f1a73e3009
Merge branch 'jorgectf/python/deserialization' of https://github.com/jorgectf/codeql into jorgectf/python/deserialization
2021-10-16 10:07:13 +02:00
jorgectf
c2046f1777
Improve readability for xmlDom()
2021-10-16 10:07:11 +02:00
Jorge
be424704a6
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-10-16 10:04:50 +02:00
jorgectf
320a00be31
Delete simple API::Nodes
2021-10-16 10:02:43 +02:00
jorgectf
5b66a15de3
Extend mayBeDangerous() QLDoc
2021-10-16 09:57:28 +02:00
jorgectf
15dfc6d1da
Fix xml_sax_parser.py good/bad naming
2021-10-16 09:50:58 +02:00
Rasmus Wriedt Larsen
8df3dab121
Python: Adjust .expected with subpaths
2021-09-28 17:04:20 +02:00
Rasmus Wriedt Larsen
e472814ddd
Python: Fix XXE qhelp
2021-09-28 17:02:39 +02:00
Rasmus Wriedt Larsen
9c286a1b50
Python: fix name of .qhelp file
2021-09-28 16:57:46 +02:00
Rasmus Wriedt Larsen
67fddda6d2
Merge branch 'main' into jorgectf/python/deserialization
2021-09-28 16:49:33 +02:00
jorgectf
61a81b60e8
Extend .qlref
2021-09-09 19:06:58 +02:00
jorgectf
21da603d81
Update .qlref
2021-09-07 20:13:39 +02:00
jorgectf
48bca5beb8
Fix references' link anchor
2021-08-25 17:09:47 +02:00
jorgectf
93c8529fc9
Add .expected
2021-07-25 01:53:21 +02:00
jorgectf
1dd77f167a
Fix undetected tests
2021-07-25 01:51:52 +02:00
jorgectf
b83b31cc7a
Write qldocs
2021-07-24 02:33:57 +02:00
jorgectf
61e873d725
Polish tests
2021-07-24 02:09:23 +02:00
jorgectf
0d2646fd3d
Polish documentation
2021-07-24 01:23:51 +02:00
jorgectf
068150b1ab
Finish modeling
2021-07-22 19:34:23 +02:00
jorgectf
b5e10b6c42
Write (String|Bytes)IO additional taint step
2021-07-22 19:15:30 +02:00
jorgectf
11f4c1cc8e
Format tests
2021-07-22 19:04:35 +02:00
jorgectf
d475d52c76
Add partial modeling
2021-06-30 00:59:40 +02:00
jorgectf
c3b3bde35d
Add XMLParser concept
2021-06-30 00:59:17 +02:00
jorgectf
b9fa57f518
Move tests to test/
2021-06-30 00:58:58 +02:00
jorgectf
78deec84fc
Upload main structure and initial tests
2021-06-22 16:41:08 +02:00
jorgectf
0e61558644
Empty commit
2021-06-19 18:39:58 +02:00