yoff
2ae5dae474
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2023-06-14 20:55:45 +02:00
yoff
f5f822ca2d
Merge pull request #13395 from yoff/python/container-summaries-3
2023-06-14 17:13:49 +02:00
Owen Mansel-Chan
3ff6d033d3
Rename to neverSkipInPathGraph
2023-06-14 15:29:54 +01:00
Owen Mansel-Chan
ee185ae204
Python: Move hack from CastNode into flowCheckNodeSpecific
2023-06-14 14:46:39 +01:00
Owen Mansel-Chan
5f72ce0935
Add stub implementations of flowCheckNodeSpecific
2023-06-14 14:46:35 +01:00
Owen Mansel-Chan
e0f7437d40
Sync dataflow library
2023-06-14 14:29:56 +01:00
Michael Nebel
afec9b05e9
Merge pull request #13147 from michaelnebel/csharp/entityframeworkrefactor
...
C#: Use synthetic global in the EntityFramework code instead of jump steps.
2023-06-14 13:47:56 +02:00
Anders Schack-Mulligen
1a4fca334f
Merge pull request #13273 from aschackmull/dataflow/summarynode-refactor
...
Dataflow: Refactor FlowSummaryImpl to synthesize nodes independently from DataFlow::Node.
2023-06-14 09:38:36 +02:00
erik-krogh
1f8f111ef6
reintroduce DataFlowType - otherwise nothing in the old DataFlow library would compile
2023-06-14 08:31:57 +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 Lerchedahl Petersen
e11f6b5107
ruby/python: adjust shared file
...
- move `isNonLocal` to the top
- missing backtics
2023-06-13 11:49:30 +02:00
Rasmus Lerchedahl Petersen
203f8226cb
ruby/python: make SummaryTypeTracker private
2023-06-13 11:32:06 +02:00
Anders Schack-Mulligen
2d616d494e
C#/Ruby: Add fields as per review comments.
2023-06-13 11:26:30 +02:00
Anders Schack-Mulligen
5062442982
Go/Python/Ruby/Swift: Add stub.
2023-06-09 15:39:28 +02:00
Anders Schack-Mulligen
98f51d7f29
Dataflow: Sync.
2023-06-09 15:39:28 +02:00
Anders Schack-Mulligen
6020e4d0e3
C#/Go/Python/Ruby/Swift: Fix some more references.
2023-06-09 15:30:38 +02:00
Rasmus Lerchedahl Petersen
7e87a7c1f7
python: rewrite argumentPositionMatch
...
to not use the call graph.
2023-06-09 15:29:13 +02:00
Anders Schack-Mulligen
1e3b960c1b
Python: Adjust to FlowSummaryImpl changes.
2023-06-09 15:27:17 +02:00
Anders Schack-Mulligen
2cc5bde925
Dataflow: Sync.
2023-06-09 15:27:17 +02:00
erik-krogh
6dfeb2536b
delete old deprecations
2023-06-09 15:12:23 +02:00
Rasmus Lerchedahl Petersen
b294f48dbe
Merge branch 'main' of https://github.com/github/codeql into python-ruby/track-through-summaries-pm
2023-06-09 14:16:34 +02:00
Anders Schack-Mulligen
d230509905
Dataflow: Address review comments.
2023-06-09 08:37:36 +02:00
Anders Schack-Mulligen
4399138c82
Dataflow: Fix QL4QL alert.
2023-06-09 08:37:36 +02:00
Anders Schack-Mulligen
53f2b8aab0
Dataflow: Sync.
2023-06-09 08:37:36 +02:00
Anders Schack-Mulligen
fd832416d8
Dataflow: Add empty type strengthening predicate for languages without type pruning.
2023-06-09 08:37:35 +02:00
Anders Schack-Mulligen
e8cea79f1d
Dataflow: Sync.
2023-06-09 08:37:35 +02:00
Tom Hvitved
cee70883f0
Merge pull request #12964 from hvitved/ruby/remove-synth-returns
...
Ruby: Remove canonical return nodes
2023-06-08 10:07:48 +02:00
Rasmus Lerchedahl Petersen
6ddf1f7eaf
ruby/python: remove predicates from interface
2023-06-07 14:07:08 +02:00
Tom Hvitved
48ac3e58ee
Python: Use CallGraphConstruction in call graph construction
2023-06-07 09:02:03 +02:00
Tom Hvitved
4bf124bffe
Ruby/Python: Add CallGraphConstruction module for recursive type-tracking based call graph construction
2023-06-07 09:02:03 +02:00
Rasmus Lerchedahl Petersen
6755bb32fb
Python: do not add read steps for collections
2023-06-01 15:18:05 +02:00
Michael Nebel
06b02eb3ce
Sync files.
2023-06-01 09:30:31 +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
Michael Nebel
915042a881
Minor cleanup and sync files.
2023-05-26 12:25:00 +02:00
Michael Nebel
811eee1f0d
Python: Re-factor getComponent.
2023-05-26 12:24:59 +02:00
Tom Hvitved
1788c54bd8
Python: Avoid calling TypeTracker::step in call graph construction
2023-05-24 11:11:54 +02:00
Tom Hvitved
deee314370
Python/Ruby: Optimize join-order in TypeTracker::[small]step
2023-05-24 11:11:07 +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
Tom Hvitved
9dede31c0d
Merge pull request #13077 from hvitved/ruby/track-regexp-improvements
...
Ruby: Improvements to `RegExpTracking`
2023-05-15 16:02:00 +02:00
yoff
72c6919f4e
Merge pull request #13095 from yoff/python/interpret-summary-content
...
Python: Interpret summary content
2023-05-12 13:09:14 +02:00
Rasmus Wriedt Larsen
62f0c64a03
Merge pull request #12552 from erik-krogh/py-type-trackers
...
Py: refactor regex tracking to type-trackers
2023-05-11 16:18:34 +02:00
Tom Hvitved
211a1e188c
Sync files
2023-05-10 09:36:00 +02:00
Rasmus Lerchedahl Petersen
064877140e
Python: interpret remaining content
2023-05-09 21:40:01 +02:00
Rasmus Lerchedahl Petersen
c1110666b5
Python: remaining content-based summary components
2023-05-09 21:40:01 +02:00