Skip to content

Commit 65fdb8c

Browse files
committed
move jose SharedTaintStep to a local taint step, add more additional steps with test cases, update test cases and expected test results
1 parent 5a69bbf commit 65fdb8c

File tree

4 files changed

+121
-87
lines changed

4 files changed

+121
-87
lines changed

javascript/ql/lib/semmle/javascript/frameworks/JWT.qll

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,6 @@ private module JsonWebToken {
5656
* Provides classes and predicates modeling the `jose` library.
5757
*/
5858
private module Jose {
59-
/**
60-
* A taint-step for `succ = await jose.importSPKI(pred, 'RS256')`.
61-
*/
62-
private class ImportSpkiStep extends TaintTracking::SharedTaintStep, DataFlow::SharedFlowStep {
63-
override predicate step(DataFlow::Node pred, DataFlow::Node succ) {
64-
exists(API::Node n | n = API::moduleImport("jose").getMember("importSPKI") |
65-
pred = n.getACall().getArgument(0) and
66-
succ = n.getReturn().getPromised().asSource()
67-
)
68-
}
69-
}
70-
7159
/**
7260
* A taint-step for `succ = jose.base64url.encode(pred)` or `succ = jose.base64url.decode(pred)`.
7361
*/
@@ -83,10 +71,12 @@ private module Jose {
8371
}
8472

8573
/**
86-
* The asymmetric key or symmetric secret for a JWT as a `CredentialsNode`.
74+
* The asymmetric key or symmetric secret for verifying a JWT as a `CredentialsNode`.
8775
*/
88-
private class JwtKey extends CredentialsNode {
89-
JwtKey() { this = API::moduleImport("jose").getMember("jwtVerify").getParameter(1).asSink() }
76+
private class JwtVerifyKey extends CredentialsNode {
77+
JwtVerifyKey() {
78+
this = API::moduleImport("jose").getMember("jwtVerify").getParameter(1).asSink()
79+
}
9080

9181
override string getCredentialsKind() { result = "key" }
9282
}

javascript/ql/lib/semmle/javascript/security/dataflow/HardcodedCredentialsQuery.qll

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,24 @@ class Configuration extends DataFlow::Configuration {
3535
trg = bufferFrom and
3636
src = bufferFrom.getArgument(0)
3737
)
38+
or
39+
exists(API::Node n |
40+
n = API::moduleImport("jose").getMember(["importSPKI", "importPKCS8", "importX509"])
41+
|
42+
src = n.getACall().getArgument(0) and
43+
trg = n.getReturn().getPromised().asSource()
44+
)
45+
or
46+
exists(API::Node n |
47+
n = API::moduleImport("jose").getMember(["importSPKI", "importPKCS8", "importX509"])
48+
|
49+
src = n.getACall().getArgument(0) and
50+
trg = n.getReturn().getPromised().asSource()
51+
)
52+
or
53+
exists(API::Node n | n = API::moduleImport("jose").getMember("importJWK") |
54+
src = n.getParameter(0).getMember(["x", "y", "n"]).asSink() and
55+
trg = n.getReturn().getPromised().asSource()
56+
)
3857
}
3958
}

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

Lines changed: 80 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -299,39 +299,45 @@ nodes
299299
| HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) |
300300
| HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) |
301301
| HardcodedCredentials.js:317:52:317:61 | privateKey |
302-
| HardcodedCredentials.js:320:11:323:29 | spki |
303-
| HardcodedCredentials.js:320:18:323:29 | `-----B ... Y-----` |
304-
| HardcodedCredentials.js:320:18:323:29 | `-----B ... Y-----` |
305-
| HardcodedCredentials.js:324:11:324:58 | publicKey |
306-
| HardcodedCredentials.js:324:23:324:58 | await j ... RS256') |
307-
| HardcodedCredentials.js:324:45:324:48 | spki |
308-
| HardcodedCredentials.js:325:27:325:35 | publicKey |
309-
| HardcodedCredentials.js:325:27:325:35 | publicKey |
310-
| HardcodedCredentials.js:331:9:331:43 | secretKey |
311-
| HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" |
312-
| HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" |
313-
| HardcodedCredentials.js:336:21:336:29 | secretKey |
314-
| HardcodedCredentials.js:336:21:336:29 | secretKey |
315-
| HardcodedCredentials.js:347:21:347:52 | Buffer. ... ase64") |
316-
| HardcodedCredentials.js:347:21:347:52 | Buffer. ... ase64") |
317-
| HardcodedCredentials.js:347:33:347:41 | secretKey |
318-
| HardcodedCredentials.js:362:9:362:43 | secretKey |
319-
| HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" |
320-
| HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" |
321-
| HardcodedCredentials.js:365:24:365:32 | secretKey |
322-
| HardcodedCredentials.js:365:24:365:32 | secretKey |
323-
| HardcodedCredentials.js:372:31:372:39 | secretKey |
324-
| HardcodedCredentials.js:372:31:372:39 | secretKey |
325-
| HardcodedCredentials.js:383:9:383:43 | secretKey |
326-
| HardcodedCredentials.js:383:21:383:43 | "myHard ... ateKey" |
327-
| HardcodedCredentials.js:383:21:383:43 | "myHard ... ateKey" |
328-
| HardcodedCredentials.js:386:17:386:25 | secretKey |
329-
| HardcodedCredentials.js:386:17:386:25 | secretKey |
330-
| HardcodedCredentials.js:401:9:401:43 | secretKey |
331-
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" |
332-
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" |
333-
| HardcodedCredentials.js:403:27:403:35 | secretKey |
334-
| HardcodedCredentials.js:403:27:403:35 | secretKey |
302+
| HardcodedCredentials.js:319:11:321:29 | spki |
303+
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` |
304+
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` |
305+
| HardcodedCredentials.js:322:9:322:56 | publicKey |
306+
| HardcodedCredentials.js:322:21:322:56 | await j ... RS256') |
307+
| HardcodedCredentials.js:322:43:322:46 | spki |
308+
| HardcodedCredentials.js:323:27:323:35 | publicKey |
309+
| HardcodedCredentials.js:323:27:323:35 | publicKey |
310+
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' |
311+
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' |
312+
| HardcodedCredentials.js:331:5:331:46 | publicKey |
313+
| HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) |
314+
| HardcodedCredentials.js:335:31:335:39 | publicKey |
315+
| HardcodedCredentials.js:335:31:335:39 | publicKey |
316+
| HardcodedCredentials.js:344:9:344:43 | secretKey |
317+
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" |
318+
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" |
319+
| HardcodedCredentials.js:349:21:349:29 | secretKey |
320+
| HardcodedCredentials.js:349:21:349:29 | secretKey |
321+
| HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") |
322+
| HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") |
323+
| HardcodedCredentials.js:360:33:360:41 | secretKey |
324+
| HardcodedCredentials.js:375:9:375:43 | secretKey |
325+
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" |
326+
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" |
327+
| HardcodedCredentials.js:378:24:378:32 | secretKey |
328+
| HardcodedCredentials.js:378:24:378:32 | secretKey |
329+
| HardcodedCredentials.js:385:31:385:39 | secretKey |
330+
| HardcodedCredentials.js:385:31:385:39 | secretKey |
331+
| HardcodedCredentials.js:396:9:396:43 | secretKey |
332+
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" |
333+
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" |
334+
| HardcodedCredentials.js:399:17:399:25 | secretKey |
335+
| HardcodedCredentials.js:399:17:399:25 | secretKey |
336+
| HardcodedCredentials.js:414:9:414:43 | secretKey |
337+
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" |
338+
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" |
339+
| HardcodedCredentials.js:416:27:416:35 | secretKey |
340+
| HardcodedCredentials.js:416:27:416:35 | secretKey |
335341
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
336342
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
337343
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
@@ -484,34 +490,39 @@ edges
484490
| HardcodedCredentials.js:316:22:316:44 | "myHard ... ateKey" | HardcodedCredentials.js:316:9:316:44 | privateKey |
485491
| HardcodedCredentials.js:317:52:317:61 | privateKey | HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) |
486492
| HardcodedCredentials.js:317:52:317:61 | privateKey | HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) |
487-
| HardcodedCredentials.js:320:11:323:29 | spki | HardcodedCredentials.js:324:45:324:48 | spki |
488-
| HardcodedCredentials.js:320:18:323:29 | `-----B ... Y-----` | HardcodedCredentials.js:320:11:323:29 | spki |
489-
| HardcodedCredentials.js:320:18:323:29 | `-----B ... Y-----` | HardcodedCredentials.js:320:11:323:29 | spki |
490-
| HardcodedCredentials.js:324:11:324:58 | publicKey | HardcodedCredentials.js:325:27:325:35 | publicKey |
491-
| HardcodedCredentials.js:324:11:324:58 | publicKey | HardcodedCredentials.js:325:27:325:35 | publicKey |
492-
| HardcodedCredentials.js:324:23:324:58 | await j ... RS256') | HardcodedCredentials.js:324:11:324:58 | publicKey |
493-
| HardcodedCredentials.js:324:45:324:48 | spki | HardcodedCredentials.js:324:23:324:58 | await j ... RS256') |
494-
| HardcodedCredentials.js:331:9:331:43 | secretKey | HardcodedCredentials.js:336:21:336:29 | secretKey |
495-
| HardcodedCredentials.js:331:9:331:43 | secretKey | HardcodedCredentials.js:336:21:336:29 | secretKey |
496-
| HardcodedCredentials.js:331:9:331:43 | secretKey | HardcodedCredentials.js:347:33:347:41 | secretKey |
497-
| HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" | HardcodedCredentials.js:331:9:331:43 | secretKey |
498-
| HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" | HardcodedCredentials.js:331:9:331:43 | secretKey |
499-
| HardcodedCredentials.js:347:33:347:41 | secretKey | HardcodedCredentials.js:347:21:347:52 | Buffer. ... ase64") |
500-
| HardcodedCredentials.js:347:33:347:41 | secretKey | HardcodedCredentials.js:347:21:347:52 | Buffer. ... ase64") |
501-
| HardcodedCredentials.js:362:9:362:43 | secretKey | HardcodedCredentials.js:365:24:365:32 | secretKey |
502-
| HardcodedCredentials.js:362:9:362:43 | secretKey | HardcodedCredentials.js:365:24:365:32 | secretKey |
503-
| HardcodedCredentials.js:362:9:362:43 | secretKey | HardcodedCredentials.js:372:31:372:39 | secretKey |
504-
| HardcodedCredentials.js:362:9:362:43 | secretKey | HardcodedCredentials.js:372:31:372:39 | secretKey |
505-
| HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" | HardcodedCredentials.js:362:9:362:43 | secretKey |
506-
| HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" | HardcodedCredentials.js:362:9:362:43 | secretKey |
507-
| HardcodedCredentials.js:383:9:383:43 | secretKey | HardcodedCredentials.js:386:17:386:25 | secretKey |
508-
| HardcodedCredentials.js:383:9:383:43 | secretKey | HardcodedCredentials.js:386:17:386:25 | secretKey |
509-
| HardcodedCredentials.js:383:21:383:43 | "myHard ... ateKey" | HardcodedCredentials.js:383:9:383:43 | secretKey |
510-
| HardcodedCredentials.js:383:21:383:43 | "myHard ... ateKey" | HardcodedCredentials.js:383:9:383:43 | secretKey |
511-
| HardcodedCredentials.js:401:9:401:43 | secretKey | HardcodedCredentials.js:403:27:403:35 | secretKey |
512-
| HardcodedCredentials.js:401:9:401:43 | secretKey | HardcodedCredentials.js:403:27:403:35 | secretKey |
513-
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" | HardcodedCredentials.js:401:9:401:43 | secretKey |
514-
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" | HardcodedCredentials.js:401:9:401:43 | secretKey |
493+
| HardcodedCredentials.js:319:11:321:29 | spki | HardcodedCredentials.js:322:43:322:46 | spki |
494+
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | HardcodedCredentials.js:319:11:321:29 | spki |
495+
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | HardcodedCredentials.js:319:11:321:29 | spki |
496+
| HardcodedCredentials.js:322:9:322:56 | publicKey | HardcodedCredentials.js:323:27:323:35 | publicKey |
497+
| HardcodedCredentials.js:322:9:322:56 | publicKey | HardcodedCredentials.js:323:27:323:35 | publicKey |
498+
| HardcodedCredentials.js:322:21:322:56 | await j ... RS256') | HardcodedCredentials.js:322:9:322:56 | publicKey |
499+
| HardcodedCredentials.js:322:43:322:46 | spki | HardcodedCredentials.js:322:21:322:56 | await j ... RS256') |
500+
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' | HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) |
501+
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' | HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) |
502+
| HardcodedCredentials.js:331:5:331:46 | publicKey | HardcodedCredentials.js:335:31:335:39 | publicKey |
503+
| HardcodedCredentials.js:331:5:331:46 | publicKey | HardcodedCredentials.js:335:31:335:39 | publicKey |
504+
| HardcodedCredentials.js:331:17:331:46 | await j ... k, alg) | HardcodedCredentials.js:331:5:331:46 | publicKey |
505+
| HardcodedCredentials.js:344:9:344:43 | secretKey | HardcodedCredentials.js:349:21:349:29 | secretKey |
506+
| HardcodedCredentials.js:344:9:344:43 | secretKey | HardcodedCredentials.js:349:21:349:29 | secretKey |
507+
| HardcodedCredentials.js:344:9:344:43 | secretKey | HardcodedCredentials.js:360:33:360:41 | secretKey |
508+
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:344:9:344:43 | secretKey |
509+
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:344:9:344:43 | secretKey |
510+
| HardcodedCredentials.js:360:33:360:41 | secretKey | HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") |
511+
| HardcodedCredentials.js:360:33:360:41 | secretKey | HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") |
512+
| HardcodedCredentials.js:375:9:375:43 | secretKey | HardcodedCredentials.js:378:24:378:32 | secretKey |
513+
| HardcodedCredentials.js:375:9:375:43 | secretKey | HardcodedCredentials.js:378:24:378:32 | secretKey |
514+
| HardcodedCredentials.js:375:9:375:43 | secretKey | HardcodedCredentials.js:385:31:385:39 | secretKey |
515+
| HardcodedCredentials.js:375:9:375:43 | secretKey | HardcodedCredentials.js:385:31:385:39 | secretKey |
516+
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:375:9:375:43 | secretKey |
517+
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:375:9:375:43 | secretKey |
518+
| HardcodedCredentials.js:396:9:396:43 | secretKey | HardcodedCredentials.js:399:17:399:25 | secretKey |
519+
| HardcodedCredentials.js:396:9:396:43 | secretKey | HardcodedCredentials.js:399:17:399:25 | secretKey |
520+
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | HardcodedCredentials.js:396:9:396:43 | secretKey |
521+
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | HardcodedCredentials.js:396:9:396:43 | secretKey |
522+
| HardcodedCredentials.js:414:9:414:43 | secretKey | HardcodedCredentials.js:416:27:416:35 | secretKey |
523+
| HardcodedCredentials.js:414:9:414:43 | secretKey | HardcodedCredentials.js:416:27:416:35 | secretKey |
524+
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | HardcodedCredentials.js:414:9:414:43 | secretKey |
525+
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | HardcodedCredentials.js:414:9:414:43 | secretKey |
515526
| __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' | __tests__/HardcodedCredentialsDemo.js:5:15:5:22 | 'dbuser' |
516527
| __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' | __tests__/HardcodedCredentialsDemo.js:8:19:8:28 | 'hgfedcba' |
517528
#select
@@ -583,10 +594,11 @@ edges
583594
| HardcodedCredentials.js:302:44:302:69 | 'iubfew ... ybgera' | HardcodedCredentials.js:302:44:302:69 | 'iubfew ... ybgera' | HardcodedCredentials.js:302:44:302:69 | 'iubfew ... ybgera' | The hard-coded value "iubfewiaaweiybgaeuybgera" is used as $@. | HardcodedCredentials.js:302:44:302:69 | 'iubfew ... ybgera' | key |
584595
| HardcodedCredentials.js:308:22:308:44 | "myHard ... ateKey" | HardcodedCredentials.js:308:22:308:44 | "myHard ... ateKey" | HardcodedCredentials.js:309:34:309:43 | privateKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:309:34:309:43 | privateKey | key |
585596
| HardcodedCredentials.js:316:22:316:44 | "myHard ... ateKey" | HardcodedCredentials.js:316:22:316:44 | "myHard ... ateKey" | HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:317:27:317:62 | new Tex ... ateKey) | key |
586-
| HardcodedCredentials.js:320:18:323:29 | `-----B ... Y-----` | HardcodedCredentials.js:320:18:323:29 | `-----B ... Y-----` | HardcodedCredentials.js:325:27:325:35 | publicKey | The hard-coded value "-----BEGIN PUBLIC KEY-----\n MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwhYOFK2Ocbbpb/zVypi9\n ...\n -----END PUBLIC KEY-----" is used as $@. | HardcodedCredentials.js:325:27:325:35 | publicKey | key |
587-
| HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" | HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" | HardcodedCredentials.js:336:21:336:29 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:336:21:336:29 | secretKey | key |
588-
| HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" | HardcodedCredentials.js:331:21:331:43 | "myHard ... ateKey" | HardcodedCredentials.js:347:21:347:52 | Buffer. ... ase64") | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:347:21:347:52 | Buffer. ... ase64") | key |
589-
| HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" | HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" | HardcodedCredentials.js:365:24:365:32 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:365:24:365:32 | secretKey | key |
590-
| HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" | HardcodedCredentials.js:362:21:362:43 | "myHard ... ateKey" | HardcodedCredentials.js:372:31:372:39 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:372:31:372:39 | secretKey | key |
591-
| HardcodedCredentials.js:383:21:383:43 | "myHard ... ateKey" | HardcodedCredentials.js:383:21:383:43 | "myHard ... ateKey" | HardcodedCredentials.js:386:17:386:25 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:386:17:386:25 | secretKey | key |
592-
| HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" | HardcodedCredentials.js:401:21:401:43 | "myHard ... ateKey" | HardcodedCredentials.js:403:27:403:35 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:403:27:403:35 | secretKey | key |
597+
| HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | HardcodedCredentials.js:319:18:321:29 | `-----B ... Y-----` | HardcodedCredentials.js:323:27:323:35 | publicKey | The hard-coded value "-----BEGIN PUBLIC KEY-----\n MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwhYOFK2Ocbbpb/zVypi9...\n -----END PUBLIC KEY-----" is used as $@. | HardcodedCredentials.js:323:27:323:35 | publicKey | key |
598+
| HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' | HardcodedCredentials.js:328:12:328:55 | 'whYOFK ... -6f...' | HardcodedCredentials.js:335:31:335:39 | publicKey | The hard-coded value "whYOFK2Ocbbpb_zVypi9SeKiNUqKQH0zTKN1-6f..." is used as $@. | HardcodedCredentials.js:335:31:335:39 | publicKey | key |
599+
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:349:21:349:29 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:349:21:349:29 | secretKey | key |
600+
| HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:344:21:344:43 | "myHard ... ateKey" | HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:360:21:360:52 | Buffer. ... ase64") | key |
601+
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:378:24:378:32 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:378:24:378:32 | secretKey | key |
602+
| HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:375:21:375:43 | "myHard ... ateKey" | HardcodedCredentials.js:385:31:385:39 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:385:31:385:39 | secretKey | key |
603+
| HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | HardcodedCredentials.js:396:21:396:43 | "myHard ... ateKey" | HardcodedCredentials.js:399:17:399:25 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:399:17:399:25 | secretKey | key |
604+
| HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | HardcodedCredentials.js:414:21:414:43 | "myHard ... ateKey" | HardcodedCredentials.js:416:27:416:35 | secretKey | The hard-coded value "myHardCodedPrivateKey" is used as $@. | HardcodedCredentials.js:416:27:416:35 | secretKey | key |

0 commit comments

Comments
 (0)