Taus
8e1bb4b364
Python: Accept moved consistency test results
...
Co-authored-by: Rasmus Lerchedahl Petersen <yoff@github.com >
2023-10-10 09:22:36 +00:00
Taus
e8ac258994
Python: Add missing flow for AssignmentExpr nodes
...
Also extend the tests surrounding this construct to be a bit more comprehensive.
Co-authored-by: Rasmus Lerchedahl Petersen <yoff@github.com >
2023-10-09 14:16:03 +00:00
Tom Hvitved
d3558f8579
Python: Update expected test output
2023-09-12 21:18:31 +02:00
Tom Hvitved
253f932d2a
Python: Use data flow consistency checks from shared pack
2023-08-30 15:29:41 +02:00
yoff
6e05246daa
Merge pull request #13935 from yoff/python/mad-on-externals
...
Python: MaD on externals
2023-08-28 14:04:54 +02:00
Rasmus Wriedt Larsen
9c44235782
Python: Modernize DataflowQueryTest.qll
...
Co-authored-by: Rasmus Lerchedahl Petersen <yoff@github.com >
2023-08-28 11:40:41 +02:00
Rasmus Lerchedahl Petersen
ad49eada48
Python: Do not alter codeql-workspaces.yml
...
And remove the qlpack referred to therein.
Instead we rename and duplicate the extesion file
that this qlpack pointed to.
These two extension files are kept in sync by `identical-files.json`.
2023-08-25 11:46:41 +02:00
Rasmus Wriedt Larsen
843f2681bb
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-08-18 10:09:45 +02:00
Rasmus Wriedt Larsen
ca93f4d223
Python: Accept .expected changes
2023-08-11 10:36:05 +02:00
Rasmus Wriedt Larsen
46af77c1af
Python: Include all assignments in data flow paths
...
Like Ruby did in https://github.com/github/codeql/pull/12566
2023-08-10 11:45:29 +02:00
Rasmus Wriedt Larsen
9bd5694c3f
Python: Add tests of path-graph for dataflow/taint-tracking
...
Although this is actually using taint-tracking (so we can use the +=
statement), I would personally forget to check under the
dataflow/tainttracking folder to look for such a test, so I'm opting to
keep it under the dataflow/ folder.
2023-08-10 11:44:17 +02:00
Rasmus Lerchedahl Petersen
dbc60140e0
Python: move tests to data extensions
...
For these tests, we cannot use the same mechanism, as we want the
data extensions to be available for both tests.
Instead, we create a ql-pack for the test directory and point to
the data entensions from there. This makes the extensions
available for all tests in the directory.
2023-08-10 09:17:34 +02:00
yoff
d032bf5c0e
Merge pull request #13685 from RasmusWL/captured-variables-default-param-value
...
Python: Model parameter with default value as `DefinitionNode`
2023-07-17 14:25:13 +02:00
Rasmus Wriedt Larsen
6f3cb67050
Python: Model parameter with default value as DefinitionNode
2023-07-07 11:54:50 +02:00
Rasmus Wriedt Larsen
bea07002d3
Python: Expand captured-variable test with default param
2023-07-06 17:21:29 +02:00
Jeroen Ketema
abe06e5b95
Python: Update remaining inline expectation tests to use the paramterized module
2023-07-03 10:22:35 +02:00
Rasmus Wriedt Larsen
257f9912dd
Python: Remove one more unnecessary taint test
2023-06-26 12:00:55 +02:00
Rasmus Wriedt Larsen
6cb03190fa
Python: Updates from inline test being parameterized
2023-06-26 11:43:51 +02:00
Rasmus Wriedt Larsen
0121263e03
Merge branch 'main' into python/enable-summaries-from-models
2023-06-26 11:34:12 +02:00
Rasmus Lerchedahl Petersen
86dfc7b66e
python: format
2023-06-23 08:18:06 +02:00
Rasmus Lerchedahl Petersen
2264b119a6
python: more consistent tests
...
- do not test taint flow whne dataflow is established
- test taint of both the collection and the expected element
2023-06-22 11:52:25 +02:00
yoff
0f8ebd1519
Update python/ql/test/experimental/dataflow/model-summaries/model_summaries.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2023-06-22 11:31:21 +02:00
Jeroen Ketema
277dbdf410
Merge pull request #13498 from jketema/inline-4
...
Rework more inline expectation tests to use the parameterized module
2023-06-22 10:01:07 +02:00
Rasmus Lerchedahl Petersen
cb2de69f5a
python: consolidate tests
...
also change `Foo` -> `foo`
2023-06-20 16:13:38 +02:00
yoff
579c56c744
Merge pull request #13178 from yoff/python-ruby/track-through-summaries-pm
...
ruby/python: Shared module for typetracking through flow summaries
2023-06-20 11:19:45 +02:00
Rasmus Lerchedahl Petersen
e111a19524
python: split tests into taint and value
...
and add summaries
2023-06-20 10:46:27 +02:00
Jeroen Ketema
dba4460526
Python: Update more inline expectation tests to use the paramterized module
2023-06-20 10:16:15 +02:00
Rasmus Lerchedahl Petersen
229641070f
python: rename summaries
2023-06-18 22:01:47 +02:00
Rasmus Lerchedahl Petersen
6554e804dd
python: add test for model summaries
...
(but no summaries yet)
2023-06-18 21:52:49 +02:00
Rasmus Wriedt Larsen
fb6955edf9
Python: Add tests of methods in summaries
2023-06-16 14:43:45 +02:00
Rasmus Lerchedahl Petersen
b7bf750174
python: use updated names in test
2023-06-14 22:23:21 +02:00
Rasmus Lerchedahl Petersen
6521a51d93
python: unique strings in tests
2023-06-14 21:14:50 +02:00
Rasmus Lerchedahl Petersen
4b4b9bf9da
python: add missing summaries
...
For append/add:
The new results in the experimental tar slip query
show that we do not recognize the sanitisers.
2023-06-13 20:22:21 +02:00
Rasmus Lerchedahl Petersen
b72c93ff4f
python: remove remaining explicit taint steps
2023-06-13 20:22:20 +02:00
yoff
1d65284011
Merge pull request #13209 from yoff/python/container-summaries-2
...
python: Container summaries, part 2
2023-06-13 18:17:09 +02:00
Rasmus Wriedt Larsen
2b7fc94aef
Python: Fix validTest.py expectation
2023-06-13 12:11:28 +02:00
yoff
8cae151883
Update python/ql/test/experimental/dataflow/typetracking-summaries/TestSummaries.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2023-06-13 11:22:54 +02:00
Rasmus Lerchedahl Petersen
b709ed47e1
python: add test
2023-06-13 11:20:15 +02:00
Jeroen Ketema
8f599faf85
Python: Rewrite inline expectation tests to use parameterized module
2023-06-09 10:42:29 +02:00
Rasmus Lerchedahl Petersen
2daa9577bb
ruby/python: implement shared module
...
ruby:
- create new shared file `SummaryTypeTracker.qll`
- move much logic into the module
- instantiate the module
- remove old logic, now provided by module
python:
- clone shared file
- instantiate module
- use (some of the) steps provided by the module
2023-05-30 13:31:24 +02:00
Rasmus Lerchedahl Petersen
47b2d48da2
python: add tests
...
- add `getACallSimple` to `SummarizedCallable`
(by adding it to `LibraryCallable`)
2023-05-30 13:16:04 +02:00
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 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
6a5fc3c1b1
Update python/ql/test/experimental/dataflow/tainttracking/defaultAdditionalTaintStep/test_collections.py
2023-05-12 13:06:08 +02:00