File tree Expand file tree Collapse file tree 3 files changed +127
-22
lines changed
rules/typescript/security Expand file tree Collapse file tree 3 files changed +127
-22
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ note: >-
1111 [CWE-798] Use of Hard-coded Credentials.
1212 [REFERENCES]
1313 - https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html
14+
1415rule :
1516 kind : pair
1617 all :
2122 - has :
2223 kind : string
2324 nthChild : 2
24- has :
25- kind : string_fragment
2625 inside :
2726 stopBy : end
2827 kind : object
@@ -163,7 +162,9 @@ rule:
163162 nthChild : 2
164163 regex : ^'express-session'$
165164 - any :
166- - kind : lexical_declaration
165+ - any :
166+ - kind : lexical_declaration
167+ - kind : variable_declaration
167168 all :
168169 - has :
169170 kind : variable_declarator
@@ -175,7 +176,15 @@ rule:
175176 - has :
176177 kind : call_expression
177178 nthChild : 2
178- regex : ^require\('express-session'\)$
179+ all :
180+ - has :
181+ nthChild : 1
182+ kind : identifier
183+ regex : ^require$
184+ - has :
185+ nthChild : 2
186+ kind : arguments
187+ regex : ^\('express-session'\)$
179188 - kind : expression_statement
180189 has :
181190 kind : assignment_expression
@@ -187,5 +196,13 @@ rule:
187196 - has :
188197 kind : call_expression
189198 nthChild : 2
190- regex : ^require\('express-session'\)$
191-
199+ all :
200+ - has :
201+ nthChild : 1
202+ kind : identifier
203+ regex : ^require$
204+ - has :
205+ nthChild : 2
206+ kind : arguments
207+ regex : ^\('express-session'\)$
208+
Original file line number Diff line number Diff line change @@ -152,6 +152,100 @@ snapshots:
152152 style: secondary
153153 start: 81
154154 end: 137
155+ ? |
156+ import express from 'express'
157+ import session from 'express-session'
158+ let secret2 = {
159+ resave : false,
160+ secret : ' foo' ,
161+ saveUninitialized : false,
162+ }
163+ app.use(session(secret2));
164+ : labels :
165+ - source : ' secret: '' foo'' '
166+ style : primary
167+ start : 101
168+ end : 114
169+ - source : secret
170+ style : secondary
171+ start : 101
172+ end : 107
173+ - source : ' '' foo'' '
174+ style : secondary
175+ start : 109
176+ end : 114
177+ - source : |-
178+ {
179+ resave: false,
180+ secret: 'foo',
181+ saveUninitialized: false,
182+ }
183+ style: secondary
184+ start: 82
185+ end: 144
186+ - source : secret2
187+ style : secondary
188+ start : 72
189+ end : 79
190+ - source : |-
191+ secret2 = {
192+ resave: false,
193+ secret: 'foo',
194+ saveUninitialized: false,
195+ }
196+ style: secondary
197+ start: 72
198+ end: 144
199+ - source : session
200+ style : secondary
201+ start : 37
202+ end : 44
203+ - source : session
204+ style : secondary
205+ start : 37
206+ end : 44
207+ - source : ' '' express-session'' '
208+ style : secondary
209+ start : 50
210+ end : 67
211+ - source : import session from 'express-session'
212+ style : secondary
213+ start : 30
214+ end : 67
215+ - source : import session from 'express-session'
216+ style : secondary
217+ start : 30
218+ end : 67
219+ - source : secret2
220+ style : secondary
221+ start : 161
222+ end : 168
223+ - source : app.use(session(secret2))
224+ style : secondary
225+ start : 145
226+ end : 170
227+ - source : app.use(session(secret2))
228+ style : secondary
229+ start : 145
230+ end : 170
231+ - source : |-
232+ let secret2 = {
233+ resave: false,
234+ secret: 'foo',
235+ saveUninitialized: false,
236+ }
237+ style: secondary
238+ start: 68
239+ end: 144
240+ - source : |-
241+ {
242+ resave: false,
243+ secret: 'foo',
244+ saveUninitialized: false,
245+ }
246+ style: secondary
247+ start: 82
248+ end: 144
155249 ? |
156250 import express from 'express'
157251 import session from 'express-session'
Original file line number Diff line number Diff line change 11id : express-session-hardcoded-secret-typescript
22valid :
33 - |
4- let config1 = {
5- secret: config.secret,
6- resave: false,
7- saveUninitialized: false,
4+ import express from 'express'
5+ import session from 'express-session'
6+ let secret2 = {
7+ resave: false,
8+ secret: config.secret,
9+ saveUninitialized: false,
810 }
11+ app.use(session(secret2));
912invalid :
1013 - |
1114 import express from 'express'
1215 import session from 'express-session'
1316 let secret2 = {
14- resave: false,
15- secret: 'foo',
16- saveUninitialized: false,
17- }
18- app.use(session(secret2));
19- - |
20- import express from 'express'
21- import session from 'express-session'
22- let config = {
23- secret: '',
24- resave: false,
25- saveUninitialized: false,
17+ resave: false,
18+ secret: 'foo',
19+ saveUninitialized: false,
2620 }
2721 app.use(session(secret2));
You can’t perform that action at this time.
0 commit comments