code-auditor-mcp 4.0.1 → 4.0.3
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +101 -0
- package/dist/analyzers/analyzerUtils.js +2 -2
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/applicability.d.ts +13 -0
- package/dist/analyzers/applicability.d.ts.map +1 -1
- package/dist/analyzers/applicability.js +1 -1
- package/dist/analyzers/applicability.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +3 -3
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +5 -5
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +5 -5
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +8 -8
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +7 -7
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +4 -4
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +10 -10
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +42 -5
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +7 -7
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +18 -0
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +57 -11
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +9 -9
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +2 -2
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js +1 -1
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts +1 -1
- package/dist/analyzers/universal/schema/violations.d.ts.map +1 -1
- package/dist/auditRouter.js +2 -2
- package/dist/auditRouter.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +25 -7
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +73 -24
- package/dist/cli.js.map +1 -1
- package/dist/config/configLoader.js +1 -1
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.js +3 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/daemon/lspServer.js +1 -1
- package/dist/daemon/lspServer.js.map +1 -1
- package/dist/enforcement/gate.js +2 -2
- package/dist/hooks/codex.d.ts.map +1 -1
- package/dist/hooks/codex.js +1 -1
- package/dist/hooks/codex.js.map +1 -1
- package/dist/hooks/core.d.ts +1 -1
- package/dist/hooks/core.d.ts.map +1 -1
- package/dist/hooks/core.js +4 -4
- package/dist/hooks/core.js.map +1 -1
- package/dist/hooks/cursor.d.ts.map +1 -1
- package/dist/hooks/cursor.js +2 -2
- package/dist/hooks/cursor.js.map +1 -1
- package/dist/invariants/invariant-rules.schema.json +1 -1
- package/dist/invariants/ruleValidator.js +1 -1
- package/dist/invariants/ruleValidator.js.map +1 -1
- package/dist/invariants/types.d.ts +1 -1
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +2 -2
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +2 -2
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/go/analyzer +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +3 -3
- package/dist/languages/go/analyzer-src/solid.go +5 -5
- package/dist/languages/types.d.ts +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +18 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +124 -16
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/ledger.js +1 -1
- package/dist/ledger.js.map +1 -1
- package/dist/mcp-tools/projectTasks.js +2 -2
- package/dist/mcp-tools/projectTasks.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +3 -3
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.js +13 -13
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.js +6 -6
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.js +14 -14
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +13 -9
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.js +1 -1
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/nextFile.d.ts +2 -2
- package/dist/nextFile.d.ts.map +1 -1
- package/dist/nextFile.js +3 -3
- package/dist/nextFile.js.map +1 -1
- package/dist/nextFileIncremental.d.ts +2 -2
- package/dist/nextFileIncremental.d.ts.map +1 -1
- package/dist/nextFileIncremental.js +16 -14
- package/dist/nextFileIncremental.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +10 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +39 -2
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +150 -7
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.js +6 -6
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +11 -11
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +1 -1
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/reportGenerator.d.ts +2 -1
- package/dist/reporting/reportGenerator.d.ts.map +1 -1
- package/dist/reporting/reportGenerator.js +2 -2
- package/dist/reporting/reportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts +15 -0
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +76 -16
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/reporting/sizeDistribution.d.ts +17 -0
- package/dist/reporting/sizeDistribution.d.ts.map +1 -0
- package/dist/reporting/sizeDistribution.js +93 -0
- package/dist/reporting/sizeDistribution.js.map +1 -0
- package/dist/scripts/benchmarkWorkers.js +1 -1
- package/dist/scripts/benchmarkWorkers.js.map +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -1
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +90 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -3
- package/dist/types.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +7 -7
- package/plugin/skills/code-auditor/SKILL.md +9 -9
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeManager.js","sourceRoot":"","sources":["../../src/languages/RuntimeManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RuntimeManager.js","sourceRoot":"","sources":["../../src/languages/RuntimeManager.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
@@ -158,7 +158,7 @@ func (a *Analyzer) runImportAnalysis() []Violation {
|
|
|
158
158
|
violations = append(violations, Violation{
|
|
159
159
|
File: filePath,
|
|
160
160
|
Line: line,
|
|
161
|
-
Severity: "
|
|
161
|
+
Severity: "high",
|
|
162
162
|
Message: "Import block mixes standard library and third-party imports without grouping",
|
|
163
163
|
Details: map[string]interface{}{
|
|
164
164
|
"importCount": len(file.Imports),
|
|
@@ -177,7 +177,7 @@ func (a *Analyzer) runImportAnalysis() []Violation {
|
|
|
177
177
|
violations = append(violations, Violation{
|
|
178
178
|
File: filePath,
|
|
179
179
|
Line: pos.Line,
|
|
180
|
-
Severity: "
|
|
180
|
+
Severity: "high",
|
|
181
181
|
Message: "Dot import detected - can lead to namespace pollution",
|
|
182
182
|
Details: map[string]interface{}{
|
|
183
183
|
"import": importSpec.Path.Value,
|
|
@@ -329,7 +329,7 @@ func (a *Analyzer) filterViolationsBySeverity(violations []Violation) []Violatio
|
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
severityOrder := map[string]int{
|
|
332
|
-
"
|
|
332
|
+
"high": 1,
|
|
333
333
|
"severe": 2,
|
|
334
334
|
"critical": 3,
|
|
335
335
|
}
|
|
@@ -67,7 +67,7 @@ func (s *SOLIDAnalyzer) analyzeFunctionSize() []Violation {
|
|
|
67
67
|
violations = append(violations, Violation{
|
|
68
68
|
File: function.File,
|
|
69
69
|
Line: function.StartLine,
|
|
70
|
-
Severity: "
|
|
70
|
+
Severity: "high",
|
|
71
71
|
Message: "Function has many parameters, multiple returns, and high complexity",
|
|
72
72
|
Details: map[string]interface{}{
|
|
73
73
|
"function": function.Name,
|
|
@@ -102,7 +102,7 @@ func (s *SOLIDAnalyzer) analyzeStructSize() []Violation {
|
|
|
102
102
|
violations = append(violations, Violation{
|
|
103
103
|
File: structInfo.File,
|
|
104
104
|
Line: structInfo.StartLine,
|
|
105
|
-
Severity: "
|
|
105
|
+
Severity: "high",
|
|
106
106
|
Message: "Struct has many fields",
|
|
107
107
|
Details: map[string]interface{}{
|
|
108
108
|
"struct": structInfo.Name,
|
|
@@ -142,7 +142,7 @@ func (s *SOLIDAnalyzer) analyzeSwitchSize() []Violation {
|
|
|
142
142
|
violations = append(violations, Violation{
|
|
143
143
|
File: filePath,
|
|
144
144
|
Line: pos.Line,
|
|
145
|
-
Severity: "
|
|
145
|
+
Severity: "high",
|
|
146
146
|
Message: "Switch statement has many case clauses",
|
|
147
147
|
Details: map[string]interface{}{
|
|
148
148
|
"caseCount": caseCount,
|
|
@@ -160,7 +160,7 @@ func (s *SOLIDAnalyzer) analyzeSwitchSize() []Violation {
|
|
|
160
160
|
violations = append(violations, Violation{
|
|
161
161
|
File: filePath,
|
|
162
162
|
Line: pos.Line,
|
|
163
|
-
Severity: "
|
|
163
|
+
Severity: "high",
|
|
164
164
|
Message: "Type switch has many case clauses",
|
|
165
165
|
Details: map[string]interface{}{
|
|
166
166
|
"caseCount": caseCount,
|
|
@@ -245,7 +245,7 @@ func (s *SOLIDAnalyzer) analyzeISP() []Violation {
|
|
|
245
245
|
violations = append(violations, Violation{
|
|
246
246
|
File: interfaceInfo.File,
|
|
247
247
|
Line: interfaceInfo.StartLine,
|
|
248
|
-
Severity: "
|
|
248
|
+
Severity: "high",
|
|
249
249
|
Message: "Interface has many methods",
|
|
250
250
|
Details: map[string]interface{}{
|
|
251
251
|
"interface": interfaceInfo.Name,
|
|
@@ -267,7 +267,7 @@ export interface OptionalCapabilities {
|
|
|
267
267
|
* or `x.split("'").join("''")` (and the double-quote variants). Such input is
|
|
268
268
|
* NOT provably safe (single-quote doubling handles only the single-quote
|
|
269
269
|
* vector), but it is *defended* — the caller should downgrade an injection
|
|
270
|
-
* finding from `critical` to `
|
|
270
|
+
* finding from `critical` to `high` ("verify escaping") rather than assert
|
|
271
271
|
* a live vulnerability. Complements `isSafeInterpolation`, which clears only
|
|
272
272
|
* provably-safe expressions.
|
|
273
273
|
*
|
|
@@ -114,6 +114,9 @@ declare class TsScopeStatic extends TsPredicatesOptional {
|
|
|
114
114
|
* constant) expression — no variables, function calls, or runtime evaluation. */
|
|
115
115
|
protected isStaticValueNode(node: TreeSitterNode | null): boolean;
|
|
116
116
|
/** Walk the parent chain to find the enclosing function scope node. */
|
|
117
|
+
/** Tree-sitter node types that open a scope boundary for local-constant
|
|
118
|
+
* resolution. */
|
|
119
|
+
private static readonly SCOPE_TYPES;
|
|
117
120
|
protected findEnclosingScope(node: ASTNode, ast: AST): ASTNode | null;
|
|
118
121
|
/** Walk the parent chain from a variable_declarator to find an enclosing
|
|
119
122
|
* for_of_statement or for_in_statement, if any. Returns the for-statement
|
|
@@ -252,7 +255,7 @@ declare class TsSafetyAnalysis extends TsConstantResolution {
|
|
|
252
255
|
* defended but NOT provably safe: single-quote doubling handles only the
|
|
253
256
|
* single-quote vector, not backslash escapes, unicode quote variants, or
|
|
254
257
|
* numeric/identifier positions. The caller downgrades these from `critical`
|
|
255
|
-
* to `
|
|
258
|
+
* to `high` rather than certifying them safe.
|
|
256
259
|
*/
|
|
257
260
|
isEscapedInterpolation(node: ASTNode, ast: AST, sourceCode: string): boolean;
|
|
258
261
|
/** Recursive safety check against the traversal context in `ctx`. */
|
|
@@ -276,6 +279,20 @@ declare class TsSafetyAnalysis extends TsConstantResolution {
|
|
|
276
279
|
/** True when the node is `.join(...)` over `.map(...)` of a static array whose
|
|
277
280
|
* callback body is safe for every element. */
|
|
278
281
|
protected isSafeMapJoin(node: ASTNode, ctx: SafetyContext): boolean;
|
|
282
|
+
/** True when the node is a `.join(...)` whose receiver is a provably-safe array
|
|
283
|
+
* and whose separator is safe — e.g. `where.join(' AND ')` where `where` is a
|
|
284
|
+
* literal `['col = ?']` clause array. The values are bound out-of-band, so the
|
|
285
|
+
* joined text is only `col = ?` fragments, never raw data.
|
|
286
|
+
*
|
|
287
|
+
* Boundary (same as `isSafeMapJoin`): the receiver's *initializer* is checked,
|
|
288
|
+
* not its later `.push()` mutations — intra-function, no taint tracking. An
|
|
289
|
+
* array declared safe and later `.push(userInput)`-ed is not caught here; that
|
|
290
|
+
* is the documented "partial coverage" of the taint-aware detector. */
|
|
291
|
+
protected isSafeJoin(node: ASTNode, ctx: SafetyContext): boolean;
|
|
292
|
+
/** True when every `.push()`/`.unshift()` on `name` within the enclosing scope
|
|
293
|
+
* of `callNode` passes a provably-safe argument. True when there are no such
|
|
294
|
+
* mutations (the declaration value alone is then the whole array). */
|
|
295
|
+
protected isArrayMutatedSafely(name: string, callNode: ASTNode, ctx: SafetyContext): boolean;
|
|
279
296
|
/** True when the node is a call to a local (in-file) function whose body is
|
|
280
297
|
* safe under the values passed at this call site. */
|
|
281
298
|
protected isLocalFunctionCallSafe(node: ASTNode, ctx: SafetyContext): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeSitterTypeScriptAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/typescript/TreeSitterTypeScriptAdapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TreeSitterTypeScriptAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/typescript/TreeSitterTypeScriptAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -962,20 +962,47 @@ class TsScopeStatic extends TsPredicatesOptional {
|
|
|
962
962
|
return false;
|
|
963
963
|
}
|
|
964
964
|
/** Walk the parent chain to find the enclosing function scope node. */
|
|
965
|
+
/** Tree-sitter node types that open a scope boundary for local-constant
|
|
966
|
+
* resolution. */
|
|
967
|
+
static SCOPE_TYPES = new Set([
|
|
968
|
+
'function_declaration',
|
|
969
|
+
'arrow_function',
|
|
970
|
+
'function_expression',
|
|
971
|
+
'generator_function_declaration',
|
|
972
|
+
'method_definition',
|
|
973
|
+
'program',
|
|
974
|
+
]);
|
|
965
975
|
findEnclosingScope(node, ast) {
|
|
966
976
|
let current = node;
|
|
967
977
|
while (current) {
|
|
968
|
-
|
|
969
|
-
if (type === 'function_declaration' ||
|
|
970
|
-
type === 'arrow_function' ||
|
|
971
|
-
type === 'function_expression' ||
|
|
972
|
-
type === 'generator_function_declaration' ||
|
|
973
|
-
type === 'method_definition' ||
|
|
974
|
-
type === 'program') {
|
|
978
|
+
if (TsScopeStatic.SCOPE_TYPES.has((getRawNode(current)).type))
|
|
975
979
|
return current;
|
|
976
|
-
}
|
|
977
980
|
current = current.parent ?? null;
|
|
978
981
|
}
|
|
982
|
+
// Detached node (`wrapRaw` sets parent undefined): the ASTNode parent chain
|
|
983
|
+
// is empty, so walk the raw tree-sitter parent chain to the nearest scope
|
|
984
|
+
// and resolve it back to the *parsed* AST by node id. Without this, a
|
|
985
|
+
// function-local identifier resolves against the whole file and picks a
|
|
986
|
+
// same-named declaration from a different function — e.g. the reassigned
|
|
987
|
+
// `let where` in `listLedgerRuns` shadowing `queryLedgerFindings`' safe
|
|
988
|
+
// `const where`. Correct scope is what makes placeholder/clause-template
|
|
989
|
+
// arrays resolve as the local literal they are.
|
|
990
|
+
let raw = getRawNode(node).parent;
|
|
991
|
+
while (raw) {
|
|
992
|
+
if (TsScopeStatic.SCOPE_TYPES.has(raw.type)) {
|
|
993
|
+
const scopeId = raw.id;
|
|
994
|
+
let found = null;
|
|
995
|
+
this.walk(ast.root, (candidate) => {
|
|
996
|
+
if (found)
|
|
997
|
+
return;
|
|
998
|
+
if (getRawNode(candidate).id === scopeId)
|
|
999
|
+
found = candidate;
|
|
1000
|
+
});
|
|
1001
|
+
if (found)
|
|
1002
|
+
return found;
|
|
1003
|
+
}
|
|
1004
|
+
raw = raw.parent;
|
|
1005
|
+
}
|
|
979
1006
|
return ast.root; // fallback to file-level
|
|
980
1007
|
}
|
|
981
1008
|
/** Walk the parent chain from a variable_declarator to find an enclosing
|
|
@@ -1536,7 +1563,7 @@ class TsSafetyAnalysis extends TsConstantResolution {
|
|
|
1536
1563
|
* defended but NOT provably safe: single-quote doubling handles only the
|
|
1537
1564
|
* single-quote vector, not backslash escapes, unicode quote variants, or
|
|
1538
1565
|
* numeric/identifier positions. The caller downgrades these from `critical`
|
|
1539
|
-
* to `
|
|
1566
|
+
* to `high` rather than certifying them safe.
|
|
1540
1567
|
*/
|
|
1541
1568
|
isEscapedInterpolation(node, ast, sourceCode) {
|
|
1542
1569
|
// Source slice, not `raw.text` — web-tree-sitter's Node.text is unreliable
|
|
@@ -1707,7 +1734,12 @@ class TsSafetyAnalysis extends TsConstantResolution {
|
|
|
1707
1734
|
// 1. Static-array `.map().join()` chain (e.g. `FLAGS.map((c) => \`a.${c}\`).join(", ")`).
|
|
1708
1735
|
if (this.isSafeMapJoin(node, ctx))
|
|
1709
1736
|
return true;
|
|
1710
|
-
// 2.
|
|
1737
|
+
// 2. `.join(sep)` on a provably-safe array — e.g. `where.join(' AND ')`
|
|
1738
|
+
// where `where` is a literal `['col = ?']` clause array. The joined
|
|
1739
|
+
// fragments and separator are safe, so the result is safe.
|
|
1740
|
+
if (this.isSafeJoin(node, ctx))
|
|
1741
|
+
return true;
|
|
1742
|
+
// 3. Local function call with a safe body and safe call sites.
|
|
1711
1743
|
if (this.isLocalFunctionCallSafe(node, ctx))
|
|
1712
1744
|
return true;
|
|
1713
1745
|
return false;
|
|
@@ -1733,21 +1765,97 @@ class TsSafetyAnalysis extends TsConstantResolution {
|
|
|
1733
1765
|
const mapObj = mapFn.childForFieldName?.('object');
|
|
1734
1766
|
if (!mapProp || !mapObj || mapProp.text !== 'map')
|
|
1735
1767
|
return false;
|
|
1736
|
-
// The array being mapped must itself be provably safe (static array/const).
|
|
1737
|
-
if (!this.isSafeExpression(this.wrapRaw(mapObj), ctx))
|
|
1738
|
-
return false;
|
|
1739
|
-
// The callback must be safe for any element — bind its first parameter to a
|
|
1740
|
-
// compile-time string sentinel and check the callback body.
|
|
1741
1768
|
const callback = mapArgs?.namedChildren[0] ?? null;
|
|
1742
1769
|
if (!callback || !['arrow_function', 'function_expression', 'function'].includes(callback.type))
|
|
1743
1770
|
return false;
|
|
1744
1771
|
const cbParams = this.getParamNames(this.wrapRaw(callback));
|
|
1745
|
-
|
|
1772
|
+
// A zero-parameter callback ignores every element, so the map output is a
|
|
1773
|
+
// constant list — safe regardless of the source array's contents. This is
|
|
1774
|
+
// the placeholder pattern `filePaths.map(() => '?').join(', ')`: the values
|
|
1775
|
+
// are bound out-of-band, so the interpolated text is only `?` placeholders.
|
|
1776
|
+
if (cbParams.length === 0) {
|
|
1777
|
+
return this.isBodySafeUnderParams(this.wrapRaw(callback), { ...ctx, paramMap: new Map() });
|
|
1778
|
+
}
|
|
1779
|
+
// The array being mapped must itself be provably safe (static array/const).
|
|
1780
|
+
if (!this.isSafeExpression(this.wrapRaw(mapObj), ctx))
|
|
1746
1781
|
return false;
|
|
1782
|
+
// The callback must be safe for any element — bind its first parameter to a
|
|
1783
|
+
// compile-time string sentinel and check the callback body.
|
|
1747
1784
|
const bound = new Map(ctx.paramMap);
|
|
1748
1785
|
bound.set(cbParams[0], SAFE_STRING_NODE);
|
|
1749
1786
|
return this.isBodySafeUnderParams(this.wrapRaw(callback), { ...ctx, paramMap: bound });
|
|
1750
1787
|
}
|
|
1788
|
+
/** True when the node is a `.join(...)` whose receiver is a provably-safe array
|
|
1789
|
+
* and whose separator is safe — e.g. `where.join(' AND ')` where `where` is a
|
|
1790
|
+
* literal `['col = ?']` clause array. The values are bound out-of-band, so the
|
|
1791
|
+
* joined text is only `col = ?` fragments, never raw data.
|
|
1792
|
+
*
|
|
1793
|
+
* Boundary (same as `isSafeMapJoin`): the receiver's *initializer* is checked,
|
|
1794
|
+
* not its later `.push()` mutations — intra-function, no taint tracking. An
|
|
1795
|
+
* array declared safe and later `.push(userInput)`-ed is not caught here; that
|
|
1796
|
+
* is the documented "partial coverage" of the taint-aware detector. */
|
|
1797
|
+
isSafeJoin(node, ctx) {
|
|
1798
|
+
const raw = getRawNode(node);
|
|
1799
|
+
const fnNode = raw.childForFieldName?.('function');
|
|
1800
|
+
if (!fnNode || fnNode.type !== 'member_expression')
|
|
1801
|
+
return false;
|
|
1802
|
+
const joinProp = fnNode.childForFieldName?.('property');
|
|
1803
|
+
const joinObj = fnNode.childForFieldName?.('object');
|
|
1804
|
+
if (!joinProp || !joinObj || joinProp.text !== 'join')
|
|
1805
|
+
return false;
|
|
1806
|
+
// The array being joined must be provably safe: a literal array, an
|
|
1807
|
+
// identifier whose declaration is a safe array, or a safe `.map()` chain.
|
|
1808
|
+
if (!this.isSafeExpression(this.wrapRaw(joinObj), ctx))
|
|
1809
|
+
return false;
|
|
1810
|
+
// An identifier receiver is usually built up with `.push(...)` after its
|
|
1811
|
+
// declaration (the clause-template idiom). Every pushed element must also
|
|
1812
|
+
// be safe, otherwise a `['safe'].push(userInput).join()` would read as
|
|
1813
|
+
// cleared. (Index assignment `arr[i] = x` is not tracked — the same
|
|
1814
|
+
// boundary as `hasReassignment`, documented partial coverage.)
|
|
1815
|
+
if (joinObj.type === 'identifier'
|
|
1816
|
+
&& !this.isArrayMutatedSafely(joinObj.text, node, ctx)) {
|
|
1817
|
+
return false;
|
|
1818
|
+
}
|
|
1819
|
+
// The separator (first argument) must be safe too.
|
|
1820
|
+
const args = raw.childForFieldName?.('arguments');
|
|
1821
|
+
const sep = args?.namedChildren?.[0] ?? null;
|
|
1822
|
+
if (sep && !this.isSafeExpression(this.wrapRaw(sep), ctx))
|
|
1823
|
+
return false;
|
|
1824
|
+
return true;
|
|
1825
|
+
}
|
|
1826
|
+
/** True when every `.push()`/`.unshift()` on `name` within the enclosing scope
|
|
1827
|
+
* of `callNode` passes a provably-safe argument. True when there are no such
|
|
1828
|
+
* mutations (the declaration value alone is then the whole array). */
|
|
1829
|
+
isArrayMutatedSafely(name, callNode, ctx) {
|
|
1830
|
+
const enclosing = this.findEnclosingScope(callNode, ctx.ast);
|
|
1831
|
+
const scopeRoot = enclosing ?? ctx.ast.root;
|
|
1832
|
+
let safe = true;
|
|
1833
|
+
this.walk(scopeRoot, (n) => {
|
|
1834
|
+
if (!safe)
|
|
1835
|
+
return;
|
|
1836
|
+
const raw = getRawNode(n);
|
|
1837
|
+
if (raw.type !== 'call_expression')
|
|
1838
|
+
return;
|
|
1839
|
+
const fn = raw.childForFieldName?.('function');
|
|
1840
|
+
if (!fn || fn.type !== 'member_expression')
|
|
1841
|
+
return;
|
|
1842
|
+
const prop = fn.childForFieldName?.('property');
|
|
1843
|
+
const obj = fn.childForFieldName?.('object');
|
|
1844
|
+
if (!prop || !obj)
|
|
1845
|
+
return;
|
|
1846
|
+
if ((prop.text !== 'push' && prop.text !== 'unshift')
|
|
1847
|
+
|| obj.type !== 'identifier' || obj.text !== name)
|
|
1848
|
+
return;
|
|
1849
|
+
const args = raw.childForFieldName?.('arguments');
|
|
1850
|
+
for (const a of (args?.namedChildren ?? [])) {
|
|
1851
|
+
if (!this.isSafeExpression(this.wrapRaw(a), ctx)) {
|
|
1852
|
+
safe = false;
|
|
1853
|
+
return;
|
|
1854
|
+
}
|
|
1855
|
+
}
|
|
1856
|
+
});
|
|
1857
|
+
return safe;
|
|
1858
|
+
}
|
|
1751
1859
|
/** True when the node is a call to a local (in-file) function whose body is
|
|
1752
1860
|
* safe under the values passed at this call site. */
|
|
1753
1861
|
isLocalFunctionCallSafe(node, ctx) {
|