@@ -57,9 +57,29 @@ object Pattern {
57
57
spec.subcategory match {
58
58
case Some (sc) =>
59
59
sc match {
60
- case Subcategory .BadDeserialization | Subcategory .BrokenAccess | Subcategory .BrokenAuth |
61
- Subcategory .Injection | Subcategory .Misconfiguration | Subcategory .NoLogging |
62
- Subcategory .SensitiveData | Subcategory .VulnerableComponent | Subcategory .XSS | Subcategory .XXE
60
+ case Subcategory .XSS |
61
+ Subcategory .Input_validation |
62
+ Subcategory .File_Access |
63
+ Subcategory .HTTP |
64
+ Subcategory .Cookies |
65
+ Subcategory .Unexpected_behaviour |
66
+ Subcategory .Mass_assignment |
67
+ Subcategory .Insecure_Storage |
68
+ Subcategory .Insecure_modules_libraries |
69
+ Subcategory .Visibility |
70
+ Subcategory .CSRF |
71
+ Subcategory .Android |
72
+ Subcategory .Malicious_code |
73
+ Subcategory .Cryptography |
74
+ Subcategory .Command_Injection |
75
+ Subcategory .Firefox_OS |
76
+ Subcategory .Auth |
77
+ Subcategory .DoS |
78
+ Subcategory .SQL_Injection |
79
+ Subcategory .Routes |
80
+ Subcategory .Regex |
81
+ Subcategory .SSL |
82
+ Subcategory .Other
63
83
if category == Category .Security =>
64
84
spec
65
85
@@ -70,35 +90,40 @@ object Pattern {
70
90
}
71
91
}
72
92
73
- sealed trait Category
74
-
75
- object Category {
76
- case object Security extends Category
77
- case object CodeStyle extends Category
78
- case object ErrorProne extends Category
79
- case object Performance extends Category
80
- case object Compatibility extends Category
81
- case object UnusedCode extends Category
82
- case object Complexity extends Category
83
- case object BestPractice extends Category
84
- case object Comprehensibility extends Category
85
- case object Duplication extends Category
86
- case object Documentation extends Category
93
+ type Category = Category .Value
94
+
95
+ object Category extends Enumeration {
96
+
97
+ val Security, CodeStyle, ErrorProne, Performance, Compatibility, UnusedCode ,
98
+ Complexity , BestPractice , Comprehensibility , Duplication , Documentation = Value
87
99
}
88
100
89
- sealed trait Subcategory
90
-
91
- object Subcategory {
92
- case object Injection extends Subcategory
93
- case object BrokenAuth extends Subcategory
94
- case object SensitiveData extends Subcategory
95
- case object XXE extends Subcategory
96
- case object BrokenAccess extends Subcategory
97
- case object Misconfiguration extends Subcategory
98
- case object XSS extends Subcategory
99
- case object BadDeserialization extends Subcategory
100
- case object VulnerableComponent extends Subcategory
101
- case object NoLogging extends Subcategory
101
+ type Subcategory = Subcategory .Value
102
+
103
+ object Subcategory extends Enumeration {
104
+ val XSS = Value (" XSS" )
105
+ val Input_validation = Value (" Input validation" )
106
+ val File_Access = Value (" File Access" )
107
+ val HTTP = Value (" HTTP" )
108
+ val Cookies = Value (" Cookies" )
109
+ val Unexpected_behaviour = Value (" Unexpected behaviour" )
110
+ val Mass_assignment = Value (" Mass assignment" )
111
+ val Insecure_Storage = Value (" Insecure Storage" )
112
+ val Insecure_modules_libraries = Value (" Insecure modules/libraries" )
113
+ val Visibility = Value (" Visibility" )
114
+ val CSRF = Value (" CSRF" )
115
+ val Android = Value (" Android" )
116
+ val Malicious_code = Value (" Malicious code" )
117
+ val Cryptography = Value (" Cryptography" )
118
+ val Command_Injection = Value (" Command Injection" )
119
+ val Firefox_OS = Value (" Firefox OS" )
120
+ val Auth = Value (" Auth" )
121
+ val DoS = Value (" DoS" )
122
+ val SQL_Injection = Value (" SQL Injection" )
123
+ val Routes = Value (" Routes" )
124
+ val Regex = Value (" Regex" )
125
+ val SSL = Value (" SSL" )
126
+ val Other = Value (" Other" )
102
127
}
103
128
104
129
}
0 commit comments