nextcloud/lib/private/legacy
Lukas Reschke 47ac8e0028
Add Psalm Taint Flow Analysis
This adds the Psalm Security Analysis, as described at
https://psalm.dev/docs/security_analysis/

It also adds a plugin for adding input into AppFramework.

The results can be viewed in the GitHub Security tab at
https://github.com/nextcloud/server/security/code-scanning

**Q&A:**

Q: Why do you not use the shipped Psalm version?
A: I do a lot of changes to the Psalm Taint behaviour. Using released
versions is not gonna get us the results we want.

Q: How do I improve false positives?
A: https://psalm.dev/docs/security_analysis/avoiding_false_positives/

Q: How do I add custom sources?
A: https://psalm.dev/docs/security_analysis/custom_taint_sources/

Q: We should run this on apps!
A: Yes.

Q: What will change in Psalm?
A: Quite some of the PHP core functions are not yet marked to propagate
the taint. This leads to results where the taint flow is lost. That's
something that I am currently working on.

Q: Why is the plugin MIT licensed?
A: Because its the first of its kind (based on GitHub Code Search) and
I want other people to copy it if they want to. Security is for all :)

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2020-11-20 23:12:00 +01:00
..
template Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
OC_API.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
OC_App.php Add Psalm Taint Flow Analysis 2020-11-20 23:12:00 +01:00
OC_DB.php Don't throw on SHOW VERSION query 2020-11-16 08:43:48 +01:00
OC_DB_StatementWrapper.php Don't leave cursors open when tests fail 2020-11-09 12:28:17 +01:00
OC_Defaults.php Update license headers for 19 2020-04-29 11:57:22 +02:00
OC_EventSource.php Update license headers for 19 2020-04-29 11:57:22 +02:00
OC_FileChunking.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
OC_Files.php Use lib instead if core as l10n module in OC_Files 2020-10-27 15:37:57 +01:00
OC_Helper.php Set up FS before querying storage info in settings 2020-11-13 17:06:37 +01:00
OC_Hook.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
OC_Image.php Change 0 to null to properly encode image to BMP if the first pixel is black 2020-09-10 12:08:01 +02:00
OC_JSON.php Update license headers for 19 2020-04-29 11:57:22 +02:00
OC_Response.php Update license headers for 19 2020-04-29 11:57:22 +02:00
OC_Template.php Show the full trace of an exception 2020-11-10 10:35:08 +01:00
OC_User.php Allow user backends to specify a custom logout url 2020-07-23 10:42:40 +02:00
OC_Util.php Don't leave cursors open when tests fail 2020-11-09 12:28:17 +01:00