Rasmus Lerchedahl Petersen
6805fb63cc
Python: Use modern pattern for RawSQL class
2020-10-21 13:14:32 +02:00
Rasmus Lerchedahl Petersen
e44247bb00
Python: Add links to function docs
2020-10-21 13:03:14 +02:00
yoff
8e7e107365
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-10-21 12:55:38 +02:00
Rasmus Lerchedahl Petersen
383d846396
Python: address review
...
- smooth out future merge
- keyword argument for execute
2020-10-21 00:15:05 +02:00
Rasmus Lerchedahl Petersen
e1dfbc0486
Python: address review
2020-10-20 23:59:44 +02:00
yoff
01845d1278
Update python/ql/src/experimental/semmle/python/frameworks/Django.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-10-20 21:43:15 +02:00
Rasmus Lerchedahl Petersen
5990241c8f
Python: Support django models (with some caveats)
2020-10-20 03:20:00 +02:00
Rasmus Lerchedahl Petersen
d7308bddf2
Python: Add django sink with concept test
2020-10-19 21:34:55 +02:00
Rasmus Lerchedahl Petersen
d76b2c0023
Python: Add concept and port query
2020-10-19 10:58:57 +02:00
Rasmus Lerchedahl Petersen
89f5352324
Python: fix QL format
2020-10-15 16:41:41 +02:00
Rasmus Lerchedahl Petersen
ef32488596
Merge branch 'main' of github.com:github/codeql into python-port-unsafe-deserialization
2020-10-15 15:45:35 +02:00
Rasmus Lerchedahl Petersen
cc7d32c27c
Merge branch 'python-port-unsafe-deserialization' of github.com:yoff/codeql into python-port-unsafe-deserialization
2020-10-15 13:01:38 +02:00
Rasmus Lerchedahl Petersen
172e058438
Python: unsafe -> mayExecuteInput
2020-10-15 12:56:29 +02:00
Rasmus Lerchedahl Petersen
00566f0eee
Python: Extend DataFlow::CfgNode when appropriate
2020-10-15 12:40:16 +02:00
yoff
c36ad7dd9b
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2020-10-15 12:35:21 +02:00
Rasmus Wriedt Larsen
ce967e1249
Merge branch 'main' into python-model-python2-specific-command-execution
2020-10-15 10:00:02 +02:00
Rasmus Lerchedahl Petersen
6a3aed337f
Python self -> range
2020-10-14 16:35:43 +02:00
Rasmus Lerchedahl Petersen
352418cb5d
Python: track safe loaders
2020-10-14 16:33:55 +02:00
Rasmus Lerchedahl Petersen
b8cba381cf
Merge branch 'main' of github.com:github/codeql into python-port-unsafe-deserialization
2020-10-14 15:01:30 +02:00
Rasmus Lerchedahl Petersen
3a281a1bd6
Python: Adjust comments and tests
2020-10-14 14:40:11 +02:00
Rasmus Wriedt Larsen
5db4f906d0
Merge branch 'main' into python-port-code-injection
2020-10-14 14:22:02 +02:00
yoff
ffe79f688d
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-10-14 14:08:16 +02:00
Taus
92ccb795fd
Merge pull request #4415 from RasmusWL/python-flask-routed-parameter
...
Python: Add support for routed parameters in flask
2020-10-14 13:29:51 +02:00
Rasmus Wriedt Larsen
1fde477a8f
Python: Refactor argument matching
2020-10-14 13:22:35 +02:00
Rasmus Wriedt Larsen
680a6eb2a6
Python: Refactor argument matching (more)
2020-10-14 13:21:04 +02:00
Rasmus Wriedt Larsen
b0cfa1d92d
Python: Make "..Call" modeling classes extend DataFlow::CfgNode
2020-10-14 10:53:18 +02:00
Rasmus Wriedt Larsen
bfa5d18476
Python: Use new importNode
2020-10-14 10:49:38 +02:00
Rasmus Wriedt Larsen
7d600e4e8e
Merge branch 'main' into python-port-code-injection
2020-10-14 10:48:38 +02:00
Rasmus Wriedt Larsen
4d9d2155fc
Python: Make "..Call" modeling classes extend DataFlow::CfgNode
2020-10-14 10:44:58 +02:00
Rasmus Wriedt Larsen
b0e79890e6
Python: Use new importNode
2020-10-14 10:43:22 +02:00
Rasmus Wriedt Larsen
4597ba64d0
Merge branch 'main' into python-model-invoke
2020-10-14 10:41:37 +02:00
Rasmus Wriedt Larsen
eff47457bf
Python: Refactor argument matching
2020-10-14 10:37:38 +02:00
Rasmus Wriedt Larsen
2ea71f574c
Python: Make "..Call" modeling classes extend DataFlow::CfgNode
2020-10-14 10:37:37 +02:00
Rasmus Wriedt Larsen
2e30f58aa2
Python: Use new importNode
2020-10-14 10:37:36 +02:00
Rasmus Wriedt Larsen
ecf70c5f30
Merge branch 'main' into python-model-python2-specific-command-execution
2020-10-14 10:36:43 +02:00
Rasmus Wriedt Larsen
74bd045488
Python: Make "..Call" modeling classes extend DataFlow::CfgNode
2020-10-14 10:24:46 +02:00
Rasmus Wriedt Larsen
ba158f3317
Python: Use new importNode
2020-10-14 10:17:35 +02:00
Rasmus Wriedt Larsen
49d2e68d12
Merge branch 'main' into python-flask-routed-parameter
2020-10-14 10:16:00 +02:00
Rasmus Lerchedahl Petersen
93383747bd
Python: Use more common name for concept
2020-10-14 09:28:58 +02:00
Rasmus Lerchedahl Petersen
a76d276b48
Python: Adjust getARelevantTag
2020-10-14 08:44:04 +02:00
yoff
3b9ea3a958
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-10-14 08:24:26 +02:00
Rasmus Wriedt Larsen
2c5996f694
Python: Refactor subprocess_attr type-tracker
...
Co-authored-by: Taus <tausbn@github.com >
2020-10-13 17:21:21 +02:00
Rasmus Wriedt Larsen
76c9b8c49f
Python: Expose importNode instead of importModule/importMember
...
Since predicate name `import` is not allowed, I adopted `importNode` as it sort
of matches what `exprNode` does.
---
Due to only using `importMember` in `os_attr` we previously didn't handle
`import os.path as alias` :|
I did creat a hotfix for this (https://github.com/github/codeql/pull/4446 ), but
in doing so I realized the core of the problem: We're exposing ourselves to
making these kinds of mistakes by having BOTH importModule and importMember, and
we don't really gain anything from doing this!
We do loose the ability to easily only modeling `from mod import val` and not
`import mod.val`, but I don't think that will ever be relevant.
This change will also make us to recognize some invalid code, for example in
import os.system as runtime_error
we would now model that `runtime_error` is a reference to the `os.system`
function (although the actual import would result in a runtime error).
Overall these are tradeoffs I'm willing to make, as it does makes things simpler
from a QL modeling point of view, and THAT sounds nice 👍
2020-10-13 15:03:22 +02:00
Rasmus Lerchedahl Petersen
b7e8b48e9e
Python: Move concept tests out
...
These tests should be fleshed out at some point, but currently
they test all that we model.
2020-10-13 13:06:47 +02:00
Rasmus Lerchedahl Petersen
4685f2d5f2
Python: Address many review comments
...
still need to move concept tests
2020-10-13 12:03:23 +02:00
Rasmus Wriedt Larsen
662235bad8
Python: Use classRef instead of class_
...
Discussed offline with Taus
2020-10-13 11:56:37 +02:00
Rasmus Wriedt Larsen
2e430325be
Python: Refactor argument matching to use set literals
...
Co-authored-by: Taus <tausbn@github.com >
2020-10-13 10:05:35 +02:00
yoff
433a36225b
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-10-12 15:26:53 +02:00
Rasmus Lerchedahl Petersen
4bd56fdbe4
Python: Implement framework sinks
2020-10-09 16:13:47 +02:00
Rasmus Lerchedahl Petersen
0d8bd01e10
Python: Port query and add test
2020-10-09 16:11:37 +02:00