Taus
96e99f55ad
Merge pull request #2976 from BekaValentine/python-objectapi-to-valueapi-emptyexcept
...
Python: ObjectAPI to ValueAPI: EmptyExcept
2020-03-09 23:56:27 +01:00
semmle-qlci
3ae1aada37
Merge pull request #2995 from tausbn/python-fix-nested-sequence-assign-cp
...
Approved by RasmusWL
2020-03-06 09:43:24 +00:00
Taus Brock-Nannestad
2face94fa5
Python: Mitigate CP in nested_sequence_assign.
...
The problem here was that in the base case, there was no relationship between
`left_parent` and `right_parent`. These could be any two tuples or lists, even
if they were not part of an assignment statement.
To fix this, we add a bit of manual "magic", requiring that both of these
arguments must belong to the left and right-hand sides of the same assignment
statement.
(Note that this is in principle _still_ a gross overapproximation, but since
assignment statements are usually quite restricted in size, I don't expect this
to be a major problem.)
2020-03-05 14:09:50 +01:00
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
Rebecca Valentine
3bedd5cb58
Python: Adds modernized predicates and moves query over to them
2020-03-03 16:02:25 -08:00
Rebecca Valentine
e39a0c9121
Python: Moves non_local_control_flow to new API, and fixes bug in ClassValue implementation
2020-03-03 15:38:35 -08:00
Taus
02ae0fbda6
Merge pull request #2965 from BekaValentine/python-objectapi-to-valueapi-raising
...
Python: ObjectAPI to ValueAPI: Raising
2020-03-04 00:03:17 +01:00
Taus Brock-Nannestad
eecace788f
Python: Fix or disable CPs introduced by #2700 and #2875 .
2020-03-03 18:18:03 +01:00
Rebecca Valentine
7161ca57c8
Python: Adds modernizations and moves query over to them
2020-03-02 18:45:41 -08: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
ba1f3c46b8
Removes obsolete asBuiltin predicate
2020-02-26 08:17:45 -08:00
Rasmus Wriedt Larsen
400a8ffae5
Python: Use slightly better name than foobar
...
I intended to rename before committing, but woops
2020-02-26 14:08:10 +01:00
Rasmus Wriedt Larsen
5fae3a8d0a
Python: Explain complexity of HTTPConnection.request
2020-02-26 10:26:30 +01:00
Rasmus Wriedt Larsen
be187bcc0a
Python: Make Client::HttpRequest extend ControlFlowNode
...
Taus poitned out that the reuqest being send off, doesn't *need* to happen on a
CallNode. Someone *could* use a __setattr__ or property :\
2020-02-26 10:26:30 +01:00
Rasmus Wriedt Larsen
e25079acc2
Python: Remove unnecessary cast
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
930228acc5
Un-autoformats
2020-02-25 09:52:46 -08:00
Rasmus Wriedt Larsen
bfa7553095
Python: urlsplit sanitizer handles in [KNOWN_VALUE]
2020-02-21 16:03:29 +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
Rasmus Wriedt Larsen
abbc9293db
Merge pull request #2891 from tausbn/python-special-operations
...
Python: Add AST support for special operations.
2020-02-21 13:16:22 +01:00
Rebecca Valentine
ab1fcb32ae
autoformats
2020-02-20 16:17:43 -08:00
Rebecca Valentine
5d9d724d43
Removes conflicting NumericValue definition
2020-02-20 16:17:33 -08:00
Rebecca Valentine
96b8d78650
Adds modernized files.
2020-02-20 15:41:51 -08:00
Taus Brock-Nannestad
913db460b2
Python: Add AST support for special operations.
...
These have the form `$name(arg1, arg2, ...)` and currently have no semantics.
They may be useful for testing purposes, however.
2020-02-20 18:05:37 +01:00
Rasmus Wriedt Larsen
fd270cc02c
Python: Add basic taint support for urlsplit/urlparse
2020-02-19 16:31:10 +01:00
Rasmus Wriedt Larsen
e4b83855d9
Python: Autoformat security/strings/External.qll
2020-02-19 16:24:13 +01:00
Rebecca Valentine
9e3ed214d0
Python: ObjectAPI to ValueAPI: Foresight Additions ( #2819 )
...
* Adds the...Type() predicates as foresight modernizations.
* Removes predicates that are not currently ported/portable
* Adds range types
* Update python/ql/src/semmle/python/objects/ObjectAPI.qll
Co-Authored-By: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
* Update python/ql/src/semmle/python/objects/ObjectAPI.qll
Co-Authored-By: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
* Swaps xType for just x, at least when it's new
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-02-18 21:29:20 -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
Rasmus Wriedt Larsen
6d5a8e4995
Python: Fix typos
2020-02-17 14:34:22 +01: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
Rasmus Wriedt Larsen
1558cf2eae
Python: Fix typo (decent => descent)
2020-02-13 13:35:29 +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
d5c6092920
Python: Fix typo (trakcing => tracking)
2020-02-06 11:50:44 +01:00
Rasmus Wriedt Larsen
de63eb1450
Merge pull request #2592 from tausbn/python-remove-manual-tc-in-ssashortcut
...
Python: Remove manual TC from `ssaShortCut`.
2020-02-04 14:04:25 +01:00
Rasmus Wriedt Larsen
6b5b28aded
Python: Add Value.getABooleanValue and Value.getDefiniteBooleanValue
...
Replacing `Value.booleanValue`. We wanted to match `Object.booleanValue` that
only gives a result if it is either `true` or `false`, but also wanted to keep
the flexibility to see if the Value _could_ be `true`/`false`. We don't have a
motivating usecase, so let's see if we ever need it :P
+ fix modernisation regression on py/jinja2/autoescape-false
2020-02-04 11:42:11 +01:00
Rasmus Wriedt Larsen
2802ac2e72
Python: Add NumericValue
...
Since `IntObjectInternal` extends `TInt`, and `TInt` is defined for all
instances of `Builtin.intValue`, and `Builtin.intValue` includes both `int` and
`long`, we don't need to handles Longs in a special manner, as we did in NumericObject.
2020-02-04 11:39:16 +01:00
Rasmus Wriedt Larsen
d30e6d2b69
Python: Value::forString and friends returns StringValue
2020-02-03 14:35:09 +01:00
Rasmus Wriedt Larsen
cc73352bf6
Merge pull request #2549 from tausbn/python-fix-several-bad-join-orders
...
Python: Fix several bad join orders.
2020-02-03 13:54:36 +01:00
Rasmus Wriedt Larsen
72fddaf5ed
Merge pull request #2733 from tausbn/python-add-stringvalue
...
Python: Extend `Value` API.
2020-01-31 13:12:14 +01:00
Taus Brock-Nannestad
ba2bbf1788
Python: Extend Value API.
...
Adds
- `StringValue` as a new class,
- `Value::booleanValue` which returns the boolean interpretation of the given
value, and
- `ClassValue::str` which returns the value of the `str` class, depending on the
Python version.
2020-01-31 12:33:02 +01:00
Taus
b89273402d
Merge pull request #2701 from RasmusWL/python-modernise-metrics
...
Python: modernise import related queries
2020-01-30 14:37:39 +01:00
Anders Schack-Mulligen
743b612d0d
Javascript/Python: Sync XML.qll
2020-01-29 13:31:25 +01:00
Rasmus Wriedt Larsen
6c7cddf258
Python: py/import-deprecated-module handle backwards compatible code
2020-01-28 16:36:47 +01:00
Rasmus Wriedt Larsen
46f4b74134
Python: Fix tornado lib: a redirect is not a http response
2020-01-28 13:06:48 +01:00
Rasmus Wriedt Larsen
ee382bb2ea
Python: Fix typo (reques => request)
2020-01-28 13:06:48 +01:00
Rasmus Wriedt Larsen
9b2ca0c9c7
Python: Update web libraries to use HttpSources and HttpSinks
2020-01-28 13:06:48 +01:00
Rasmus Wriedt Larsen
2cdbae08b6
Python: Don't make duplicate sink for Tornado handler
...
`self.write(...)` would be treated as *both* TornadoConnectionWrite and
TornadoHttpRequestHandlerWrite
2020-01-28 13:06:48 +01:00
Rasmus Wriedt Larsen
effa4548ab
Python: Add toString to TurboGears HttpResponseTaintSinks
...
Naming these were a bit hard, but better than generic "Taint Sink"
2020-01-28 13:06:48 +01:00