@oculum/scanner 1.0.0 → 1.0.1
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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -18
- package/dist/index.js.map +1 -1
- package/dist/layer1/index.d.ts.map +1 -1
- package/dist/layer1/index.js +53 -38
- package/dist/layer1/index.js.map +1 -1
- package/dist/layer2/index.d.ts.map +1 -1
- package/dist/layer2/index.js +96 -66
- package/dist/layer2/index.js.map +1 -1
- package/dist/layer3/anthropic.d.ts.map +1 -1
- package/dist/layer3/anthropic.js +4 -3
- package/dist/layer3/anthropic.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +26 -18
- package/src/layer1/index.ts +62 -48
- package/src/layer2/index.ts +129 -88
- package/src/layer3/anthropic.ts +4 -3
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
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,13 +169,13 @@ 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
|
-
|
|
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
|
-
|
|
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)...');
|
|
@@ -179,7 +186,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
179
186
|
...layer1Result,
|
|
180
187
|
vulnerabilities: (0, urls_1.aggregateLocalhostFindings)(layer1Result.vulnerabilities)
|
|
181
188
|
};
|
|
182
|
-
|
|
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
192
|
const layer2Result = await (0, layer2_1.runLayer2Scan)(files, { middlewareConfig, fileAuthImports });
|
|
@@ -188,7 +195,7 @@ async function runScan(files, repoInfo, options = {}, onProgress) {
|
|
|
188
195
|
.filter(([, count]) => count > 0)
|
|
189
196
|
.map(([name, count]) => `${name}:${count}`)
|
|
190
197
|
.join(',');
|
|
191
|
-
|
|
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
|
-
|
|
203
|
-
|
|
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
|
-
|
|
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
|
-
|
|
246
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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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"}
|
|
@@ -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;
|
|
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;AAkDD,wBAAsB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CA8D5E;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"}
|
package/dist/layer1/index.js
CHANGED
|
@@ -16,6 +16,46 @@ 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
|
+
// 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;
|
|
19
59
|
async function runLayer1Scan(files) {
|
|
20
60
|
const startTime = Date.now();
|
|
21
61
|
const vulnerabilities = [];
|
|
@@ -29,40 +69,23 @@ async function runLayer1Scan(files) {
|
|
|
29
69
|
file_flags: 0,
|
|
30
70
|
ai_comments: 0,
|
|
31
71
|
};
|
|
32
|
-
for
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
+
}
|
|
49
83
|
}
|
|
50
84
|
// Deduplicate findings (same line might be caught by multiple detectors)
|
|
51
85
|
const dedupedVulnerabilities = deduplicateFindings(vulnerabilities);
|
|
52
86
|
// Apply path exclusions to filter out findings in test/seed/example files
|
|
53
87
|
const { kept: uniqueVulnerabilities, suppressed } = (0, path_exclusions_1.filterFindingsByPath)(dedupedVulnerabilities);
|
|
54
|
-
//
|
|
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
|
-
}
|
|
88
|
+
// Track suppressed findings (debug info available in stats)
|
|
66
89
|
// Compute deduped counts per category
|
|
67
90
|
const dedupedStats = {};
|
|
68
91
|
for (const vuln of uniqueVulnerabilities) {
|
|
@@ -71,15 +94,7 @@ async function runLayer1Scan(files) {
|
|
|
71
94
|
}
|
|
72
95
|
// Compute tier breakdown (all Layer 1 findings have layer: 1)
|
|
73
96
|
const tierStats = (0, tiers_1.computeTierStats)(uniqueVulnerabilities.map(v => ({ category: v.category, layer: 1 })));
|
|
74
|
-
//
|
|
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)}`);
|
|
97
|
+
// Heuristic breakdown available in stats.raw and stats.tiers for debugging
|
|
83
98
|
return {
|
|
84
99
|
vulnerabilities: uniqueVulnerabilities,
|
|
85
100
|
filesScanned: files.length,
|
package/dist/layer1/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layer1/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layer1/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAmHD,wBAAsB,aAAa,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA+IvB;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"}
|
package/dist/layer2/index.js
CHANGED
|
@@ -29,6 +29,90 @@ const ai_endpoint_protection_1 = require("./ai-endpoint-protection");
|
|
|
29
29
|
const ai_schema_validation_1 = require("./ai-schema-validation");
|
|
30
30
|
// Tier system imports
|
|
31
31
|
const tiers_1 = require("../tiers");
|
|
32
|
+
// Process a single file through all Layer 2 detectors
|
|
33
|
+
function processFileLayer2(file, options, authHelperContext) {
|
|
34
|
+
const stats = {
|
|
35
|
+
variables: 0,
|
|
36
|
+
logicGates: 0,
|
|
37
|
+
dangerousFunctions: 0,
|
|
38
|
+
riskyImports: 0,
|
|
39
|
+
authAntipatterns: 0,
|
|
40
|
+
frameworkIssues: 0,
|
|
41
|
+
aiFingerprints: 0,
|
|
42
|
+
dataExposure: 0,
|
|
43
|
+
byokPatterns: 0,
|
|
44
|
+
promptHygiene: 0,
|
|
45
|
+
executionSinks: 0,
|
|
46
|
+
agentTools: 0,
|
|
47
|
+
ragSafety: 0,
|
|
48
|
+
endpointProtection: 0,
|
|
49
|
+
schemaValidation: 0,
|
|
50
|
+
};
|
|
51
|
+
// Skip non-code files
|
|
52
|
+
if (!isCodeFile(file.path)) {
|
|
53
|
+
return { findings: [], stats };
|
|
54
|
+
}
|
|
55
|
+
// Run all detectors
|
|
56
|
+
const variableFindings = (0, variables_1.detectSensitiveVariables)(file.content, file.path);
|
|
57
|
+
const logicFindings = (0, logic_gates_1.detectLogicGates)(file.content, file.path);
|
|
58
|
+
const dangerousFuncFindings = (0, dangerous_functions_1.detectDangerousFunctions)(file.content, file.path);
|
|
59
|
+
const riskyImportFindings = (0, risky_imports_1.detectRiskyImports)(file.content, file.path);
|
|
60
|
+
const authFindings = (0, auth_antipatterns_1.detectAuthAntipatterns)(file.content, file.path, {
|
|
61
|
+
middlewareConfig: options.middlewareConfig,
|
|
62
|
+
authHelpers: authHelperContext,
|
|
63
|
+
fileAuthImports: options.fileAuthImports,
|
|
64
|
+
});
|
|
65
|
+
const frameworkFindings = (0, framework_checks_1.detectFrameworkIssues)(file.content, file.path);
|
|
66
|
+
const aiFindings = (0, ai_fingerprinting_1.detectAIFingerprints)(file.content, file.path);
|
|
67
|
+
const dataExposureFindings = (0, data_exposure_1.detectDataExposure)(file.content, file.path);
|
|
68
|
+
const byokFindings = (0, byok_patterns_1.detectBYOKPatterns)(file.content, file.path, options.middlewareConfig);
|
|
69
|
+
const promptHygieneFindings = (0, ai_prompt_hygiene_1.detectAIPromptHygiene)(file.content, file.path);
|
|
70
|
+
const executionSinkFindings = (0, ai_execution_sinks_1.detectAIExecutionSinks)(file.content, file.path);
|
|
71
|
+
const agentToolFindings = (0, ai_agent_tools_1.detectAIAgentTools)(file.content, file.path);
|
|
72
|
+
const ragSafetyFindings = (0, ai_rag_safety_1.detectRAGSafetyIssues)(file.content, file.path);
|
|
73
|
+
const endpointProtectionFindings = (0, ai_endpoint_protection_1.detectAIEndpointProtection)(file.content, file.path, {
|
|
74
|
+
middlewareConfig: options.middlewareConfig,
|
|
75
|
+
});
|
|
76
|
+
const schemaValidationFindings = (0, ai_schema_validation_1.detectAISchemaValidation)(file.content, file.path);
|
|
77
|
+
// Update stats
|
|
78
|
+
stats.variables = variableFindings.length;
|
|
79
|
+
stats.logicGates = logicFindings.length;
|
|
80
|
+
stats.dangerousFunctions = dangerousFuncFindings.length;
|
|
81
|
+
stats.riskyImports = riskyImportFindings.length;
|
|
82
|
+
stats.authAntipatterns = authFindings.length;
|
|
83
|
+
stats.frameworkIssues = frameworkFindings.length;
|
|
84
|
+
stats.aiFingerprints = aiFindings.length;
|
|
85
|
+
stats.dataExposure = dataExposureFindings.length;
|
|
86
|
+
stats.byokPatterns = byokFindings.length;
|
|
87
|
+
stats.promptHygiene = promptHygieneFindings.length;
|
|
88
|
+
stats.executionSinks = executionSinkFindings.length;
|
|
89
|
+
stats.agentTools = agentToolFindings.length;
|
|
90
|
+
stats.ragSafety = ragSafetyFindings.length;
|
|
91
|
+
stats.endpointProtection = endpointProtectionFindings.length;
|
|
92
|
+
stats.schemaValidation = schemaValidationFindings.length;
|
|
93
|
+
return {
|
|
94
|
+
findings: [
|
|
95
|
+
...variableFindings,
|
|
96
|
+
...logicFindings,
|
|
97
|
+
...dangerousFuncFindings,
|
|
98
|
+
...riskyImportFindings,
|
|
99
|
+
...authFindings,
|
|
100
|
+
...frameworkFindings,
|
|
101
|
+
...aiFindings,
|
|
102
|
+
...dataExposureFindings,
|
|
103
|
+
...byokFindings,
|
|
104
|
+
...promptHygieneFindings,
|
|
105
|
+
...executionSinkFindings,
|
|
106
|
+
...agentToolFindings,
|
|
107
|
+
...ragSafetyFindings,
|
|
108
|
+
...endpointProtectionFindings,
|
|
109
|
+
...schemaValidationFindings,
|
|
110
|
+
],
|
|
111
|
+
stats,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
// Parallel batch size for Layer 2 processing
|
|
115
|
+
const LAYER2_PARALLEL_BATCH_SIZE = 50;
|
|
32
116
|
async function runLayer2Scan(files, options = {}) {
|
|
33
117
|
const startTime = Date.now();
|
|
34
118
|
const vulnerabilities = [];
|
|
@@ -45,57 +129,22 @@ async function runLayer2Scan(files, options = {}) {
|
|
|
45
129
|
promptHygiene: 0,
|
|
46
130
|
executionSinks: 0,
|
|
47
131
|
agentTools: 0,
|
|
48
|
-
// M5: New AI-era detectors
|
|
49
132
|
ragSafety: 0,
|
|
50
133
|
endpointProtection: 0,
|
|
51
134
|
schemaValidation: 0,
|
|
52
135
|
};
|
|
53
136
|
// Detect auth helpers once for all files (if not already provided)
|
|
54
137
|
const authHelperContext = options.authHelperContext || (0, auth_helper_detector_1.detectAuthHelpers)(files);
|
|
55
|
-
for
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
//
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
middlewareConfig: options.middlewareConfig,
|
|
66
|
-
authHelpers: authHelperContext,
|
|
67
|
-
fileAuthImports: options.fileAuthImports,
|
|
68
|
-
});
|
|
69
|
-
const frameworkFindings = (0, framework_checks_1.detectFrameworkIssues)(file.content, file.path);
|
|
70
|
-
const aiFindings = (0, ai_fingerprinting_1.detectAIFingerprints)(file.content, file.path);
|
|
71
|
-
const dataExposureFindings = (0, data_exposure_1.detectDataExposure)(file.content, file.path);
|
|
72
|
-
const byokFindings = (0, byok_patterns_1.detectBYOKPatterns)(file.content, file.path, options.middlewareConfig);
|
|
73
|
-
// Story B: AI-specific detection (prompt hygiene, execution sinks, agent tools)
|
|
74
|
-
const promptHygieneFindings = (0, ai_prompt_hygiene_1.detectAIPromptHygiene)(file.content, file.path);
|
|
75
|
-
const executionSinkFindings = (0, ai_execution_sinks_1.detectAIExecutionSinks)(file.content, file.path);
|
|
76
|
-
const agentToolFindings = (0, ai_agent_tools_1.detectAIAgentTools)(file.content, file.path);
|
|
77
|
-
// M5: New AI-era detectors
|
|
78
|
-
const ragSafetyFindings = (0, ai_rag_safety_1.detectRAGSafetyIssues)(file.content, file.path);
|
|
79
|
-
const endpointProtectionFindings = (0, ai_endpoint_protection_1.detectAIEndpointProtection)(file.content, file.path, {
|
|
80
|
-
middlewareConfig: options.middlewareConfig,
|
|
81
|
-
});
|
|
82
|
-
const schemaValidationFindings = (0, ai_schema_validation_1.detectAISchemaValidation)(file.content, file.path);
|
|
83
|
-
stats.variables += variableFindings.length;
|
|
84
|
-
stats.logicGates += logicFindings.length;
|
|
85
|
-
stats.dangerousFunctions += dangerousFuncFindings.length;
|
|
86
|
-
stats.riskyImports += riskyImportFindings.length;
|
|
87
|
-
stats.authAntipatterns += authFindings.length;
|
|
88
|
-
stats.frameworkIssues += frameworkFindings.length;
|
|
89
|
-
stats.aiFingerprints += aiFindings.length;
|
|
90
|
-
stats.dataExposure += dataExposureFindings.length;
|
|
91
|
-
stats.byokPatterns += byokFindings.length;
|
|
92
|
-
stats.promptHygiene += promptHygieneFindings.length;
|
|
93
|
-
stats.executionSinks += executionSinkFindings.length;
|
|
94
|
-
stats.agentTools += agentToolFindings.length;
|
|
95
|
-
stats.ragSafety += ragSafetyFindings.length;
|
|
96
|
-
stats.endpointProtection += endpointProtectionFindings.length;
|
|
97
|
-
stats.schemaValidation += schemaValidationFindings.length;
|
|
98
|
-
vulnerabilities.push(...variableFindings, ...logicFindings, ...dangerousFuncFindings, ...riskyImportFindings, ...authFindings, ...frameworkFindings, ...aiFindings, ...dataExposureFindings, ...byokFindings, ...promptHygieneFindings, ...executionSinkFindings, ...agentToolFindings, ...ragSafetyFindings, ...endpointProtectionFindings, ...schemaValidationFindings);
|
|
138
|
+
// Process files in parallel batches for better performance on large codebases
|
|
139
|
+
for (let i = 0; i < files.length; i += LAYER2_PARALLEL_BATCH_SIZE) {
|
|
140
|
+
const batch = files.slice(i, i + LAYER2_PARALLEL_BATCH_SIZE);
|
|
141
|
+
const results = await Promise.all(batch.map(file => Promise.resolve(processFileLayer2(file, options, authHelperContext))));
|
|
142
|
+
for (const result of results) {
|
|
143
|
+
vulnerabilities.push(...result.findings);
|
|
144
|
+
// Accumulate stats
|
|
145
|
+
for (const [key, value] of Object.entries(result.stats)) {
|
|
146
|
+
stats[key] += value;
|
|
147
|
+
}
|
|
99
148
|
}
|
|
100
149
|
}
|
|
101
150
|
// Deduplicate findings
|
|
@@ -120,17 +169,7 @@ async function runLayer2Scan(files, options = {}) {
|
|
|
120
169
|
];
|
|
121
170
|
}
|
|
122
171
|
const { kept: uniqueVulnerabilities, suppressed } = (0, path_exclusions_1.filterFindingsByPath)(dedupedVulnerabilities, Object.keys(exclusionConfig).length > 0 ? exclusionConfig : undefined);
|
|
123
|
-
//
|
|
124
|
-
if (suppressed.length > 0) {
|
|
125
|
-
console.log(`[Layer 2] Suppressed ${suppressed.length} findings in test/seed/example files:`);
|
|
126
|
-
const byReason = new Map();
|
|
127
|
-
for (const { reason } of suppressed) {
|
|
128
|
-
byReason.set(reason || 'unknown', (byReason.get(reason || 'unknown') || 0) + 1);
|
|
129
|
-
}
|
|
130
|
-
for (const [reason, count] of byReason) {
|
|
131
|
-
console.log(` - ${reason}: ${count}`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
172
|
+
// Track suppressed findings (debug info available in stats)
|
|
134
173
|
// Build raw stats map for logging
|
|
135
174
|
const rawStats = {
|
|
136
175
|
sensitive_variables: stats.variables,
|
|
@@ -182,16 +221,7 @@ async function runLayer2Scan(files, options = {}) {
|
|
|
182
221
|
ai_endpoint_protection: 'ai_endpoint_protection',
|
|
183
222
|
ai_schema_validation: 'ai_schema_validation',
|
|
184
223
|
};
|
|
185
|
-
//
|
|
186
|
-
console.log('[Layer 2] Heuristic breakdown (raw findings before dedupe):');
|
|
187
|
-
for (const [name, count] of Object.entries(rawStats)) {
|
|
188
|
-
if (count > 0) {
|
|
189
|
-
const detectorName = detectorNameMap[name];
|
|
190
|
-
const tier = detectorName ? (0, tiers_1.getLayer2DetectorTier)(detectorName) : 'unknown';
|
|
191
|
-
console.log(` - ${name}: ${count} (${tier})`);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
console.log(`[Layer 2] Tier breakdown (after dedupe): ${(0, tiers_1.formatTierStats)(tierStats)}`);
|
|
224
|
+
// Heuristic breakdown available in stats.raw and stats.tiers for debugging
|
|
195
225
|
return {
|
|
196
226
|
vulnerabilities: uniqueVulnerabilities,
|
|
197
227
|
filesScanned: files.filter(f => isCodeFile(f.path)).length,
|