@oculum/scanner 1.0.1 → 1.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.
Files changed (45) hide show
  1. package/dist/index.d.ts +4 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +60 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/layer1/entropy.d.ts.map +1 -1
  6. package/dist/layer1/entropy.js +6 -4
  7. package/dist/layer1/entropy.js.map +1 -1
  8. package/dist/layer1/index.d.ts +3 -2
  9. package/dist/layer1/index.d.ts.map +1 -1
  10. package/dist/layer1/index.js +22 -2
  11. package/dist/layer1/index.js.map +1 -1
  12. package/dist/layer2/dangerous-functions.d.ts.map +1 -1
  13. package/dist/layer2/dangerous-functions.js +319 -11
  14. package/dist/layer2/dangerous-functions.js.map +1 -1
  15. package/dist/layer2/index.d.ts +3 -2
  16. package/dist/layer2/index.d.ts.map +1 -1
  17. package/dist/layer2/index.js +22 -2
  18. package/dist/layer2/index.js.map +1 -1
  19. package/dist/layer3/anthropic.d.ts +5 -1
  20. package/dist/layer3/anthropic.d.ts.map +1 -1
  21. package/dist/layer3/anthropic.js +50 -1
  22. package/dist/layer3/anthropic.js.map +1 -1
  23. package/dist/layer3/index.d.ts +3 -1
  24. package/dist/layer3/index.d.ts.map +1 -1
  25. package/dist/layer3/index.js +21 -0
  26. package/dist/layer3/index.js.map +1 -1
  27. package/dist/types.d.ts +25 -0
  28. package/dist/types.d.ts.map +1 -1
  29. package/dist/types.js +40 -0
  30. package/dist/types.js.map +1 -1
  31. package/dist/utils/context-helpers.d.ts +12 -0
  32. package/dist/utils/context-helpers.d.ts.map +1 -1
  33. package/dist/utils/context-helpers.js +40 -0
  34. package/dist/utils/context-helpers.js.map +1 -1
  35. package/package.json +4 -2
  36. package/src/index.ts +75 -5
  37. package/src/layer1/entropy.ts +6 -4
  38. package/src/layer1/index.ts +33 -5
  39. package/src/layer2/__tests__/math-random-enhanced.test.ts +405 -0
  40. package/src/layer2/dangerous-functions.ts +368 -11
  41. package/src/layer2/index.ts +31 -5
  42. package/src/layer3/anthropic.ts +55 -1
  43. package/src/layer3/index.ts +27 -2
  44. package/src/types.ts +59 -0
  45. package/src/utils/context-helpers.ts +40 -0
@@ -701,12 +701,9 @@ function isCosmeticMathRandom(lineContent, content, lineNumber) {
701
701
  /Math\.random.*\*\s*\d+\s*\+\s*\d+.*\bpx\b/i, // Math.random() * 100 + 50 + 'px'
702
702
  /Math\.random.*\*\s*\d+\s*\+\s*\d+.*\bms\b/i, // Math.random() * 1000 + 500 + 'ms'
703
703
  /Math\.random.*\*\s*\d+\s*\+\s*\d+.*\bs\b/i, // Math.random() * 5 + 2 + 's'
704
- // UI identifier generation (short strings for element IDs, keys, etc.)
705
- /Math\.random\(\)\.toString\(36\)\.substring\(/, // .toString(36).substring(2, 9) - short UI IDs
706
- /Math\.random\(\)\.toString\(36\)\.substr\(/, // .substr() variant
707
- /Math\.random\(\)\.toString\(36\)\.slice\(/, // .slice() variant
708
- /Math\.random\(\)\.toString\(16\)\.substring\(/, // .toString(16).substring() - hex UI IDs
709
- /Math\.random\(\)\.toString\(16\)\.slice\(/, // hex slice variant
704
+ // NOTE: toString patterns removed - now handled by analyzeToStringPattern()
705
+ // which provides more granular severity classification (info/low/medium/high)
706
+ // based on truncation length and context
710
707
  ];
711
708
  if (cosmeticLinePatterns.some(p => p.test(lineContent))) {
712
709
  return true;
@@ -762,6 +759,230 @@ function isCosmeticMathRandom(lineContent, content, lineNumber) {
762
759
  }
763
760
  return false; // Default to flagging if unclear
764
761
  }
762
+ /**
763
+ * Extract function context where Math.random() is being called
764
+ * Looks backwards from the current line to find enclosing function name
765
+ * Returns lowercase function name or null if not found
766
+ */
767
+ function extractFunctionContext(content, lineNumber) {
768
+ const lines = content.split('\n');
769
+ const start = Math.max(0, lineNumber - 10);
770
+ // Look backwards for function declaration
771
+ for (let i = lineNumber; i >= start; i--) {
772
+ const line = lines[i];
773
+ // Match various function declaration patterns
774
+ // 1. function functionName
775
+ // 2. export function functionName
776
+ // 3. const/let functionName = function
777
+ // 4. const/let functionName = (arrow function)
778
+ // 5. export const functionName =
779
+ // Traditional function declaration
780
+ const funcDeclMatch = line.match(/(?:export\s+)?function\s+(\w+)/i);
781
+ if (funcDeclMatch) {
782
+ return funcDeclMatch[1].toLowerCase();
783
+ }
784
+ // Arrow function or function expression assignment
785
+ // Only match if there's an equals sign and function-like syntax
786
+ const arrowFuncMatch = line.match(/(?:export\s+)?(?:const|let|var)\s+(\w+)\s*=\s*(?:function|\(|async)/i);
787
+ if (arrowFuncMatch) {
788
+ return arrowFuncMatch[1].toLowerCase();
789
+ }
790
+ }
791
+ return null;
792
+ }
793
+ /**
794
+ * Classify function intent based on function name
795
+ * Used to determine if Math.random() usage is legitimate
796
+ */
797
+ function classifyFunctionIntent(functionName) {
798
+ if (!functionName)
799
+ return 'unknown';
800
+ const lower = functionName.toLowerCase();
801
+ // UUID/ID generation (UI correlation, not security)
802
+ // Check for specific UUID patterns and generic ID generation functions
803
+ const uuidPatterns = ['uuid', 'guid', 'uniqueid', 'correlationid'];
804
+ const idGenerationPatterns = /^(generate|create|make|build)(id|identifier)$/i;
805
+ if (uuidPatterns.some(p => lower.includes(p)) || idGenerationPatterns.test(lower)) {
806
+ return 'uuid';
807
+ }
808
+ // CAPTCHA/puzzle generation (legitimate non-security)
809
+ const captchaPatterns = ['captcha', 'puzzle', 'mathproblem'];
810
+ // Also check for 'challenge' but only if not in security context
811
+ if (captchaPatterns.some(p => lower.includes(p)))
812
+ return 'captcha';
813
+ if (lower.includes('challenge') && !lower.includes('auth'))
814
+ return 'captcha';
815
+ // Demo/seed/fixture data
816
+ const demoPatterns = ['seed', 'fixture', 'demo', 'mock', 'fake'];
817
+ if (demoPatterns.some(p => lower.includes(p)))
818
+ return 'demo';
819
+ // Security-sensitive (check this after id generation to avoid false positives)
820
+ const securityPatterns = ['token', 'secret', 'key', 'password', 'credential', 'signature'];
821
+ // Also match generate/create + security term combinations
822
+ const securityFunctionPattern = /^(generate|create|make)(token|secret|key|session|password|credential)/i;
823
+ if (securityPatterns.some(p => lower.includes(p)) || securityFunctionPattern.test(lower)) {
824
+ return 'security';
825
+ }
826
+ return 'unknown';
827
+ }
828
+ /**
829
+ * Analyze toString() pattern in Math.random() usage
830
+ * Determines intent based on base and truncation length
831
+ */
832
+ function analyzeToStringPattern(lineContent) {
833
+ const toString36Match = lineContent.match(/Math\.random\(\)\.toString\(36\)/);
834
+ const toString16Match = lineContent.match(/Math\.random\(\)\.toString\(16\)/);
835
+ if (!toString36Match && !toString16Match) {
836
+ return { hasToString: false, base: null, isTruncated: false, truncationLength: null, intent: 'unknown' };
837
+ }
838
+ const base = toString36Match ? 36 : 16;
839
+ // Check for truncation methods
840
+ const substringMatch = lineContent.match(/\.substring\((\d+)(?:,\s*(\d+))?\)/);
841
+ const sliceMatch = lineContent.match(/\.slice\((\d+)(?:,\s*(\d+))?\)/);
842
+ const substrMatch = lineContent.match(/\.substr\((\d+)(?:,\s*(\d+))?\)/);
843
+ const truncMatch = substringMatch || sliceMatch || substrMatch;
844
+ if (!truncMatch) {
845
+ return { hasToString: true, base, isTruncated: false, truncationLength: null, intent: 'full-token' };
846
+ }
847
+ // Calculate truncation length
848
+ const start = parseInt(truncMatch[1]);
849
+ const end = truncMatch[2] ? parseInt(truncMatch[2]) : null;
850
+ const length = end ? (end - start) : null;
851
+ // Classify intent by length
852
+ // Short (2-9 chars): UI correlation IDs, React keys
853
+ // Medium (10-15 chars): Business IDs, order numbers
854
+ if (length && length <= 9) {
855
+ return { hasToString: true, base, isTruncated: true, truncationLength: length, intent: 'short-ui-id' };
856
+ }
857
+ else if (length && length <= 15) {
858
+ return { hasToString: true, base, isTruncated: true, truncationLength: length, intent: 'business-id' };
859
+ }
860
+ else {
861
+ return { hasToString: true, base, isTruncated: true, truncationLength: length, intent: 'business-id' };
862
+ }
863
+ }
864
+ /**
865
+ * Extract variable name from Math.random() assignment
866
+ * Examples:
867
+ * const token = Math.random() -> "token"
868
+ * const businessId = Math.random().toString(36) -> "businessId"
869
+ * return Math.random() -> null (no variable)
870
+ */
871
+ function extractMathRandomVariableName(lineContent) {
872
+ // const/let/var variableName = Math.random...
873
+ const assignmentMatch = lineContent.match(/(?:const|let|var)\s+(\w+)\s*=.*Math\.random/);
874
+ if (assignmentMatch)
875
+ return assignmentMatch[1];
876
+ // object.property = Math.random...
877
+ const propertyMatch = lineContent.match(/(\w+)\s*[:=]\s*Math\.random/);
878
+ if (propertyMatch)
879
+ return propertyMatch[1];
880
+ // function parameter default: functionName(param = Math.random())
881
+ const paramMatch = lineContent.match(/(\w+)\s*=\s*Math\.random/);
882
+ if (paramMatch)
883
+ return paramMatch[1];
884
+ return null; // No variable name found
885
+ }
886
+ /**
887
+ * Classify variable name security risk based on naming patterns
888
+ *
889
+ * High risk: Security-sensitive names (token, secret, key, etc.)
890
+ * Medium risk: Unclear context
891
+ * Low risk: Non-security names (id, businessId, orderId, etc.)
892
+ */
893
+ function classifyVariableNameRisk(varName) {
894
+ if (!varName)
895
+ return 'medium'; // Unknown usage, moderate risk
896
+ const lower = varName.toLowerCase();
897
+ // High risk: security-sensitive variable names
898
+ const highRiskPatterns = [
899
+ 'token', 'secret', 'key', 'password', 'credential',
900
+ 'signature', 'salt', 'nonce', 'session', 'csrf',
901
+ 'auth', 'apikey', 'accesstoken', 'refreshtoken',
902
+ 'jwt', 'bearer', 'oauth', 'sessionid'
903
+ ];
904
+ if (highRiskPatterns.some(p => lower.includes(p))) {
905
+ return 'high';
906
+ }
907
+ // Low risk: clearly non-security contexts
908
+ const lowRiskPatterns = [
909
+ // Business identifiers
910
+ 'id', 'uid', 'guid', 'business', 'order', 'invoice',
911
+ 'customer', 'user', 'product', 'item', 'transaction',
912
+ 'request', 'reference', 'tracking', 'confirmation',
913
+ // Test/demo data
914
+ 'test', 'mock', 'demo', 'sample', 'example', 'fixture',
915
+ 'random', 'temp', 'temporary', 'generated', 'dummy',
916
+ // UI identifiers
917
+ 'toast', 'notification', 'element', 'component', 'widget',
918
+ 'modal', 'dialog', 'popup', 'unique', 'react'
919
+ ];
920
+ if (lowRiskPatterns.some(p => lower.includes(p))) {
921
+ return 'low';
922
+ }
923
+ return 'medium'; // Unclear context, moderate risk
924
+ }
925
+ /**
926
+ * Analyze surrounding code context for security signals
927
+ * Returns context type and description for severity classification
928
+ */
929
+ function analyzeMathRandomContext(content, filePath, lineNumber) {
930
+ const lines = content.split('\n');
931
+ const start = Math.max(0, lineNumber - 10);
932
+ const end = Math.min(lines.length, lineNumber + 5);
933
+ const context = lines.slice(start, end).join('\n');
934
+ // Security context indicators (functions, imports, comments)
935
+ const securityPatterns = [
936
+ /\b(generate|create)(Token|Secret|Key|Password|Nonce|Salt|Session|Signature)/i,
937
+ /\b(auth|crypto|encrypt|decrypt|hash|sign)\b/i,
938
+ /function\s+.*(?:token|secret|key|auth|crypto)/i,
939
+ /\bimport.*(?:crypto|jsonwebtoken|bcrypt|argon2|jose)/i,
940
+ /\/\*.*(?:security|authentication|cryptograph|authorization)/i,
941
+ /\/\/.*(?:security|auth|crypto|token|secret)/i,
942
+ ];
943
+ const inSecurityContext = securityPatterns.some(p => p.test(context));
944
+ // Test context
945
+ const testFilePatterns = /\.(test|spec)\.(ts|tsx|js|jsx)$/i;
946
+ const testContextPatterns = [
947
+ /\b(describe|it|test|expect|mock|jest|vitest|mocha|chai)\b/i,
948
+ /\b(beforeEach|afterEach|beforeAll|afterAll)\b/i,
949
+ /\b(fixture|stub|spy)\b/i,
950
+ ];
951
+ const inTestContext = testFilePatterns.test(filePath) ||
952
+ testContextPatterns.some(p => p.test(context));
953
+ // UI/cosmetic context (reuse existing logic)
954
+ const lineContent = lines[lineNumber];
955
+ const inUIContext = isCosmeticMathRandom(lineContent, content, lineNumber);
956
+ // Business logic context (non-security ID generation)
957
+ // Note: UUID/CAPTCHA patterns excluded - handled by functionIntent classification
958
+ const businessLogicPatterns = [
959
+ /\b(business|order|invoice|customer|product|transaction)Id\b/i,
960
+ /\b(reference|tracking|confirmation)Number\b/i,
961
+ ];
962
+ const inBusinessLogicContext = businessLogicPatterns.some(p => p.test(context)) &&
963
+ !inSecurityContext;
964
+ // Determine context description
965
+ let contextDescription = 'unknown context';
966
+ if (inSecurityContext) {
967
+ contextDescription = 'security-sensitive function';
968
+ }
969
+ else if (inTestContext) {
970
+ contextDescription = 'test/mock data generation';
971
+ }
972
+ else if (inUIContext) {
973
+ contextDescription = 'UI/cosmetic usage';
974
+ }
975
+ else if (inBusinessLogicContext) {
976
+ contextDescription = 'business identifier generation';
977
+ }
978
+ return {
979
+ inSecurityContext,
980
+ inTestContext,
981
+ inUIContext,
982
+ inBusinessLogicContext,
983
+ contextDescription,
984
+ };
985
+ }
765
986
  function detectDangerousFunctions(content, filePath) {
766
987
  const vulnerabilities = [];
767
988
  // Skip scanner/fixture files to avoid self-detection
@@ -1024,13 +1245,100 @@ function detectDangerousFunctions(content, filePath) {
1024
1245
  break;
1025
1246
  }
1026
1247
  }
1027
- // Special handling for Math.random() - skip cosmetic/UI uses
1248
+ // Special handling for Math.random() - enhanced context-aware severity classification
1028
1249
  if (funcPattern.name === 'Math.random for security') {
1029
- // Check if this is cosmetic use (CSS, animations, UI variations)
1030
- if (isCosmeticMathRandom(line, content, index)) {
1031
- // Skip entirely - this is not a security concern
1032
- break;
1250
+ // Phase 1: File-level exclusions (skip entirely)
1251
+ if ((0, context_helpers_1.isSeedOrDataGenFile)(filePath)) {
1252
+ break; // Skip seed/data generation files entirely
1253
+ }
1254
+ if ((0, context_helpers_1.isEducationalVulnerabilityFile)(filePath)) {
1255
+ break; // Skip intentional vulnerability examples
1256
+ }
1257
+ // Phase 2: Context analysis
1258
+ const varName = extractMathRandomVariableName(line);
1259
+ const nameRisk = classifyVariableNameRisk(varName);
1260
+ const context = analyzeMathRandomContext(content, filePath, index);
1261
+ const functionName = extractFunctionContext(content, index);
1262
+ const functionIntent = classifyFunctionIntent(functionName);
1263
+ const toStringPattern = analyzeToStringPattern(line);
1264
+ // Phase 3: Skip cosmetic/UI uses
1265
+ if (context.inUIContext) {
1266
+ break; // Already working
1267
+ }
1268
+ // Phase 4: Skip UUID/CAPTCHA generation functions
1269
+ if (functionIntent === 'uuid' || functionIntent === 'captcha') {
1270
+ break; // Legitimate non-security uses
1271
+ }
1272
+ // Phase 5: Determine severity
1273
+ let severity = 'medium';
1274
+ let confidence = 'medium';
1275
+ let explanation = '';
1276
+ let description = funcPattern.description;
1277
+ let suggestedFix = funcPattern.suggestedFix;
1278
+ // Test context - INFO
1279
+ if (context.inTestContext) {
1280
+ severity = 'info';
1281
+ confidence = 'low';
1282
+ explanation = ' (test data generation)';
1283
+ description = 'Math.random() used in test context for generating mock data. Not security-critical, but consider crypto.randomUUID() for better uniqueness in tests.';
1284
+ suggestedFix = 'Consider crypto.randomUUID() for test data uniqueness, though Math.random() is acceptable in tests';
1285
+ }
1286
+ // Seed/demo function context - INFO
1287
+ else if (functionIntent === 'demo') {
1288
+ severity = 'info';
1289
+ confidence = 'low';
1290
+ explanation = ' (seed/demo data generation)';
1291
+ description = 'Math.random() used for generating fixture/seed data. Not security-critical in development contexts.';
1292
+ suggestedFix = 'Acceptable for seed data. Use crypto.randomUUID() if uniqueness guarantees needed.';
1033
1293
  }
1294
+ // Security context - HIGH
1295
+ else if (nameRisk === 'high' || context.inSecurityContext || functionIntent === 'security') {
1296
+ severity = 'high';
1297
+ confidence = 'high';
1298
+ explanation = ' (security-sensitive context)';
1299
+ description = 'Math.random() is NOT cryptographically secure and MUST NOT be used for tokens, keys, passwords, or session IDs. This can lead to predictable values that attackers can exploit.';
1300
+ suggestedFix = 'Replace with crypto.randomBytes() or crypto.randomUUID() for security-sensitive operations';
1301
+ }
1302
+ // Short UI ID pattern - INFO
1303
+ else if (toStringPattern.intent === 'short-ui-id') {
1304
+ severity = 'info';
1305
+ confidence = 'low';
1306
+ explanation = ' (UI correlation ID)';
1307
+ description = 'Math.random() used for short UI correlation IDs. Not security-critical, but collisions possible in high-volume scenarios.';
1308
+ suggestedFix = 'For UI correlation, crypto.randomUUID() provides better uniqueness guarantees';
1309
+ }
1310
+ // Business ID pattern - LOW
1311
+ else if (nameRisk === 'low' || context.inBusinessLogicContext || toStringPattern.intent === 'business-id') {
1312
+ severity = 'low';
1313
+ confidence = 'low';
1314
+ explanation = ' (business identifier)';
1315
+ description = 'Math.random() is being used for non-security purposes (business IDs, tracking numbers). While not critical, Math.random() can produce collisions in high-volume scenarios.';
1316
+ suggestedFix = 'Consider crypto.randomUUID() for better uniqueness guarantees and collision resistance';
1317
+ }
1318
+ // Unknown context - MEDIUM
1319
+ else {
1320
+ severity = 'medium';
1321
+ confidence = 'medium';
1322
+ explanation = ' (unclear context)';
1323
+ description = 'Math.random() is being used. Verify this is not for security-critical purposes like tokens, session IDs, or cryptographic operations.';
1324
+ suggestedFix = 'If used for security, replace with crypto.randomBytes(). For unique IDs, use crypto.randomUUID()';
1325
+ }
1326
+ // Update title with context
1327
+ const title = `Math.random() in ${context.contextDescription}${explanation}`;
1328
+ vulnerabilities.push({
1329
+ id: `dangerous-func-${filePath}-${index + 1}-${funcPattern.name}`,
1330
+ filePath,
1331
+ lineNumber: index + 1,
1332
+ lineContent: line.trim(),
1333
+ severity,
1334
+ category: 'dangerous_function',
1335
+ title,
1336
+ description,
1337
+ suggestedFix,
1338
+ confidence,
1339
+ layer: 2,
1340
+ });
1341
+ break; // Only report once per line
1034
1342
  }
1035
1343
  // Standard handling for all other patterns
1036
1344
  let severity = funcPattern.severity;
@@ -1 +1 @@
1
- {"version":3,"file":"dangerous-functions.js","sourceRoot":"","sources":["../../src/layer2/dangerous-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dangerous-functions.js","sourceRoot":"","sources":["../../src/layer2/dangerous-functions.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * dangerous functions, risky imports, auth anti-patterns, framework checks,
5
5
  * and AI code fingerprinting
6
6
  */
7
- import type { Vulnerability, ScanFile } from '../types';
7
+ import type { Vulnerability, ScanFile, CancellationToken } 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, cancellationToken?: CancellationToken): 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;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"}
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,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC1E,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;AAqHD,wBAAsB,aAAa,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,GAAE,aAAkB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,YAAY,CAAC,CAoKvB;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"}
@@ -111,9 +111,11 @@ function processFileLayer2(file, options, authHelperContext) {
111
111
  stats,
112
112
  };
113
113
  }
114
- // Parallel batch size for Layer 2 processing
114
+ // Parallel batch size for Layer 2 processing (larger batches for performance)
115
115
  const LAYER2_PARALLEL_BATCH_SIZE = 50;
116
- async function runLayer2Scan(files, options = {}) {
116
+ // Progress update interval (report every N files for better UX)
117
+ const PROGRESS_UPDATE_INTERVAL = 10;
118
+ async function runLayer2Scan(files, options = {}, onProgress, cancellationToken) {
117
119
  const startTime = Date.now();
118
120
  const vulnerabilities = [];
119
121
  const stats = {
@@ -135,8 +137,14 @@ async function runLayer2Scan(files, options = {}) {
135
137
  };
136
138
  // Detect auth helpers once for all files (if not already provided)
137
139
  const authHelperContext = options.authHelperContext || (0, auth_helper_detector_1.detectAuthHelpers)(files);
140
+ // Track progress for frequent updates
141
+ let filesProcessed = 0;
142
+ let lastProgressUpdate = 0;
138
143
  // Process files in parallel batches for better performance on large codebases
139
144
  for (let i = 0; i < files.length; i += LAYER2_PARALLEL_BATCH_SIZE) {
145
+ // Check for cancellation before processing batch
146
+ if (cancellationToken?.cancelled)
147
+ break;
140
148
  const batch = files.slice(i, i + LAYER2_PARALLEL_BATCH_SIZE);
141
149
  const results = await Promise.all(batch.map(file => Promise.resolve(processFileLayer2(file, options, authHelperContext))));
142
150
  for (const result of results) {
@@ -146,6 +154,18 @@ async function runLayer2Scan(files, options = {}) {
146
154
  stats[key] += value;
147
155
  }
148
156
  }
157
+ filesProcessed = Math.min(i + LAYER2_PARALLEL_BATCH_SIZE, files.length);
158
+ // Report progress every PROGRESS_UPDATE_INTERVAL files for better UX
159
+ if (onProgress && (filesProcessed - lastProgressUpdate >= PROGRESS_UPDATE_INTERVAL || filesProcessed === files.length)) {
160
+ onProgress({
161
+ status: 'layer2',
162
+ message: 'Running structural scan (variables, logic gates)...',
163
+ filesProcessed,
164
+ totalFiles: files.length,
165
+ vulnerabilitiesFound: vulnerabilities.length,
166
+ });
167
+ lastProgressUpdate = filesProcessed;
168
+ }
149
169
  }
150
170
  // Deduplicate findings
151
171
  const dedupedVulnerabilities = deduplicateFindings(vulnerabilities);