Asger F
6257bed089
Sync OverlayXml.qll
2025-11-28 09:23:49 +01:00
Asger F
dbf14c190a
Factor XML discard predicates into OverlayXml.qll
2025-11-26 11:48:32 +01:00
Asger F
ecfa94600f
Sync ApiGraphModels.qll
2025-11-13 09:46:23 +01:00
Asger F
16e7dc1b8a
Sync ApiGraphModelsExtensions.qll
2025-11-13 09:46:21 +01:00
Taus
820d8e76c4
Python: Remove points-to from Module
2025-10-30 13:59:30 +00:00
Taus
b93ce98612
Python: Remove points-to from Expr
2025-10-30 13:58:59 +00:00
Taus
b434ce460e
Python: Get rid of getLiteralValue
...
This had only two uses in our libraries, so I simply inlined the
predicate body in both places.
2025-10-30 13:30:04 +00:00
Taus
fef08afff9
Python: Remove points-to to from ControlFlowNode
...
Moves the existing points-to predicates to the newly added class
`ControlFlowNodeWithPointsTo` which resides in the `LegacyPointsTo`
module.
(Existing code that uses these predicates should import this module, and
references to `ControlFlowNode` should be changed to
`ControlFlowNodeWithPointsTo`.)
Also updates all existing points-to based code to do just this.
2025-10-30 13:30:04 +00:00
Nora Dimitrijević
37fff48dcd
Python/ServerSideRequestForgeryQuery
...
python/ql/src/Security/CWE-918/PartialServerSideRequestForgery.ql
2025-10-28 09:40:24 +01:00
Nora Dimitrijević
baccdcc07f
Python/PolynomialReDoSQuery
...
python/ql/src/Security/CWE-730/PolynomialReDoS.ql
2025-10-28 09:40:21 +01:00
Joe Farebrother
8c277bd1d9
Merge pull request #20494 from joefarebrother/python-insecure-cookie-split
...
Python: Split Insecure Cookie query into multiple queries
2025-10-24 11:10:20 +01:00
Nora Dimitrijević
20d4e429ca
Add consistency query (exactly one path for every entity)
2025-10-06 11:47:56 +02:00
Nora Dimitrijević
7174d4c8ba
Overlay.qll: discard predicates
...
for dbscheme elements with direct or indirect location links in dbscheme.
- Unify discardable entities under one Discardable superclass.
- Two discard predicates depending on TRAP ID type.
- Future-proof the XML and Yaml discard predicates for when their
extractors become incremental.
2025-10-06 11:47:51 +02:00
Taus
e592fd60ff
Merge pull request #20495 from github/tausbn/python-fix-unmatchable-dollar-in-lookahead
...
Python: Fix false positive for unmatchable dollar/caret
2025-09-25 15:27:32 +02:00
Joe Farebrother
2cffb21604
Update and fix tests
2025-09-23 15:41:09 +01:00
Joe Farebrother
d28e8004fd
Add sensitive data heuristic
2025-09-23 10:08:08 +01:00
Simon Friis Vindum
7d6e2060e5
Adapt all languages to changes in shared library
2025-09-22 14:18:58 +02:00
Joe Farebrother
463f79bed2
Merge pull request #20263 from joefarebrother/python-qual-exceptions
...
Python: Modernize the Unreachable Except Block query
2025-09-22 09:42:09 +01:00
Taus
95a84ad655
Python: Fix false positive for unmatchable dollar/caret
...
Our previous modelling did not account for the fact that a lookahead can
potentially extend all the way to the end of the input (and similarly,
that a lookbehind can extend all the way to the beginning).
To fix this, I extended `firstPart` and `lastPart` to handle lookbehinds
and lookaheads correctly, and added some test cases (all of which yield
no new results).
Fixes #20429 .
2025-09-19 15:06:46 +00:00
Taus
8fd62252fd
Python: Fix bad join in globalVariableNestedFieldJumpStep
2025-09-16 18:12:29 +02:00
Napalys Klicius
e82fe9d919
Python: Updated doc string and removed redundant predicate.
2025-09-16 18:08:53 +02:00
Taus
e228aac61f
Python: Use AttrWrite.writes
...
Also applies @napalys' fix to the base case.
2025-09-16 18:08:53 +02:00
Taus
6f9e06c59e
Python: Add AttrWrite.writes and AttrRead.reads
...
The latter of these is identical to `AttrRef.accesses`, but makes the
API a bit more intuitive.
2025-09-16 18:08:53 +02:00
Napalys Klicius
8393ccf39d
Python: Update globalVariableAttrPathAtDepth base case
2025-09-16 18:08:53 +02:00
Taus
6133f01c81
Python: Rewrite access path computation
2025-09-16 18:08:53 +02:00
Taus
69b5853477
Python: Keep track of access path
2025-09-16 18:08:53 +02:00
Napalys Klicius
e60d0c88f1
Python: Add global variable nested field jump steps
2025-09-16 18:08:53 +02:00
Joe Farebrother
869b7e09d7
Merge pull request #19932 from joefarebrother/python-qual-init-del-calls
...
Python: Modernize 4 queries for missing/multiple calls to init/del methods
2025-09-08 09:29:38 +01:00
Michael Nebel
31852985e5
Merge pull request #20335 from michaelnebel/shared/ql4ql
...
Shared and Sync: Fix some Ql4Ql violations.
2025-09-02 14:37:34 +02:00
Anders Schack-Mulligen
f833fe0e6e
Merge pull request #20300 from aschackmull/cfg/successortype
...
Shared: Add a shared SuccessorType implementation
2025-09-02 14:09:35 +02:00
Michael Nebel
d3d737b383
Merge pull request #20330 from michaelnebel/python/ql4ql
...
Python: Fix some Ql4Ql violations.
2025-09-02 14:01:54 +02:00
Michael Nebel
7490d8ddd2
Shared and Sync: Fix some Ql4Ql violations.
2025-09-02 13:54:22 +02:00
Michael Nebel
dbd31259b3
Python: Fix some Ql4Ql violations.
2025-09-01 15:16:25 +02:00
Joe Farebrother
d0daacd17e
Modernize multple calls to init/del
2025-09-01 14:10:22 +01:00
Anders Schack-Mulligen
144e34c669
Shared: Use shared SuccessorType in shared Cfg and BasicBlock libs.
2025-09-01 13:43:32 +02:00
Anders Schack-Mulligen
09b2c5abf0
BasicBlock: Replace entryBlock predicate with subclass.
2025-09-01 11:48:44 +02:00
Anders Schack-Mulligen
f459ddc40a
Languages: Adapt to api changes.
2025-09-01 11:26:33 +02:00
Anders Schack-Mulligen
bb3abc815f
SSA: Update input to use member predicates.
2025-09-01 11:19:48 +02:00
Taus
f89fae39c5
Merge pull request #20276 from github/tausbn/python-model-psycopg2-connection-pools
...
Python: Add support for Psycopg2 database connection pools
2025-08-29 13:52:59 +02:00
Napalys Klicius
bafe22c50c
Merge pull request #20048 from Napalys/js/xml_bomb_sinks
...
JS: Exclude patched libraries from `xml-bomb` sink
2025-08-29 08:10:55 +02:00
Joe Farebrother
bde143e4c1
Merge pull request #20038 from joefarebrother/python-qual-comparison
...
Python: Modernize 3 quality queries for comparison methods
2025-08-28 09:37:20 +01:00
Taus
d5e0298999
Python: Add support for Psycopg2 database connection pools
...
Our current modelling only treated `psycopg2` insofar as it implemented
PEP 249 (which does not define any notion of connection pool), which
meant we were missing database connections that arose from such pools.
With these changes, we add support for the three classes relating to
database pools that are defined in `psycopg2`. (Note that
`getAnInstance` automatically looks at subclasses, which means this
should also handle cases where the user has defined a new subclass that
inherits from one of these three classes.)
2025-08-25 12:35:57 +00:00
Tom Hvitved
bf7e3dabd6
Python: Only include relevant YAML in printAst.ql
2025-08-25 13:54:19 +02:00
Joe Farebrother
9edfd7a6fb
Use generator script directly
2025-08-21 14:12:26 +01:00
Joe Farebrother
f24f7d5146
Add builtin subclass models, incorporate into query
2025-08-21 13:50:26 +01:00
Napalys Klicius
638f6498f0
Removed lxml.etree.XMLParser from xml bomb sinks
2025-07-15 13:43:00 +02:00
Jeroen Ketema
cbde11ddc9
Properly share ConceptsShared.qll
2025-07-14 16:30:45 +02:00
Jeroen Ketema
f07d8ee493
Remove duplicate copies of CryptoAlgorithms and CryptoAlgorithmNames
2025-07-14 11:39:06 +02:00
Jeroen Ketema
f4ba2e1fd0
Properly share CryptoAlgorithms and CryptoAlgorithmNames
2025-07-14 11:39:00 +02:00
Jeroen Ketema
c582a9ccd6
Remove duplicate copies of SensitiveDataHeuristics
2025-07-14 11:38:52 +02:00