code-auditor-mcp 3.4.9 → 3.4.11
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 +10 -3
- package/CHANGELOG.md +81 -0
- package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.js +2 -1
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +0 -2
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +74 -99
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts +1 -5
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +13 -69
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.d.ts +1 -6
- package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.js +16 -41
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +20 -3
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +4 -165
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +43 -69
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +62 -0
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +357 -3
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +81 -69
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +319 -325
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +32 -37
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/auditRunner.d.ts +2 -7
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +306 -434
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +27 -5
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +22 -0
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +92 -44
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/defaults.js +3 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/conventions/conventionMiner.d.ts +5 -4
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +65 -25
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/dataPaths.js +1 -1
- package/dist/dataPaths.js.map +1 -1
- package/dist/invariants/index.d.ts +1 -1
- package/dist/invariants/index.d.ts.map +1 -1
- package/dist/invariants/index.js +1 -1
- package/dist/invariants/index.js.map +1 -1
- package/dist/invariants/ruleEngine.d.ts +38 -3
- package/dist/invariants/ruleEngine.d.ts.map +1 -1
- package/dist/invariants/ruleEngine.js +42 -174
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.d.ts +2 -2
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +3 -1
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +3 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +60 -16
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +10 -6
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp.js +0 -0
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +4 -1
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/pipeline.d.ts +74 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +620 -0
- package/dist/pipeline.js.bak +465 -0
- package/dist/pipeline.js.bak2 +465 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/pipelineAdapters.d.ts +116 -0
- package/dist/pipelineAdapters.d.ts.map +1 -0
- package/dist/pipelineAdapters.js +1146 -0
- package/dist/pipelineAdapters.js.map +1 -0
- package/dist/pipelineTypes.d.ts +44 -0
- package/dist/pipelineTypes.d.ts.map +1 -0
- package/dist/pipelineTypes.js +118 -0
- package/dist/pipelineTypes.js.map +1 -0
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +2 -1
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +4 -2
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +2 -1
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/styles/cssAstExtractor.d.ts +46 -0
- package/dist/styles/cssAstExtractor.d.ts.map +1 -0
- package/dist/styles/cssAstExtractor.js +439 -0
- package/dist/styles/cssAstExtractor.js.map +1 -0
- package/dist/styles/styleExtractor.d.ts +2 -2
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +69 -16
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +4 -0
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +2 -0
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +5 -5
- package/dist/styles/tailwindProbe.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +3 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +7 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/types.d.ts +216 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +4 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +7 -1
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +32 -0
- package/dist/utils/reactDetection.js.map +1 -1
- package/package.json +2 -4
- package/plugin/.claude-plugin/plugin.json +1 -1
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js';
|
|
12
12
|
import type { Violation } from '../../types.js';
|
|
13
|
-
import type { AST, LanguageAdapter } from '../../languages/types.js';
|
|
13
|
+
import type { AST, LanguageAdapter, ASTNode } from '../../languages/types.js';
|
|
14
|
+
import { type ProvenanceContext } from '../provenance.js';
|
|
14
15
|
/**
|
|
15
16
|
* Configuration for Schema analyzer
|
|
16
17
|
*/
|
|
@@ -50,88 +51,78 @@ export interface SchemaAnalyzerConfig {
|
|
|
50
51
|
fileGateGlobs?: string[];
|
|
51
52
|
schemaFiles?: string[];
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Single-source constants for SQL context detection.
|
|
56
|
+
*
|
|
57
|
+
* These are the ground-truth defaults. DEFAULT_SCHEMA_CONFIG references them,
|
|
58
|
+
* and every inline fallback dereferences them directly — so ?? narrowing works
|
|
59
|
+
* (TypeScript infers `string[]`, not `string[] | undefined` from the optional
|
|
60
|
+
* SchemaAnalyzerConfig fields).
|
|
61
|
+
*
|
|
62
|
+
* Trimmed to D1/Workers DB patterns only (4 receivers, 6 methods).
|
|
63
|
+
* Broader entries like 'connection'/'client'/'query'/'get'/'each' matched
|
|
64
|
+
* non-DB code (WebSocket, Map, jQuery, vector stores), causing phantom
|
|
65
|
+
* cross-domain lifecycle violations. See CHANGELOG 3.4.9 accuracy fix.
|
|
66
|
+
*/
|
|
67
|
+
export declare const DB_RECEIVER_NAMES: readonly ['db', 'database', 'sql', 'stmt'];
|
|
68
|
+
export declare const DB_CALL_METHOD_NAMES: readonly ['exec', 'prepare', 'batch', 'run', 'all', 'first'];
|
|
69
|
+
export declare const DB_BINDING_NAMES: readonly ['env.DB'];
|
|
70
|
+
export declare const SQL_TAG_NAMES: readonly ['sql', 'db'];
|
|
53
71
|
export declare const DEFAULT_SCHEMA_CONFIG: SchemaAnalyzerConfig;
|
|
54
|
-
|
|
72
|
+
export interface TableReference {
|
|
73
|
+
table: string;
|
|
74
|
+
type: 'select' | 'insert' | 'update' | 'delete' | 'create' | 'reference';
|
|
75
|
+
location: {
|
|
76
|
+
line: number;
|
|
77
|
+
column: number;
|
|
78
|
+
};
|
|
79
|
+
context: string;
|
|
80
|
+
}
|
|
81
|
+
import type { AnalyzerResult, SchemaUsage } from '../../types.js';
|
|
55
82
|
export declare class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
56
83
|
readonly name = "schema";
|
|
57
84
|
readonly description = "Analyzes code against database schemas and validates JSON schemas";
|
|
58
85
|
readonly category = "database";
|
|
59
86
|
private tableReferences;
|
|
60
|
-
private
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Spec 22 Item 2 — Auto-discover known tables from migration/SQL files.
|
|
64
|
-
*
|
|
65
|
-
* When config.schemas is empty, scans files matching fileGateGlobs for
|
|
66
|
-
* CREATE TABLE statements and returns the set of discovered table names.
|
|
67
|
-
* These are injected as a synthetic schema so the unknown-table detector
|
|
68
|
-
* has a reference set to check against.
|
|
69
|
-
*
|
|
70
|
-
* Only extracts `create`-type references (CREATE TABLE ...), since those
|
|
71
|
-
* define tables — SELECT/INSERT/UPDATE references to an unknown table are
|
|
72
|
-
* the violations we're trying to avoid flagging.
|
|
73
|
-
*/
|
|
74
|
-
private discoverTablesFromMigrations;
|
|
75
|
-
/**
|
|
76
|
-
* Walk project root recursively, returning files matching any of the given
|
|
77
|
-
* picomatch globs. Skips node_modules and dot-directories.
|
|
78
|
-
*/
|
|
79
|
-
private walkFiles;
|
|
87
|
+
private _pendingSchemaRecords;
|
|
88
|
+
private projectRoot?;
|
|
80
89
|
/**
|
|
81
90
|
* Strip SQL identifier delimiters: backticks or double-quotes.
|
|
82
91
|
*/
|
|
83
|
-
|
|
92
|
+
stripIdentifier(name: string): string;
|
|
84
93
|
/**
|
|
85
94
|
* Parse a migration SQL source and apply stateful CREATE/DROP/RENAME
|
|
86
95
|
* operations to the given table set in migration order.
|
|
87
96
|
*/
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Spec 24 Item 4 — Auto-discover known tables from ORM schema definitions.
|
|
91
|
-
*
|
|
92
|
-
* Uses import provenance to identify schema files (files importing Drizzle
|
|
93
|
-
* table constructors from drizzle-orm) and Prisma's canonical schema.prisma
|
|
94
|
-
* filename. Extracts table/model names and feeds them into allTables so the
|
|
95
|
-
* unknown-table detector works without explicit user config.
|
|
96
|
-
*
|
|
97
|
-
* Drizzle: scans .ts/.tsx/.js/.jsx files that import from drizzle-orm for
|
|
98
|
-
* pgTable/mysqlTable/sqliteTable('tableName', ...) calls.
|
|
99
|
-
* Prisma: scans schema.prisma files for model Name { ... } blocks.
|
|
100
|
-
*/
|
|
101
|
-
private discoverTablesFromOrmSchemas;
|
|
97
|
+
processMigrationSource(source: string, tables: Set<string>): void;
|
|
102
98
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* migration directory reading .sql files in alphanumeric order (migration
|
|
108
|
-
* order). Processes statefully in migration order: CREATE adds, DROP removes,
|
|
109
|
-
* RENAME moves inline (delete old + add new) so recreated tables survive.
|
|
110
|
-
*
|
|
111
|
-
* Returns only the current table set — not historical/transient names.
|
|
99
|
+
* Standalone analyze() override for backward compatibility with direct analyzer
|
|
100
|
+
* calls (e.g., tests and non-pipeline audit paths). All production analysis now
|
|
101
|
+
* flows through the pipeline visitors, but this method is preserved so tests
|
|
102
|
+
* that call analyzer.analyze([file], config) continue to work.
|
|
112
103
|
*/
|
|
113
|
-
|
|
104
|
+
analyze(files: string[], config: any): Promise<AnalyzerResult>;
|
|
105
|
+
protected analyzeAST(ast: AST, adapter: LanguageAdapter, config: SchemaAnalyzerConfig, sourceCode: string): Promise<Violation[]>;
|
|
114
106
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* Reads each file path (resolved against projectRoot) and extracts
|
|
118
|
-
* CREATE TABLE [IF NOT EXISTS] name statements. Supports the common
|
|
119
|
-
* D1 pattern where users snapshot their full schema to a single .sql file
|
|
120
|
-
* (e.g., snapshots/schema.sql).
|
|
107
|
+
* Walk project root recursively, returning files matching any of the given
|
|
108
|
+
* picomatch globs. Skips node_modules and dot-directories.
|
|
121
109
|
*/
|
|
122
|
-
private
|
|
123
|
-
|
|
110
|
+
private _walkFiles;
|
|
111
|
+
private _discoverTablesFromMigrations;
|
|
112
|
+
private _discoverTablesFromWrangler;
|
|
113
|
+
private _discoverTablesFromSchemaFiles;
|
|
114
|
+
private _discoverTablesFromOrmSchemas;
|
|
124
115
|
/**
|
|
125
116
|
* Pre-filter: only analyze files that show DB usage.
|
|
126
117
|
* Checks: .sql/migration glob, D1/SQL imports, env-binding patterns, DB calls.
|
|
127
118
|
*/
|
|
128
|
-
|
|
119
|
+
passesFileGate(filePath: string, sourceCode: string, config: SchemaAnalyzerConfig, provenanceContext?: ProvenanceContext): boolean;
|
|
129
120
|
/**
|
|
130
121
|
* Extract table references exclusively from SQL contexts in the AST.
|
|
131
122
|
* R2.1: Only tagged template SQL and DB-call patterns produce candidates.
|
|
132
123
|
* R2.3: Template expressions (${var}) resolved to wildcards.
|
|
133
124
|
*/
|
|
134
|
-
|
|
125
|
+
findTableReferences(ast: AST, adapter: LanguageAdapter, sourceCode: string, config: SchemaAnalyzerConfig, provenanceContext?: ProvenanceContext, allTables?: Set<string>): TableReference[];
|
|
135
126
|
/**
|
|
136
127
|
* Spec 15 R1 — Record extracted table references to schema_usage for
|
|
137
128
|
* cross-domain lifecycle analysis (written-never-read, read-never-written,
|
|
@@ -141,12 +132,20 @@ export declare class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
141
132
|
* are inserted. For .sql/migration files, uses "schema-file" as the
|
|
142
133
|
* function name since there's no AST function context.
|
|
143
134
|
*/
|
|
144
|
-
|
|
135
|
+
recordTableUsage(ast: AST, adapter: LanguageAdapter, filePath: string, references: TableReference[]): void;
|
|
136
|
+
/** Spec 25 B4 — Drain pending schema records for the pipeline to write. */
|
|
137
|
+
getPendingSchemaRecords(): {
|
|
138
|
+
clearFiles: string[];
|
|
139
|
+
usages: SchemaUsage[];
|
|
140
|
+
};
|
|
145
141
|
/**
|
|
146
142
|
* Parse SQL table names from a SQL text string.
|
|
147
143
|
* R2.3: Template expressions (${...}) resolve portions to wildcards.
|
|
148
144
|
*/
|
|
149
|
-
|
|
145
|
+
parseSqlTables(sqlText: string, baseLocation: {
|
|
146
|
+
line: number;
|
|
147
|
+
column: number;
|
|
148
|
+
}, sourceCode: string, allTables?: Set<string>): TableReference[];
|
|
150
149
|
/**
|
|
151
150
|
* Spec 22 R4.3: Extract alias identifiers from SQL text.
|
|
152
151
|
*
|
|
@@ -173,11 +172,11 @@ export declare class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
173
172
|
/**
|
|
174
173
|
* Return known table names within edit distance ≤ maxDist.
|
|
175
174
|
*/
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
175
|
+
getNearestTableSuggestions(name: string, knownTables: Set<string>, maxDist: number): string[];
|
|
176
|
+
levenshteinDistance(a: string, b: string): number;
|
|
177
|
+
checkNamingConventions(references: TableReference[], filePath: string): Violation[];
|
|
178
|
+
checkQueryPatterns(ast: AST, adapter: LanguageAdapter, sourceCode: string, config: SchemaAnalyzerConfig): Violation[];
|
|
179
|
+
checkSQLInjection(ast: AST, adapter: LanguageAdapter, sourceCode: string): Violation[];
|
|
181
180
|
/**
|
|
182
181
|
* Extract the callee text from a call_expression node.
|
|
183
182
|
*/
|
|
@@ -218,25 +217,38 @@ export declare class UniversalSchemaAnalyzer extends UniversalAnalyzer {
|
|
|
218
217
|
* Find the nearest AST node at a source location — walks the tree looking
|
|
219
218
|
* for the deepest node that contains the given line/column.
|
|
220
219
|
*/
|
|
221
|
-
|
|
220
|
+
findClosestNodeAt(root: ASTNode, location: {
|
|
221
|
+
line: number;
|
|
222
|
+
column: number;
|
|
223
|
+
}, adapter: LanguageAdapter): ASTNode | null;
|
|
222
224
|
/**
|
|
223
225
|
* Walk up the AST from a node to find the enclosing function or method name.
|
|
224
226
|
* Matches the same scheme as UniversalDataAccessAnalyzer.findEnclosingFunctionName.
|
|
225
227
|
*/
|
|
226
|
-
|
|
228
|
+
findEnclosingFunctionName(node: ASTNode, adapter: LanguageAdapter): string;
|
|
227
229
|
/**
|
|
228
230
|
* Extract a human-readable name from an AST node.
|
|
229
231
|
* Matches the same scheme as UniversalDataAccessAnalyzer.getNodeName.
|
|
230
232
|
*/
|
|
231
233
|
private getNodeName;
|
|
232
|
-
|
|
234
|
+
/**
|
|
235
|
+
* Analyze JSON schemas and validate data files against them.
|
|
236
|
+
*
|
|
237
|
+
* Pipeline-refactored: accepts a Map of pre-loaded JSON contents instead of
|
|
238
|
+
* reading from the filesystem, so this can run inside a Stage 3 reducer.
|
|
239
|
+
*
|
|
240
|
+
* @param jsonContents Map from filePath → { parsed: pre-parsed object or null, raw: string }
|
|
241
|
+
* @param config Schema analyzer configuration
|
|
242
|
+
*/
|
|
243
|
+
analyzeJsonSchemas(jsonContents: Map<string, {
|
|
244
|
+
parsed: object | null;
|
|
245
|
+
raw: string;
|
|
246
|
+
}>, config: SchemaAnalyzerConfig): AnalyzerResult;
|
|
233
247
|
private validateJsonSchema;
|
|
234
248
|
private validateSchemaTypes;
|
|
235
249
|
private identifySchemaFiles;
|
|
236
250
|
private identifyDataFiles;
|
|
237
|
-
private loadSchema;
|
|
238
251
|
private findMatchingSchema;
|
|
239
|
-
private validateDataAgainstSchema;
|
|
240
252
|
private validateAgainstSchema;
|
|
241
253
|
}
|
|
242
254
|
//# sourceMappingURL=UniversalSchemaAnalyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalSchemaAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"UniversalSchemaAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalSchemaAnalyzer.ts"],"names":[],"mappings":"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"}
|