Anders Schack-Mulligen
71f8ccf45f
Merge pull request #15654 from aschackmull/java/static-init-vec-query-perf
...
Java: Switch helper flow from Global to SimpleGlobal in StaticInitializationVectorQuery.
2024-02-21 10:51:16 +01:00
github-actions[bot]
37f8fa3413
Post-release preparation for codeql-cli-2.16.3
2024-02-20 16:50:47 +00:00
github-actions[bot]
6d061fbc35
Release preparation for version 2.16.3
2024-02-20 14:26:23 +00:00
Anders Schack-Mulligen
5a348a5048
Dataflow: SimpleGlobal / Typetracker perf fix.
2024-02-20 14:40:28 +01:00
Tony Torralba
1704bfe2bf
Merge pull request #15585 from atorralba/atorralba/go/promote-jwt-unsafe-verification
...
Go: Promote `go/missing-jwt-signature-check` from experimental
2024-02-19 15:35:44 +01:00
Anders Schack-Mulligen
2fa8c2f992
Merge pull request #15634 from aschackmull/dataflow/simpleglobal-fixreads
...
Dataflow: Bugfix for field reads in SimpleGlobal.
2024-02-19 14:02:38 +01:00
Anders Schack-Mulligen
53801e8efb
Dataflow: Bugfix for field reads in SimpleGlobal.
2024-02-16 14:00:04 +01:00
Anders Schack-Mulligen
03f7968dbf
Dataflow: Fix flow-feature bug.
2024-02-16 11:38:30 +01:00
Tony Torralba
551875cb5a
Add 'jwt' as valid sink kind
2024-02-14 17:25:08 +01:00
Anders Schack-Mulligen
393251dde6
Merge pull request #15582 from hvitved/dataflow/cache-viable-callable-ext
...
Data flow: Cache `viableCallableExt`
2024-02-14 10:31:43 +01:00
Tom Hvitved
bc8761c51b
Data flow: Cache `viableCallableExt`
2024-02-13 14:12:50 +01:00
Asger F
faefa056eb
Merge pull request #15507 from asgerf/shared/outbarrier-bugfix
...
Shared: fix a bug in stateful outbarriers
2024-02-12 21:44:49 +01:00
Nick Rolfe
b2ee5808f0
Merge pull request #15496 from github/nickrolfe/loc-fresh-ids
...
Tree-sitter extractors: use fresh IDs for locations
2024-02-12 09:54:09 +00:00
Tom Hvitved
1ea7717714
Capture flow: Take overwrites in nested scopes into account
2024-02-09 14:49:23 +01:00
Anders Schack-Mulligen
4fcb90298d
Dataflow: Add change note.
2024-02-09 11:32:08 +01:00
Anders Schack-Mulligen
b7d4a6926f
Dataflow: Add empty provenance column to PathGraph.
2024-02-09 11:27:30 +01:00
github-actions[bot]
b5139078d0
Post-release preparation for codeql-cli-2.16.2
2024-02-06 19:22:35 +00:00
github-actions[bot]
c1b35fbf47
Release preparation for version 2.16.2
2024-02-05 17:58:57 +00:00
Nick Rolfe
514a92d5bd
Tree-sitter extractors: use fresh IDs for locations
...
Since locations for any given source file are never referenced in any
TRAP files besides the one for that particular source file, it's not
necessary to use global IDs. Using fresh IDs will reduce the size of the
ID pool (both on disk and in memory) and the speed of multi-threaded
TRAP import.
The one exception is the empty location, which still uses a global ID.
2024-02-02 15:06:10 +00:00
Joe Farebrother
031bd8bd0c
Merge pull request #15281 from joefarebrother/android-sensitive-ui-notif
...
Java: Add query for exposure of sensitive information to android notifiactions
2024-01-26 16:42:55 +00:00
Asger F
f15ead6130
Shared: check stateful outBarrier as part of pathStep SCC
2024-01-26 11:14:23 +01:00
Asger F
d1310c74fc
Shared: remove old stateful outBarrier check
2024-01-26 11:14:23 +01:00
Mathias Vorreiter Pedersen
2db76c7fad
Merge pull request #15434 from MathiasVP/fix-dataflow-join-order
...
DataFlow: Fix join order
2024-01-25 16:32:14 +00:00
Henry Mercer
10343dd822
Merge pull request #15416 from github/post-release-prep/codeql-cli-2.16.1
...
Post-release preparation for codeql-cli-2.16.1
2024-01-25 14:15:25 +00:00
erik-krogh
396da117bb
remove an FP in overly-large-range for [@-Z]
2024-01-25 14:15:06 +01:00
Mathias Vorreiter Pedersen
db929ccf9b
DataFlow: Fix join order.
2024-01-25 12:51:35 +00:00
github-actions[bot]
d0b74c00fe
Post-release preparation for codeql-cli-2.16.1
2024-01-23 23:02:29 +00:00
github-actions[bot]
7ef611e6dc
Release preparation for version 2.16.1
2024-01-23 19:45:16 +00:00
Joe Farebrother
0acb647e7d
Fix tests and add notification sink kind to model verification
2024-01-23 09:51:41 +00:00
erik-krogh
865df920f9
add change-notes
2024-01-22 19:30:57 +01:00
erik-krogh
8be7eadace
delete outdated deprecations
2024-01-22 09:11:35 +01:00
Rasmus Wriedt Larsen
f20d4e22fe
Handle only `exclude`
2024-01-18 13:54:45 +01:00
Rasmus Wriedt Larsen
54c7c5e8be
Tree sitter extractor: Proper handling of `LGTM_INDEX_FILTERS`
...
If someone had used `LGTM_INDEX_FILTERS=exclude:**/*\ninclude:*.rb`
before, we would have mistakenly excluded all files :|
(LGTM_INDEX_FILTERS is a prioritized list where later matches take
priority over earlier ones)
This change is needed to support adding `exclude:**/*` as the first
filter if `paths` include a glob, which currently causes bad behavior in
the Python extractor. However, we can first introduce that change once
this PR has been merged.
I realize this change can cause more folders and files to be traversed
(since they are not just skipped with --exclude). We plan to make a
better long term fix which should bring back the previous performance.
2024-01-18 11:44:31 +01:00
Calum Grant
4660a25d44
Merge pull request #15354 from github/calumgrant/shared-diagnostics
...
C++/Swift: Create shared library and share Diagnostics
2024-01-17 15:40:12 +00:00
Calum Grant
d57fc3d7db
C++: Remove unneeded includes
2024-01-17 14:34:28 +00:00
Calum Grant
51c5afff8b
Create shared/cpp library and move Diagnostics there
2024-01-17 14:23:18 +00:00
erik-krogh
1a8a70dc1b
mark the range [0-?] as good in the overly-large-range query
2024-01-17 13:11:57 +01:00
Alexander Eyers-Taylor
934474681d
Merge pull request #15254 from github/post-release-prep/codeql-cli-2.16.0
...
Post-release preparation for codeql-cli-2.16.0
2024-01-16 14:50:40 +00:00
github-actions[bot]
57df8b92df
Post-release preparation for codeql-cli-2.16.0
2024-01-15 15:00:50 +00:00
Tom Hvitved
295198744b
Ruby: Handle captured `yield` calls
2024-01-10 14:25:15 +01:00
Tom Hvitved
c9cf2a899c
Merge pull request #15260 from hvitved/dataflow/may-benefit-from-cctx-simplify
...
Data flow: Remove column from `mayBenefitFromCallContext`
2024-01-10 11:43:15 +01:00
Tom Hvitved
f90201eb56
Data flow: Remove column from `mayBenefitFromCallContext`
2024-01-09 11:34:43 +01:00
Ed Minnix
65d05bf3de
Add environment-injection to Model Validation
2024-01-08 09:38:43 -05:00
github-actions[bot]
a6c8cc9551
Release preparation for version 2.16.0
2024-01-08 13:11:26 +00:00
Tom Hvitved
25e2271b2f
Merge pull request #15157 from hvitved/dataflow/fwd-flow-in-non-linear-rec
...
Data flow: Avoid unnecessary non-linear recursion in `fwdFlowIn`
2024-01-08 10:31:51 +01:00
Aditya Sharad
b1803d0ac2
Merge rc/3.12 into main
2023-12-21 16:40:51 -08:00
Tom Hvitved
5be4fe1887
Data flow: Avoid unnecessary non-linear recursion in `fwdFlowIn`
2023-12-19 21:03:03 +01:00
github-actions[bot]
8f72b0e4f7
Post-release preparation for codeql-cli-2.15.5
2023-12-19 10:32:57 +00:00
github-actions[bot]
19af35b29a
Release preparation for version 2.15.5
2023-12-18 21:22:44 +00:00
yoff
e0c027f13c
Merge pull request #14848 from hvitved/python/shared-type-tracking
...
Python: Adopt shared type tracking library
2023-12-18 21:14:42 +01:00
Anders Schack-Mulligen
07ad770437
Dataflow: Deprecate FlowStateString.
2023-12-14 15:05:33 +01:00
Tom Hvitved
84aa9f17a0
Python/Ruby: Use `SummaryTypeTracker` from `typetracking` pack
2023-12-14 13:25:18 +01:00
Tom Hvitved
1e24de7e83
Copy `SummaryTypeTracker.qll` to `typetracking` pack
2023-12-14 13:22:48 +01:00
Tom Hvitved
4776e9ccd2
Type tracking: Allow for a non-standard `flowsTo` predicate
2023-12-14 12:36:09 +01:00
Tom Hvitved
c8b4a215bc
Merge pull request #14573 from hvitved/flow-summary-impl-param
...
Move `FlowSummaryImpl.qll` to `dataflow` pack
2023-12-14 12:24:15 +01:00
Tom Hvitved
8f0e0b6559
Merge pull request #15090 from hvitved/inline-flow-test-get-arg-string
...
InlineFlowTest: Allow for custom `getArgString`
2023-12-14 10:53:55 +01:00
Tom Hvitved
7da10e0013
Merge pull request #15095 from hvitved/dataflow/boolean-class
...
Data flow: Use `Boolean` class
2023-12-14 10:29:52 +01:00
Tom Hvitved
8fc6fb1ec0
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com>
2023-12-14 10:10:53 +01:00
Tom Hvitved
098afb935b
Address more review comments
2023-12-14 09:48:45 +01:00
Tom Hvitved
5a426d1800
Data flow: Use `Boolean` class
2023-12-14 09:04:16 +01:00
Jeroen Ketema
99e65df6ce
Merge remote-tracking branch 'upstream/rc/3.12' into mb12
2023-12-13 15:43:39 +01:00
Tom Hvitved
28a2d05cf8
InlineFlowTest: Allow for custom `getArgString`
2023-12-13 13:58:44 +01:00
Tom Hvitved
3c2336e40b
Merge pull request #15074 from hvitved/dataflow/get-node-type-cached
...
Data flow: Use cached `nodeDataFlowType` instead of `getNodeType`
2023-12-12 14:49:41 +01:00
Tom Hvitved
b3929e2375
Data flow: Use cached `nodeDataFlowType` instead of `getNodeType`
2023-12-12 13:46:39 +01:00
Anders Schack-Mulligen
3bf6c0fe02
Rangeanalysis: Focus pre-bound calculation.
2023-12-11 14:07:10 +01:00
Anders Schack-Mulligen
c14d917a76
Rangeanalysis: Prune range calculation.
2023-12-11 14:07:10 +01:00
Anders Schack-Mulligen
58d463dd33
Rangeanalysis: Minor refactor for bound steps.
2023-12-11 14:07:10 +01:00
Anders Schack-Mulligen
73671b6da3
Rangeanalysis: Refactor base bounds.
2023-12-11 14:07:10 +01:00
Anders Schack-Mulligen
6b178fb64a
Rangeanalysis: Preparatory refactor for bounds sharing.
2023-12-11 14:07:10 +01:00
Tom Hvitved
cdf59e1e1d
Ruby: Cache more predicates
2023-12-11 10:15:17 +01:00
Tom Hvitved
adc4455f09
Parameterize `FlowSummaryImpl.qll`
2023-12-10 11:11:05 +01:00
Tom Hvitved
41fa39eb7c
Parameterize `AccessPathSyntax.qll`
2023-12-10 11:11:05 +01:00
Tom Hvitved
fd7e3454d6
Copy `FlowSummaryImpl.qll` to `dataflow` pack
2023-12-10 11:11:05 +01:00
Tom Hvitved
4fbd806d70
Copy `AccessPathSyntax.qll` to `dataflow` pack
2023-12-10 11:11:05 +01:00
Anders Schack-Mulligen
75d8da9007
Dataflow: Add change note about deprecation.
2023-12-08 14:25:20 +01:00
github-actions[bot]
92af5f5386
Post-release preparation for codeql-cli-2.15.4
2023-12-06 22:59:22 +00:00
github-actions[bot]
c04457e9e7
Release preparation for version 2.15.4
2023-12-06 21:11:50 +00:00
Mathias Vorreiter Pedersen
911f1543e0
DataFlow: Adjust QLDoc.
2023-11-28 15:26:48 +00:00
Mathias Vorreiter Pedersen
339bf1363a
DataFlow: s/flowThroughStepAllowed/validParameterAliasStep.
2023-11-28 14:32:23 +00:00
Mathias Vorreiter Pedersen
064f68fdca
DataFlow: Add a predicate for modifying which dataflow steps participate in flow-through summaries.
2023-11-28 14:27:15 +00:00
Tom Hvitved
1a6886cf99
SSA: Add locations to ease debugging
2023-11-22 08:37:02 +01:00
Tom Hvitved
fab6813a49
Merge pull request #14815 from hvitved/type-tracking/param-consistency-checks
...
Type tracking: Parameterize consistency checks
2023-11-20 11:05:06 +01:00
github-actions[bot]
bad499e360
Post-release preparation for codeql-cli-2.15.3
2023-11-17 14:35:41 +00:00
Tom Hvitved
40a07de566
Type tracking: Parameterize consistency checks
2023-11-16 15:23:23 +01:00
github-actions[bot]
6ec9b95072
Release preparation for version 2.15.3
2023-11-16 13:07:16 +00:00
Tom Hvitved
57f6859ddc
Shared: Update type tracking consistency checks
2023-11-15 17:08:05 +01:00
Tom Hvitved
5f087f0084
Shared: Port features from Ruby's type tracking library to the shared library
...
- Cache relevant predicates.
- Expose some predicates and classes (only exposed internally).
- Make some top-level `inline_late` predicates member predicates.
- Actually eliminate type check in `flowsTo`.
- Fix bug in `getACompatibleTypeTracker`.
- Adopt the `CallGraphConstruction` module.
2023-11-15 17:08:05 +01:00
Tom Hvitved
f66f7ce8d7
Shared: Split up `TypeTracking.qll` into two files
2023-11-15 17:07:27 +01:00
Anders Schack-Mulligen
bf6cfd3bef
Rangeanalysis: Simplify api.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
30aefabb2a
Rangeanalysis: Rename predicate.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
f05b75e04f
Rangeanalysis: RIP standard order.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
c28f54a78b
Rangeanalysis: Remove superfluous pragmas. These appear useless after the abolishment of the different delta orders.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
71e25521cf
Rangeanalysis: Use SsaReadPositionBlock.getAnSsaRead.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
3a73faf061
Rangeanalysis: Remove unused getAlternateType predicates.
2023-11-13 10:35:43 +01:00
Anders Schack-Mulligen
657c29f409
Java/C++: Share valueFlowStep.
2023-11-09 20:24:28 +01:00
Anders Schack-Mulligen
b8e7e1d15e
Java/C++: Share ssaUpdateStep.
2023-11-09 16:02:44 +01:00
Anders Schack-Mulligen
daffae020b
Java/C++: Share eqFlowCond.
2023-11-09 16:00:46 +01:00
Anders Schack-Mulligen
1f4cd74a1c
Java/C++: Move SsaReadPosition to shared qlpack.
2023-11-08 12:11:17 +01:00
Anders Schack-Mulligen
45ae4ed362
Merge pull request #14711 from aschackmull/shared/rangeutil-share2
...
Java/C++/RangeAnalysis: Move a couple of utility predicates to shared qlpack
2023-11-08 08:33:12 +01:00
Anders Schack-Mulligen
12cba7909b
Java/C++: Move range util guard-controls predicates to shared pack.
2023-11-07 15:14:34 +01:00
Anders Schack-Mulligen
f2ca52d951
Java/C++: Move range util backEdge predicate to shared pack.
2023-11-07 15:14:34 +01:00
Geoffrey White
e8a466a02c
Update dead link.
2023-11-07 09:26:07 +00:00
Anders Schack-Mulligen
f2b52650d5
Rangeanalysis: Filter useless modulo results.
2023-11-02 15:29:56 +01:00
Anders Schack-Mulligen
7bf271fb6c
RangeAnalysis: Improve bounds that rely on relative modulus.
2023-11-02 12:51:48 +01:00
Anders Schack-Mulligen
484d0fe4cd
Merge pull request #14659 from aschackmull/shared/modulus-analysis
...
Java/C++: Share modulus analysis
2023-11-02 12:45:35 +01:00
Geoffrey White
431d9d58f1
Merge pull request #14639 from geoffw0/anchorquery
...
Swift: New query for Missing Regular Expression Anchor
2023-11-02 09:20:19 +00:00
Anders Schack-Mulligen
7c3684dbb7
RangeAnalysis: Rename semExprModulus to exprModulus.
2023-11-02 08:19:23 +01:00
Anders Schack-Mulligen
ac115e0a6f
Rangeanalysis: Reshuffle perf fix. This should result in the same join-order, but with less materialisation.
2023-11-01 15:59:24 +01:00
Anders Schack-Mulligen
bb2bbd2d4d
Rangeanalysis: Remove useless pragma.
2023-11-01 15:59:24 +01:00
Anders Schack-Mulligen
f6794fe859
Rangeanalysis: Adjust modulo analysis comment.
2023-11-01 15:59:24 +01:00
Anders Schack-Mulligen
a7f3ef1a6c
Rangeanalysis: Parameterise shared modulus analysis.
2023-11-01 15:59:24 +01:00
Anders Schack-Mulligen
8e2b17cd86
Rangeanalysis: Copy C++ ModulusAnalysis file verbatim.
2023-11-01 15:59:24 +01:00
Anders Schack-Mulligen
6d859daf3d
Merge pull request #14656 from aschackmull/shared/range-utils
...
Rangeanalysis: Share ssaRead predicate
2023-11-01 15:57:52 +01:00
Anders Schack-Mulligen
048a7c4e42
Rangeanalysis: Rename SsaBound.getAVariable to getVariable.
2023-11-01 11:58:06 +01:00
Anders Schack-Mulligen
48291dd32d
Rangeanalysis: Remove superfluous ignoreZeroLowerBound.
2023-11-01 11:51:46 +01:00
Edward Minnix III
1ec1dd368d
Merge pull request #13978 from egregius313/egregius313/java/mad/convert-sensitive-api-to-mad
...
Java: Convert `SensitiveApi.qll` to use Models-as-Data
2023-10-31 15:25:42 -04:00
Anders Schack-Mulligen
34b9791e46
Rangeanalysis: Remove superfluous ignoreSsaReadCopy.
2023-10-31 15:32:25 +01:00
Anders Schack-Mulligen
322e6c91be
Rangeanalysis: Remove superfluous specificSsaRead.
2023-10-31 15:30:36 +01:00
Anders Schack-Mulligen
8b6c940e76
Rangeanalysis: Remove superfluous ignoreSsaReadAssignment.
2023-10-31 15:28:37 +01:00
Anders Schack-Mulligen
6d6f89e71e
Rangeanalysis: Remove superfluous ignoreSsaReadArithmeticExpr.
2023-10-31 15:25:28 +01:00
Anders Schack-Mulligen
a39a94ca8e
Rangeanalysis: Switch to shared ssaRead predicate.
2023-10-31 15:23:05 +01:00
Anders Schack-Mulligen
19644a8f07
Rangeanalysis: Implement shared ssaRead predicate
2023-10-31 15:07:11 +01:00
github-actions[bot]
2b939fdf08
Post-release preparation for codeql-cli-2.15.2
2023-10-30 16:06:51 +00:00
Geoffrey White
8f115bfd06
Swift: Implement 'isUsedAsReplace'.
2023-10-30 14:33:42 +00:00
github-actions[bot]
4641990021
Release preparation for version 2.15.2
2023-10-30 11:05:53 +00:00
Dave Bartolomeo
b18a6d5e0b
Merge pull request #14582 from github/dbartol/threat-models-2
...
Java: Threat model implementation with priorities.
2023-10-27 09:33:53 -04:00
Anders Schack-Mulligen
e9cb272396
Merge pull request #14615 from aschackmull/dataflow/stage-alias
...
Dataflow: simplify using stage aliases.
2023-10-27 14:17:30 +02:00
Anders Schack-Mulligen
10c657bc23
Dataflow: simplify using stage aliases.
2023-10-27 13:40:21 +02:00
Mathias Vorreiter Pedersen
9cae488ef4
Merge pull request #14612 from aschackmull/dataflow/type-doc
...
Dataflow: Improve qldoc on the type system.
2023-10-27 10:39:57 +01:00
Anders Schack-Mulligen
776e35279d
Dataflow: Improve qldoc on the type system.
2023-10-27 10:43:54 +02:00
Michael Nebel
e4276f7adb
Java: Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2023-10-27 10:34:20 +02:00
Anders Schack-Mulligen
b106db6fda
Dataflow: Add change note for partial flow api change.
2023-10-27 09:46:46 +02:00
Dave Bartolomeo
d2afb20f3f
Merge remote-tracking branch 'origin/main' into dbartol/threat-models-2
2023-10-26 14:05:40 -04:00
Dave Bartolomeo
9800458467
Update shared/threat-models/codeql/threatmodels/ThreatModels.qll
...
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2023-10-26 13:46:55 -04:00
Dave Bartolomeo
927eb8424d
Update shared/threat-models/codeql/threatmodels/ThreatModels.qll
...
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2023-10-26 13:46:37 -04:00
Dave Bartolomeo
8d9e4d391f
Update shared/threat-models/codeql/threatmodels/ThreatModels.qll
...
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2023-10-26 13:46:28 -04:00
Mathias Vorreiter Pedersen
30ecb4b0c8
Merge pull request #14588 from aschackmull/shared/rangeanalysis
...
C++/Java: Share core range analysis
2023-10-26 16:32:46 +01:00
Anders Schack-Mulligen
a2e3b37847
Dataflow: Fix accidental visibility.
2023-10-26 11:28:52 +02:00
Anders Schack-Mulligen
4dca4a7389
Dataflow: Restrict partial flow to either forward or reverse flow.
2023-10-26 10:33:03 +02:00
Ed Minnix
3b0b5e403c
Replace crypto-parameter with credentials-key
2023-10-25 14:31:55 -04:00
Ed Minnix
24c809b3b5
Move `credentials-%` sink kinds to "shared" status
2023-10-25 14:31:54 -04:00
Ed Minnix
c6641dfbf3
fix model validator to credentials-password
2023-10-25 14:31:54 -04:00
Ed Minnix
a85df81b67
Rename sink kind to "credentials-username" to match naming convention
2023-10-25 14:31:54 -04:00
Ed Minnix
958c6ff289
Remove credential-other
2023-10-25 14:31:53 -04:00
Ed Minnix
4aec302fb7
Create new sink kinds
2023-10-25 14:31:53 -04:00
Anders Schack-Mulligen
283d6efdf8
Rangeanalysis/Java/C++: Address some ql4ql findings.
2023-10-25 14:06:35 +02:00
Anders Schack-Mulligen
c1c4a5bfcf
Rangeanalysis: Copy qldoc and simplification from Java.
2023-10-25 11:17:02 +02:00
Anders Schack-Mulligen
cd44d67529
Rangeanalysis: Add temporary Java compatibility flag.
2023-10-25 11:17:02 +02:00
Anders Schack-Mulligen
06fe10bbe9
Rangeanalysis: Bugfix division with float representation.
2023-10-25 11:17:02 +02:00
Anders Schack-Mulligen
232c147f6b
Rangeanalysis: Port join-order fix from Java version.
2023-10-25 11:17:02 +02:00
Anders Schack-Mulligen
38274db205
Rangeanalysis: Parameterise library.
2023-10-25 11:17:01 +02:00
Anders Schack-Mulligen
169ba03778
Rangeanalysis: Copy C++ version verbatim.
2023-10-25 11:17:01 +02:00
Anders Schack-Mulligen
aed830cf1b
Rangeanalysis: Make new qlpack
2023-10-25 11:17:01 +02:00
Dave Bartolomeo
33f10d8d19
Better handling of `all` threat model without too many binding sets
2023-10-24 13:59:15 -04:00
Dave Bartolomeo
5fd56ce866
Alternate threat model implementation
2023-10-24 13:12:37 -04:00
Joe Farebrother
3f11d83b7b
Merge pull request #14500 from joefarebrother/shared-filepath-normalize
...
Shared: Add library for filepath normalization
2023-10-23 16:09:44 +01:00
Dave Bartolomeo
15e9838f16
Add a readme file
2023-10-19 17:27:21 -04:00
Dave Bartolomeo
c268163804
warnOnImplicitThis
2023-10-19 17:18:47 -04:00
Dave Bartolomeo
910b2a98f1
Merge remote-tracking branch 'origin/main' into dbartol/threat-models
2023-10-19 17:07:38 -04:00
Dave Bartolomeo
bd7de83aab
Use extension packs for threat models
2023-10-19 17:07:26 -04:00
github-actions[bot]
8dcd8b9e5b
Post-release preparation for codeql-cli-2.15.1
2023-10-17 20:24:00 +00:00
Joe Farebrother
aa418dc7d0
Add more line breaks in qldoc
2023-10-17 12:51:22 +01:00
github-actions[bot]
3b3c036626
Release preparation for version 2.15.1
2023-10-16 17:49:39 +00:00
Joe Farebrother
05162c68ec
Fix typo
2023-10-16 13:43:06 +01:00
Joe Farebrother
aade79f723
Improve qldoc and fix changenote
2023-10-16 13:02:28 +01:00
Joe Farebrother
9097d93ac7
Add shared library for filepath normalization
2023-10-13 17:07:47 +01:00
erik-krogh
fa1e8ee426
add getACodepoint to the shared Strings library, and use it in NfaUtils
2023-10-12 13:38:19 +02:00
erik-krogh
116025c569
use the new codePointAt and codePointCount methods instead of regex hacks
2023-10-12 13:38:19 +02:00
Henry Mercer
1a370bfbbe
Merge pull request #14443 from github/post-release-prep/codeql-cli-2.15.0
...
Post-release preparation for codeql-cli-2.15.0
2023-10-11 17:39:04 +01:00
github-actions[bot]
ae6af17c74
Post-release preparation for codeql-cli-2.15.0
2023-10-11 14:19:20 +00:00
Erik Krogh Kristensen
625e889c62
Merge pull request #14339 from erik-krogh/range-printing
...
JS/PY/RB/Java: escape unicode chars in overly-large-range
2023-10-09 14:22:38 +02:00
Edward Minnix III
8e653d01a8
Merge pull request #14127 from egregius313/egregius313/java/mad/localuserinput
...
Java: Convert implementations of `LocalUserInput` to Models-as-Data
2023-10-04 12:55:44 -04:00
github-actions[bot]
9fe993bec3
Release preparation for version 2.15.0
2023-10-04 14:15:27 +00:00
Ed Minnix
e122d81336
Add new source kinds for threat modeling
2023-10-03 22:29:00 -04:00
Henry Mercer
da92da2204
Bump minor versions of packs we regularly release
2023-10-03 16:31:23 +01:00
Henry Mercer
f3847b3f51
Merge branch 'main' into henrymercer/rc-3.11-mergeback
2023-10-03 16:30:23 +01:00
Tom Hvitved
2684a22484
Merge pull request #14255 from hvitved/dataflow/perf-improvements
...
Data flow: Performance improvements
2023-10-02 16:37:24 +02:00
Tom Hvitved
4fa93a077c
Address review comments
2023-10-02 09:03:12 +02:00
erik-krogh
5d4b542995
escape unicode chars in overly-large-range
2023-09-28 20:16:09 +02:00
Asger F
0d96ed8aee
Merge pull request #14305 from asgerf/shared/flow-state-inout-barriers
...
Shared: add in/out barriers with flow state
2023-09-28 11:07:23 +02:00
Anders Schack-Mulligen
80f00bcb0b
FileSystem: Improve regex by only matching once instead of 3x.
2023-09-28 08:58:55 +02:00
Anders Schack-Mulligen
cfd08f23a5
FileSystem: Fix qldoc.
2023-09-28 08:58:55 +02:00
Asger F
ba1f8766aa
Shared: update PartialPathNode accordingly
2023-09-27 14:38:28 +02:00
Asger F
6792592a15
Shared: add late checks for stateful in/out barriers
2023-09-27 14:38:28 +02:00
Taus
ff35f9fb8c
Shared: Clean up `NodeInfo` in shared extractor
...
I was perusing the shared extractor the other day, when I came across
the `NodeInfo` struct. I noticed that the `fields` and `subtypes` fields
on this struct had two seemingly identical ways of expressing the same
thing: `None` and `Some(empty)` (where `empty` is respectively the empty
map and the empty vector). As far as I can tell, there's no semantic
difference in either case, so we can just elide the option type entirely
and use the empty value directly. This has the nice side-effect of
cleaning up some of the other code.
2023-09-27 12:29:07 +00:00
Tom Hvitved
e7a3dc83bc
Data flow: Performance improvements
2023-09-26 20:42:03 +02:00
Asger F
6e869452b5
Shared: remove pragma[inline] implied by bindingset
2023-09-26 15:42:24 +02:00
Asger F
c7e892fa8e
Shared: change note
2023-09-26 15:24:29 +02:00
Asger F
cfed7e9b6c
Shared: add in/out barriers with flow state
2023-09-25 09:58:49 +02:00
Anders Schack-Mulligen
aa2c7a79d6
Dataflow: Add bindingset
2023-09-25 08:55:09 +02:00
Anders Schack-Mulligen
66da997b7b
Dataflow: Make use of defaults for language-specific hooks.
2023-09-22 14:54:22 +02:00
Anders Schack-Mulligen
7e04ac55b7
Merge pull request #14268 from aschackmull/java/xmlparsers-typetrack
...
Java/Dataflow: Add new light-weight data flow api and use it in XmlParsers
2023-09-21 13:33:21 +02:00
Anders Schack-Mulligen
13f7daf71e
Merge pull request #13982 from aschackmull/dataflow/typeflow-calledge-pruning
...
Dataflow: Add type-based call-edge pruning.
2023-09-21 13:33:08 +02:00
Anders Schack-Mulligen
3dadfa2243
Dataflow: review fixes
2023-09-21 11:52:41 +02:00
Anders Schack-Mulligen
d285afba08
Typetracking: minor perf fix.
2023-09-20 14:52:49 +02:00
github-actions[bot]
3acf5244b0
Post-release preparation for codeql-cli-2.14.6
2023-09-20 10:25:10 +00:00
Anders Schack-Mulligen
d7e965f863
Dataflow: Add lightweight api based on TypeTracking.
2023-09-20 10:21:21 +02:00
Anders Schack-Mulligen
d7bd8c7ffd
Shared/TypeTracking: Add support for flow from non-LocalSourceNode source and bugfix in smallstep.
2023-09-20 10:19:33 +02:00
Tom Hvitved
7c2df87ea2
Merge pull request #14247 from hvitved/dataflow/fix-consitency-checks
...
Data flow: Fix two consistency checks
2023-09-19 15:45:21 +02:00
github-actions[bot]
0a3670727f
Release preparation for version 2.14.6
2023-09-19 11:40:30 +00:00
Anders Schack-Mulligen
42054539f4
Dataflow: Minor review fixes.
2023-09-19 12:12:15 +02:00
Tom Hvitved
daad69bb30
Data flow: Fix two consistency checks
2023-09-18 16:36:11 +02:00
Anders Schack-Mulligen
b13d026434
Dataflow: Review fixes.
2023-09-18 13:15:26 +02:00
erik-krogh
9c0682848e
use final class aliases to use `extends` instead of `instanceof` in the shared libraries
2023-09-18 10:25:49 +02:00
Anders Schack-Mulligen
74787bfba8
Dataflow: One more minor perf tweak.
2023-09-13 15:43:46 +02:00
Anders Schack-Mulligen
b63d518114
Dataflow: Minor perf tweak.
2023-09-13 15:43:46 +02:00
Anders Schack-Mulligen
b456ba217a
Dataflow: Improve rev-to-fwd call edge pruning.
2023-09-13 15:43:46 +02:00
Anders Schack-Mulligen
f456bf8d57
Dataflow: Add change note.
2023-09-13 15:43:46 +02:00
Anders Schack-Mulligen
13e7e6b983
Dataflow: Improve fwd-taken call edge predicate and improve fwd-to-rev call edge pruning.
2023-09-13 15:43:46 +02:00
Anders Schack-Mulligen
47f68504a8
Dataflow: Postpone typeflow calledge pruning until stage 3.
2023-09-13 15:43:46 +02:00
Anders Schack-Mulligen
c8094d34a7
Dataflow: Add type-based call-edge pruning.
2023-09-13 15:43:45 +02:00
Tom Hvitved
c13a8e41ad
Data flow: Add more consistency checks
2023-09-12 20:05:05 +02:00
github-actions[bot]
d699880c86
Post-release preparation for codeql-cli-2.14.4
2023-09-08 21:17:52 +00:00
github-actions[bot]
abf2b12b1c
Release preparation for version 2.14.4
2023-09-05 16:56:14 +00:00
Tom Hvitved
73370e7282
Merge pull request #14100 from hvitved/dataflow/consistency-pack
...
Data flow: Add consistency checks to shared ql pack
2023-08-31 11:47:40 +02:00
Asger F
2d5c40db31
Merge pull request #14048 from asgerf/shared/variable-capture-write-source-node
...
Variable capture: allow arbitrary data-flow nodes to be the source of a write
2023-08-31 10:20:48 +02:00
Tom Hvitved
de7c9bdd9b
Data flow: Add consistency checks to shared ql pack
2023-08-30 15:29:41 +02:00
Tom Hvitved
c32c4bb6d2
Merge pull request #14086 from hvitved/csharp/perf-fixes
...
C#: Various performance fixes
2023-08-30 12:13:52 +02:00
yoff
ae4c76c788
Merge pull request #13975 from yoff/python/parsemodechars-not-chars
2023-08-29 14:05:57 +02:00
Tom Hvitved
1ac9d2ee5b
CFG: Compute `splitsToString` using `concat`, and exclude partial split sets
2023-08-29 11:23:56 +02:00
Jeroen Ketema
0d1fd88729
Merge pull request #14050 from jketema/inline-6
...
Consolidate all `InlineFlowTest` libraries in the dataflow qlpack
2023-08-29 09:30:35 +02:00
Dave Bartolomeo
3343b78015
Merge pull request #14074 from github/post-release-prep/codeql-cli-2.14.3
...
Post-release preparation for codeql-cli-2.14.3
2023-08-28 13:34:10 -04:00
github-actions[bot]
3eba77421a
Post-release preparation for codeql-cli-2.14.3
2023-08-28 15:53:49 +00:00
Tom Hvitved
42fd9f0c54
Merge pull request #14047 from hvitved/dataflow/join-fix
...
Data flow: Fix a bad join order
2023-08-25 12:18:24 +02:00
Jeroen Ketema
9d573e5544
Consolidate all `InlineFlowTest` libraries in the dataflow qlpack
2023-08-24 21:38:46 +02:00
Rasmus Lerchedahl Petersen
e9e6bce80a
shared: handle empty groups in delta
2023-08-24 21:21:49 +02:00
Asger F
6c664e93ef
Merge pull request #14035 from asgerf/shared/variable-capture-nested
...
Variable capture: synchronize with aliases in nested scopes
2023-08-24 15:39:34 +02:00
Asger F
cd7c851d64
VariableCapture: add VariableWriteSourceNode
2023-08-24 14:06:44 +02:00
Asger F
1286235773
Address review comments
2023-08-24 13:58:33 +02:00
Erik Krogh Kristensen
59de92ce64
Merge pull request #14027 from erik-krogh/py-reg-app
...
ReDoS: limit concretize to strings of at most length 100
2023-08-24 12:57:42 +02:00
Tom Hvitved
f2eed4d8c4
Data flow: Fix a bad join order
...
Before
```
Evaluated relational algebra for predicate DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::flowThroughIntoCall#6#ffffff@0ea4e2mt with tuple counts:
1065437 ~0% {4} r1 = SCAN project#DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::fwdFlow#9#fffffffff#2 OUTPUT In.0, In.3, In.1, In.2
1158508760 ~0% {6} r2 = JOIN r1 WITH project#DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::flowIntoCallApa#6#ffffff_14023#join_rhs ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Rhs.2, Rhs.3, Rhs.4
{6} r3 = SELECT r2 ON In.5 != false
1158470345 ~4% {6} r4 = SCAN r3 OUTPUT In.4, In.1, In.2, In.0, In.3, In.5
{6} r5 = SELECT r2 ON In.5 = false
38415 ~0% {5} r6 = SCAN r5 OUTPUT In.2, In.0, In.1, In.3, In.4
4 ~0% {5} r7 = JOIN r6 WITH DataFlowImplCommon#f7de413b::MakeImplCommon#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Cached::TApproxFrontNil#f ON FIRST 1 OUTPUT Lhs.4, Lhs.2, Lhs.0, Lhs.1, Lhs.3
4 ~0% {6} r8 = SCAN r7 OUTPUT In.0, In.1, In.2, In.3, In.4, false
1158470349 ~4% {6} r9 = r4 UNION r8
44065 ~3% {6} r10 = JOIN r9 WITH project#DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::returnFlowsThrough#8#ffffffff ON FIRST 3 OUTPUT Lhs.4, Lhs.3, Lhs.0, Lhs.5, Lhs.2, Rhs.3
return r10
```
After
```
Evaluated relational algebra for predicate DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::flowThroughIntoCall#6#ffffff@979c54q9 with tuple counts:
11095 ~0% {4} r1 = SCAN project#DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::returnFlowsThrough#8#ffffffff OUTPUT In.0, In.3, In.1, In.2
470154 ~1% {8} r2 = JOIN r1 WITH project#DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::flowIntoCallApa#6#ffffff_20134#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2, Lhs.3, Rhs.1, Rhs.2, Rhs.3, Rhs.4
{8} r3 = SELECT r2 ON In.6 != false
470152 ~0% {8} r4 = SCAN r3 OUTPUT In.5, In.2, In.3, In.7, In.0, In.1, In.4, In.6
{8} r5 = SELECT r2 ON In.6 = false
2 ~0% {7} r6 = SCAN r5 OUTPUT In.3, In.0, In.1, In.2, In.4, In.5, In.7
0 ~0% {7} r7 = JOIN r6 WITH DataFlowImplCommon#f7de413b::MakeImplCommon#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Cached::TApproxFrontNil#f ON FIRST 1 OUTPUT Lhs.5, Lhs.3, Lhs.0, Lhs.6, Lhs.1, Lhs.2, Lhs.4
0 ~0% {8} r8 = SCAN r7 OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, In.6, false
470152 ~0% {8} r9 = r4 UNION r8
44065 ~3% {6} r10 = JOIN r9 WITH project#DataFlowImpl#248dabc3::MakeImpl#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Impl#DataFlow#167ac380::DataFlowMake#DataFlowImplSpecific#21008cd7::RubyDataFlow#::Global#XSS#e59174e9::OrmTracking::Config#::C#::MkStage#Stage2#::Stage#Stage3Param#::fwdFlow#9#fffffffff#2 ON FIRST 4 OUTPUT Lhs.6, Lhs.0, Lhs.5, Lhs.7, Lhs.2, Lhs.4
return r10
```
2023-08-24 12:08:34 +02:00
Tom Hvitved
7723dbc6d7
Merge pull request #14026 from hvitved/dataflow/stage3-call-ctx
...
Data flow: Use call contexts in stage 3
2023-08-24 11:52:08 +02:00
Asger F
b424f3fe83
Update a comment to be more accurate
2023-08-24 11:12:39 +02:00
erik-krogh
db2b8d4bcc
remove some test code I accidentially commited
2023-08-24 07:56:05 +02:00
Harry Maclean
b76842ad3d
Shared: Fix clippy lint
2023-08-23 16:24:57 +01:00
Harry Maclean
3680613f2d
Shared: Restrict extractor file globs to filenames
2023-08-23 16:09:56 +01:00
Harry Maclean
cc7ef5dac1
Shared: Fix clippy lint in shared extractor
2023-08-23 14:11:22 +01:00
Harry Maclean
ed40d72e4f
Shared: Bump extractor version
2023-08-23 14:11:22 +01:00
Harry Maclean
7e2abf20c6
Shared: Support glob patterns in shared extractor
...
Replace the `file_extensions` field with `file_globs`, which supports
UNIX style glob patterns powered by the `globset` crate.
This allows files with no extension (e.g. Dockerfiles) to be extracted,
by specifying a glob such as `*Dockerfile`.
One surprising aspect of this change is that the globs match against the
whole path, rather than just the file name.
This is a breaking change.
2023-08-23 14:11:21 +01:00
Asger F
8aec87ea57
Update VariableCapture.qll
2023-08-23 14:57:26 +02:00
erik-krogh
25e4f2c3a2
limit concretize to strings of at most length 100
2023-08-23 10:26:29 +02:00
Tom Hvitved
3810b796a0
Data flow: Use call contexts in stage 3
2023-08-23 10:05:57 +02:00
Tom Hvitved
12d1d04592
Merge pull request #13983 from hvitved/dataflow/reduced-dispatch-early-join
...
Data flow: Earlier call-context based dispatch filtering
2023-08-21 13:20:08 +02:00
Tom Hvitved
1b4520b058
Data flow: Update QL doc
2023-08-21 12:56:37 +02:00
Jeroen Ketema
2d0f73d7c2
Merge pull request #13881 from jketema/shared-taint-tracking
...
Introduce shared taint tracking library
2023-08-21 12:45:49 +02:00
github-actions[bot]
098dfb4242
Release preparation for version 2.14.3
2023-08-18 14:48:15 +00:00
Tom Hvitved
81ed72c96a
Data flow: Revert join order changes
2023-08-18 10:49:33 +02:00
Tom Hvitved
4d951d8df1
Address review comments
2023-08-17 21:04:58 +02:00
Ed Minnix
a36c12ff1f
Add trust-boundary-violation sink kind
2023-08-17 13:05:37 -04:00
Tom Hvitved
7cc01ea8b5
Merge pull request #13595 from hvitved/csharp/use-shared-cfg-pack
...
C#: Adopt shared CFG construction library from shared `controlflow` pack
2023-08-17 10:37:09 +02:00