@oculum/scanner 1.0.2 → 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.
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -5
- package/dist/index.js.map +1 -1
- package/dist/layer1/entropy.d.ts.map +1 -1
- package/dist/layer1/entropy.js +6 -4
- package/dist/layer1/entropy.js.map +1 -1
- package/dist/layer1/index.d.ts +2 -2
- package/dist/layer1/index.d.ts.map +1 -1
- package/dist/layer1/index.js +14 -5
- package/dist/layer1/index.js.map +1 -1
- package/dist/layer2/dangerous-functions.d.ts.map +1 -1
- package/dist/layer2/dangerous-functions.js +319 -11
- package/dist/layer2/dangerous-functions.js.map +1 -1
- package/dist/layer2/index.d.ts +2 -2
- package/dist/layer2/index.d.ts.map +1 -1
- package/dist/layer2/index.js +14 -5
- package/dist/layer2/index.js.map +1 -1
- package/dist/layer3/anthropic.d.ts +5 -1
- package/dist/layer3/anthropic.d.ts.map +1 -1
- package/dist/layer3/anthropic.js +50 -1
- package/dist/layer3/anthropic.js.map +1 -1
- package/dist/layer3/index.d.ts +3 -1
- package/dist/layer3/index.d.ts.map +1 -1
- package/dist/layer3/index.js +21 -0
- package/dist/layer3/index.js.map +1 -1
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +40 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/context-helpers.d.ts +12 -0
- package/dist/utils/context-helpers.d.ts.map +1 -1
- package/dist/utils/context-helpers.js +40 -0
- package/dist/utils/context-helpers.js.map +1 -1
- package/package.json +4 -2
- package/src/index.ts +75 -5
- package/src/layer1/entropy.ts +6 -4
- package/src/layer1/index.ts +23 -8
- package/src/layer2/__tests__/math-random-enhanced.test.ts +405 -0
- package/src/layer2/dangerous-functions.ts +368 -11
- package/src/layer2/index.ts +20 -8
- package/src/layer3/anthropic.ts +55 -1
- package/src/layer3/index.ts +27 -2
- package/src/types.ts +59 -0
- 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
|
-
//
|
|
705
|
-
|
|
706
|
-
|
|
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() -
|
|
1248
|
+
// Special handling for Math.random() - enhanced context-aware severity classification
|
|
1028
1249
|
if (funcPattern.name === 'Math.random for security') {
|
|
1029
|
-
//
|
|
1030
|
-
if (
|
|
1031
|
-
// Skip
|
|
1032
|
-
|
|
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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"}
|
package/dist/layer2/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
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
8
|
import type { ProgressCallback } from '../index';
|
|
9
9
|
import type { MiddlewareAuthConfig } from '../utils/middleware-detector';
|
|
10
10
|
import { type AuthHelperContext } from '../utils/auth-helper-detector';
|
|
@@ -40,7 +40,7 @@ export interface Layer2Result {
|
|
|
40
40
|
/** Heuristic breakdown stats for noise analysis */
|
|
41
41
|
stats: Layer2Stats;
|
|
42
42
|
}
|
|
43
|
-
export declare function runLayer2Scan(files: ScanFile[], options?: Layer2Options, onProgress?: ProgressCallback): Promise<Layer2Result>;
|
|
43
|
+
export declare function runLayer2Scan(files: ScanFile[], options?: Layer2Options, onProgress?: ProgressCallback, cancellationToken?: CancellationToken): Promise<Layer2Result>;
|
|
44
44
|
export { detectSensitiveVariables } from './variables';
|
|
45
45
|
export { detectLogicGates } from './logic-gates';
|
|
46
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;
|
|
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"}
|
package/dist/layer2/index.js
CHANGED
|
@@ -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
|
-
|
|
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 = {}, onProgress) {
|
|
|
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,9 +154,9 @@ async function runLayer2Scan(files, options = {}, onProgress) {
|
|
|
146
154
|
stats[key] += value;
|
|
147
155
|
}
|
|
148
156
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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)) {
|
|
152
160
|
onProgress({
|
|
153
161
|
status: 'layer2',
|
|
154
162
|
message: 'Running structural scan (variables, logic gates)...',
|
|
@@ -156,6 +164,7 @@ async function runLayer2Scan(files, options = {}, onProgress) {
|
|
|
156
164
|
totalFiles: files.length,
|
|
157
165
|
vulnerabilitiesFound: vulnerabilities.length,
|
|
158
166
|
});
|
|
167
|
+
lastProgressUpdate = filesProcessed;
|
|
159
168
|
}
|
|
160
169
|
}
|
|
161
170
|
// Deduplicate findings
|