PHP Static analysis for DVWA

Label Recipes Issues Files Severity Frequence
Null Or Boolean Arrays All, Analyze 33 7 Minor 0 %
Randomly Sorted Arrays All, Analyze, Level 4, Suggestions 9 3 Minor 41 %
String Initialization All, CompatibilityPHP71 36 17 Minor 33 %
Access Protected Structures Analyze, All, Simple 5 2 Major 6 %
Ambiguous Static All, Analyze 21 21 Minor 64 %
Ambiguous Visibilities All, Analyze 170 125 Minor 70 %
Avoid option arrays in constructors All, Analyze, ClassReview 2 2 Minor 0 %
Avoid Optional Properties All, Analyze 66 22 Major 83 %
Cant Instantiate Class All, Analyze 4 4 Critical 28 %
Clone With Non-Object All, Analyze, LintButWontExec 2 2 Minor 0 %
Could Be Abstract Class All, Analyze, ClassReview 9 9 Minor 65 %
Class Could Be Final All, Analyze, ClassReview 203 198 Minor 95 %
Method Could Be Static All, Analyze, ClassReview 102 74 Minor 95 %
Cyclic References All, Analyze, ClassReview 3 1 Minor 0 %
No Direct Call To Magic Method Analyze, All, Level 2, CI-checks 7 2 Major 41 %
Don't Unset Properties All, Analyze, Top10, php-cs-fixable, CI-checks 6 3 Major 40 %
Empty Classes Analyze, All, Simple 7 7 Minor 58 %
Hidden Nullable All, Analyze, ClassReview 3 3 Minor 0 %
Incompatible Signature Methods With Covariance All, Analyze 5 5 Critical 0 %
Locally Unused Property Dead code, All, Simple 154 91 Minor 76 %
Assign Default To Properties Analyze, ClearPHP, All, Simple, Level 2 11 7 Minor 49 %
No Public Access Analyze, All 42 29 Minor 60 %
Forgotten Visibility Analyze, ClearPHP, All, Simple, Level 1, CI-checks 19 4 Minor 42 %
Property Could Be Local All, Analyze, ClassReview 41 15 Minor 71 %
Never Used Properties Analyze, All, Simple 35 23 Minor 72 %
Property Used In One Method Only All, Analyze 116 57 Minor 84 %
Could Use self Analyze, All, Simple, Suggestions, Level 3, ClassReview 31 7 Minor 57 %
Should Use Local Class Analyze, ClearPHP, All, Simple 100 46 Minor 94 %
Static Methods Called From Object Analyze, All, Simple, CI-checks 2 1 Minor 38 %
Undefined Classes Analyze, All 39 19 Major 91 %
Undefined Class Constants Analyze, All, CI-checks 21 7 Major 53 %
Undefined Properties Analyze, ClearPHP, All, Simple, CI-checks 152 9 Major 58 %
Unresolved Catch Dead code, ClearPHP, All 5 3 Major 51 %
Unresolved Classes Analyze, All 15 9 Major 86 %
Unresolved Instanceof Analyze, Dead code, ClearPHP, All, Simple, Top10 1 1 Major 48 %
Unused Classes Dead code, All, Simple, Analyze 19 19 Major 72 %
Unused Class Constant All, Analyze, ClassReview 2 2 Minor 0 %
Unused Methods Dead code, All, Simple 353 173 Minor 95 %
Unused Private Methods Dead code, OneFile, All, Simple 5 4 Minor 45 %
Unused Private Properties Dead code, OneFile, All, Simple 4 4 Minor 37 %
Unused Protected Methods Dead code, All 2 2 Major 72 %
Use Class Operator All, Analyze, Performances, Simple, CI-checks 30 13 Minor 74 %
Use Instanceof Analyze, All, Simple, CI-checks 63 32 Major 63 %
Used Once Property All, Analyze 17 12 Minor 72 %
Useless Constructor Analyze, All, Simple, Level 3 3 3 Minor 38 %
Weak Typing All, Analyze 1 1 Minor 41 %
Use const Analyze, Coding Conventions, All, Top10, CI-checks 37 33 Minor 57 %
Constants With Strange Names Analyze, All, Simple, CI-checks 30 30 Minor 1 %
Constants Created Outside Its Namespace Analyze, All 3 1 Minor 0 %
Invalid Constant Name Analyze, All, Simple 30 30 Major 1 %
Multiple Constant Definition Analyze, All, Simple, CI-checks 29 29 Minor 32 %
Undefined Constants Analyze, All, Simple, CompatibilityPHP72, CI-checks 7 4 Minor 54 %
Unused Constants Dead code, All, Simple 1 1 Minor 36 %
Catch Undefined Variable All, Analyze 1 1 Minor 0 %
Undefined Caught Exceptions Dead code, All 1 1 None 50 %
Uncaught Exceptions Analyze, All 49 21 Minor 81 %
Useless Catch All, Analyze, CI-checks 1 1 Minor 47 %
Missing Include All, Analyze 82 51 Critical 61 %
Aliases Usage Analyze, ClearPHP, OneFile, All, Simple, Level 1, CI-checks 9 5 Minor 42 %
Use Named Boolean In Argument Definition All, Analyze 39 27 Minor 84 %
Callback Needs Return All, Analyze, CI-checks 7 4 Major 51 %
Could Make A Function All, Analyze, Suggestions 160 68 Minor 75 %
Empty Function Analyze, All, Simple 15 13 Minor 71 %
Hardcoded Passwords Analyze, OneFile, Security, All, Simple, Level 3 87 14 Major 61 %
Mismatch Parameter Name All, Analyze, CompatibilityPHP80 14 14 Minor 0 %
Mismatched Default Arguments All, Analyze, Typechecks 11 8 Minor 33 %
Modified Typed Parameter All, Analyze, ClassReview 2 2 Minor 0 %
Never Used Parameter All, Analyze, Suggestions 38 34 Minor 47 %
No Boolean As Default All, Analyze 39 27 Minor 84 %
No Return Used All, Analyze, Suggestions, Level 4 10 7 Minor 41 %
Only Variable Passed By Reference All, Analyze 1 1 Critical 40 %
Relay Function Analyze, All 13 8 Major 83 %
Too Many Local Variables All, Analyze 11 10 Minor 65 %
Undefined Functions Analyze, All, CI-checks 417 111 Major 71 %
Unused Arguments Analyze, All, Simple 33 20 Major 89 %
Unused Functions Dead code, All, Simple 2 2 Minor 53 %
Useless Referenced Argument All, Analyze 18 12 Minor 57 %
Uses Default Values Analyze, All, Simple, CI-checks 879 193 Minor 97 %
Using Deprecated Method All, Analyze 1 1 Minor 0 %
Methods Without Return All, Analyze 294 88 Minor 0 %
Wrong Number Of Arguments Analyze, OneFile, All, Simple, CI-checks 21 13 Major 38 %
Wrong Type With Call All, Analyze, Typechecks, CI-checks 7 4 Minor 0 %
Forgotten Interface All, Analyze 1 1 Minor 52 %
Undefined Interfaces Analyze, All, CI-checks 1 1 Major 67 %
Useless Interfaces Analyze, ClearPHP, All, Simple, ClassReview, Typechecks 1 1 Minor 57 %
Fully Qualified Constants Analyze, All 3 1 Minor 0 %
No array_merge() In Loops Analyze, Performances, ClearPHP, All, Simple, Level 2, Top10, CI-checks 11 8 Major 55 %
Logical To in_array All, Analyze, Level 2 31 19 Minor 66 %
Pre-increment Analyze, Performances, All, Simple, Level 4, CI-checks 143 38 Minor 74 %
strpos() Too Much All, Analyze, CI-checks 4 4 Minor 46 %
Use array_slice() All, Analyze, CI-checks 7 1 Minor 0 %
Assumptions All, Analyze 1 1 Minor 0 %
Use random_int() Analyze, Security, All, CompatibilityPHP71, Simple, Level 2, CI-checks 8 6 Major 59 %
Detect Current Class All, Suggestions, CompatibilityPHP74 2 2 None 47 %
Don't Pollute Global Space All, Analyze 375 271 Minor 0 %
Wrong Parameter Type Analyze, OneFile, All, Simple, CI-checks 32 17 Major 45 %
Use === null Analyze, OneFile, All, RadwellCodes, Simple, php-cs-fixable, CI-checks 70 29 Minor 52 %
Logical Should Use Symbolic Operators Analyze, OneFile, ClearPHP, All, Simple, Suggestions, Level 2, Top10, php-cs-fixable, CI-checks 29 23 Minor 42 %
No Class In Global All, Analyze, CI-checks 281 242 Minor 78 %
No More Curly Arrays All, CompatibilityPHP74 4 3 Minor 0 %
No Substr Minus One All, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 5 1 Major 12 %
PHP 7.2 Deprecations All, CompatibilityPHP72 1 1 Major 1 %
PHP 7.4 Removed Directives All, CompatibilityPHP74 2 2 Minor 0 %
PHP 8.0 Removed Functions All, CompatibilityPHP80 5 3 Major 0 %
PHP Keywords As Names Analyze, All, Simple 581 83 Major 89 %
Scalar Are Not Arrays All, Analyze, CompatibilityPHP74, CI-checks 1 1 Minor 0 %
Should Use Coalesce Analyze, All, Simple, Suggestions, Level 3, CI-checks 18 12 Major 71 %
Unknown Pcre2 Option All, Analyze, CompatibilityPHP73 2 2 Minor 15 %
Use Nullable Type All, Appinfo, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56 40 29 Major 21 %
Use PHP Object API Analyze, ClearPHP, All, Simple, CI-checks 23 16 Minor 23 %
Avoid Using stdClass All, Analyze, OneFile, Simple, Level 4 2 1 Minor 45 %
Wrong Type For Native PHP Function All, Analyze, CI-checks 66 38 Minor 0 %
Old Style __autoload() Analyze, OneFile, ClearPHP, All, Simple 1 1 Major 4 %
Always Anchor Regex All, Security 15 5 Major 65 %
Avoid Those Hash Functions Security, All 27 22 Major 60 %
Compare Hash Security, ClearPHP, All 2 1 Major 14 %
Direct Injection Security, All 48 36 Major 41 %
Don't Echo Error All, Analyze, Security, Simple, Level 1, CI-checks 2 2 Critical 32 %
Encoded Simple Letters All, Security 3 2 Minor 40 %
Indirect Injection Security, All 68 29 Critical 21 %
Integer Conversion All, Security 3 3 Major 0 %
Mkdir Default All, Security 1 1 Major 35 %
No Net For Xml Load All, Security 4 3 Major 49 %
Avoid sleep()/usleep() Security, All 4 4 Minor 39 %
Safe HTTP Headers All, Security 4 4 Major 5 %
Set Cookie Safe Arguments All, Security 3 3 Major 23 %
Should Use Prepared Statement Analyze, Security, All, Simple, CI-checks 2 1 Major 22 %
Should Use session_regenerateid() All, Security 1 1 Major 82 %
Unserialize Second Arg Security, All 6 6 Critical 49 %
Upload Filename Injection All, Security 3 3 Major 4 %
Adding Zero Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks 42 12 Minor 33 %
Altering Foreach Without Reference Analyze, ClearPHP, All, Simple, Level 1, CI-checks 12 11 Major 52 %
Array_merge Needs Array Of Arrays All, Analyze 16 5 Minor 0 %
Bail Out Early All, Analyze, OneFile, Simple, Level 4 17 13 Minor 92 %
Strict Comparison With Booleans Analyze, All, Simple, Suggestions, Level 2, CI-checks 43 10 Minor 76 %
Buried Assignation Analyze, All 66 46 Minor 82 %
Cast To Boolean Analyze, OneFile, All, Simple, Level 1 3 2 Minor 55 %
Check All Types All, Analyze 13 9 Major 68 %
Check JSON All, Analyze, CI-checks 5 4 Major 64 %
Common Alternatives Analyze, All, Simple 15 12 Major 61 %
Concat Empty String All, Analyze, OneFile 67 37 Minor 0 %
Continue Is For Loop All, Analyze, CompatibilityPHP53, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP73 1 1 Minor 23 %
Could Be Else All, Analyze 1 1 Minor 48 %
Could Be Static Analyze, OneFile, All, ClassReview 1 1 Major 20 %
Could Use __DIR__ Analyze, All, Simple, Suggestions, Level 3, php-cs-fixable, CI-checks 33 15 Major 56 %
Could Use Short Assignation Analyze, OneFile, Performances, All, Simple, CI-checks 2 2 Minor 60 %
Dont Change The Blind Var All, Analyze 20 19 Minor 72 %
Dont Mix ++ All, Analyze 3 3 Minor 43 %
Don't Read And Write In One Expression All, Analyze, CompatibilityPHP73, CompatibilityPHP74 36 22 Critical 38 %
Double Assignation Analyze, All 18 11 Major 55 %
Double Instructions Analyze, All, Simple 7 4 Minor 57 %
Double Object Assignation All, Analyze, ClassReview 14 5 Minor 0 %
Drop Else After Return All, Analyze, OneFile, Simple, Suggestions, Level 4, CI-checks 30 19 Minor 70 %
Echo With Concat Performances, Analyze, All, Simple, Suggestions 8 6 Minor 58 %
Else If Versus Elseif Analyze, All, Simple, php-cs-fixable, Rector, CI-checks 17 11 Minor 65 %
Empty Blocks Analyze, All, Simple, CI-checks 55 11 Minor 57 %
Empty Instructions Dead code, Analyze, All, Simple 24 18 Minor 43 %
Empty Try Catch Analyze, All, Level 3 3 1 Minor 47 %
Eval() Usage Analyze, Appinfo, Performances, OneFile, ClearPHP, All, Simple, Security 3 3 Major 37 %
eval() Without Try Analyze, All, Simple, Level 3, Security, CI-checks 3 3 Critical 34 %
Exit() Usage Analyze, Appinfo, OneFile, ClearPHP, All, CI-checks 34 29 Major 60 %
Switch Fallthrough All, Inventory, Security, Stats 1 1 Minor 37 %
Overwritten Source And Value All, Analyze, OneFile 1 1 Minor 0 %
Forgotten Whitespace Analyze, All, CI-checks 2 2 Minor 15 %
Global Usage Analyze, Appinfo, ClearPHP, All 187 29 Minor 52 %
Htmlentities Calls Analyze, All, Simple, CI-checks 28 15 Major 39 %
Identical Consecutive Expression All, Analyze 19 4 Minor 58 %
If With Same Conditions Analyze, All, Simple, CI-checks 4 4 Major 44 %
Iffectations Analyze, All 12 10 Minor 80 %
Implode() Arguments Order All, Analyze, CI-checks 2 1 Minor 0 %
Inconsistent Elseif All, Analyze 33 14 Major 73 %
Infinite Recursion All, Analyze 12 3 Major 0 %
Long Arguments All, Analyze 18 11 Minor 67 %
Max Level Of Nesting All, Analyze 22 18 Minor 0 %
Merge If Then All, Analyze, CI-checks 45 25 Minor 0 %
Mismatched Ternary Alternatives All, Analyze, Suggestions, Level 4 12 8 Major 62 %
Missing Parenthesis All, Analyze, Simple, Level 5, CI-checks 1 1 Major 14 %
Mixed Concat And Interpolation All, Coding Conventions, Analyze 1 1 Minor 43 %
Modernize Empty With Expression All, Analyze, OneFile, Simple 4 4 Minor 56 %
Multiples Identical Case Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks 1 1 Minor 10 %
Multiple Type Variable All, Analyze, Level 4 9 7 Minor 43 %
Nested Ifthen Analyze, All, RadwellCodes 89 48 Major 87 %
Nested Ternary Analyze, ClearPHP, All, Simple, Level 1, CI-checks 52 24 Major 20 %
Don't Change Incomings Analyze, All 7 3 Minor 44 %
No Choice Analyze, All, Simple, Level 2, Top10, CI-checks 29 18 Major 43 %
No Hardcoded Path Analyze, ClearPHP, All, Simple 4 1 Major 33 %
No Need For Else All, Analyze 84 25 Minor 74 %
No Parenthesis For Language Construct Analyze, ClearPHP, All, RadwellCodes, Simple, Suggestions, Level 2, CI-checks 4 3 Minor 61 %
Avoid Substr() One Analyze, Performances, All, CompatibilityPHP71, Simple, Level 2, Suggestions, Top10, CI-checks 2 2 Minor 57 %
Variable Is Not A Condition All, Analyze 248 79 Minor 57 %
@ Operator Appinfo, ClearPHP, All, Analyze, Performances, CI-checks 40 17 Minor 66 %
Objects Don't Need References Analyze, ClearPHP, OneFile, All, Simple, Level 2, Top10, CI-checks 12 12 Minor 31 %
include_once() Usage Analyze, Appinfo, All 293 55 Minor 73 %
Several Instructions On The Same Line Analyze, All 52 14 Major 57 %
Or Die Analyze, OneFile, ClearPHP, All, Simple, CI-checks 20 19 Minor 13 %
Phpinfo OneFile, All, Simple, Security 1 1 Major 14 %
Print And Die Analyze, All, Simple, CI-checks 2 2 Minor 29 %
Printf Number Of Arguments All, Analyze, CI-checks 1 1 Minor 42 %
Repeated Regex All, Analyze, Level 1, CI-checks 27 1 Minor 47 %
Return True False Analyze, All, Simple, Level 1, CI-checks 3 3 Major 53 %
Same Conditions In Condition Analyze, All, Simple, CI-checks 7 6 Critical 49 %
Should Chain Exception Analyze, All, Simple, CI-checks 1 1 Minor 36 %
Should Make Ternary All, Analyze, OneFile, Simple, CI-checks 67 49 Minor 85 %
Preprocessable Analyze, All, Rector 137 67 Minor 86 %
Should Use Explode Args All, Analyze, CI-checks 1 1 Minor 0 %
Static Loop Analyze, All, Simple, Level 4 10 8 Minor 65 %
Strpos()-like Comparison Analyze, PHP recommendations, ClearPHP, All, Simple, Level 2, Top10, CI-checks 3 2 Major 54 %
Suspicious Comparison All, Analyze, Level 3 1 1 Major 15 %
Switch To Switch Analyze, All, RadwellCodes, Simple 11 7 Minor 79 %
Switch Without Default Analyze, ClearPHP, All, Simple, CI-checks 13 10 Major 68 %
Test Then Cast All, Analyze 2 2 Major 32 %
Timestamp Difference Analyze, All, Simple, Level 3, CI-checks 5 3 Major 50 %
Unchecked Resources Analyze, ClearPHP, All, Simple, Level 2, CI-checks 4 4 Major 49 %
Unconditional Break In Loop All, Analyze, Level 3, CI-checks 11 7 Major 46 %
Unreachable Code Dead code, OneFile, ClearPHP, All, Simple, Suggestions, Level 3 30 4 Major 44 %
Unsupported Types With Operators All, Analyze, CompatibilityPHP80 7 5 Minor 0 %
Use Constant PHP recommendations, All, Analyze, php-cs-fixable, CI-checks 33 15 Minor 0 %
Use Positive Condition All, Analyze, OneFile, Simple 59 33 Minor 81 %
Useless Casting All, PHP recommendations, Analyze, OneFile, RadwellCodes, Simple, Level 4, CI-checks 1 1 Minor 37 %
Useless Instructions Analyze, OneFile, ClearPHP, All, Simple, Level 1, CI-checks 6 4 Minor 58 %
Useless Parenthesis Analyze, All, Simple, CI-checks 176 48 Minor 81 %
Hexadecimal In String CompatibilityPHP70, CompatibilityPHP71, All, Inventory 1 1 0 11 %
One Variable String Analyze, All, RadwellCodes, Simple, CI-checks 4 1 Minor 29 %
String May Hold A Variable Analyze, All, Simple 53 8 Minor 58 %
Strings With Strange Space All, Analyze, CI-checks 2 1 Minor 15 %
Assigned Twice All, Analyze 184 32 Minor 78 %
Overwritten Literals Analyze, All 221 32 Major 78 %
Strange Name For Variables All, Analyze 70 21 Minor 28 %
Undefined Constant Name All, Analyze 8 6 Minor 0 %
Undefined Variable All, Analyze, CI-checks 118 41 Minor 77 %
Used Once Variables Analyze, OneFile, All, Simple, Top10 10 9 Minor 87 %
Used Once Variables (In Scope) Analyze, ClearPHP, OneFile, All, Simple, Level 4 296 158 Minor 95 %
Written Only Variables Analyze, OneFile, All, Simple 131 44 Minor 78 %