Matt Brown
9a03a9a5d0
Move param taint sink addition after arguuments have been analysed
2020-11-22 19:39:40 -05:00
Matt Brown
853432a6aa
Fix tests
2020-11-22 16:24:33 -05:00
Matt Brown
6399707dd6
Prevent flows through TaintedInput-suppressed files
2020-11-22 16:04:57 -05:00
Matt Brown
2c77424e16
Fix #4656 - separate UnusedConstructor from UnusedMethod
2020-11-22 11:48:17 -05:00
orklah
ae0486529e
Unused psalm-suppress ( #4646 )
2020-11-21 17:39:40 -05:00
Matt Brown
78d644d1a1
Change TaintedText to TaintedCallable
2020-11-19 19:01:19 -05:00
Lukas Reschke
78f4a0691c
Add dedicated types for 'file', 'header' and 'cookie' ( #4630 )
...
* [WIP] Add dedicated sinks for 'file', 'header' and 'cookie'
* Add documentation
* Add mapping for taint flows
* Add tests
* Fix test
2020-11-19 17:47:29 -05:00
Matt Brown
95de6cf177
Allow immutable classes to be specialised through calls
2020-11-19 01:38:20 -05:00
Lukas Reschke
ddbfbb28e6
Split LDAP into custom category ( #4604 )
...
- Adds ldap_escape as sanitizer
- Defines the right parameters to ldap_search as sink
- Wrote documentation
- Added tests
2020-11-18 11:39:36 -05:00
Matt Brown
3f7f959726
Fix #4599 - propagate taints to parent callers where necessary
2020-11-18 09:59:54 -05:00
Lukas Reschke
5ba4681c17
Add SSRF sinks ( #4592 )
2020-11-18 00:52:48 -05:00
Matt Brown
f6591e6d0f
Use resolution that works in multithreaded mode
2020-11-17 17:24:46 -05:00
Matt Brown
2aa98bc5d0
Simplify tainted output a bit, removing duplicate paths
2020-11-17 17:17:18 -05:00
Matt Brown
43af3b1a57
Break out TaintedInput issues into a lot of separate ones
2020-11-17 12:44:31 -05:00
Thomas Mauro Vargiu
4e8fb9c37f
Fix #4549 Better intersection between parent types ( #4560 )
2020-11-15 20:29:49 -05:00
Matt Brown
13b83e6132
Fix #4545 - allow intersections in more places
2020-11-13 09:43:30 -05:00
Matt Brown
ec9762ce61
Prevent the same interface, repopulated, from confusing matters
2020-11-12 15:52:13 -05:00
Matt Brown
58c47ab32c
Fix build
2020-11-12 14:22:54 -05:00
Matt Brown
3dd185e395
Fix #4537 - use more rigorous inerhitance for return and param types
2020-11-12 13:54:27 -05:00
Matt Brown
929efcc1ac
Use the same docblock as the source params, if possible
2020-11-12 09:14:40 -05:00
Matt Brown
b7551e712a
Use better way to determine which signture to use
...
Fixes #4524
2020-11-11 19:22:23 -05:00
Matt Brown
5a5cbb2892
Increase nesting
2020-11-10 18:27:28 -05:00
Matt Brown
165e0db157
Fix style
2020-11-10 16:19:24 -05:00
Matt Brown
b731b53d5e
Add debug stuff for code complexity
2020-11-10 12:49:42 -05:00
Matt Brown
ab2ab826d2
Add slashes
2020-11-08 14:34:09 -05:00
Matt Brown
0be4f2fedf
Fix/ignore reflection bugs
2020-11-08 14:27:37 -05:00
Wouter J
58318282c5
Add support for PHP 8 union types ( #4505 )
2020-11-08 14:23:03 -05:00
Matt Brown
3bde327f1b
Break up CommentAnalyzer
2020-11-04 23:25:08 -05:00
Matt Brown
b5a3f45d52
Remove use of PHP 7.2 function
2020-11-04 11:02:34 -05:00
Matt Brown
938cebc9f8
Use better inference for getAttributes return type
...
Fixes #4367
2020-10-30 17:37:16 -04:00
Matt Brown
dab1aac9d4
Protect more calls
2020-10-28 13:48:13 -04:00
Matt Brown
4aef96bbac
Use lists everywhere for args
2020-10-28 12:45:26 -04:00
Matt Brown
ad5a8c247b
Fix #4386 - fix issues with property promotion
2020-10-21 14:41:15 -04:00
orklah
ceaaa39ec3
improve phpdoc ( #4352 )
2020-10-17 12:36:44 -04:00
Matt Brown
9f29e77adc
Fix #4354 - allow assignments on RHS of || in if conditional
2020-10-17 12:29:57 -04:00
orklah
ffe7874906
Misc improvements ( #4314 )
...
* extract the operation out of the loop when possible
* remove unnecessary interfaces when already inherited in parent
* simplify expressions
* avoid using alias functions
* redundant phpdoc
* unused imports
2020-10-15 13:23:35 -04:00
Matt Brown
516141a380
Rename ControlFlowGraph to more appropriate DataFlowGraph
2020-10-13 16:49:03 -04:00
orklah
62e79fb7ea
param types ( #4313 )
2020-10-12 15:46:47 -04:00
orklah
10f2966dcb
return types ( #4311 )
...
* return types
* remove willReturn for void methods
2020-10-12 15:02:52 -04:00
Matt Brown
464795d86c
Fix #4309 - improve reuse of callmap callable inference
2020-10-12 13:46:43 -04:00
Matt Brown
d8a74ca383
4.x - Prevent passing empty array to max or min
2020-10-12 12:09:12 -04:00
Matt Brown
b85cbd01a7
4.x - add support for PHP 8 callmap
2020-10-12 09:41:25 -04:00
Matt Brown
f3b05f5ab5
Move static code out of src
2020-10-12 00:59:19 -04:00
Matt Brown
fb604bfacb
4.x - move class constants into their own storage object
2020-10-05 09:50:32 -04:00
Matt Brown
939297484c
4.x - rename TFn to TClosure
2020-10-04 23:32:01 -04:00
Matt Brown
14efde286f
4.x - refactor unused variable detection
...
This turns unused variable detection into an explicit control-flow problem, where before we had a more simplistic mark-and-sweep algorithm
2020-09-30 12:28:13 -04:00
Brown
da65a4327f
Move taint graph functionality into its own object
2020-09-25 00:37:40 -04:00
orklah
250fa8e42d
misc changes ( #4227 )
...
* misc changes
* misc changes
2020-09-22 00:44:31 -04:00
Brown
56cddd16bf
Rename TaintGraph to ControlFlowGraph because it’s about to do more
2020-09-20 23:59:52 -04:00
Brown
5c23a3d7b3
Localise taint analysis better
2020-09-20 19:26:49 -04:00