semmle-qlci
c4b961c8af
Merge pull request #2973 from tausbn/python-fix-or-disable-cps
...
Approved by BekaValentine
2020-03-04 10:36:47 +00:00
Taus Brock-Nannestad
48a47e1b54
Python: Fix broken test output.
2020-03-03 19:45:13 +01:00
Taus Brock-Nannestad
eecace788f
Python: Fix or disable CPs introduced by #2700 and #2875 .
2020-03-03 18:18:03 +01:00
Taus
f3b62e106d
Merge pull request #2840 from BekaValentine/python-objectapi-to-valueapi-useofapply
...
Python: ObjectAPI to ValueAPI: UseofApply
2020-03-02 21:40:35 +01:00
semmle-qlci
ec90627a64
Merge pull request #2909 from yo-h/experimental
...
Approved by aschackmull, jbj, max-schaefer, tausbn
2020-02-28 03:15:58 +00:00
Rebecca Valentine
d19957f09d
Puts use_of_apply example back into expressions_test to avoid messing up other tests
2020-02-27 10:44:46 -08:00
Taus
0da554c701
Merge pull request #2914 from RasmusWL/python-remove-optimize-true-directive
...
Python: Remove `--optimize: true` from options files
2020-02-27 13:16:59 +01:00
Taus
d9383d0e86
Merge pull request #2902 from RasmusWL/python-use-of-input
...
Python: Highlight py/use-of-input is for Python 2
2020-02-27 13:15:32 +01:00
Taus
8bd3063d2b
Merge pull request #2875 from RasmusWL/python-taint-urlsplit
...
Python: Add taint for urlsplit
2020-02-27 13:13:47 +01:00
Taus
e09907894d
Merge pull request #2817 from BekaValentine/objectapi-to-valueapi-truncateddivision
...
Python: ObjectAPI to ValueAPI: TruncatedDivision
2020-02-27 12:52:26 +01:00
Rebecca Valentine
b0493458d6
Combine and clean up the test files
2020-02-26 09:04:14 -08:00
Rasmus Wriedt Larsen
771dfecf6d
Python: Add sanitized edges for urlsplit test
2020-02-26 14:10:30 +01:00
Rasmus Wriedt Larsen
0b31cb1716
Python: Show that we have initial taint in urlsplit test
2020-02-26 14:09:02 +01:00
Rasmus Wriedt Larsen
4330d4e289
Python: Remove unused import in test
2020-02-26 10:26:30 +01:00
Rasmus Wriedt Larsen
b213db03fd
Python: Consolidate stdlib http client tests
...
Move the stdlib tests from test/{2,3}/library-tests/ into /test/library-tests/,
and deal with version by using sys.version_info (results should be the same for
both versions).
six tests were moved from /library-tests/web/client/stdlib => /library-tests/web/client/six
2020-02-26 10:26:30 +01:00
Rasmus Wriedt Larsen
cd5399d43e
Python: Model outgoing http client requests
2020-02-26 10:26:30 +01:00
Rebecca Valentine
2fb722b04e
Removes the general versions of the query.
2020-02-25 14:55:55 -08:00
Rebecca Valentine
15aeeb1e50
Removes erroneous expected result for py3
2020-02-25 14:54:52 -08:00
Rasmus Wriedt Larsen
f10a86d3ac
Python: Remove --optimize: true from options files
...
Tests will be run with optimizations on by default now.
2020-02-25 15:52:00 +01:00
yo-h
43bcd5b26c
Add guidelines for experimental CodeQL queries and libraries
2020-02-24 15:08:31 -05:00
Rasmus Wriedt Larsen
2b997ec94a
Python: Add Python 3 Imports tests from internal repo
2020-02-24 15:36:45 +01:00
Rasmus Wriedt Larsen
9d629aef95
Python: Highlight py/use-of-input is for Python 2
2020-02-24 15:13:19 +01:00
Rebecca Valentine
14273fc677
Adds missing result to expected file
2020-02-21 11:25:03 -08:00
Rasmus Wriedt Larsen
bfa7553095
Python: urlsplit sanitizer handles in [KNOWN_VALUE]
2020-02-21 16:03:29 +01:00
Rasmus Wriedt Larsen
798db91f71
Python: Add more urlsplit tests
2020-02-21 15:51:33 +01:00
Rasmus Wriedt Larsen
31ff652cb3
Python: Make Sanitizer available for urlsplit taint
...
It isn't used by default, it has to *actively* be enabled.
2020-02-21 15:18:53 +01:00
Rebecca Valentine
2f3ea10cf8
Move the query and examples over to 2/query-tests
2020-02-20 16:31:58 -08:00
Rebecca Valentine
91ea46f5ee
Adds test output.
2020-02-20 15:41:51 -08:00
Rebecca Valentine
115495450d
Adds test cases.
2020-02-20 15:41:51 -08:00
Rebecca Valentine
96b8d78650
Adds modernized files.
2020-02-20 15:41:51 -08:00
Rasmus Wriedt Larsen
fd270cc02c
Python: Add basic taint support for urlsplit/urlparse
2020-02-19 16:31:10 +01:00
Rasmus Wriedt Larsen
74345b1c05
Python: Make library-tests/taint/strings tests more transparent
...
Following the setup I invented for library-tests/taint/unpacking.
TestStep is still a bit annoying, since the output is not easy to eyeball; but
for now I guess we can live with it :)
I honestly didn't get the point of DistinctStringKinds.ql, other than showing we
can handle multiple taint kinds
2020-02-19 16:24:22 +01:00
Rebecca Valentine
810efef9de
Adds python3 test
2020-02-18 15:02:47 -08:00
Rebecca Valentine
e55f01d905
Adds new UseofApply test case and results to the Python2 tests dir
2020-02-18 12:12:25 -08:00
Taus
ffbb5d0529
Merge pull request #2739 from RasmusWL/python-modernise-security
...
Python: modernise Security/ queries
2020-02-18 16:28:53 +01:00
Rebecca Valentine
4178002d59
Merge branch 'master' into python-objectapi-to-valueapi-useofapply
2020-02-17 17:20:00 -08:00
Rebecca Valentine
13cd8d2435
Fixes expected results bug
2020-02-17 11:47:03 -08:00
Taus
03ae7831ad
Merge pull request #2711 from RasmusWL/python-fix-import-deprecated-module
...
Python: fix alerts for py/import-deprecated-module
2020-02-17 11:46:12 +01:00
Taus
df3ac49c28
Merge pull request #2700 from RasmusWL/python-taint-iterable-unpacking
...
Python: Handle iterable unpacking in taint tracking
2020-02-17 11:44:25 +01:00
Taus
990d1c1663
Merge pull request #2802 from RasmusWL/python-fix-fp-py/import-own-module
...
Python: Fix FP for py/import own module
2020-02-17 11:23:11 +01:00
Rebecca Valentine
6a04004d94
Adds test cases and qlref.
2020-02-13 14:49:01 -08:00
jack1142
e1644dd68b
Python: Handle __class_getitem__ in py/not-named-self ( #2825 )
...
Fixes #2824
2020-02-13 13:38:36 +01:00
Taus
895f2f74ab
Merge branch 'master' into python-clean-qltest-options
2020-02-12 13:44:41 +01:00
Taus
12113e947f
Merge pull request #2603 from RasmusWL/python-fix-http-source-sink
...
Python: Make web libs use HttpRequestTaintSource and HttpResponseTaintSink
2020-02-12 13:42:22 +01:00
Rasmus Wriedt Larsen
efedcd26d0
Python: Django tests need --lang=3
2020-02-11 13:16:52 +01:00
Rasmus Wriedt Larsen
1f762841ec
Python: In py/import-own-module handle from foo import *
2020-02-11 11:45:48 +01:00
Rasmus Wriedt Larsen
5cc2efef8e
Python: Fix FPs for py/import-own-module
...
Before I added `--max-import-depth=2`, there was a bit of trouble, where it
would alert on `from pkg_ok import foo2` -- since all the `pkg_ok.foo<n>`
modules were missing, I guess the analysis didn't make any assumptions on
whether `foo2` is a module or a regular attribute.
2020-02-11 11:45:48 +01:00
Rasmus Wriedt Larsen
f3f9e340d3
Python: Update tests for py/import-own-module
...
So I've been thinking a bit about import pkg_ok.foo1 after reading the Python
references for imports of submodules
https://docs.python.org/3/reference/import.html#submodules
> When a submodule is loaded using any mechanism (...) a binding is placed in the
parent module’s namespace to the submodule object. For example, if package spam
has a submodule foo, after importing spam.foo, spam will have an attribute foo
which is bound to the submodule.
That does at least explain what is going on here.
I feel that import pkg_ok.foo1 might be a very contrived example. In principle
it should be an alert, since the module pkg_ok ends up with an import of itself,
but my gut feeling is that in practice it's not a very important piece of code
to give alerts for. if we really care about giving these import related alerts,
we could probably add a new query for this pattern, as it's kind of surprising
that it works when you're just an ordinary python programmer.
2020-02-11 11:45:48 +01:00
Rasmus Wriedt Larsen
2bffbf0734
Python: Add testcases for py/import-own-module
...
You can try out:
python2 -c "import pkg_ok; print(pkg_ok.foo1); print(pkg_ok.foo2); print(pkg_ok.foo3); print(pkg_ok.foo4); print(pkg_ok.foo5); print(pkg_ok.Foo3); print(pkg_ok.Foo5); print(pkg_ok.pkg_ok)"
python3 -c "import pkg_ok; print(pkg_ok.foo1); print(pkg_ok.foo2); print(pkg_ok.foo3); print(pkg_ok.foo4); print(pkg_ok.foo5); print(pkg_ok.Foo3); print(pkg_ok.Foo5); print(pkg_ok.pkg_ok)"
2020-02-10 15:16:47 +01:00
Rasmus Wriedt Larsen
c0b7dcc019
Python: Remove ignored automatic_locations in qltest options files
2020-02-06 14:28:10 +01:00