Commit Graph

14538 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
ebecc19f81 Remove duplicated ReDoS fast-path filter from RegexGrammar; narrow at RegexFlowConfigs wrappers 2026-07-20 13:08:53 +00:00
copilot-swe-agent[bot]
645f2fdc3d Move StdBasicRegex to shared StdRegex module; return ExploitableStringLiteral to flow layer 2026-07-20 12:49:45 +00:00
copilot-swe-agent[bot]
4fab077bbe Extract C++ regex grammar/flag knobs into flow-free RegexGrammar module 2026-07-20 12:02:38 +00:00
copilot-swe-agent[bot]
db58698394 Fix C++ regex term source locations for raw and encoding-prefixed literals 2026-07-20 10:00:13 +00:00
copilot-swe-agent[bot]
9fdf8b7b8e Add location tests for the C++ regex parse-tree view 2026-07-20 09:24:17 +00:00
copilot-swe-agent[bot]
c51dcddee7 Add CWE-1333 ReDoS queries to cpp query-suite .expected snapshots 2026-07-17 19:08:31 +00:00
copilot-swe-agent[bot]
2bab816913 Remove redundant CompileCheck.ql to resolve dead-code alerts 2026-07-17 19:00:36 +00:00
copilot-swe-agent[bot]
4be7ff07c3 Convert ReDoS query tests to inline test expectations 2026-07-17 18:27:51 +00:00
copilot-swe-agent[bot]
09938f0531 Revert "Resolve dead-code alerts: export RegexPatternFlowConfig module"
This reverts commit cc95e25e56.
2026-07-17 18:09:25 +00:00
copilot-swe-agent[bot]
cc95e25e56 Resolve dead-code alerts: export RegexPatternFlowConfig module
The two "Dead code" alerts (100379, 100380) point at the isSource and
isSink predicates in `private module RegexPatternFlowConfig implements
DataFlow::ConfigSig` in cpp/ql/lib/semmle/code/cpp/regex/RegexFlowConfigs.qll.

Rationale (Case C): The predicates are genuine and correctly wired -
`RegexPatternFlowConfig` is consumed by
`TaintTracking::Global<RegexPatternFlowConfig>` on the very next line,
which drives the `usedAsRegex` / `regexMatchedAgainst` public predicates.
The DeadCode query cannot see through signature-parameterized modules and
therefore flags every implementation-side `isSource`/`isSink` inside a
private ConfigSig module (the same false positive is present on many
existing configs across the codebase). Removing the leftover `private`
qualifier on the config module resolves both alerts by making the
module publicly reachable; the taint-tracking alias below it remains
private, so no additional flow surface is exposed to consumers of this
library.
2026-07-17 18:04:25 +00:00
copilot-swe-agent[bot]
1c810ede03 Replace non-ASCII characters (em/en dash, arrow) with ASCII equivalents in regex files 2026-07-17 17:32:30 +00:00
copilot-swe-agent[bot]
6d07e4d619 Apply codeql query format to regex library files 2026-07-17 17:28:18 +00:00
Jeroen Ketema
b48b22cace Merge branch 'main' into copilot/add-cpp-regular-expression-parser 2026-07-17 19:15:37 +02:00
copilot-swe-agent[bot]
9758d5260b Fix Predicate QLDoc style: reword ecma_named_group_start doc to start with "Holds if" 2026-07-17 15:11:55 +00:00
copilot-swe-agent[bot]
4435279157 Replace omittable exists variables with don't-care _ 2026-07-17 14:56:48 +00:00
copilot-swe-agent[bot]
96951956fb Fix "modelled" -> "modeled" spelling in regex PR files 2026-07-17 14:39:10 +00:00
copilot-swe-agent[bot]
918d51c24b Add QLdoc to TRegexGrammar branches 2026-07-17 14:13:15 +00:00
copilot-swe-agent[bot]
8b12f32dff Add BRE query test coverage and change note; regenerate .expected 2026-07-17 13:51:06 +00:00
copilot-swe-agent[bot]
c1cb146f40 Add POSIX BRE grammar support: BreRegExp + shared-core refactor 2026-07-17 13:35:37 +00:00
copilot-swe-agent[bot]
bc5cecf7d4 Add end-to-end ERE ReDoS query tests 2026-07-17 13:17:57 +00:00
copilot-swe-agent[bot]
9a3613ea04 Add POSIX ERE grammar support to the C++ regex parser 2026-07-17 13:01:15 +00:00
copilot-swe-agent[bot]
e728c71f01 Refactor C++ regex parser into shared core + EcmaRegExp dialect hooks 2026-07-17 12:28:49 +00:00
copilot-swe-agent[bot]
e0cc6795dc Add isBacktrackingEngine gate excluding awk/grep/egrep from C++ ReDoS queries 2026-07-17 12:06:30 +00:00
copilot-swe-agent[bot]
d9f380d446 POSIX bracket soundness: opaque punct/cntrl/print/graph; non-recursive gate; adversarial tests 2026-07-17 10:18:17 +00:00
Óscar San José
87835f7f3d Merge pull request #22207 from github/codeql-spark-run-29493713448
Update changelog documentation site for codeql-cli-2.26.1
2026-07-17 12:10:28 +02:00
copilot-swe-agent[bot]
c1103b9b02 Fix C++ ECMAScript regex parser: recognize POSIX bracket sub-expressions; document multiline 2026-07-17 09:52:02 +00:00
copilot-swe-agent[bot]
00672d61c9 Expand cpp/polynomial-redos test coverage (Phase 3 follow-up) 2026-07-16 14:12:03 +00:00
copilot-swe-agent[bot]
8a8590c50c Expand C++ ReDoS test coverage (Phase 4 follow-up) 2026-07-16 13:53:28 +00:00
copilot-swe-agent[bot]
d6c76aa261 Fix cpp/redos test: swap non-exponential (a|ab)* for (a*)* and populate expected 2026-07-16 13:32:37 +00:00
copilot-swe-agent[bot]
47969aece8 Add cpp/redos exponential ReDoS query (Phase 4) 2026-07-16 13:06:20 +00:00
copilot-swe-agent[bot]
84d7a2b585 Add cpp/polynomial-redos query (Phase 3) 2026-07-16 12:49:15 +00:00
copilot-swe-agent[bot]
f72bad70f9 Add C++ regex flow modeling and construction-site flags (Phase 2) 2026-07-16 11:21:29 +00:00
copilot-swe-agent[bot]
239ac442a1 Fix change note category to 'minorAnalysis' 2026-07-15 21:50:12 +00:00
copilot-swe-agent[bot]
a27142d2d4 Add C++ regex parser and RegexTreeView (Phase 1) 2026-07-15 21:45:03 +00:00
Jeroen Ketema
9efcc49af7 C++: Update the CWE tag of cpp/new-free-mismatch 2026-07-13 13:06:15 +02:00
github-actions[bot]
9acbbb8049 Release preparation for version 2.26.1 2026-07-09 16:48:01 +00:00
Jeroen Ketema
161c8c4d30 Merge pull request #22149 from jketema/jketema/cwe-114-tag
C++/C#: Specify additional CWE tags for queries that specify CWE 114
2026-07-09 18:02:21 +02:00
Jeroen Ketema
72efb6a058 C++: Add CWE 73 and CWE 78 tags to cpp/uncontrolled-process-operation
User controlled data here either leads to the loading of an uncontrolled
library (CWE 73) or the execution of an uncontrolled command (CWE 78).
2026-07-09 17:11:58 +02:00
Owen Mansel-Chan
19745e13b5 Fix some lines with // $ ... // $ MISSING:
Note that when a line is marked `// BAD [NOT DETECTED]` but actually has
an alert, I assume that the `[NOT DETECTED]` is outdated and should be
deleted.
2026-07-07 20:48:39 +01:00
Owen Mansel-Chan
9d9590623d Address review comments 2026-07-07 20:48:36 +01:00
Owen Mansel-Chan
fa16728522 Fix comments in one test 2026-07-07 12:06:43 +01:00
Owen Mansel-Chan
76d8ae8694 Add MISSING: tag 2026-07-07 10:59:21 +01:00
Owen Mansel-Chan
843ac7c6b0 Add SPURIOUS: tags 2026-07-07 10:54:11 +01:00
Owen Mansel-Chan
a2c5d4c818 C++: Convert qlref tests to inline expectations 2026-07-07 09:49:50 +01:00
Mathias Vorreiter Pedersen
4f4cdf434b Merge pull request #22061 from MathiasVP/mad-write-through-model
Shared: Support flow summaries from `ReturnValue`s
2026-07-02 12:38:44 +01:00
Mathias Vorreiter Pedersen
dbbcc1741c C++: Delete now-unsupported MaD rows. 2026-06-30 17:48:31 +01:00
Mathias Vorreiter Pedersen
f37b3e77ff Merge branch 'main' into remove-mad-support-for-variables 2026-06-30 17:38:37 +01:00
Mathias Vorreiter Pedersen
b7b731bab7 Merge branch 'main' into mad-write-through-model 2026-06-30 15:12:02 +01:00
Mathias Vorreiter Pedersen
06f54d1bbb C++: Add a TODO comment to remove support for unqualified field names. 2026-06-30 13:55:26 +01:00
Mathias Vorreiter Pedersen
396bea6e6a Update cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll
Co-authored-by: Tom Hvitved <hvitved@github.com>
2026-06-30 13:44:14 +01:00