Skip to content

Commit 11ba0f0

Browse files
authored
Merge pull request github#10253 from asgerf/js/type-defs-squashed
JS: Add generated typings to SQL models
2 parents 8b424d1 + d1e19a3 commit 11ba0f0

File tree

34 files changed

+3693
-862
lines changed

34 files changed

+3693
-862
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
5+
- Several of the SQL and NoSQL library models have improved, leading to more results for the `js/sql-injection` query,
6+
and in some cases the `js/missing-rate-limiting` query.

javascript/ql/lib/javascript.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ import semmle.javascript.frameworks.JWT
9999
import semmle.javascript.frameworks.Handlebars
100100
import semmle.javascript.frameworks.History
101101
import semmle.javascript.frameworks.Immutable
102+
import semmle.javascript.frameworks.ImportGeneratedModels
102103
import semmle.javascript.frameworks.Knex
103104
import semmle.javascript.frameworks.LazyCache
104105
import semmle.javascript.frameworks.LdapJS

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,19 @@ abstract class CredentialsNode extends DataFlow::Node {
3434
abstract string getCredentialsKind();
3535
}
3636

37+
/** Companion module to the `CredentialsExpr` class. */
38+
module CredentialsExpr {
39+
/** Normalizes a credentials kind, mapping `username` to `user name`. */
40+
bindingset[kind]
41+
string normalizeKind(string kind) {
42+
if kind = "username" then result = "user name" else result = kind
43+
}
44+
}
45+
3746
private class CredentialsFromModel extends CredentialsNode {
3847
string kind;
3948

4049
CredentialsFromModel() { this = ModelOutput::getASinkNode("credentials[" + kind + "]").asSink() }
4150

42-
override string getCredentialsKind() { result = kind }
51+
override string getCredentialsKind() { result = CredentialsExpr::normalizeKind(kind) }
4352
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* Imports all generated models.
3+
*/
4+
5+
private import minimongo.Model
6+
private import mongodb.Model
7+
private import mssql.Model
8+
private import mysql.Model
9+
private import pg.Model
10+
private import sequelize.Model
11+
private import spanner.Model
12+
private import sqlite3.Model

0 commit comments

Comments
 (0)