Taus
d6d59377d3
Python: Fix flow through deepcopy
...
Or, more generally, any copy step, as these presumably do not preserve
object identity.
(Arguably, `copy` could still be susceptible to interior mutability, but
I think that's outside the scope of this query anyway.)
2024-01-22 15:40:30 +00:00
Taus
14c958ac4d
Python: Remove mutable default sources from inside stdlib
2024-01-22 15:23:52 +00:00
Rasmus Wriedt Larsen
ce6335866b
Python: Move ModificationOfParameterWithDefault to new dataflow API
2023-08-28 16:19:47 +02:00
Josh Soref
5765a71d90
spelling: whether
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:10 -04:00
Josh Soref
b2f5bfaf74
spelling: emptiness
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2022-10-13 11:21:08 -04:00
Taus
af7f532212
Python: Fix up a bunch of function QLDoc
2022-03-07 18:59:49 +00:00
Rasmus Lerchedahl Petersen
8ea7a28a77
Python: Unexpose fields as suggested.
2021-09-15 12:32:21 +02:00
yoff
758b6bd4dd
Update python/ql/src/semmle/python/functions/ModificationOfParameterWithDefaultCustomizations.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-15 12:25:27 +02:00
Rasmus Lerchedahl Petersen
7cfa08abc8
Python: Do not use BarrierGuards
...
They are simply not right for this problem.
We should not even make them available as an extension point.
2021-09-10 12:48:24 +02:00
Rasmus Lerchedahl Petersen
b20232db3c
Python: Simplify guards as suggested
2021-09-10 10:31:48 +02:00
yoff
43effd2b40
Update python/ql/src/semmle/python/functions/ModificationOfParameterWithDefault.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-07 15:08:50 +02:00
Rasmus Lerchedahl Petersen
8729701b66
Merge branch 'main' of github.com:github/codeql into python/port-modification-of-default-value
...
Files have moved around, specifically PrintNode.qll.
2021-09-07 10:13:51 +02:00
Rasmus Lerchedahl Petersen
ae8408bcab
Python: Add missing qldoc
2021-09-07 10:09:02 +02:00
Rasmus Lerchedahl Petersen
4998a48f99
Python: Fix simple guards
2021-09-06 22:40:30 +02:00
Rasmus Lerchedahl Petersen
913990bc62
Python: Add suggested comments and test case
2021-09-03 14:40:16 +02:00
yoff
c6eb795e76
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-03 14:23:57 +02:00
Rasmus Lerchedahl Petersen
0de621edf9
Python: Add qldoc
2021-08-30 15:03:58 +02:00
Rasmus Lerchedahl Petersen
a762373ad6
Python: Implement simple barrier guard
...
The one found in the original test case
2021-08-30 11:04:27 +02:00
Rasmus Lerchedahl Petersen
49ae549e89
Python: Implement modifying syntax
2021-08-26 14:29:18 +02:00
Rasmus Lerchedahl Petersen
5bff5188ac
Python: switch from negative to positive list
...
This should avoid potentially terrible performance.
Also noted the missing syntactic constructs,
as I went through the documnetation.
2021-08-25 23:52:42 +02:00
Andrew Eisenberg
3660c64328
Packaging: Rafactor Python core libraries
...
Extract the external facing `qll` files into the codeql/python-all
query pack.
2021-08-24 13:23:45 -07:00
Rasmus Lerchedahl Petersen
e865a290de
Python: straight port of query
...
The old query uses `pointsTo` to limit the sinks
to methods on lists and dictionaries.
That constraint is omitted here which could hurt performance.
2021-08-24 16:35:11 +02:00
Erik Krogh Kristensen
38477d7d2e
Merge pull request #6462 from erik-krogh/repeat
...
JS: support more regular expressions in js/incomplete-multi-character-sanitization
2021-08-23 15:39:31 +02:00
yoff
0c0f335b1c
Merge pull request #6508 from github/RasmusWL-patch-1
...
Python: Update comment for RegExpTreeView isExcluded
2021-08-23 15:07:29 +02:00
yoff
467aa647da
Merge pull request #6507 from tausbn/python-prevent-polynomial-redos-explosion
...
Python: Prevent explosion in poly-ReDoS query
2021-08-23 11:48:14 +02:00
Taus
021e5ff510
Python: Autoformat
2021-08-18 14:27:54 +00:00
Rasmus Wriedt Larsen
60eb81106a
Python: Update comment for RegExpTreeView isExcluded
...
I noticed after reading https://github.com/github/codeql/pull/6507 , but didn't want to overload that PR.
2021-08-18 16:16:26 +02:00
Taus
af91a2df00
Python: Prevent explosion in poly-ReDoS query
...
I consider this to be a short-term solution to the performance problems
we identified. The choice of "at most ten occurrences of `.*`" is
somewhat arbitrary, and it's possible a higher limit would work just as
well.
2021-08-18 13:21:46 +00:00
Rasmus Wriedt Larsen
3231ae77ef
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-08-17 15:17:10 +02:00
Erik Krogh Kristensen
3f7f5d2418
performance improvements in ReDoSUtil
2021-08-17 15:10:33 +02:00
Erik Krogh Kristensen
49e47641e4
sync ReDoSUtil.qll with python
2021-08-17 15:10:33 +02:00
Rasmus Wriedt Larsen
15d483d56c
Python: Use TypeTrackingNode in new PEP249 modeling
2021-08-17 12:03:40 +02:00
Rasmus Wriedt Larsen
b649f5f38c
Merge branch 'main' into peewee-modeling
2021-08-17 12:03:18 +02:00
Erik Krogh Kristensen
46959234b7
Merge pull request #6288 from erik-krogh/emptyRedos
...
JS/Python: Fix FP in redos related to empty lookaheads
2021-08-16 13:48:22 +02:00
Erik Krogh Kristensen
e962a7c77c
Update python/ql/src/semmle/python/RegexTreeView.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-08-16 11:24:05 +02:00
Tom Hvitved
ea6d51f123
Python: Avoid bad join in AstExtended::AstNode::containsInScope
2021-08-09 11:20:57 +02:00
Taus
badf6311c9
Python: Remove flow between globals...
...
... in a local scope. Or rather, remove these from the `hasLocalSource`
relation.
This prevents a quadratic blowup when the same global is mentioned
_a lot_ of times within a single function scope.
2021-07-22 13:10:40 +00:00
Taus
ed794f42b5
Python: Soft revert TypeTrackingNode
...
Temporarily instates `TypeTrackingNode` as an alias of `LocalSourceNode`
as having it as a separate class lead to performance regressions.
In the hopes that this will be resolved in the near future, I have left
the current `TypeTrackingNode` implementation in situ, but hidden inside
a `FutureWork` private module.
2021-07-22 13:10:07 +00:00
Rasmus Wriedt Larsen
a07de3faae
Merge branch 'main' into emptyRedos
2021-07-15 18:21:29 +02:00
CodeQL CI
d282f6a356
Merge pull request #6218 from tausbn/python-add-typetrackingnode
...
Approved by RasmusWL
2021-07-15 07:04:50 -07:00
Taus
dd03d8102b
Merge pull request #6300 from RasmusWL/redos-tests
...
Python: Fix `py/polynomial-redos`
2021-07-15 15:59:01 +02:00
Rasmus Wriedt Larsen
900cbc9a2f
Merge pull request #6265 from tausbn/python-performance-fixes
...
Python: Fix a few performance issues.
2021-07-15 14:19:37 +02:00
Rasmus Wriedt Larsen
a5834c4d78
Python: Fix py/polynomial-redos
2021-07-15 14:16:19 +02:00
Anders Schack-Mulligen
8ccdd4fb9f
Merge pull request #6211 from aschackmull/dataflow/refactor-call-context-check
...
Dataflow: Refactor call context check
2021-07-15 12:27:23 +02:00
Erik Krogh Kristensen
383b5f2ff2
implement RegExpSubPattern.getOperand in the Python regexp implementation
2021-07-15 09:41:53 +02:00
Erik Krogh Kristensen
de8f64c5be
sync with python
2021-07-14 23:40:06 +02:00
Taus
fb57c5f6f0
Merge pull request #6143 from RasmusWL/concepts-private-import-python
...
Python: Make `import python` private in Concepts.qll
2021-07-14 17:49:06 +02:00
Taus
5c5ee85332
Merge pull request #6122 from RasmusWL/mention-mysqlclient
...
Python: Mention modeling of `mysqlclient` PyPI package
2021-07-14 17:48:40 +02:00
Taus
30d61045d2
Python: Mention nameIndicatesSensitiveData
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-14 17:33:39 +02:00
Taus
2bb44d49d9
Python: Perform more deduplication
...
This cut the evaluation time on `django` down from 1.2 seconds to ~0.8
seconds (but the impact will likely be greater on bigger projects).
2021-07-14 13:38:05 +00:00