@oculum/scanner 1.0.0 → 1.0.2

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/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export interface ScanOptions {
14
14
  scanMode?: ScanMode | ScanModeConfig;
15
15
  /** Scan depth (cheap/validated/deep) - controls AI usage */
16
16
  scanDepth?: ScanDepth;
17
+ /** Suppress console.log output (for interactive CLI mode) */
18
+ quiet?: boolean;
17
19
  }
18
20
  export interface ScanProgress {
19
21
  status: 'fetching' | 'layer1' | 'layer2' | 'layer3' | 'validating' | 'complete' | 'failed';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EAEd,QAAQ,EACR,cAAc,EACd,SAAS,EACV,MAAM,SAAS,CAAA;AAkHhB,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAA;IACpC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAA;IAC1F,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;AA8C/D;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvD,OAAO,GAAE,WAAgB,EACzB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,UAAU,CAAC,CAkOrB;AA+WD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG;IACpF,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAMA;AAGD,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC1F,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EAEd,QAAQ,EACR,cAAc,EACd,SAAS,EACV,MAAM,SAAS,CAAA;AAkHhB,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAA;IACpC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAA;IAC1F,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;AA8C/D;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvD,OAAO,GAAE,WAAgB,EACzB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,UAAU,CAAC,CA0OrB;AA6WD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,eAAe,EAAE,aAAa,EAAE,GAAG;IACpF,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAMA;AAGD,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC1F,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
package/dist/index.js CHANGED
@@ -137,9 +137,16 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
137
137
  const scanModeConfig = resolveScanModeConfig(options);
138
138
  const isIncremental = scanModeConfig.mode === 'incremental';
139
139
  const depth = scanModeConfig.scanDepth || 'cheap';
140
- console.log(`[Scanner] repo=${repoInfo.name} mode=${scanModeConfig.mode} depth=${depth} files=${files.length}`);
140
+ const quiet = options.quiet ?? false;
141
+ // Conditional logging helper - suppresses output in quiet mode (interactive CLI)
142
+ const log = (message) => {
143
+ if (!quiet) {
144
+ console.log(message);
145
+ }
146
+ };
147
+ log(`[Scanner] repo=${repoInfo.name} mode=${scanModeConfig.mode} depth=${depth} files=${files.length}`);
141
148
  if (isIncremental && scanModeConfig.changedFiles) {
142
- console.log(`[Scanner] repo=${repoInfo.name} incremental_files=${scanModeConfig.changedFiles.length}`);
149
+ log(`[Scanner] repo=${repoInfo.name} incremental_files=${scanModeConfig.changedFiles.length}`);
143
150
  }
144
151
  // Report progress helper
145
152
  const reportProgress = (status, message, vulnerabilitiesFound = allVulnerabilities.length) => {
@@ -162,33 +169,33 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
162
169
  // Detect global auth middleware before scanning (always on all files for context)
163
170
  const middlewareConfig = (0, middleware_detector_1.detectGlobalAuthMiddleware)(files);
164
171
  if (middlewareConfig.hasAuthMiddleware) {
165
- console.log(`[Scanner] repo=${repoInfo.name} auth_middleware=${middlewareConfig.authType || 'unknown'} file=${middlewareConfig.middlewareFile}`);
172
+ log(`[Scanner] repo=${repoInfo.name} auth_middleware=${middlewareConfig.authType || 'unknown'} file=${middlewareConfig.middlewareFile}`);
166
173
  }
167
174
  // Build imported auth registry for cross-file middleware detection
168
175
  const fileAuthImports = (0, imported_auth_detector_1.buildFileAuthImports)(files);
169
176
  const filesWithImportedAuth = Array.from(fileAuthImports.values()).filter(f => f.usesImportedAuth).length;
170
177
  if (filesWithImportedAuth > 0) {
171
- console.log(`[Scanner] repo=${repoInfo.name} files_with_imported_auth=${filesWithImportedAuth}`);
178
+ log(`[Scanner] repo=${repoInfo.name} files_with_imported_auth=${filesWithImportedAuth}`);
172
179
  }
173
180
  // Layer 1: Surface Scan
174
181
  reportProgress('layer1', 'Running surface scan (patterns, entropy, config)...');
175
- let layer1Result = await (0, layer1_1.runLayer1Scan)(files);
182
+ let layer1Result = await (0, layer1_1.runLayer1Scan)(files, onProgress);
176
183
  // Aggregate repeated localhost findings
177
184
  const layer1RawCount = layer1Result.vulnerabilities.length;
178
185
  layer1Result = {
179
186
  ...layer1Result,
180
187
  vulnerabilities: (0, urls_1.aggregateLocalhostFindings)(layer1Result.vulnerabilities)
181
188
  };
182
- console.log(`[Layer1] repo=${repoInfo.name} findings_raw=${layer1RawCount} findings_deduped=${layer1Result.vulnerabilities.length}`);
189
+ log(`[Layer1] repo=${repoInfo.name} findings_raw=${layer1RawCount} findings_deduped=${layer1Result.vulnerabilities.length}`);
183
190
  // Layer 2: Structural Scan
184
191
  reportProgress('layer2', 'Running structural scan (variables, logic gates)...', layer1Result.vulnerabilities.length);
185
- const layer2Result = await (0, layer2_1.runLayer2Scan)(files, { middlewareConfig, fileAuthImports });
192
+ const layer2Result = await (0, layer2_1.runLayer2Scan)(files, { middlewareConfig, fileAuthImports }, onProgress);
186
193
  // Format heuristic breakdown for logging
187
194
  const heuristicBreakdown = Object.entries(layer2Result.stats.raw)
188
195
  .filter(([, count]) => count > 0)
189
196
  .map(([name, count]) => `${name}:${count}`)
190
197
  .join(',');
191
- console.log(`[Layer2] repo=${repoInfo.name} findings_raw=${Object.values(layer2Result.stats.raw).reduce((a, b) => a + b, 0)} findings_deduped=${layer2Result.vulnerabilities.length} heuristic_breakdown={${heuristicBreakdown}}`);
198
+ log(`[Layer2] repo=${repoInfo.name} findings_raw=${Object.values(layer2Result.stats.raw).reduce((a, b) => a + b, 0)} findings_deduped=${layer2Result.vulnerabilities.length} heuristic_breakdown={${heuristicBreakdown}}`);
192
199
  // Combine Layer 1 and Layer 2 findings
193
200
  const layer12Findings = [...layer1Result.vulnerabilities, ...layer2Result.vulnerabilities];
194
201
  // Aggregate noisy findings BEFORE tier filtering to reduce noise
@@ -199,8 +206,8 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
199
206
  // This is the key integration point for the detector tier system
200
207
  const tierFiltered = filterByTierAndDepth(aggregatedFindings, depth);
201
208
  // Log tier breakdown
202
- console.log(`[Scanner] repo=${repoInfo.name} tier_breakdown=${(0, tiers_1.formatTierStats)(tierFiltered.tierStats)}`);
203
- console.log(`[Scanner] repo=${repoInfo.name} depth=${depth} tier_routing: surface=${tierFiltered.toSurface.length} validate=${tierFiltered.toValidate.length} hidden=${tierFiltered.hidden.length}`);
209
+ log(`[Scanner] repo=${repoInfo.name} tier_breakdown=${(0, tiers_1.formatTierStats)(tierFiltered.tierStats)}`);
210
+ log(`[Scanner] repo=${repoInfo.name} depth=${depth} tier_routing: surface=${tierFiltered.toSurface.length} validate=${tierFiltered.toValidate.length} hidden=${tierFiltered.hidden.length}`);
204
211
  // For cheap scans: Tier A surfaces directly, Tier B/C are hidden
205
212
  // For validated/deep: Tier A surfaces, Tier B goes through AI validation, Tier C hidden
206
213
  // Some Tier A findings still need AI validation (entropy, secrets, AI-specific)
@@ -221,7 +228,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
221
228
  autoDismissBySeverity[d.finding.severity] = (autoDismissBySeverity[d.finding.severity] || 0) + 1;
222
229
  }
223
230
  if (autoDismissed.length > 0) {
224
- console.log(`[Layer2] repo=${repoInfo.name} auto_dismissed_total=${autoDismissed.length} by_severity={info:${autoDismissBySeverity.info},low:${autoDismissBySeverity.low},medium:${autoDismissBySeverity.medium},high:${autoDismissBySeverity.high}}`);
231
+ log(`[Layer2] repo=${repoInfo.name} auto_dismissed_total=${autoDismissed.length} by_severity={info:${autoDismissBySeverity.info},low:${autoDismissBySeverity.low},medium:${autoDismissBySeverity.medium},high:${autoDismissBySeverity.high}}`);
225
232
  }
226
233
  // Apply per-file cap to validation candidates (cost control)
227
234
  // Use scan mode config for max files
@@ -242,15 +249,15 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
242
249
  validatedFindings = validationResult.vulnerabilities;
243
250
  const { stats: validationStats } = validationResult;
244
251
  capturedValidationStats = validationStats; // Capture for return
245
- console.log(`[AI Validation] repo=${repoInfo.name} depth=${depth} candidates=${findingsToValidate.length} capped_from=${requiresValidation.length} auto_dismissed=${autoDismissed.length} kept=${validationStats.confirmedFindings} rejected=${validationStats.dismissedFindings} downgraded=${validationStats.downgradedFindings}`);
246
- console.log(`[AI Validation] cost_estimate: input_tokens=${validationStats.estimatedInputTokens} output_tokens=${validationStats.estimatedOutputTokens} cost=$${validationStats.estimatedCost.toFixed(4)} api_calls=${validationStats.apiCalls}`);
252
+ log(`[AI Validation] repo=${repoInfo.name} depth=${depth} candidates=${findingsToValidate.length} capped_from=${requiresValidation.length} auto_dismissed=${autoDismissed.length} kept=${validationStats.confirmedFindings} rejected=${validationStats.dismissedFindings} downgraded=${validationStats.downgradedFindings}`);
253
+ log(`[AI Validation] cost_estimate: input_tokens=${validationStats.estimatedInputTokens} output_tokens=${validationStats.estimatedOutputTokens} cost=$${validationStats.estimatedCost.toFixed(4)} api_calls=${validationStats.apiCalls}`);
247
254
  // Add back findings that weren't validated (not in changed files)
248
255
  const notValidated = cappedValidation.filter(v => !findingsToValidate.includes(v));
249
256
  validatedFindings.push(...notValidated);
250
257
  }
251
258
  }
252
259
  else if (scanModeConfig.skipAIValidation) {
253
- console.log(`[AI Validation] repo=${repoInfo.name} depth=${depth} skipped=true reason=scan_mode_config`);
260
+ log(`[AI Validation] repo=${repoInfo.name} depth=${depth} skipped=true reason=scan_mode_config`);
254
261
  }
255
262
  // Combine validated and non-validated findings
256
263
  allVulnerabilities.push(...validatedFindings, ...noValidationNeeded);
@@ -280,10 +287,10 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
280
287
  },
281
288
  });
282
289
  allVulnerabilities.push(...layer3Result.vulnerabilities);
283
- console.log(`[Layer3] repo=${repoInfo.name} depth=${depth} files_analyzed=${layer3Result.aiAnalyzed} findings=${layer3Result.vulnerabilities.length}`);
290
+ log(`[Layer3] repo=${repoInfo.name} depth=${depth} files_analyzed=${layer3Result.aiAnalyzed} findings=${layer3Result.vulnerabilities.length}`);
284
291
  }
285
292
  else if (scanModeConfig.skipLayer3) {
286
- console.log(`[Layer3] repo=${repoInfo.name} depth=${depth} skipped=true reason=scan_mode_config`);
293
+ log(`[Layer3] repo=${repoInfo.name} depth=${depth} skipped=true reason=scan_mode_config`);
287
294
  }
288
295
  // Deduplicate vulnerabilities
289
296
  const uniqueVulnerabilities = deduplicateVulnerabilities(allVulnerabilities);
@@ -422,9 +429,7 @@ function capValidationCandidatesPerFile(vulnerabilities, maxPerFile = MAX_VALIDA
422
429
  // Take top N per file
423
430
  const capped = sorted.slice(0, maxPerFile);
424
431
  result.push(...capped);
425
- if (sorted.length > maxPerFile) {
426
- console.log(`[Scanner] Capped ${filePath}: ${sorted.length} → ${maxPerFile} validation candidates`);
427
- }
432
+ // Note: Capping log removed to support quiet mode - this is debug info only
428
433
  }
429
434
  return result;
430
435
  }
@@ -530,7 +535,7 @@ function resolveContradictions(vulnerabilities, middlewareConfig) {
530
535
  : isClientCallingProtectedAPI
531
536
  ? 'client component calling protected API'
532
537
  : 'route is protected';
533
- console.log(`[Contradiction] Dropping "${vuln.title}" (${vuln.severity}) - ${reason}`);
538
+ // Note: Contradiction log removed to support quiet mode - this is debug info only
534
539
  continue; // Skip this finding
535
540
  }
536
541
  // Keep lower severity auth findings as-is
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * file flags, comment analysis, URL detection, and weak crypto detection
5
5
  */
6
6
  import type { Vulnerability, ScanFile } from '../types';
7
+ import type { ProgressCallback } from '../index';
7
8
  import { type TierStats } from '../tiers';
8
9
  /**
9
10
  * Layer 1 detector stats for raw finding counts before deduplication
@@ -25,7 +26,7 @@ export interface Layer1Result {
25
26
  /** Heuristic breakdown stats for noise analysis */
26
27
  stats: Layer1Stats;
27
28
  }
28
- export declare function runLayer1Scan(files: ScanFile[]): Promise<Layer1Result>;
29
+ export declare function runLayer1Scan(files: ScanFile[], onProgress?: ProgressCallback): Promise<Layer1Result>;
29
30
  export { detectHighEntropyStrings } from './entropy';
30
31
  export { detectKnownPatterns } from './patterns';
31
32
  export { auditConfiguration } from './config-audit';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer1/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAQvD,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,UAAU,CAAA;AAMjB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAA;IAChB,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAgG5E;AA8BD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer1/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAQhD,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,UAAU,CAAA;AAMjB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAA;IAChB,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,WAAW,CAAA;CACnB;AAkDD,wBAAsB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA0E3G;AA8BD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
@@ -16,7 +16,47 @@ const urls_1 = require("./urls");
16
16
  const weak_crypto_1 = require("./weak-crypto");
17
17
  const tiers_1 = require("../tiers");
18
18
  const path_exclusions_1 = require("../utils/path-exclusions");
19
- async function runLayer1Scan(files) {
19
+ // Process a single file through all Layer 1 detectors
20
+ function processFileLayer1(file) {
21
+ const stats = {
22
+ known_secrets: 0,
23
+ weak_crypto: 0,
24
+ sensitive_urls: 0,
25
+ entropy: 0,
26
+ config_audit: 0,
27
+ file_flags: 0,
28
+ ai_comments: 0,
29
+ };
30
+ const entropyFindings = (0, entropy_1.detectHighEntropyStrings)(file.content, file.path);
31
+ const patternFindings = (0, patterns_1.detectKnownPatterns)(file.content, file.path);
32
+ const configFindings = (0, config_audit_1.auditConfiguration)(file.content, file.path);
33
+ const fileFlags = (0, file_flags_1.detectDangerousFiles)(file.content, file.path);
34
+ const commentFindings = (0, comments_1.detectAICommentPatterns)(file.content, file.path);
35
+ const urlFindings = (0, urls_1.detectSensitiveURLs)(file.content, file.path);
36
+ const cryptoFindings = (0, weak_crypto_1.detectWeakCrypto)(file.content, file.path);
37
+ stats.entropy = entropyFindings.length;
38
+ stats.known_secrets = patternFindings.length;
39
+ stats.config_audit = configFindings.length;
40
+ stats.file_flags = fileFlags.length;
41
+ stats.ai_comments = commentFindings.length;
42
+ stats.sensitive_urls = urlFindings.length;
43
+ stats.weak_crypto = cryptoFindings.length;
44
+ return {
45
+ findings: [
46
+ ...entropyFindings,
47
+ ...patternFindings,
48
+ ...configFindings,
49
+ ...fileFlags,
50
+ ...commentFindings,
51
+ ...urlFindings,
52
+ ...cryptoFindings,
53
+ ],
54
+ stats,
55
+ };
56
+ }
57
+ // Parallel batch size for Layer 1 processing
58
+ const LAYER1_PARALLEL_BATCH_SIZE = 50;
59
+ async function runLayer1Scan(files, onProgress) {
20
60
  const startTime = Date.now();
21
61
  const vulnerabilities = [];
22
62
  // Track raw counts per detector (before dedupe)
@@ -29,40 +69,34 @@ async function runLayer1Scan(files) {
29
69
  file_flags: 0,
30
70
  ai_comments: 0,
31
71
  };
32
- for (const file of files) {
33
- // Run all Layer 1 detectors and track raw counts
34
- const entropyFindings = (0, entropy_1.detectHighEntropyStrings)(file.content, file.path);
35
- const patternFindings = (0, patterns_1.detectKnownPatterns)(file.content, file.path);
36
- const configFindings = (0, config_audit_1.auditConfiguration)(file.content, file.path);
37
- const fileFlags = (0, file_flags_1.detectDangerousFiles)(file.content, file.path);
38
- const commentFindings = (0, comments_1.detectAICommentPatterns)(file.content, file.path);
39
- const urlFindings = (0, urls_1.detectSensitiveURLs)(file.content, file.path);
40
- const cryptoFindings = (0, weak_crypto_1.detectWeakCrypto)(file.content, file.path);
41
- rawStats.entropy += entropyFindings.length;
42
- rawStats.known_secrets += patternFindings.length;
43
- rawStats.config_audit += configFindings.length;
44
- rawStats.file_flags += fileFlags.length;
45
- rawStats.ai_comments += commentFindings.length;
46
- rawStats.sensitive_urls += urlFindings.length;
47
- rawStats.weak_crypto += cryptoFindings.length;
48
- vulnerabilities.push(...entropyFindings, ...patternFindings, ...configFindings, ...fileFlags, ...commentFindings, ...urlFindings, ...cryptoFindings);
72
+ // Process files in parallel batches for better performance on large codebases
73
+ for (let i = 0; i < files.length; i += LAYER1_PARALLEL_BATCH_SIZE) {
74
+ const batch = files.slice(i, i + LAYER1_PARALLEL_BATCH_SIZE);
75
+ const results = await Promise.all(batch.map(file => Promise.resolve(processFileLayer1(file))));
76
+ for (const result of results) {
77
+ vulnerabilities.push(...result.findings);
78
+ // Accumulate stats
79
+ for (const [key, value] of Object.entries(result.stats)) {
80
+ rawStats[key] += value;
81
+ }
82
+ }
83
+ // Report progress after each batch
84
+ if (onProgress) {
85
+ const filesProcessed = Math.min(i + LAYER1_PARALLEL_BATCH_SIZE, files.length);
86
+ onProgress({
87
+ status: 'layer1',
88
+ message: 'Running surface scan (patterns, entropy, config)...',
89
+ filesProcessed,
90
+ totalFiles: files.length,
91
+ vulnerabilitiesFound: vulnerabilities.length,
92
+ });
93
+ }
49
94
  }
50
95
  // Deduplicate findings (same line might be caught by multiple detectors)
51
96
  const dedupedVulnerabilities = deduplicateFindings(vulnerabilities);
52
97
  // Apply path exclusions to filter out findings in test/seed/example files
53
98
  const { kept: uniqueVulnerabilities, suppressed } = (0, path_exclusions_1.filterFindingsByPath)(dedupedVulnerabilities);
54
- // Log suppressed findings
55
- if (suppressed.length > 0) {
56
- const byReason = {};
57
- for (const s of suppressed) {
58
- const reason = s.reason || 'unknown';
59
- byReason[reason] = (byReason[reason] || 0) + 1;
60
- }
61
- console.log(`[Layer 1] Suppressed ${suppressed.length} findings in test/seed/example files:`);
62
- for (const [reason, count] of Object.entries(byReason)) {
63
- console.log(` - ${reason}: ${count}`);
64
- }
65
- }
99
+ // Track suppressed findings (debug info available in stats)
66
100
  // Compute deduped counts per category
67
101
  const dedupedStats = {};
68
102
  for (const vuln of uniqueVulnerabilities) {
@@ -71,15 +105,7 @@ async function runLayer1Scan(files) {
71
105
  }
72
106
  // Compute tier breakdown (all Layer 1 findings have layer: 1)
73
107
  const tierStats = (0, tiers_1.computeTierStats)(uniqueVulnerabilities.map(v => ({ category: v.category, layer: 1 })));
74
- // Log heuristic breakdown with tier info
75
- console.log('[Layer 1] Heuristic breakdown (raw findings before dedupe):');
76
- for (const [name, count] of Object.entries(rawStats)) {
77
- if (count > 0) {
78
- const tier = (0, tiers_1.getLayer1DetectorTier)(name);
79
- console.log(` - ${name}: ${count} (${tier})`);
80
- }
81
- }
82
- console.log(`[Layer 1] Tier breakdown (after dedupe): ${(0, tiers_1.formatTierStats)(tierStats)}`);
108
+ // Heuristic breakdown available in stats.raw and stats.tiers for debugging
83
109
  return {
84
110
  vulnerabilities: uniqueVulnerabilities,
85
111
  filesScanned: files.length,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layer1/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layer1/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * and AI code fingerprinting
6
6
  */
7
7
  import type { Vulnerability, ScanFile } from '../types';
8
+ import type { ProgressCallback } from '../index';
8
9
  import type { MiddlewareAuthConfig } from '../utils/middleware-detector';
9
10
  import { type AuthHelperContext } from '../utils/auth-helper-detector';
10
11
  import type { FileAuthImports } from '../utils/imported-auth-detector';
@@ -39,7 +40,7 @@ export interface Layer2Result {
39
40
  /** Heuristic breakdown stats for noise analysis */
40
41
  stats: Layer2Stats;
41
42
  }
42
- export declare function runLayer2Scan(files: ScanFile[], options?: Layer2Options): Promise<Layer2Result>;
43
+ export declare function runLayer2Scan(files: ScanFile[], options?: Layer2Options, onProgress?: ProgressCallback): Promise<Layer2Result>;
43
44
  export { detectSensitiveVariables } from './variables';
44
45
  export { detectLogicGates } from './logic-gates';
45
46
  export { detectDangerousFunctions } from './dangerous-functions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAuBtE,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC9C,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAA;IAChB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,WAAW,CAAA;CACnB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAuNvB;AAoKD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAuBtE,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC9C,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,yCAAyC;IACzC,KAAK,EAAE,SAAS,CAAA;IAChB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,WAAW,CAAA;CACnB;AAmHD,wBAAsB,aAAa,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,GAAE,aAAkB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,YAAY,CAAC,CA2JvB;AAoKD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA"}