nextcloud/build
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
..
.ci-conf Adding magic file to enable oci on pull request testing on ci.owncloud.org 2015-03-20 15:00:51 +01:00
integration Set frame-ancestors to none if none are filled 2020-11-18 10:13:36 +01:00
psalm Add Psalm Taint Flow Analysis 2020-11-20 23:12:00 +01:00
stubs Add patches for stubs 2020-08-18 13:01:10 +02:00
.htaccess Only request "IndexIgnore" if mod_autoindex is loaded 2017-02-20 13:09:15 +01:00
OCPSinceChecker.php Use empty for the OCP @since checker 2020-06-09 08:49:24 +02:00
autoloaderchecker.sh Fixed tests 2018-04-05 17:11:41 +02:00
build.xml cleaning up the build directory 2014-12-10 10:07:22 +01:00
buildjsdocs.sh Fix jsdocs build on server repo 2018-10-24 15:41:08 +02:00
ca-bundle-checker.sh Remove whitespace 2019-05-15 20:37:06 +02:00
compile-handlebars-templates.sh Cleanup sharing leftovers 2019-11-05 19:03:44 +01:00
files-checker.php Check only the baseline.xml and exclude the psalm.xml from the file check 2020-08-18 13:01:10 +02:00
gen-coverage-badge.php Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
htaccess-checker.php Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
image-optimization.sh Fix typo in variable name and make check more accurate 2020-07-01 10:48:38 +02:00
jsdocs9.tar.bz2 Update integration tests for system tags with groups 2016-05-20 17:56:02 +02:00
license.php Format code to a single space around binary operators 2020-10-05 20:25:24 +02:00
package-lock.json Bump jsdoc from 3.6.5 to 3.6.6 in /build 2020-09-26 01:16:20 +00:00
package.json Bump jsdoc from 3.6.5 to 3.6.6 in /build 2020-09-26 01:16:20 +00:00
phpDocumentor.sh Use proper branch name in phpdoc builds 2020-08-27 08:47:16 +02:00
psalm-baseline.xml Bump vimeo/psalm from 4.1.1 to 4.2.0 2020-11-20 09:07:01 +01:00
signed-off-checker.php Format control structures, classes, methods and function 2020-04-10 14:19:56 +02:00
translation-checker.php Make translation-checker.php less verbose. 2020-07-15 11:29:12 +02:00
triple-dot-checker.php Check for triple dots in translations in CI 2020-04-07 12:06:40 +08:00
update-apps.sh Fix app update script for macOS 2019-05-17 22:49:39 +02:00
update.sh Fix app update script for macOS 2019-05-17 22:49:39 +02:00
vue-builds.sh Bump check script 2018-10-02 17:26:07 +02:00