Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
a8b2805
Merge pull request #8246 from ihsinme/ihsinme-patch-82
jketema Mar 11, 2022
2f68866
JS: Bump minor version of ML-powered library and query packs
github-actions[bot] Mar 11, 2022
b63b675
RB: add explicit-this
erik-krogh Mar 11, 2022
a5a82a0
JS: remove accidential copy-pasted change-note
erik-krogh Mar 11, 2022
2e29701
fix typo in change-note
erik-krogh Mar 11, 2022
7ac7657
JS: Bump patch version of ML-powered library and query packs post-rel…
github-actions[bot] Mar 11, 2022
1e36561
fix all other implicit-this warnings introduced by the acronym patch
erik-krogh Mar 11, 2022
579b57c
Range analysis: use ranked phi nodes
smowton Mar 11, 2022
496cae7
Revert 8325, Add CharacterLiteral to CompileTimeConstantExpr.getStrin…
smowton Mar 11, 2022
58d4513
Change note
smowton Mar 11, 2022
cf4b834
Address comments
aibaars Mar 11, 2022
c49d19e
Merge pull request #8407 from smowton/smowton/admin/revert-8325
atorralba Mar 11, 2022
757aa29
Update ruby/ql/lib/codeql/ruby/ast/internal/Scope.qll
alexrford Mar 11, 2022
14e0d38
add a ql/path-problem-query query
erik-krogh Mar 11, 2022
fa37ece
Merge pull request #8408 from erik-krogh/pathProblem
erik-krogh Mar 11, 2022
808cc9c
Merge pull request #8396 from alexrford/ruby/charpred-only-field
alexrford Mar 11, 2022
5c04516
Merge pull request #8390 from redsun82/remove-unique-from-uuid
Mar 11, 2022
50ff2c2
Code cleanup from code review
JLLeitschuh Mar 11, 2022
e1f9eca
Update check-qldoc.yml
aibaars Mar 11, 2022
7da0889
Update check-qldoc.yml
aibaars Mar 11, 2022
06f2c03
Add tests
joefarebrother Mar 10, 2022
594d51e
Exclude constants
joefarebrother Mar 11, 2022
b924de6
Add change note, minor docs improvement
joefarebrother Mar 11, 2022
f59f36b
Use RUNNER_TEMP instead of runner.temp
aibaars Mar 11, 2022
ee67d27
Java: Add JDBC connection SSRF sinks
Nov 14, 2021
9cf0a94
use some Sanitizer classes that were unused in the query code
erik-krogh Mar 13, 2022
4fc85a7
deprecate DefiningIdentifier, it was not used in any query
erik-krogh Mar 13, 2022
5e52a71
remove test .qll files that weren't imported
erik-krogh Mar 13, 2022
c0a63be
deprecate unused document predicates in DOM.qll
erik-krogh Mar 13, 2022
cc231fe
deprecate some unused predicate in DefUse.qll
erik-krogh Mar 13, 2022
8f86b06
deprecate the unused localTaintStep and stringStep predicates
erik-krogh Mar 13, 2022
1db759c
Update InsecureTemporaryFile.ql
ihsinme Mar 14, 2022
de92356
Update InsecureTemporaryFile.expected
ihsinme Mar 14, 2022
62381d0
Update test.cpp
ihsinme Mar 14, 2022
06b8f74
C#: Avoid combinatorial explosion in structural comparison library
hvitved Mar 14, 2022
5476008
add pointers to the qldoc of deprecated predicates
erik-krogh Mar 14, 2022
6d66ea4
also deprecate the definitionReaches predicate, it was only used in a…
erik-krogh Mar 14, 2022
c832b21
Add change notes for changes to the taint tracking library
jketema Mar 14, 2022
bbb2847
Merge pull request #8323 from erik-krogh/acronyms
erik-krogh Mar 14, 2022
c063364
add change note
erik-krogh Mar 14, 2022
7d6700a
Merge branch 'main' into depMore
erik-krogh Mar 14, 2022
4f0d4ec
QL: add no-uppercase-variables query
erik-krogh Mar 11, 2022
83f26eb
rename all upper-case variables to start with a lower-case letter
erik-krogh Mar 11, 2022
02127b4
PY: fix all ql/no-upper-case-variables
erik-krogh Mar 11, 2022
8515a70
JS: fix all ql/no-upper-case-variables
erik-krogh Mar 11, 2022
2f4a22c
Merge pull request #6112 from jorgectf/jorgectf/python/deserialization
RasmusWL Mar 14, 2022
31b1e40
C++: Prevent join-on-enclosing-callable in 'cpp/return-stack-allocate…
MathiasVP Mar 14, 2022
4c2081b
Merge pull request #8401 from jketema/taint-flow
jketema Mar 14, 2022
0da5d91
Merge branch 'main' into use-taint-configuration-in-three-more-queries
MathiasVP Mar 14, 2022
ad2ab56
PY: rename remaining private python modules
erik-krogh Mar 14, 2022
a4525bb
add change-note
erik-krogh Mar 14, 2022
aada8d3
Merge pull request #8405 from smowton/smowton/fix/range-analysis-use-…
smowton Mar 14, 2022
27d41cb
QL: add ql/dead-code query
erik-krogh Mar 11, 2022
7c411b4
C++: Respond to review comments
MathiasVP Mar 14, 2022
3bf5e06
delete all dead code
erik-krogh Mar 14, 2022
2250ebc
remove leftover comments
erik-krogh Mar 12, 2022
548e50c
QL: add quick-eval predicate to detect unqueryable code
erik-krogh Mar 12, 2022
f83ea25
Add change note
smowton Mar 14, 2022
7c4f9f9
Merge pull request #8422 from erik-krogh/depMore
erik-krogh Mar 14, 2022
689f3c0
update some references to deprecated module names
erik-krogh Mar 14, 2022
a1c6426
Java: Re-arrange code in ModelGeneratorUtils.
michaelnebel Mar 3, 2022
a2d9f4f
Java: Introduce language specific file for model generator code.
michaelnebel Mar 3, 2022
9ca199c
Java: Move generic code out of language specific file for model gener…
michaelnebel Mar 3, 2022
9c6ed0a
C#: Add TargetAPI class.
michaelnebel Mar 3, 2022
81c8cac
C#: Add partial model printer for TargetApi class.
michaelnebel Mar 3, 2022
2b90b5f
C#: Add isRelevant predicates.
michaelnebel Mar 3, 2022
dadc143
C#: Add printer predicates for parameter and return nodes.
michaelnebel Mar 3, 2022
6259ecf
C#: Add copy of shared functionality.
michaelnebel Mar 3, 2022
b351d5b
Autoformat
smowton Mar 14, 2022
ba233ed
Java: Rearrange and refactor language specific content into standalon…
michaelnebel Mar 3, 2022
82d93d0
Java: Refactor CaptureSummaryModels code to enable re-use in C#.
michaelnebel Mar 4, 2022
e5cce6c
C#: Add initial implementation of specific predicates needed to captu…
michaelnebel Mar 4, 2022
31a374a
C#: Add copy of the shared CaptureSummaryModels logic.
michaelnebel Mar 4, 2022
b08e696
C#: Add query.
michaelnebel Mar 4, 2022
20cbd6b
Java/C#: Include the share files in sync files.
michaelnebel Mar 4, 2022
75b4632
C#: Add test query.
michaelnebel Mar 4, 2022
4d46b58
C#: Add some initial examples.
michaelnebel Mar 4, 2022
8d2593b
C#: Add expected output from running the test.
michaelnebel Mar 4, 2022
d114582
C#: Add QLDoc to the shared Capture summary models library.
michaelnebel Mar 9, 2022
e8aacb7
C#: Add file level QL Doc to Capture Summary models specific implemen…
michaelnebel Mar 9, 2022
36e0c68
C#: Add QL Doc to the primary predicate used for capturing flow.
michaelnebel Mar 9, 2022
94a840e
C#: Add some more testcases for flow summary generation.
michaelnebel Mar 9, 2022
34a91f1
C#: Rename CaptureSummaryModelsQuery to CaptureSummaryModels.
michaelnebel Mar 9, 2022
0bf4ce7
Merge pull request #8427 from MathiasVP/fix-bad-join-in-return-stack-…
MathiasVP Mar 14, 2022
cd03af3
C#: Get rid of the isOwnInstanceAccess based on ReturnStmt.
michaelnebel Mar 9, 2022
d881d31
C#: Remove comma from QL Doc.
michaelnebel Mar 9, 2022
5d03e51
C#/Java: Include synthetic fields in isRelevantContent.
michaelnebel Mar 9, 2022
665e3c9
C#: Re-factor containerContent into standalone predicate in DataFlow …
michaelnebel Mar 9, 2022
2476e71
C#: Move the isRelevantTaintStep and isRelevantContent into the share…
michaelnebel Mar 9, 2022
3ad9731
C#/Java: Add some more QL docs.
michaelnebel Mar 10, 2022
12ff2c6
C#/Java: Improve comments in CaptureSummaryModels.
michaelnebel Mar 14, 2022
b7803ef
C#: Introduce SyntheticFieldContent in RelevantContent.
michaelnebel Mar 14, 2022
48dc9d7
C#/Java: Move containerContent to DataFlowPrivate.
michaelnebel Mar 14, 2022
7435292
C#/Java: Remove inline from returnNodeEnclosingCallable.
michaelnebel Mar 14, 2022
21bcaf6
C#/Java: After remaining code after rebase.
michaelnebel Mar 14, 2022
e4b762b
Improve qldoc; make taint tracking
joefarebrother Mar 14, 2022
50b7776
C++: Port the 'predictable' barrier from 'DefaultTaintTracking' to 'c…
MathiasVP Mar 14, 2022
ca8237b
Make comment into qldoc
smowton Mar 14, 2022
9f02ca0
Merge pull request #8357 from p0wn4j/jdbc-url-ssrf-sink
smowton Mar 14, 2022
7593eba
C++: Use 'getAstVariable' now that 'getASTVariable' is deprecated.
MathiasVP Mar 14, 2022
93fcfc3
QL: use negative char classes to generalize query to detect e.g. unde…
erik-krogh Mar 14, 2022
8798787
QL: use an/a correctly in the alert message
erik-krogh Mar 14, 2022
8c28b93
QL: rename query to ql/name-casing
erik-krogh Mar 14, 2022
8b1b2af
JS: Remove `isEffectiveSinkWithOverridingScore`
henrymercer Mar 14, 2022
d4b5eed
Merge pull request #8410 from joefarebrother/sensitive-logging
joefarebrother Mar 14, 2022
c93f29b
fix typo in change note
erik-krogh Mar 14, 2022
bcdbfef
Merge pull request #8329 from michaelnebel/csharp/model-generator
michaelnebel Mar 14, 2022
6bd9616
Ruby: interpret string escape sequences in getConstantValue()
nickrolfe Feb 21, 2022
6c5868c
Ruby: use NumberUtils in parseInteger
nickrolfe Feb 22, 2022
a39aed5
Ruby: add more tests for edge cases in parsing of integers
nickrolfe Feb 22, 2022
2a892c3
Ruby: add change note for getConstantValue improvements
nickrolfe Feb 22, 2022
488c8ef
Ruby: accept test changes after adding more literals
nickrolfe Feb 22, 2022
c9d7651
Be explicit about re-exporting
asgerf Mar 14, 2022
37bbd46
Ruby: fix broken comment
asgerf Mar 14, 2022
072ad8f
Ruby: add (from model) to remote flow description
asgerf Mar 14, 2022
be65b9b
Ruby: remove spurious Instance token from getExtraSuccessorFromInvoke
asgerf Mar 14, 2022
fee32d3
Elaborate on qldoc for API::EntryPoint
asgerf Mar 14, 2022
03f3535
Added MissingSecuritySeverity query
atorralba Mar 14, 2022
5102cad
Merge pull request #8404 from github/codeql-ci/js-atm-new-release
henrymercer Mar 14, 2022
d3d20c6
Merge pull request #8425 from hvitved/csharp/structural-comparision-fix
hvitved Mar 14, 2022
6a74e76
Merge pull request #8398 from github/post-release-prep/codeql-cli-2.8.3
aibaars Mar 14, 2022
195ce9c
add some API-nodes to js/disabling-certificate-validation
erik-krogh Mar 14, 2022
3311fed
Merge pull request #8365 from aibaars/qldoc-test
aibaars Mar 14, 2022
b10adfc
Add changed framework coverage reports
github-actions[bot] Mar 15, 2022
f28acbf
Ruby: autoformat
asgerf Mar 15, 2022
d89c52f
Merge pull request #8403 from erik-krogh/noUpper
jbj Mar 15, 2022
18165cb
Exclude examples folder
atorralba Mar 15, 2022
c7509c4
Merge branch 'main' into deadCode
erik-krogh Mar 15, 2022
65249da
Ruby: add warning for wrong number of columns in CSV row
asgerf Mar 15, 2022
97ca115
JS: Sync ApiGraphModels.qll and test
asgerf Mar 15, 2022
7e0e7d5
Merge branch 'main' into use-taint-configuration-in-three-more-queries
MathiasVP Mar 15, 2022
82b2fd2
Exclude queries without precision
atorralba Mar 15, 2022
7f82056
Ruby: verify tokens in identifying access path
asgerf Mar 15, 2022
a19f06f
JS: Port checks to JS
asgerf Mar 15, 2022
fd4c9fd
Cover a missing `@tag security` when `@security-severity` is used
atorralba Mar 15, 2022
8275063
JS: Verify models even if package is not used in database
asgerf Mar 15, 2022
d628dc0
Ruby: sync ApiGraphModels.qll
asgerf Mar 15, 2022
6f484d3
Merge pull request #8440 from github/workflow/coverage/update
atorralba Mar 15, 2022
f38b498
Merge pull request #8433 from github/henrymercer/js-atm-remove-isEffe…
henrymercer Mar 15, 2022
6d54142
Merge pull request #8437 from atorralba/atorralba/missing-security-se…
atorralba Mar 15, 2022
e4a16cc
Add security severity
joefarebrother Mar 15, 2022
9642e59
Merge pull request #8382 from MathiasVP/use-taint-configuration-in-th…
MathiasVP Mar 15, 2022
7337ebd
C++: Add missing 'security-severity' tags.
MathiasVP Mar 15, 2022
9a0e94f
Add flow state versions of isBarrierIn, isBarrierOut, and isBarrierGuard
jketema Mar 14, 2022
157a36b
Use node variable in all disjuncts
jketema Mar 15, 2022
8acd8ea
Merge pull request #8446 from joefarebrother/sensitive-logging
joefarebrother Mar 15, 2022
9f014be
Merge pull request #8447 from MathiasVP/add-missing-security-severity
MathiasVP Mar 15, 2022
451661d
Improve guard class names
smowton Mar 15, 2022
154d017
Merge pull request #8438 from erik-krogh/apiDisable
erik-krogh Mar 15, 2022
3067231
Merge pull request #8253 from erik-krogh/domWrite
erik-krogh Mar 15, 2022
739d94e
Add docstring to `ExtractEndpointMapping.ql`
Mar 15, 2022
5458243
QL: recognize the names defined by import as statements
erik-krogh Mar 15, 2022
89af50f
rename all lower-case import-as statements
erik-krogh Mar 15, 2022
57db763
C#: make csharp import private
erik-krogh Mar 15, 2022
b0fc958
simplify imports
erik-krogh Mar 15, 2022
a08246a
Merge pull request #8448 from github/annarailton-patch-1
Mar 15, 2022
0575818
Merge pull request #7884 from rdmarsh2/rdmarsh2/template-implicit-cop…
MathiasVP Mar 15, 2022
57922f5
Merge pull request #8424 from ihsinme/ihsinme-patch-fix077
MathiasVP Mar 15, 2022
09cc8ee
Add tests for StandardSystemProperty
JLLeitschuh Mar 15, 2022
b45f56a
Merge pull request #8431 from erik-krogh/deadCode
erik-krogh Mar 15, 2022
1a1c34e
C++: Handle C11 _Noreturn in DefaultOptions
jketema Mar 14, 2022
638b2ca
C++: Add change note on _Noreturn/noreturn in C11
jketema Mar 14, 2022
2894bb0
C++: Use correct change note file name format
jketema Mar 14, 2022
8be02b1
C++: Add IR tests exposing incorrect translation due to unhandled bit…
jketema Mar 4, 2022
d51cbe2
C++: Update IR tests for handling of bitwise copy with explicit source
jketema Mar 4, 2022
2442bea
add missing severities to JS queries
erik-krogh Mar 16, 2022
d47b0a6
exclude tests from ql/missing-security-metadata
erik-krogh Mar 16, 2022
ecf7073
Shared: codeql -> ql in code blocks
asgerf Mar 16, 2022
33ca557
Ruby: EntryPoint.getNode -> getANode
asgerf Mar 16, 2022
3729314
Merge pull request #8428 from jketema/noreturn
jketema Mar 16, 2022
cd9d61c
Merge pull request #8450 from erik-krogh/importAs
erik-krogh Mar 16, 2022
1a85002
Ruby: update date in changenote filename
nickrolfe Mar 16, 2022
b11340c
Change note tense and detail level
smowton Mar 16, 2022
82ef2a1
Merge pull request #8164 from github/nickrolfe/escape_sequences
nickrolfe Mar 16, 2022
f53df25
Merge pull request #8459 from erik-krogh/addSeverities
erik-krogh Mar 16, 2022
d8b4bc8
JS: Rename EntryPoint.getNode -> getANode
asgerf Mar 16, 2022
2b02a17
Ruby: canonicalize callables based on package;type;path instead of in…
asgerf Mar 16, 2022
f140c13
JS: Sync ApiGraphModels.qll and update accordingly
asgerf Mar 16, 2022
7691823
Ruby: test ExprCfgNode::getConstantValue()
nickrolfe Mar 10, 2022
852f05b
Address comment
aibaars Mar 16, 2022
ab93b37
Merge remote-tracking branch 'upstream/main' into incomplete-hostname
aibaars Mar 16, 2022
6b323ee
Update expected output
aibaars Mar 16, 2022
71f195d
Ruby: add test for Receiver in summary
asgerf Mar 16, 2022
c935509
Ruby: Use Receiver instead of Argument[-1] in ActiveStorage
asgerf Mar 16, 2022
94ce578
Ruby: implement getComponent(n) for simple and hash-key symbols
nickrolfe Mar 11, 2022
2ca45ef
Ruby: support BlockArgument in identifying access path
asgerf Mar 16, 2022
f6681f3
Merge pull request #8399 from github/nickrolfe/simple_symbol_constant…
nickrolfe Mar 16, 2022
1025400
Shared: remove documentation prone to falling out of date
asgerf Mar 16, 2022
e3fbaf5
Shared: prefer exists(var) instead of var = any(string s)
asgerf Mar 16, 2022
8cef512
Ruby: ensure ApiGraphs.qll imports its entry points
asgerf Mar 16, 2022
5f7b5ec
C#: Fix bad join order in returnNodeAsOutput.
michaelnebel Mar 16, 2022
e168da4
Shared: make a predicate private
asgerf Mar 16, 2022
2285701
Merge branch 'main' into ruby/mad-prototype
asgerf Mar 16, 2022
e669ffa
Merge pull request #8320 from jketema/structured-binding-array
Mar 16, 2022
e1976da
JS: Autoformat
asgerf Mar 16, 2022
68f24cd
Merge pull request #8462 from michaelnebel/csharp/capture-models-fix-…
michaelnebel Mar 16, 2022
7a9a9d8
Merge pull request #8435 from jketema/all-the-barriers
jketema Mar 16, 2022
1a51f0c
Ruby: regex: fix getGroupNumber
aibaars Mar 16, 2022
2d9d383
remove unused import
erik-krogh Mar 1, 2022
559f03e
remove unnecessary module qualifier
erik-krogh Mar 1, 2022
fc79242
add tests
erik-krogh Mar 1, 2022
67e6a4c
add a `isXSSSink` predicate to the client-side-url-redirection sinks
erik-krogh Mar 1, 2022
2576e1f
add utility predicate to get client-side remote-flow-sources that con…
erik-krogh Mar 1, 2022
b471fec
split `interpretsArgumentsAsURL` out of `interpretsArgumentsAsHTML`, …
erik-krogh Mar 1, 2022
87842bb
add client-side-url sinks that may execute JavaScript as XSS sinks
erik-krogh Mar 1, 2022
f083e87
refactor the `js/xss` query to use three flowlabels and one configura…
erik-krogh Mar 1, 2022
562dce5
rename `isXSSSink` to `isXssSink`
erik-krogh Mar 4, 2022
b3de5d9
move `PrefixStringSanitizer` to the Query.qll file, and have it exten…
erik-krogh Mar 4, 2022
d8a5947
simplify TaintedUrlSuffix::source() to only consider window.location …
erik-krogh Mar 4, 2022
6cdc387
update expected output
erik-krogh Mar 15, 2022
aa8b7c8
update reference to deprecated class name
erik-krogh Mar 16, 2022
86398a8
Merge pull request #8304 from erik-krogh/xssUrl
erik-krogh Mar 17, 2022
fe94421
rename redundant-inline-cast to redundant-cast
erik-krogh Mar 17, 2022
870521b
Merge pull request #8473 from erik-krogh/redundantAnyCast
erik-krogh Mar 17, 2022
4df12dc
Data flow: State-changing taint steps should not be stepped over by t…
hvitved Mar 17, 2022
79ea2a3
Data flow: Sync files
hvitved Mar 17, 2022
abe3045
Python: Accept test changes.
MathiasVP Mar 14, 2022
8c6ca65
JS: Add test showing missing flow
asgerf Mar 17, 2022
8753632
JS: Fix bug in reachableFromStoreBase
asgerf Mar 17, 2022
8bf1729
Merge pull request #8474 from hvitved/flow-state-changing-steps-shoul…
MathiasVP Mar 18, 2022
929419a
Merge pull request #8254 from asgerf/ruby/mad-prototype
asgerf Mar 18, 2022
26b7edc
JS: Change note
asgerf Mar 18, 2022
7674535
Merge pull request #8032 from JLLeitschuh/feat/JLL/check_os
smowton Mar 18, 2022
6d24591
Revert "Python: switch to shared implementation of IncompleteHostname…
aibaars Mar 18, 2022
431b605
Merge remote-tracking branch 'upstream/main' into incomplete-hostname
aibaars Mar 18, 2022
459870a
C++: Add additional command line injection tests
jketema Mar 18, 2022
4a27928
Ruby/JS add missing ^ in qhelp
aibaars Mar 18, 2022
d97eaba
Ruby: Add dataflow/taintracking copies for use in libraries
hvitved Mar 4, 2022
1437aef
Ruby: Use taint tracking instead of type tracking to define `regExpSo…
hvitved Mar 4, 2022
117fb5b
Merge pull request #7917 from aibaars/incomplete-hostname
aibaars Mar 18, 2022
d37ef1b
C++: Add command line injection test that currently results in a fals…
jketema Mar 18, 2022
beef8e2
Merge pull request #8332 from hvitved/ruby/regexp-taint-flow
aibaars Mar 18, 2022
4bf35ad
Merge pull request #8483 from jketema/command-line-injection-test-cas…
Mar 18, 2022
b04c46f
Merge pull request #8478 from asgerf/js/store-load-flow-context-sensi…
codeql-ci Mar 21, 2022
c891c53
Merge pull request #8395 from alexrford/ruby/clear-text-storage
alexrford Mar 21, 2022
dedc8c2
Release preparation for version 2.8.4
invalid-email-address Mar 21, 2022
1f8ce3a
Java: Tweak release notes
igfoo Mar 21, 2022
e41bbfd
Merge pull request #8510 from github/release-prep/2.8.4
igfoo Mar 21, 2022
a3e74ef
Post-release preparation for codeql-cli-2.8.4
invalid-email-address Mar 21, 2022
ec82fb1
Ruby: Fix bad join-order in `RegExpTerm::hasLocationInfo`
hvitved Mar 23, 2022
fe50c28
Ruby: Rework `getConstantValue` implementation
hvitved Mar 18, 2022
15ef8c1
Ruby: Cache `ConstantReadAccess::getValue`
hvitved Mar 22, 2022
f429daf
Address review comments
hvitved Mar 23, 2022
3c50987
Merge pull request #8590 from hvitved/ruby/rc-perf-picks
hvitved Mar 30, 2022
46c27dd
Merge pull request #8514 from github/post-release-prep/codeql-cli-2.8.4
igfoo Mar 30, 2022
da39c9f
C++: Fix bad magic.
MathiasVP Mar 30, 2022
dc88f71
C++: Fix join order.
MathiasVP Mar 30, 2022
f2beb9e
Merge pull request #8622 from MathiasVP/fix-cpp-performance
jketema Apr 1, 2022
ee746d2
Release preparation for version 2.8.5
invalid-email-address Apr 1, 2022
4551af9
Merge pull request #8640 from github/release-prep/2.8.5
igfoo Apr 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
33 changes: 27 additions & 6 deletions .codeqlmanifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
{ "provide": [ "*/ql/src/qlpack.yml",
"*/ql/test/qlpack.yml",
"*/ql/examples/qlpack.yml",
"*/upgrades/qlpack.yml",
"misc/legacy-support/*/qlpack.yml",
"misc/suite-helpers/qlpack.yml" ] }
{
"provide": [
"*/ql/src/qlpack.yml",
"*/ql/lib/qlpack.yml",
"*/ql/test/qlpack.yml",
"*/ql/examples/qlpack.yml",
"*/ql/consistency-queries/qlpack.yml",
"cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/qlpack.yml",
"javascript/ql/experimental/adaptivethreatmodeling/lib/qlpack.yml",
"javascript/ql/experimental/adaptivethreatmodeling/modelbuilding/qlpack.yml",
"javascript/ql/experimental/adaptivethreatmodeling/src/qlpack.yml",
"csharp/ql/campaigns/Solorigate/lib/qlpack.yml",
"csharp/ql/campaigns/Solorigate/src/qlpack.yml",
"csharp/ql/campaigns/Solorigate/test/qlpack.yml",
"misc/legacy-support/*/qlpack.yml",
"misc/suite-helpers/qlpack.yml",
"ruby/extractor-pack/codeql-extractor.yml",
"ql/extractor-pack/codeql-extractor.yml"
],
"versionPolicies": {
"default": {
"requireChangeNotes": true,
"committedPrereleaseSuffix": "dev",
"committedVersion": "nextPatchRelease"
}
}
}
7 changes: 6 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
{
"extensions": [
"rust-lang.rust",
"bungcip.better-toml",
"github.vscode-codeql",
"slevesque.vscode-zipexplorer"
],
"settings": {
"codeQL.experimentalBqrsParsing": true
"files.watcherExclude": {
"**/target/**": true
},
"codeQL.runningQueries.memory": 2048
}
}
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,17 @@
*.gif -text
*.dll -text
*.pdb -text

java/ql/test/stubs/**/*.java linguist-generated=true
java/ql/test/experimental/stubs/**/*.java linguist-generated=true

# For some languages, upgrade script testing references really old dbscheme
# files from legacy upgrades that have CRLF line endings. Since upgrade
# resolution relies on object hashes, we must suppress line ending conversion
# for those testing dbscheme files.
*/ql/lib/upgrades/initial/*.dbscheme -text

# Generated test files - these are synced from the standard JavaScript libraries using
# `javascript/ql/experimental/adaptivethreatmodeling/test/update_endpoint_test_files.py`.
javascript/ql/experimental/adaptivethreatmodeling/test/endpoint_large_scale/autogenerated/**/*.js linguist-generated=true -merge
javascript/ql/experimental/adaptivethreatmodeling/test/endpoint_large_scale/autogenerated/**/*.ts linguist-generated=true -merge
14 changes: 14 additions & 0 deletions .github/actions/fetch-codeql/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Fetch CodeQL
description: Fetches the latest version of CodeQL
runs:
using: composite
steps:
- name: Fetch CodeQL
shell: bash
run: |
LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | grep -v beta | sort --version-sort | tail -1)
gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql-linux64.zip "$LATEST"
unzip -q -d "${RUNNER_TEMP}" codeql-linux64.zip
echo "${RUNNER_TEMP}/codeql" >> "${GITHUB_PATH}"
env:
GITHUB_TOKEN: ${{ github.token }}
2 changes: 2 additions & 0 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ paths-ignore:
- '/cpp/'
- '/java/'
- '/python/'
- '/javascript/ql/test'
- '/javascript/extractor/tests'
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: "cargo"
directory: "ruby/node-types"
schedule:
interval: "daily"
- package-ecosystem: "cargo"
directory: "ruby/generator"
schedule:
interval: "daily"
- package-ecosystem: "cargo"
directory: "ruby/extractor"
schedule:
interval: "daily"
- package-ecosystem: "cargo"
directory: "ruby/autobuilder"
schedule:
interval: "daily"
7 changes: 7 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,14 @@ Python:
- python/**/*
- change-notes/**/*python*

Ruby:
- ruby/**/*
- change-notes/**/*ruby*

documentation:
- "**/*.qhelp"
- "**/*.md"
- docs/**/*

"QL-for-QL":
- ql/**/*
27 changes: 27 additions & 0 deletions .github/workflows/check-change-note.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Check change note

on:
pull_request_target:
types: [labeled, unlabeled, opened, synchronize, reopened, ready_for_review]
paths:
- "*/ql/src/**/*.ql"
- "*/ql/src/**/*.qll"
- "*/ql/lib/**/*.ql"
- "*/ql/lib/**/*.qll"
- "!**/experimental/**"
- "!ql/**"
- ".github/workflows/check-change-note.yml"

jobs:
check-change-note:
runs-on: ubuntu-latest
steps:
- name: Fail if no change note found. To fix, either add one, or add the `no-change-note-required` label.
if: |
github.event.pull_request.draft == false &&
!contains(github.event.pull_request.labels.*.name, 'no-change-note-required')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api 'repos/${{github.repository}}/pulls/${{github.event.number}}/files' --paginate --jq 'any(.[].filename ; test("/change-notes/.*[.]md$"))' |
grep true -c
50 changes: 50 additions & 0 deletions .github/workflows/check-qldoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: "Check QLdoc coverage"

on:
pull_request:
paths:
- "*/ql/lib/**"
- .github/workflows/check-qldoc.yml
branches:
- main
- "rc/*"

jobs:
qldoc:
runs-on: ubuntu-latest

steps:
- name: Install CodeQL
run: |
gh extension install github/gh-codeql
gh codeql set-channel nightly
gh codeql version
env:
GITHUB_TOKEN: ${{ github.token }}

- uses: actions/checkout@v2
with:
fetch-depth: 2

- name: Check QLdoc coverage
shell: bash
run: |
EXIT_CODE=0
changed_lib_packs="$(git diff --name-only --diff-filter=ACMRT HEAD^ HEAD | { grep -o '^[a-z]*/ql/lib' || true; } | sort -u)"
for pack_dir in ${changed_lib_packs}; do
lang="${pack_dir%/ql/lib}"
gh codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-current.txt" --dir="${pack_dir}"
done
git checkout HEAD^
for pack_dir in ${changed_lib_packs}; do
lang="${pack_dir%/ql/lib}"
gh codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-baseline.txt" --dir="${pack_dir}"
awk -F, '{gsub(/"/,""); if ($4==0 && $6=="public") print "\""$3"\"" }' "${RUNNER_TEMP}/${lang}-current.txt" | sort -u > "${RUNNER_TEMP}/current-undocumented.txt"
awk -F, '{gsub(/"/,""); if ($4==0 && $6=="public") print "\""$3"\"" }' "${RUNNER_TEMP}/${lang}-baseline.txt" | sort -u > "${RUNNER_TEMP}/baseline-undocumented.txt"
UNDOCUMENTED="$(grep -f <(comm -13 "${RUNNER_TEMP}/baseline-undocumented.txt" "${RUNNER_TEMP}/current-undocumented.txt") "${RUNNER_TEMP}/${lang}-current.txt" || true)"
if [ -n "$UNDOCUMENTED" ]; then
echo "$UNDOCUMENTED" | awk -F, '{gsub(/"/,""); print "::warning file='"${pack_dir}"'/"$1",line="$2"::Missing QLdoc for "$5, $3 }'
EXIT_CODE=1
fi
done
exit "${EXIT_CODE}"
30 changes: 30 additions & 0 deletions .github/workflows/close-stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Mark stale issues

on:
workflow_dispatch:
schedule:
- cron: "30 1 * * *"

jobs:
stale:
if: github.repository == 'github/codeql'

runs-on: ubuntu-latest

steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 14 days with no activity. Comment or remove the `Stale` label in order to avoid having this issue closed in 7 days.'
close-issue-message: 'This issue was closed because it has been inactive for 7 days.'
days-before-stale: 14
days-before-close: 7
only-labels: awaiting-response

# do not mark PRs as stale
days-before-pr-stale: -1
days-before-pr-close: -1

# Uncomment for dry-run
# debug-only: true
# operations-per-run: 1000
44 changes: 27 additions & 17 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@ name: "Code scanning - action"

on:
push:
branches:
- main
- 'rc/*'
pull_request:
branches:
- main
- 'rc/*'
paths:
- 'csharp/**'
- '.github/codeql/**'
- '.github/workflows/codeql-analysis.yml'
schedule:
- cron: '0 9 * * 1'

Expand All @@ -11,31 +21,32 @@ jobs:

runs-on: ubuntu-latest

permissions:
contents: read
security-events: write
pull-requests: read

steps:
- name: Setup dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.101

- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2

# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}


# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@main
# Override language selection by uncommenting this and choosing your languages
with:
languages: csharp
config-file: ./.github/codeql/codeql-config.yml

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
#- name: Autobuild
# uses: github/codeql-action/autobuild@main

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -44,9 +55,8 @@ jobs:
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release
- run: |
dotnet build csharp /p:UseSharedCompilation=false

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@main
43 changes: 43 additions & 0 deletions .github/workflows/csv-coverage-metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: "Publish framework coverage as metrics"

on:
schedule:
- cron: '5 0 * * *'
push:
branches:
- main
workflow_dispatch:
pull_request:
branches:
- main
paths:
- ".github/workflows/csv-coverage-metrics.yml"

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup CodeQL
uses: ./.github/actions/fetch-codeql
- name: Create empty database
run: |
DATABASE="${{ runner.temp }}/java-database"
PROJECT="${{ runner.temp }}/java-project"
mkdir -p "$PROJECT/src/tmp/empty"
echo "class Empty {}" >> "$PROJECT/src/tmp/empty/Empty.java"
codeql database create "$DATABASE" --language=java --source-root="$PROJECT" --command 'javac src/tmp/empty/Empty.java'
- name: Capture coverage information
run: |
DATABASE="${{ runner.temp }}/java-database"
codeql database analyze --format=sarif-latest --output=metrics.sarif -- "$DATABASE" ./java/ql/src/Metrics/Summaries/FrameworkCoverage.ql
- uses: actions/upload-artifact@v2
with:
name: metrics.sarif
path: metrics.sarif
retention-days: 20
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: metrics.sarif
Loading