Commit Graph

4333 Commits

Author SHA1 Message Date
Geoffrey White
e17c059f5e Swift: More reliable sink recognition.
This is needed for the real world results, but I could not reproduce the
issue in tests.  I think it may have  something to do with classes defined
across different files / modules???
2023-03-09 17:17:42 +00:00
Geoffrey White
ffa279e87b Swift: Add additional taint steps into fields.
ed
2023-03-09 17:17:42 +00:00
Geoffrey White
da338c26ba Swift: Add a few more test cases for sensitive data. 2023-03-09 11:39:22 +00:00
Mathias Vorreiter Pedersen
1f77f77153 DataFlow: Sync identical files. 2023-03-09 10:41:15 +00:00
Robert Marsh
6bfa08c5cc Merge branch 'main' into rdmarsh2/swift/constructor-flow 2023-03-08 16:40:11 +00:00
Robert Marsh
3bf3876c14 Swift: fix FPs with inout params in inits 2023-03-08 16:20:39 +00:00
Robert Marsh
94d80b0e87 Swift: accept LocalTaint test for constructor flow 2023-03-07 21:17:26 +00:00
Robert Marsh
86fd21de45 Swift: respond to PR comments on constructor flow 2023-03-07 21:17:01 +00:00
Alex Denisov
1283bcb860 Swift: mangle builtin types 2023-03-07 17:45:08 +01:00
AlexDenisov
d469b9711d Merge pull request #12388 from github/alexdenisov/introduce-type-mangling
Swift: introduce type mangling
2023-03-07 17:44:30 +01:00
Geoffrey White
72d6f56df1 Merge pull request #12413 from geoffw0/ptrout2
Swift: Permit data flow from all generic arguments
2023-03-07 16:27:12 +00:00
Geoffrey White
f1905f21b2 Swift: Remove special case from swift/unsafe-js-eval. 2023-03-06 21:02:42 +00:00
Geoffrey White
4380495eed Swift: Model Sequence.withContiguousSrtorageIfAvailable. 2023-03-06 20:59:17 +00:00
Robert Marsh
686f7ccd5a Swift: add flow for self out of constructors 2023-03-06 20:46:36 +00:00
Robert Marsh
9731989421 Swift: add tests for flow through constructors 2023-03-06 20:39:58 +00:00
Geoffrey White
2ed140c696 Swift: Update the pointertypes test. 2023-03-06 17:14:14 +00:00
Mathias Vorreiter Pedersen
ff53e53e8c Merge pull request #12236 from MathiasVP/language-specific-field-flow-branch-limit-term
Dataflow: Add a language specific term to `join` and `branch`
2023-03-06 16:59:09 +00:00
Geoffrey White
4d327dbf4f Swift: The PointerType class isn't used any d any more. 2023-03-06 16:36:41 +00:00
Geoffrey White
61340c4b20 Swift: Permit data flow from generic arguments, rather than just pointers. 2023-03-06 16:34:12 +00:00
Geoffrey White
1e5b904514 Swift: Add test cases for mutating pointers inside containers. 2023-03-06 16:17:39 +00:00
Mathias Vorreiter Pedersen
92ad099c1b DataFlow: Remove bindingsets, remove the call column, and swap parameter and argument columns. 2023-03-06 13:47:59 +00:00
Mathias Vorreiter Pedersen
3bf28cc752 DataFlow: Sync identical files. 2023-03-06 13:46:21 +00:00
Mathias Vorreiter Pedersen
9647b6a3f5 Swift: Add stub. 2023-03-06 13:45:04 +00:00
Geoffrey White
56b6441ef5 Merge pull request #12391 from geoffw0/ptrout
Swift: Permit data flow out through pointer arguments
2023-03-06 13:37:22 +00:00
Anders Schack-Mulligen
5c7f2ac7f7 Merge pull request #12186 from aschackmull/dataflow/refactor-configuration
Data flow: Refactor configuration
2023-03-06 13:38:59 +01:00
Anders Schack-Mulligen
557cb17f4d Dataflow: Minor perf fix for single config wrapper. 2023-03-06 10:24:33 +01:00
Geoffrey White
6f120a66d0 Merge pull request #12368 from geoffw0/taintarith3
Swift: Fill some gaps in arithmetic / bitwise operations modelling
2023-03-03 18:20:54 +00:00
Geoffrey White
9aaf30691c Merge pull request #12307 from geoffw0/stringconflationtaint
Swift: Update swift/string-length-conflation to taint tracking
2023-03-03 17:27:15 +00:00
Geoffrey White
c29dcefcf2 Swift: Fix .expected file. Locations had changed after the formatting fix. 2023-03-03 17:24:07 +00:00
Geoffrey White
395bf675fe Swift: Make the test work on Linux. 2023-03-03 17:14:57 +00:00
Geoffrey White
2d889304bb Swift: Some cases in the SqlInjection test are fixed by this. 2023-03-03 16:49:13 +00:00
Geoffrey White
b2bcb2d378 Swift: Fix formatting. 2023-03-03 16:32:21 +00:00
Geoffrey White
6e3040987a Swift: Autoformat. 2023-03-03 16:24:28 +00:00
Geoffrey White
234f17b578 Swift: Use PointerType in data flow's 'modifiable' predicate. 2023-03-03 16:23:49 +00:00
Geoffrey White
3249cee1c9 Swift: Add an overall PointerType. 2023-03-03 16:23:46 +00:00
Geoffrey White
589e0af20a Swift: Test for pointer types. 2023-03-03 16:23:29 +00:00
Geoffrey White
9423c21d46 Swift: Add simple model for pointer types. 2023-03-03 16:23:27 +00:00
Alex Denisov
7f3e7224df Swift: introduce type mangling 2023-03-03 16:28:41 +01:00
AlexDenisov
4aeff0f8dc Merge pull request #12335 from github/alexdenisov/extract-lazy-declarations
Swift: extract lazy declarations
2023-03-03 16:06:20 +01:00
Geoffrey White
9f86bcb1b8 Swift: Proof of concept fix. 2023-03-03 15:04:47 +00:00
Geoffrey White
15227d3c09 Swift: Add tests where a user-defined (non-modelled) function taints the pointee of a pointer argument. 2023-03-03 15:00:22 +00:00
Anders Schack-Mulligen
0addcfa7c5 Dataflow: Fix some perf issues. 2023-03-03 11:45:32 +01:00
Alex Denisov
ae7a0c517c Swift: do not allocate mangler statically 2023-03-03 10:28:08 +01:00
Alex Denisov
60c1505097 Swift: address review comments 2023-03-03 10:26:44 +01:00
Alex Denisov
ffcb382705 Swift: only consider Builting and __ObjC declarations as lazy 2023-03-02 20:00:23 +01:00
Geoffrey White
27ec36298f Swift: Understand binary pointwise operations. 2023-03-02 12:42:34 +00:00
Geoffrey White
ec2c58b416 Swift: Understand overflow binary bitwise operations. 2023-03-02 12:11:25 +00:00
Geoffrey White
1206b73d87 Swift: Understand overflow binary arithmetic operations. 2023-03-02 12:11:15 +00:00
Geoffrey White
53f52df809 Swift: Add taint test cases for overflow, bitwise and pointwise arithmetic operations. 2023-03-02 11:41:31 +00:00
Geoffrey White
c42add2191 Swift: Add test cases for overflow and pointwise binary arithmetic operations. 2023-03-02 11:28:59 +00:00