Skip to content

Commit 5a69bbf

Browse files
committed
use isTestFile from ClassifyFiles module file instead previous where condition, update tests accordingly
1 parent e4ffdb8 commit 5a69bbf

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

javascript/ql/src/Security/CWE-798/HardcodedCredentials.ql

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,15 @@
1616
import javascript
1717
import semmle.javascript.security.dataflow.HardcodedCredentialsQuery
1818
import DataFlow::PathGraph
19+
import semmle.javascript.filters.ClassifyFiles
1920

2021
bindingset[s]
2122
predicate looksLikeATemplate(string s) { s.regexpMatch(".*((\\{\\{.*\\}\\})|(<.*>)|(\\(.*\\))).*") }
2223

2324
from Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, string value
2425
where
2526
cfg.hasFlowPath(source, sink) and
26-
not sink.getNode()
27-
.getFile()
28-
.getAbsolutePath()
29-
.toLowerCase()
30-
.matches(["%stest%s", "%sdemo%s", "%sexample%s", "%ssample%s"]) and
27+
not isTestFile(sink.getNode().getFile()) and
3128
// use source value in message if it's available
3229
if source.getNode().asExpr() instanceof ConstantString
3330
then

javascript/ql/test/query-tests/Security/CWE-798/HardcodedCredentials.expected

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -332,12 +332,12 @@ nodes
332332
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" |
333333
| HardcodedCredentials.js:403:27:403:35 | secretKey |
334334
| HardcodedCredentials.js:403:27:403:35 | secretKey |
335-
| HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
336-
| HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
337-
| HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
338-
| HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
339-
| HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
340-
| HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
335+
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
336+
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
337+
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
338+
| __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
339+
| __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
340+
| __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
341341
edges
342342
| HardcodedCredentials.js:5:15:5:22 | 'dbuser' | HardcodedCredentials.js:5:15:5:22 | 'dbuser' |
343343
| HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' | HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' |
@@ -512,8 +512,8 @@ edges
512512
| HardcodedCredentials.js:401:9:401:43 | secretKey | HardcodedCredentials.js:403:27:403:35 | secretKey |
513513
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" | HardcodedCredentials.js:401:9:401:43 | secretKey |
514514
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" | HardcodedCredentials.js:401:9:401:43 | secretKey |
515-
| HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' | HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
516-
| HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
515+
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' | __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
516+
| __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
517517
#select
518518
| HardcodedCredentials.js:5:15:5:22 | 'dbuser' | HardcodedCredentials.js:5:15:5:22 | 'dbuser' | HardcodedCredentials.js:5:15:5:22 | 'dbuser' | The hard-coded value "dbuser" is used as $@. | HardcodedCredentials.js:5:15:5:22 | 'dbuser' | user name |
519519
| HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' | HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' | HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' | The hard-coded value "hgfedcba" is used as $@. | HardcodedCredentials.js:8:19:8:28 | 'hgfedcba' | password |

0 commit comments

Comments
 (0)