Rasmus Lerchedahl Petersen
9e1c818db6
Python: address review comments
2023-12-04 17:49:26 +01:00
Rasmus Wriedt Larsen
c952f6a648
Python: Update rest of tests to new dataflow lib
...
I had missed these originally, since I had just fixed the ones that were
highlighted in the actions logs, thinking they had covered everything :(
2023-12-04 14:49:40 +01:00
Rasmus Lerchedahl Petersen
e091ae84ab
Merge branch 'main' of https://github.com/github/codeql into python/remove-ssa-nodes-from-dataflow-graph
2023-12-04 14:05:40 +01:00
Rasmus Wriedt Larsen
2fed0adde7
Merge pull request #8457 from RasmusWL/add-dataflow-consistency-query
...
Python: Add dataflow consistency query
2023-12-04 12:50:46 +01:00
Rasmus Wriedt Larsen
4dd3ea3798
Python: Update tests to new dataflow lib
...
Avoids some deprecation warnings :)
2023-12-04 12:36:57 +01:00
Rasmus Wriedt Larsen
4e0cca9a41
Merge pull request #14353 from GeekMasher/py-restframework
...
Python: support `*args` and `**kwargs` in request handlers
2023-11-23 14:04:36 +01:00
Rasmus Wriedt Larsen
d056706af5
Merge pull request #14725 from RasmusWL/re-modeling
...
Python: Add taint-flow modeling for `re` module
2023-11-23 11:35:36 +01:00
Rasmus Wriedt Larsen
3d46129bbf
Python: Remove intermediary steps from taint-test
...
These were leftovers from old way of propagating taint
2023-11-23 10:40:25 +01:00
Rasmus Wriedt Larsen
37d03ee0f3
Python: Accept .expected changes
...
Note that in this case, since there is a known `django.urls.path`
route-setup, we know that the request-handler will only be passed
keyword arguments, so it is not a mistake that `*args` is not considered
a routed-parameter here (although it certainly wouldn't have hurt us if
we did consider it a routed-parameter either).
2023-11-21 13:46:55 +01:00
Rasmus Wriedt Larsen
36a846ee32
Python: Fix django regex path handling
2023-11-21 13:08:45 +01:00
Rasmus Wriedt Larsen
c51c15ae74
Python: Add test of routed parameters to *args
...
Also move the **kwargs and *args test to a more appropriate file
2023-11-21 13:01:01 +01:00
Rasmus Wriedt Larsen
2ec1822e9c
Python: Accept consistency-errors in django-orm
2023-11-21 12:44:42 +01:00
Rasmus Wriedt Larsen
5f26790b90
Merge branch 'main' into py-restframework
2023-11-21 11:57:48 +01:00
Rasmus Wriedt Larsen
df9fb141b8
Python: Remove old manual consistency query tests
2023-11-21 11:50:23 +01:00
Rasmus Wriedt Larsen
71c017f053
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-11-21 10:07:42 +01:00
Rasmus Lerchedahl Petersen
11c71fdd18
Python: remove EssaNodes
...
This commit removes SSA nodes from the data flow graph. Specifically, for a definition and use such as
```python
x = expr
y = x + 2
```
we used to have flow from `expr` to an SSA variable representing x and from that SSA variable to the use of `x` in the definition of `y`. Now we instead have flow from `expr` to the control flow node for `x` at line 1 and from there to the control flow node for `x` at line 2.
Specific changes:
- `EssaNode` from the data flow layer no longer exists.
- Several glue steps between `EssaNode`s and `CfgNode`s have been deleted.
- Entry nodes are now admitted as `CfgNodes` in the data flow layer (they were filtered out before).
- Entry nodes now have a new `toString` taking into account that the module name may be ambigous.
- Some tests have been rewritten to accomodate the changes, but only `python/ql/test/experimental/dataflow/basic/maximalFlowsConfig.qll` should have semantic changes.
- Comments have been updated
- Test output has been updated, but apart from `python/ql/test/experimental/dataflow/basic/maximalFlows.expected` only `python/ql/test/experimental/dataflow/typetracking-summaries/summaries.py` should have a semantic change. This is a bonus fix, probably meaning that something was never connected up correctly.
2023-11-20 21:35:32 +01:00
Taus
216cd88225
Merge branch 'main' into tausbn/python-add-support-for-python-3.12-type-syntax
2023-11-16 15:25:06 +00:00
Rasmus Wriedt Larsen
25d3af9236
Merge branch 'main' into clean-tests
2023-11-16 11:21:01 +01:00
Taus
fd750a3bf0
Merge branch 'main' into tausbn/python-add-support-for-python-3.12-type-syntax
2023-11-16 09:59:44 +00:00
Rasmus Wriedt Larsen
71ef98584d
Merge pull request #14791 from RasmusWL/python-3.12
...
Python: Update `.expected` to support Python 3.12
2023-11-16 10:42:48 +01:00
Rasmus Wriedt Larsen
df144f3a1e
Merge pull request #14406 from amammad/amammad-python-FileSystemAccess
...
Python: New FileSystem Access
2023-11-16 10:25:34 +01:00
Rasmus Wriedt Larsen
e349891cff
Python: Apply suggestions from code review
2023-11-15 14:35:52 +01:00
Rasmus Wriedt Larsen
f9e9ae91f7
Python: Move tests that would change under Python 3.12 to lang specific directory
...
This moves the tests to Python 2, next we copy them to Python 3.
2023-11-15 11:42:38 +01:00
Rasmus Wriedt Larsen
69453aa144
Python: Fix missing newline in .expected
2023-11-15 10:10:23 +01:00
Rasmus Wriedt Larsen
55f5b26ba6
Python: Accept new ordering of query predicates in .expected
2023-11-15 10:09:54 +01:00
Rasmus Wriedt Larsen
e1c47f5584
Python: Reorganize taint tests of re
...
Mostly to highlight that with flow-summary modeling, we don't expect
taint for a lot of these.
I aslo opted to make `finditer()` tainted for consistency.
2023-11-13 10:56:29 +01:00
Rasmus Wriedt Larsen
c85d99d949
Merge branch 'main' into re-modeling
2023-11-10 16:32:50 +01:00
Rasmus Wriedt Larsen
4943fc5a57
Python: Model taint from re.<func> calls
2023-11-08 17:18:40 +01:00
Rasmus Wriedt Larsen
851c30e797
Python: Add taint modeling of re.Match objects
2023-11-08 17:18:09 +01:00
Rasmus Wriedt Larsen
ea4761d3b6
Python: Add tests of taint-flow for re module
2023-11-08 16:05:22 +01:00
Rasmus Wriedt Larsen
9d5cf0b331
Merge branch 'main' into class-attribute-flow
2023-11-08 14:30:53 +01:00
Rasmus Wriedt Larsen
5433907c33
Python: Accept more test changes
...
All are for the better 🎉
2023-11-07 15:49:14 +01:00
Rasmus Wriedt Larsen
9f43108ba8
Python: Fix DataFlowCall.getEnclosingCallable
...
Now it is aligned with the implementation of DataFlow::Node
See 4bc4e0845d/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll (L134-L138)
2023-11-07 11:29:23 +01:00
amammad
e8eff78799
fix tests because of error in Frameworks.qll
2023-11-06 19:19:36 +01:00
amammad
315bdc2b48
add tests for new frameworks
2023-11-06 19:13:57 +01:00
Taus
75e6de8311
Python: Add test
2023-11-06 13:50:55 +00:00
Rasmus Wriedt Larsen
92b13c4259
Merge branch 'main' into amammad-python-FileSystemAccess
2023-11-06 11:30:09 +01:00
Rasmus Lerchedahl Petersen
58bf70d61b
Python: filter self steps from use-use flow
...
Factor out use-use flow in order to do this.
Also improve names and comments.
I also wanted to change the types in `difinitionFlowStep`, but
that broke the module instantiation.
2023-11-02 09:31:28 +01:00
yoff
867a39083e
Merge pull request #14114 from yoff/python/allow-namespace-packages
...
Python: Allow namespace packages
2023-10-26 16:56:05 +02:00
Rasmus Wriedt Larsen
e8f548ab52
Python: Model routed parameter flow to *args and **kwargs in Django + rest framework
2023-10-23 17:18:22 +02:00
Rasmus Wriedt Larsen
24687b4156
Python: Add test highlighting missing routed parameter flow to **kwargs parameter of request handler function
2023-10-23 16:49:43 +02:00
Rasmus Wriedt Larsen
8b23140a08
Python: Remove trailing ,
2023-10-23 16:45:08 +02:00
Rasmus Wriedt Larsen
60e7786b04
Python: Use explicit keyword parameter
2023-10-23 16:44:54 +02:00
Rasmus Wriedt Larsen
46e44a0036
Python: Fix import
2023-10-23 16:42:55 +02:00
amammad
1fe565a46f
cherrypy framework file system access Sinks are added
2023-10-21 19:47:30 +02:00
Mathew Payne
a24e168ec0
Merge branch 'main' into py-restframework
2023-10-20 11:39:07 +01:00
Rasmus Wriedt Larsen
72d0dcdaba
Python: Workaround for module level items from import * not being LocalSourceNodes
2023-10-10 17:45:11 +02:00
Rasmus Wriedt Larsen
6521e5165c
Python: Extend import * with plain use
...
(no calls or anything)
2023-10-10 17:45:11 +02:00
Rasmus Wriedt Larsen
2d947a4f53
Merge pull request #13781 from maikypedia/maikypedia/python-unsafe-deserialization
...
Python: Add unsafe deserialization sinks (CWE-502)
2023-10-10 13:30:38 +02:00
amammad
6c8cc79b4d
v1
2023-10-08 21:24:54 +02:00