Ich hab mich mal mit verschiedenen Static Analysis Tools beschaeftigt, einfach, um zu schauen, ob wir daraus irgendwie etwas bekommen.
Dabei habe ich benutzt:
FindBugs inkl. find-sec-bugs plugin,
Cigital/Synopsis SecureAssist,
SonarLint (Sonarqube)
Gerade Cigital SecureAssist haette ich sehr interessant/kompetent eingeschaetzt, da einer der beruehmtesten SecurityDudes in dieser Firma als CTO gearbeitet hat, mittlerweile Vice President Security Technology.
Irgendwie alles ziemlich flach gewesen.
Ergebnisse stehen unten, meiste Zeit sehr irrelevant.
FindBugs
Settings
Analysis effort: Maximal
Minimal rank: 20 - Of Concern
All categories enabled, all filters enabled
Nett zu wissen, dass das bereits Information Leakage ist, wie wir uns eh schon dachten, aber unser Application Code macht das nicht, das steht nur in ein paar schlecht geschrieben Tests von mir, bzw. Tests in denen ich mir mit IntelliJ Arbeit ersparte.
Wird ausserdem nie in Production Mode passieren, da dann keine Exceptions angezeigt werden, zumindest nicht zum Nutzer.
Conclusion
Wahrscheinlich hauptsaechlich nutzlos, da keine Ahnung von Play/Scala.
SonarLint (Sonarqube)
Swap arguments
AuthenticationTests
UserManagerTests
Angeblich ganz nett, da sonst Fehlermeldungen von JUnit verwirrend klingen, aber nicht so wichtig.
Macht ggf Sinn, beim GroupManager ist nur das Problem, was wir auch in den anderen Managern haben werden, sobald wir alle vernuenftige Ausgaben fuer Fehler haben.
Ggf. kann man sich hier des Play Messageskonzepts bedienen.
Ich hab mich mal mit verschiedenen Static Analysis Tools beschaeftigt, einfach, um zu schauen, ob wir daraus irgendwie etwas bekommen.
Dabei habe ich benutzt:
Gerade Cigital SecureAssist haette ich sehr interessant/kompetent eingeschaetzt, da einer der beruehmtesten SecurityDudes in dieser Firma als CTO gearbeitet hat, mittlerweile Vice President Security Technology. Irgendwie alles ziemlich flach gewesen.
Ergebnisse stehen unten, meiste Zeit sehr irrelevant.
FindBugs
Settings
Analysis effort: Maximal Minimal rank: 20 - Of Concern All categories enabled, all filters enabled
findbugs_result.pdf
Cigital/Synopsis SecureAssist
Version 3.3.0 Release: 2018-01-29
Hardcoded PW
In UserManagerTest -> irrelevant
Query Injection
In DatabaseInitialization -> irrelevant
Information Leakage
Nett zu wissen, dass das bereits Information Leakage ist, wie wir uns eh schon dachten, aber unser Application Code macht das nicht, das steht nur in ein paar schlecht geschrieben Tests von mir, bzw. Tests in denen ich mir mit IntelliJ Arbeit ersparte. Wird ausserdem nie in Production Mode passieren, da dann keine Exceptions angezeigt werden, zumindest nicht zum Nutzer.
Conclusion
Wahrscheinlich hauptsaechlich nutzlos, da keine Ahnung von Play/Scala.
SonarLint (Sonarqube)
Swap arguments
Angeblich ganz nett, da sonst Fehlermeldungen von JUnit verwirrend klingen, aber nicht so wichtig.
Private constructors to hide implicit public ones
Unsicher, wie wichtig das ist, aber das klang sogar ggf. ganz sinnig
Make final constants
Macht ggf Sinn, beim GroupManager ist nur das Problem, was wir auch in den anderen Managern haben werden, sobald wir alle vernuenftige Ausgaben fuer Fehler haben. Ggf. kann man sich hier des Play Messageskonzepts bedienen.
Pure duplicates
Fand ich auch sehr unwichtig. Die sind ja besonders dumm geschrieben eigentlich.