Rasmus Lerchedahl Petersen
9cb83fcdc9
python: add summaries for
...
copy, pop, get, getitem, setdefault
Also add read steps to taint tracking.
Reading from a tainted collection can be done in two situations:
1. There is an acces path
In this case a read step (possibly from a flow summary)
gives rise to a taint step.
2. There is no access path
In this case an explicit taint step (possibly via a flow
summary) should exist.
2023-05-26 14:04:15 +02:00
Rasmus Lerchedahl Petersen
144df9a39e
python: remove explicit dataflow steps
2023-05-26 13:24:22 +02:00
Rasmus Lerchedahl Petersen
8d4f9447b1
python: remove explicit steps
...
copy, pop, get, popitem
2023-05-26 13:22:54 +02:00
Rasmus Wriedt Larsen
a057365b7e
Python: Accept .expected changes
2023-05-22 11:54:50 +02:00
Rasmus Wriedt Larsen
44d806507d
Merge branch 'main' into python-UBV
2023-05-22 11:53:56 +02:00
Rasmus Lerchedahl Petersen
5d68473d12
python: elide nodes without location from basic
2023-05-16 14:38:51 +02:00
Rasmus Lerchedahl Petersen
5b4f98d6c4
python: Add summaries for container constructors
...
Also:
- turn on flow summaries for taint
- do not restrict node type
(as now we need summary nodes)
2023-05-16 14:38:51 +02:00
Rasmus Lerchedahl Petersen
145eaf3947
python: remove steps for container constructors
2023-05-16 10:35:10 +02:00
Rasmus Lerchedahl Petersen
81adf5aad4
python: remember to adjust annotation
2023-05-12 14:28:41 +02:00
Rasmus Lerchedahl Petersen
1b848bb510
python: fix tests
2023-05-12 13:51:50 +02:00
yoff
3adaa21571
Merge branch 'main' into python/test-container-steps
2023-05-12 13:19:53 +02:00
yoff
6a5fc3c1b1
Update python/ql/test/experimental/dataflow/tainttracking/defaultAdditionalTaintStep/test_collections.py
2023-05-12 13:06:08 +02:00
yoff
62b60f490c
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2023-05-12 12:54:17 +02:00
Rasmus Wriedt Larsen
62f0c64a03
Merge pull request #12552 from erik-krogh/py-type-trackers
...
Py: refactor regex tracking to type-trackers
2023-05-11 16:18:34 +02:00
Rasmus Lerchedahl Petersen
0a9515dbcd
python: add tests for built-in collections
...
- constructors: list, tuple, set, dict
- methods:
- general: copy, pop
- list: append
- set: add
- dict: keys, values, items, get, popitem
- functions: sorted, reversed, iter, next
2023-05-10 18:10:05 +02:00
yoff
9cc7cdef4c
Merge branch 'main' into python/update-taint-debug
2023-05-10 10:26:19 +02:00
yoff
25899c15c9
Merge pull request #13098 from hvitved/python/update-consistency-expected
...
Python: Update expected test output
2023-05-10 08:58:27 +02:00
Tom Hvitved
4d84f92e8c
Python: Update expected test output
2023-05-10 08:15:15 +02:00
yoff
4849f43d16
Merge branch 'main' into python/update-taint-debug
2023-05-09 21:35:56 +02:00
Rasmus Lerchedahl Petersen
30d3c3e8cd
python: fix warnings
...
- rename `Conf` -> `Config`
- comment out unused code
- rearrange code so it is easy to see how to swap comments
- autoformat
2023-05-09 15:01:31 +02:00
yoff
1a57f81aca
Merge pull request #12537 from yoff/python/captured-variables-for-typetracking
...
Python: Captured variables for type tracking and the API graph
2023-05-09 12:34:22 +02:00
Mathias Vorreiter Pedersen
09ba9a74ce
Merge pull request #12959 from MathiasVP/identity-consistency-check
...
DataFlow: Add an "identity-step" consistency check
2023-05-05 10:03:20 +01:00
yoff
42090b55fa
Merge branch 'main' into python/captured-variables-for-typetracking
2023-05-04 13:52:23 +02:00
yoff
d1206ea620
Update python/ql/test/library-tests/ApiGraphs/py3/test_captured_inheritance.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2023-05-04 13:52:08 +02:00
Kasper Svendsen
d9f29a85d6
Python: Enable implicit this warnings
2023-05-04 10:16:52 +02:00
Mathias Vorreiter Pedersen
77001a070b
Merge branch 'main' into identity-consistency-check
2023-05-03 22:01:06 +01:00
Mathias Vorreiter Pedersen
e650df810d
Python: Accept consistency changes.
2023-05-03 20:33:00 +01:00
Rasmus Lerchedahl Petersen
6d9fd24f1b
python: update comments
2023-05-03 18:10:15 +02:00
yoff
e49f7a5d33
Update python/ql/test/experimental/dataflow/variable-capture/by_value.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2023-05-03 18:03:39 +02:00
yoff
a905917123
Merge pull request #12937 from RasmusWL/fix-module-variable-node
...
Python: Hide `ModuleVariableNode` in data-flow paths
2023-05-03 17:58:26 +02:00
Sim4n6
1fa1a4e268
Add Unicode Bypass Validation query tests and help
2023-05-02 15:09:16 +01:00
Rasmus Wriedt Larsen
c89b57997a
Python: Change variable capture tests to use fresh variable names
...
Instead of reusing `nonSink0` for both captureOut1NotCalled and
captureOut2NotCalled tests (I used 1/2 naming scheme to match things up
nicely).
I also added a comment highlighting that `m` is the function that is not
called (since I overlooked that initially :O)
2023-05-02 14:13:56 +02:00
Rasmus Lerchedahl Petersen
e65ff68547
python: update debug queries
2023-05-01 14:58:42 +02:00
yoff
0bc6f10a71
Merge pull request #12220 from amammad/amammad-python-paramiko
...
add some python sinks for paramiko ssh clients
2023-05-01 11:38:50 +02:00
erik-krogh
ffa3425195
rename away from deprecated alias in test-files
2023-05-01 10:42:14 +02:00
erik-krogh
f0254fc089
introduce RegExpInterpretation instead of RegexString, and move RegexTreeView.qll into a regexp folder
2023-05-01 10:42:13 +02:00
Rasmus Wriedt Larsen
1bba5258d6
Merge pull request #11280 from RasmusWL/dict-dataflow-steps
...
Python: Support more dictionary read/store steps
2023-04-30 16:07:29 +02:00
yoff
54ced06ada
Merge branch 'main' into python/captured-variables-for-typetracking
2023-04-27 17:32:41 +02:00
Rasmus Wriedt Larsen
aa216e6535
Python: Update inline expectations
2023-04-27 12:04:05 +02:00
Rasmus Wriedt Larsen
d73289ac4e
Python: Accept .expected changes
2023-04-27 11:54:39 +02:00
amammad
1bf159e9a9
Merge branch 'github:main' into amammad-python-paramiko
2023-04-26 23:28:29 -07:00
Arthur Baars
128d102bbc
Merge pull request #12871 from aibaars/py-yaml
...
Python: add YAML support
2023-04-26 18:13:26 +02:00
Rasmus Lerchedahl Petersen
00b85cbfb9
python: remove blank line
2023-04-26 16:26:26 +02:00
Rasmus Lerchedahl Petersen
20cbc08627
python: we want empty expected files
...
(thanks @RasmusWL)
2023-04-26 15:54:23 +02:00
Rasmus Lerchedahl Petersen
843329f2fb
python: no longer missing
2023-04-26 15:06:03 +02:00
Rasmus Lerchedahl Petersen
66fdf6b241
python: add test for capturing by value
2023-04-26 15:05:03 +02:00
Rasmus Lerchedahl Petersen
003fece490
python: add test for capturing via global
2023-04-26 14:52:40 +02:00
Rasmus Lerchedahl Petersen
4d95b2023e
python: remember to update validTest.py
2023-04-26 14:36:52 +02:00
Rasmus Wriedt Larsen
abc1d658e0
Python: More .expected accepting
2023-04-26 14:10:13 +02:00
Rasmus Lerchedahl Petersen
b71306104e
python: add test for inheritance
2023-04-26 13:50:12 +02:00