@next-secure-check/rules 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"security-rules.js","sourceRoot":"","sources":["../src/security-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-rules.js","sourceRoot":"","sources":["../src/security-rules.ts"],"names":[],"mappings":"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"}
package/dist/sql-ast.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  import ts from "typescript";
2
+ import type { BoundedFlowCallbacks } from "./command-flow.js";
3
+ export declare function createRawSqlFlowCallbacks(): BoundedFlowCallbacks;
2
4
  export declare function findRawSqlConcatNodes(sourceFile: ts.SourceFile): ts.Node[];
5
+ export declare function isInterpolatedSqlExpression(node: ts.Node | undefined): boolean;
3
6
  //# sourceMappingURL=sql-ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-ast.d.ts","sourceRoot":"","sources":["../src/sql-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAkB1E"}
1
+ {"version":3,"file":"sql-ast.d.ts","sourceRoot":"","sources":["../src/sql-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,oBAAoB,EAAsB,MAAM,mBAAmB,CAAC;AAgBlF,wBAAgB,yBAAyB,IAAI,oBAAoB,CAqFhE;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAkB1E;AAoDD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,GAAG,OAAO,CAW9E"}
package/dist/sql-ast.js CHANGED
@@ -1,18 +1,100 @@
1
1
  import ts from "typescript";
2
- const SQL_QUERY_METHOD_NAMES = new Set(["query", "execute"]);
2
+ import { COMMAND_ALIAS_LIMIT } from "./command-ast.js";
3
+ const SQL_QUERY_METHOD_NAMES = new Set(["query", "execute", "$queryRaw", "$executeRaw"]);
3
4
  const SQL_RAW_TAG_NAMES = new Set(["$queryRaw", "$executeRaw"]);
4
5
  const SQL_KEYWORD_PATTERN = /\b(SELECT|INSERT|UPDATE|DELETE)\b/i;
6
+ export function createRawSqlFlowCallbacks() {
7
+ const states = new WeakMap();
8
+ return {
9
+ onVariableDeclaration: (node, context) => {
10
+ if (!ts.isIdentifier(node.name)) {
11
+ return;
12
+ }
13
+ const state = rawSqlScopeState(states, context);
14
+ if (!node.initializer) {
15
+ state.values.delete(node.name.text);
16
+ state.initialized.delete(node.name.text);
17
+ return;
18
+ }
19
+ state.initialized.add(node.name.text);
20
+ const value = rawSqlValueForExpression(node.initializer, node.name.text, state, context);
21
+ if (value) {
22
+ state.values.set(node.name.text, value);
23
+ }
24
+ else {
25
+ state.values.delete(node.name.text);
26
+ }
27
+ },
28
+ onAssignment: (node, context) => {
29
+ const target = rawSqlTargetIdentifier(node.left);
30
+ if (!target) {
31
+ return;
32
+ }
33
+ const state = rawSqlScopeState(states, context);
34
+ if (node.operatorToken.kind !== ts.SyntaxKind.EqualsToken || state.initialized.has(target)) {
35
+ state.values.delete(target);
36
+ state.initialized.add(target);
37
+ return;
38
+ }
39
+ state.initialized.add(target);
40
+ const value = rawSqlValueForExpression(node.right, target, state, context);
41
+ if (value) {
42
+ state.values.set(target, value);
43
+ }
44
+ else {
45
+ state.values.delete(target);
46
+ }
47
+ },
48
+ onCall: (node, context) => {
49
+ const state = rawSqlScopeState(states, context);
50
+ if (isSqlQuerySinkCall(node)) {
51
+ const [firstArgument] = node.arguments;
52
+ if (firstArgument) {
53
+ const directExpression = isInterpolatedSqlExpression(firstArgument);
54
+ const normalized = unwrapRawSqlExpression(firstArgument);
55
+ const aliasedValue = ts.isIdentifier(normalized) ? state.values.get(normalized.text) : undefined;
56
+ if (directExpression || aliasedValue) {
57
+ context.recordSink(node, "raw-sql");
58
+ const evidencePath = directExpression
59
+ ? context.findSourcePathInExpression(firstArgument)
60
+ : aliasedValue?.path;
61
+ if (evidencePath) {
62
+ context.recordEvidencePath(node, evidencePath);
63
+ }
64
+ }
65
+ }
66
+ }
67
+ if (!isSqlQuerySinkCall(node)) {
68
+ invalidateRawSqlReferences(node, state);
69
+ }
70
+ },
71
+ onTaggedTemplate: (node, context) => {
72
+ if (!isRawSqlTaggedTemplate(node)) {
73
+ return;
74
+ }
75
+ const evidencePath = context.findSourcePathInExpression(node.template);
76
+ if (evidencePath) {
77
+ context.recordEvidencePath(node, evidencePath);
78
+ }
79
+ },
80
+ onInvalidation: (identifier, _reason, context) => {
81
+ const state = rawSqlScopeState(states, context);
82
+ state.values.delete(identifier);
83
+ state.initialized.add(identifier);
84
+ }
85
+ };
86
+ }
5
87
  export function findRawSqlConcatNodes(sourceFile) {
6
88
  const matches = [];
7
89
  visitSqlNodes(sourceFile, (node) => {
8
90
  if (ts.isCallExpression(node) && isSqlQuerySinkCall(node)) {
9
91
  const [firstArgument] = node.arguments;
10
- if (isInterpolatedSqlTemplate(firstArgument)) {
92
+ if (isInterpolatedSqlExpression(firstArgument)) {
11
93
  matches.push(node);
12
94
  }
13
95
  return;
14
96
  }
15
- if (ts.isTaggedTemplateExpression(node) && isRawSqlTaggedTemplate(node) && isInterpolatedSqlTemplate(node.template)) {
97
+ if (ts.isTaggedTemplateExpression(node) && isRawSqlTaggedTemplate(node) && isInterpolatedSqlExpression(node.template)) {
16
98
  matches.push(node);
17
99
  }
18
100
  });
@@ -26,8 +108,98 @@ function isRawSqlTaggedTemplate(node) {
26
108
  const tag = node.tag;
27
109
  return ts.isPropertyAccessExpression(tag) && SQL_RAW_TAG_NAMES.has(tag.name.text);
28
110
  }
29
- function isInterpolatedSqlTemplate(node) {
30
- return node !== undefined && ts.isTemplateExpression(node) && SQL_KEYWORD_PATTERN.test(node.getText());
111
+ function rawSqlScopeState(states, context) {
112
+ const existing = states.get(context.scopeRoot);
113
+ if (existing) {
114
+ return existing;
115
+ }
116
+ const created = { values: new Map(), initialized: new Set() };
117
+ states.set(context.scopeRoot, created);
118
+ return created;
119
+ }
120
+ function rawSqlValueForExpression(expression, targetName, state, context) {
121
+ if (isInterpolatedSqlExpression(expression)) {
122
+ return {
123
+ path: context.findSourcePathInExpression(expression),
124
+ aliasDepth: 0
125
+ };
126
+ }
127
+ const normalized = unwrapRawSqlExpression(expression);
128
+ if (!ts.isIdentifier(normalized)) {
129
+ return undefined;
130
+ }
131
+ const existing = state.values.get(normalized.text);
132
+ if (!existing || existing.aliasDepth >= COMMAND_ALIAS_LIMIT) {
133
+ return undefined;
134
+ }
135
+ return {
136
+ path: existing.path ? `${existing.path} -> ${targetName}` : undefined,
137
+ aliasDepth: existing.aliasDepth + 1
138
+ };
139
+ }
140
+ export function isInterpolatedSqlExpression(node) {
141
+ const normalized = node && unwrapRawSqlExpression(node);
142
+ if (!normalized || !SQL_KEYWORD_PATTERN.test(normalized.getText())) {
143
+ return false;
144
+ }
145
+ if (ts.isTemplateExpression(normalized)) {
146
+ return true;
147
+ }
148
+ return ts.isBinaryExpression(normalized) && hasStringConcatenation(normalized);
149
+ }
150
+ function hasStringConcatenation(node) {
151
+ if (node.operatorToken.kind === ts.SyntaxKind.PlusToken) {
152
+ return !isStaticStringExpression(node.left) || !isStaticStringExpression(node.right);
153
+ }
154
+ return ((ts.isBinaryExpression(node.left) && hasStringConcatenation(node.left)) ||
155
+ (ts.isBinaryExpression(node.right) && hasStringConcatenation(node.right)));
156
+ }
157
+ function isStaticStringExpression(node) {
158
+ const normalized = unwrapRawSqlExpression(node);
159
+ if (ts.isStringLiteralLike(normalized) ||
160
+ ts.isNumericLiteral(normalized) ||
161
+ ts.isBigIntLiteral(normalized) ||
162
+ normalized.kind === ts.SyntaxKind.TrueKeyword ||
163
+ normalized.kind === ts.SyntaxKind.FalseKeyword ||
164
+ normalized.kind === ts.SyntaxKind.NullKeyword) {
165
+ return true;
166
+ }
167
+ return ts.isBinaryExpression(normalized) &&
168
+ normalized.operatorToken.kind === ts.SyntaxKind.PlusToken &&
169
+ isStaticStringExpression(normalized.left) &&
170
+ isStaticStringExpression(normalized.right);
171
+ }
172
+ function rawSqlTargetIdentifier(node) {
173
+ if (ts.isIdentifier(node)) {
174
+ return node.text;
175
+ }
176
+ if (ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) {
177
+ return rawSqlTargetIdentifier(node.expression);
178
+ }
179
+ return undefined;
180
+ }
181
+ function invalidateRawSqlReferences(node, state) {
182
+ visitSqlNodes(node, (child) => {
183
+ if (!ts.isIdentifier(child) || !state.values.has(child.text)) {
184
+ return;
185
+ }
186
+ if (ts.isPropertyAccessExpression(child.parent) && child.parent.name === child) {
187
+ return;
188
+ }
189
+ state.values.delete(child.text);
190
+ state.initialized.add(child.text);
191
+ });
192
+ }
193
+ function unwrapRawSqlExpression(expression) {
194
+ let current = expression;
195
+ while (ts.isParenthesizedExpression(current) ||
196
+ ts.isAwaitExpression(current) ||
197
+ ts.isNonNullExpression(current) ||
198
+ ts.isAsExpression(current) ||
199
+ ts.isTypeAssertionExpression(current)) {
200
+ current = current.expression;
201
+ }
202
+ return current;
31
203
  }
32
204
  function visitSqlNodes(node, callback) {
33
205
  callback(node);
@@ -1 +1 @@
1
- {"version":3,"file":"sql-ast.js","sourceRoot":"","sources":["../src/sql-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAChE,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AAEjE,MAAM,UAAU,qBAAqB,CAAC,UAAyB;IAC7D,MAAM,OAAO,GAAc,EAAE,CAAC;IAE9B,aAAa,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACjC,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,yBAAyB,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAuB;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,OAAO,EAAE,CAAC,0BAA0B,CAAC,UAAU,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAiC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,OAAO,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAyB;IAC1D,OAAO,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,aAAa,CAAC,IAAa,EAAE,QAAiC;IACrE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"sql-ast.js","sourceRoot":"","sources":["../src/sql-ast.ts"],"names":[],"mappings":"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"}
package/dist/xss-ast.d.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  import ts from "typescript";
2
+ import type { BoundedFlowFacts } from "./analysis-facts.js";
2
3
  export type XssSeverity = "LOW" | "MEDIUM";
3
4
  export type XssAnalysisFacts = {
4
5
  sanitizerIdentifiers: ReadonlySet<string>;
6
+ untrustedSanitizerIdentifiers: ReadonlySet<string>;
5
7
  safeHtmlIdentifiers: ReadonlySet<string>;
6
8
  };
7
9
  export type DangerouslySetInnerHtmlNode = {
8
10
  node: ts.JsxAttribute;
9
11
  severity: XssSeverity;
12
+ evidencePath?: string;
10
13
  };
11
14
  export declare function createXssAnalysisFacts(sourceFile: ts.SourceFile): XssAnalysisFacts;
12
- export declare function findDangerouslySetInnerHtmlNodes(sourceFile: ts.SourceFile, sanitizerIdentifiers: ReadonlySet<string>, safeHtmlIdentifiers: ReadonlySet<string>): DangerouslySetInnerHtmlNode[];
15
+ export declare function findDangerouslySetInnerHtmlNodes(sourceFile: ts.SourceFile, sanitizerIdentifiers: ReadonlySet<string>, safeHtmlIdentifiers: ReadonlySet<string>, boundedFlow: BoundedFlowFacts, untrustedSanitizerIdentifiers: ReadonlySet<string>): DangerouslySetInnerHtmlNode[];
13
16
  //# sourceMappingURL=xss-ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xss-ast.d.ts","sourceRoot":"","sources":["../src/xss-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAOlF;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,EACzC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,GACvC,2BAA2B,EAAE,CAe/B"}
1
+ {"version":3,"file":"xss-ast.d.ts","sourceRoot":"","sources":["../src/xss-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAQlF;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,EACzC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,EACxC,WAAW,EAAE,gBAAgB,EAC7B,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAC,GACjD,2BAA2B,EAAE,CAsB/B"}
package/dist/xss-ast.js CHANGED
@@ -1,26 +1,31 @@
1
1
  import ts from "typescript";
2
2
  const SANITIZER_MODULE_PATTERN = /^(?:dompurify|sanitize-html)$/i;
3
+ const SANITIZER_FUNCTION_PATTERN = /^(?:sanitizeHtml|sanitizeMarkdown)$/i;
4
+ const SANITIZER_METHOD_NAME = "sanitize";
3
5
  export function createXssAnalysisFacts(sourceFile) {
4
- const sanitizerIdentifiers = collectSanitizerIdentifiers(sourceFile);
6
+ const { sanitizerIdentifiers, untrustedSanitizerIdentifiers } = collectSanitizerIdentifiers(sourceFile);
5
7
  return {
6
8
  sanitizerIdentifiers,
7
- safeHtmlIdentifiers: collectSafeHtmlIdentifiers(sourceFile, sanitizerIdentifiers)
9
+ untrustedSanitizerIdentifiers,
10
+ safeHtmlIdentifiers: collectSafeHtmlIdentifiers(sourceFile, sanitizerIdentifiers, untrustedSanitizerIdentifiers)
8
11
  };
9
12
  }
10
- export function findDangerouslySetInnerHtmlNodes(sourceFile, sanitizerIdentifiers, safeHtmlIdentifiers) {
13
+ export function findDangerouslySetInnerHtmlNodes(sourceFile, sanitizerIdentifiers, safeHtmlIdentifiers, boundedFlow, untrustedSanitizerIdentifiers) {
11
14
  const matches = [];
12
15
  visitXssNodes(sourceFile, (node) => {
13
16
  if (!ts.isJsxAttribute(node) || !ts.isIdentifier(node.name) || node.name.text !== "dangerouslySetInnerHTML") {
14
17
  return;
15
18
  }
16
- const severity = dangerouslySetInnerHtmlSeverity(node.initializer, sanitizerIdentifiers, safeHtmlIdentifiers);
19
+ const severity = dangerouslySetInnerHtmlSeverity(node.initializer, sanitizerIdentifiers, safeHtmlIdentifiers, untrustedSanitizerIdentifiers);
17
20
  if (severity) {
18
- matches.push({ node, severity });
21
+ const valueExpression = dangerouslySetInnerHtmlValueExpression(node.initializer);
22
+ const evidencePath = valueExpression ? findBoundedSourcePath(valueExpression, boundedFlow) : undefined;
23
+ matches.push({ node, severity, ...(evidencePath ? { evidencePath } : {}) });
19
24
  }
20
25
  });
21
26
  return matches;
22
27
  }
23
- function dangerouslySetInnerHtmlSeverity(initializer, sanitizerIdentifiers, safeHtmlIdentifiers) {
28
+ function dangerouslySetInnerHtmlSeverity(initializer, sanitizerIdentifiers, safeHtmlIdentifiers, untrustedSanitizerIdentifiers) {
24
29
  if (!initializer || ts.isStringLiteral(initializer)) {
25
30
  return undefined;
26
31
  }
@@ -34,39 +39,50 @@ function dangerouslySetInnerHtmlSeverity(initializer, sanitizerIdentifiers, safe
34
39
  const htmlExpression = expression.properties
35
40
  .filter(ts.isPropertyAssignment)
36
41
  .find((property) => propertyNameText(property.name) === "__html")?.initializer;
37
- if (!htmlExpression || isStaticHtmlExpression(htmlExpression, safeHtmlIdentifiers) || isSanitizedHtmlExpression(htmlExpression, sanitizerIdentifiers)) {
42
+ if (!htmlExpression ||
43
+ isStaticHtmlExpression(htmlExpression, safeHtmlIdentifiers) ||
44
+ isSanitizedHtmlExpression(htmlExpression, sanitizerIdentifiers, untrustedSanitizerIdentifiers)) {
38
45
  return undefined;
39
46
  }
40
47
  return "MEDIUM";
41
48
  }
42
49
  function collectSanitizerIdentifiers(sourceFile) {
43
50
  const sanitizerIdentifiers = new Set();
51
+ const untrustedSanitizerIdentifiers = new Set();
44
52
  visitXssNodes(sourceFile, (node) => {
45
53
  if (!ts.isImportDeclaration(node) || !ts.isStringLiteralLike(node.moduleSpecifier)) {
46
54
  return;
47
55
  }
48
56
  const moduleName = node.moduleSpecifier.text;
57
+ const isKnownSanitizerModule = SANITIZER_MODULE_PATTERN.test(moduleName);
49
58
  const importClause = node.importClause;
50
59
  if (!importClause) {
51
60
  return;
52
61
  }
53
- if (importClause.name && SANITIZER_MODULE_PATTERN.test(moduleName)) {
62
+ if (importClause.name && isKnownSanitizerModule) {
54
63
  sanitizerIdentifiers.add(importClause.name.text);
55
64
  }
65
+ else if (importClause.name && isSanitizerFunctionName(importClause.name.text)) {
66
+ untrustedSanitizerIdentifiers.add(importClause.name.text);
67
+ }
56
68
  const namedBindings = importClause.namedBindings;
57
69
  if (!namedBindings || !ts.isNamedImports(namedBindings)) {
58
70
  return;
59
71
  }
60
72
  for (const importSpecifier of namedBindings.elements) {
73
+ const localName = importSpecifier.name.text;
61
74
  const importedName = importSpecifier.propertyName?.text ?? importSpecifier.name.text;
62
- if (isSanitizerFunctionName(importedName)) {
63
- sanitizerIdentifiers.add(importSpecifier.name.text);
75
+ if (isKnownSanitizerModule && isSanitizerFunctionName(importedName)) {
76
+ sanitizerIdentifiers.add(localName);
77
+ }
78
+ else if (!isKnownSanitizerModule && isSanitizerFunctionName(localName)) {
79
+ untrustedSanitizerIdentifiers.add(localName);
64
80
  }
65
81
  }
66
82
  });
67
- return sanitizerIdentifiers;
83
+ return { sanitizerIdentifiers, untrustedSanitizerIdentifiers };
68
84
  }
69
- function collectSafeHtmlIdentifiers(sourceFile, sanitizerIdentifiers) {
85
+ function collectSafeHtmlIdentifiers(sourceFile, sanitizerIdentifiers, untrustedSanitizerIdentifiers) {
70
86
  const safeHtmlIdentifiers = new Set();
71
87
  visitXssNodes(sourceFile, (node) => {
72
88
  if (!ts.isVariableStatement(node) || (node.declarationList.flags & ts.NodeFlags.Const) === 0) {
@@ -76,7 +92,8 @@ function collectSafeHtmlIdentifiers(sourceFile, sanitizerIdentifiers) {
76
92
  if (!ts.isIdentifier(declaration.name) || !declaration.initializer) {
77
93
  continue;
78
94
  }
79
- if (isStaticHtmlExpression(declaration.initializer, safeHtmlIdentifiers) || isSanitizedHtmlExpression(declaration.initializer, sanitizerIdentifiers)) {
95
+ if (isStaticHtmlExpression(declaration.initializer, safeHtmlIdentifiers) ||
96
+ isSanitizedHtmlExpression(declaration.initializer, sanitizerIdentifiers, untrustedSanitizerIdentifiers)) {
80
97
  safeHtmlIdentifiers.add(declaration.name.text);
81
98
  }
82
99
  }
@@ -92,20 +109,51 @@ function propertyNameText(name) {
92
109
  function isStaticHtmlExpression(expression, safeHtmlIdentifiers) {
93
110
  return ts.isStringLiteralLike(expression) || ts.isNoSubstitutionTemplateLiteral(expression) || (ts.isIdentifier(expression) && safeHtmlIdentifiers.has(expression.text));
94
111
  }
95
- function isSanitizedHtmlExpression(expression, sanitizerIdentifiers) {
112
+ function isSanitizedHtmlExpression(expression, sanitizerIdentifiers, untrustedSanitizerIdentifiers) {
96
113
  if (!ts.isCallExpression(expression)) {
97
114
  return false;
98
115
  }
99
116
  if (ts.isIdentifier(expression.expression)) {
100
- return sanitizerIdentifiers.has(expression.expression.text) || isSanitizerFunctionName(expression.expression.text);
117
+ return (sanitizerIdentifiers.has(expression.expression.text) ||
118
+ (!untrustedSanitizerIdentifiers.has(expression.expression.text) && isSanitizerFunctionName(expression.expression.text)));
101
119
  }
102
120
  if (ts.isPropertyAccessExpression(expression.expression)) {
103
- return isSanitizerFunctionName(expression.expression.name.text);
121
+ const receiver = expression.expression.expression;
122
+ return (expression.expression.name.text === SANITIZER_METHOD_NAME &&
123
+ ts.isIdentifier(receiver) &&
124
+ (receiver.text === "DOMPurify" || sanitizerIdentifiers.has(receiver.text)));
104
125
  }
105
126
  return false;
106
127
  }
107
128
  function isSanitizerFunctionName(name) {
108
- return /^(?:sanitize|sanitizeHtml|sanitizeMarkdown|sanitizeContent|toSafeHtml)$/i.test(name);
129
+ return SANITIZER_FUNCTION_PATTERN.test(name);
130
+ }
131
+ function dangerouslySetInnerHtmlValueExpression(initializer) {
132
+ if (!initializer || !ts.isJsxExpression(initializer) || !initializer.expression) {
133
+ return undefined;
134
+ }
135
+ if (!ts.isObjectLiteralExpression(initializer.expression)) {
136
+ return initializer.expression;
137
+ }
138
+ return initializer.expression.properties
139
+ .filter(ts.isPropertyAssignment)
140
+ .find((property) => propertyNameText(property.name) === "__html")?.initializer;
141
+ }
142
+ function findBoundedSourcePath(expression, boundedFlow) {
143
+ const directSource = boundedFlow.sources.find((source) => source.node === expression);
144
+ if (directSource) {
145
+ return directSource.path;
146
+ }
147
+ if (ts.isFunctionLike(expression)) {
148
+ return undefined;
149
+ }
150
+ let evidencePath;
151
+ ts.forEachChild(expression, (child) => {
152
+ if (!evidencePath) {
153
+ evidencePath = findBoundedSourcePath(child, boundedFlow);
154
+ }
155
+ });
156
+ return evidencePath;
109
157
  }
110
158
  function visitXssNodes(node, callback) {
111
159
  callback(node);
@@ -1 +1 @@
1
- {"version":3,"file":"xss-ast.js","sourceRoot":"","sources":["../src/xss-ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xss-ast.js","sourceRoot":"","sources":["../src/xss-ast.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-secure-check/rules",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Security rules for next-secure-check",
5
5
  "keywords": [
6
6
  "nextjs",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "typescript": "^5.9.0",
37
- "@next-secure-check/core": "0.4.0"
37
+ "@next-secure-check/core": "0.5.0"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "tsc -p tsconfig.json",