Owen Mansel-Chan
cf614a596d
Fix cwe tags to include leading zero
2025-04-30 16:43:03 +01:00
Asger F
d3ee658399
Python: resolve remaining TODOs
2025-02-06 10:27:56 +01:00
Asger F
e4a1847dad
Python: mass enable diff-informed data flow
2025-02-06 10:27:19 +01:00
Anders Schack-Mulligen
8a5fc97b06
Python: Remove deprecated configuration classes referencing deleted api.
2024-12-03 20:08:45 +01:00
Anders Schack-Mulligen
a8fc100108
Python: Add alert provenance plumbing.
2024-04-12 09:20:08 +02:00
Rasmus Wriedt Larsen
acde1920e7
Python: Move UntrustedDataToExternalAPI to new dataflow API
2023-08-28 15:27:50 +02:00
erik-krogh
6dfeb2536b
delete old deprecations
2023-06-09 15:12:23 +02:00
Kasper Svendsen
3eb5a95ee3
Python: Make implicit this receivers explicit
2023-05-03 12:16:21 +02:00
Rasmus Wriedt Larsen
ae1d4decc3
Python: ExternalAPIs.qll: Swap order of classes
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 11:01:47 +01:00
Rasmus Wriedt Larsen
608b16c98a
Python: Minor adjustment in QLDoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 10:56:53 +01:00
Rasmus Wriedt Larsen
700e40b11b
Python: Fix ql4ql
2023-01-17 10:35:20 +01:00
Rasmus Wriedt Larsen
61151d4aa7
Merge branch 'main' into call-graph-code
2023-01-16 13:39:15 +01:00
Tony Torralba
d87c8c75d6
Python: Remove omittable exists variables
2023-01-10 13:37:35 +01:00
Rasmus Wriedt Larsen
69b43f147a
Python: Fix ql4ql alerts
...
The rest will be ignored.
2022-11-22 16:24:47 +01:00
Rasmus Wriedt Larsen
df4d09b3f9
Python: Don't rely on all DataFlowCall being resolved
...
I've been living dangerously with that assumption :|
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
7c1320ed4b
Python: Adjust ExternalAPI qhelp files
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
af9be6ad7e
Python: Suppress more spurious alerts from ExternalAPI queries
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
70cc986d5f
Python: Suppress None.json.dumps from ExternalAPI queries
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
7648462f98
Python: Fix ExternalAPIs queries
...
The output might end up being slightly more noisy since we don't
collapse positional and keyword arguments when the external target
function is included in the database, but this aligns with our long-term
goal of not doing that anymore, so I think it's fine.
2022-11-22 14:46:29 +01:00
Rasmus Lerchedahl Petersen
0f95992b2f
Python: remove NonLibraryDataFlowCallable
...
this required managing parameters and their pre-update nodes a bit
2022-09-12 15:17:29 +02:00
yoff
0b5d4c59dd
Merge branch 'main' of https://github.com/github/codeql into python-dataflow/flow-summaries-from-scratch
...
synced files have changed
2022-08-25 09:24:05 +00:00
erik-krogh
a593a52b5e
add missing qldoc (that was already missing?)
2022-08-22 21:22:39 +02:00
Erik Krogh Kristensen
887f6557ed
fix common misspellings throughout github/codeql
2022-08-10 23:21:41 +02:00
yoff
cedf9ef538
python: make DataFlowCall "publicly usable"
...
- add `getCallable`, `getArg` and `getNode`
- these are `none` for summary calls
- revert "external" uses (they had been changed to `DataFlowSourceCall`)
2022-06-23 08:32:23 +00:00
yoff
4445cf152a
python: various fixes
...
- compilation
- alerts
- some review comments
2022-05-11 12:28:58 +00:00
yoff
f14ee0e794
python: Flow summaries based on type tracking
...
Two classes have been inserted into the hierarchies:
- `NonLibraryDataFlowCallable` with a method `getACall2`.
This method implements "get a call, not considering flow summaries".
For `NonLibraryDataFlowCallable`s, `getACall` will defer to `getACall2`.
While you could have a synthesised call to such a callable,
it would not correspond to a `CallNode`.
- `NonLibraryDataFlowSourceCall` with methods
`getArg2` and `getCallable2`. These also refer to a call graph that
does not consider flow summaries.
`getArg2` is used to synthesise pre-update nodes for arguments.
`getCallable2` is used in `connects` to compute argument passing.
This is used to define data flow nodes for overflow arguments.
`getACall2` ensures that `LibraryCallableValue::getACall` is not called
when the charpred of `FunctionCall` is evaluated.
2022-05-10 12:48:42 +00:00
Rasmus Lerchedahl Petersen
80175a9af5
Python: Compiles and mostly pass tests
...
- add flowsummaries shared files
- register in indentical files
- fix initial non-monotonic recursions
- add DataFlowSourceCall
- add resolvedCall
- add SourceParameterNode
failing tests:
- 3/library-tests/with/test.ql
2022-05-10 12:48:42 +00:00
Erik Krogh Kristensen
69353bb014
patch upper-case acronyms to be PascalCase
2022-03-11 11:10:33 +01:00
Rasmus Wriedt Larsen
77099fe9d0
Python: Always use @id py/
...
The two queries in CWE-020 are used for manual evaluation (is my
understanding), and the two IDE queries should work based on their tags,
and not on the query-id.
2021-11-10 10:40:17 +01:00
Calum Grant
771e686946
Update security-severity scores
2021-06-15 13:25:17 +01:00
Calum Grant
a594afb828
Add security-severity metadata
2021-06-10 20:11:08 +01:00
Rasmus Wriedt Larsen
4880350420
Python: Add a single missing QLDoc
2021-02-17 16:33:12 +01:00
Rasmus Wriedt Larsen
7afe3972d8
Revert "Merge pull request #5171 from RasmusWL/restructure-queries"
...
This reverts commit 8caafb3710 , reversing
changes made to ec79094957 .
2021-02-17 16:32:53 +01:00
Rasmus Wriedt Larsen
3a18881660
Python: Restructure query file location
...
Since I can never remember the CWE numbers
2021-02-16 11:36:10 +01:00
Rasmus Wriedt Larsen
a08e1db601
Python: Remove leftover note to self in qhelp file
2020-11-30 17:44:18 +01:00
Rasmus Wriedt Larsen
cbfcfdf883
Python: Fix UntrustedDataToExternalAPI.qhelp
2020-11-27 17:54:22 +01:00
Rasmus Wriedt Larsen
9e4910f863
Python: Untrusted data used in external APIs
...
A port of the one for Java that was added in https://github.com/github/codeql/pull/3938
2020-11-26 18:19:35 +01:00