codeslick-cli 1.2.0 → 1.2.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/README.md +18 -19
- package/dist/packages/cli/src/reporters/cli-reporter.js +7 -7
- package/dist/packages/cli/src/reporters/cli-reporter.js.map +1 -1
- package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.d.ts +5 -2
- package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.d.ts.map +1 -1
- package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.js +61 -5
- package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.js.map +1 -1
- package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.d.ts +6 -4
- package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.d.ts.map +1 -1
- package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.js +97 -4
- package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.js.map +1 -1
- package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.d.ts +21 -0
- package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.d.ts.map +1 -0
- package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.js +114 -0
- package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.js.map +1 -0
- package/dist/src/lib/analyzers/go/security-checks/injection-attacks.d.ts +1 -0
- package/dist/src/lib/analyzers/go/security-checks/injection-attacks.d.ts.map +1 -1
- package/dist/src/lib/analyzers/go/security-checks/injection-attacks.js +48 -0
- package/dist/src/lib/analyzers/go/security-checks/injection-attacks.js.map +1 -1
- package/dist/src/lib/analyzers/go-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/go-analyzer.js +3 -0
- package/dist/src/lib/analyzers/go-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.d.ts +226 -2
- package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.d.ts.map +1 -1
- package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.js +1108 -23
- package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.js.map +1 -1
- package/dist/src/lib/analyzers/helpers/variable-tracker.d.ts.map +1 -1
- package/dist/src/lib/analyzers/helpers/variable-tracker.js +6 -4
- package/dist/src/lib/analyzers/helpers/variable-tracker.js.map +1 -1
- package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.d.ts +2 -0
- package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.d.ts.map +1 -1
- package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.js +76 -12
- package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.js.map +1 -1
- package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.d.ts +2 -0
- package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.d.ts.map +1 -1
- package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.js +99 -6
- package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.js.map +1 -1
- package/dist/src/lib/analyzers/java/security-checks/injection-attacks.d.ts +1 -0
- package/dist/src/lib/analyzers/java/security-checks/injection-attacks.d.ts.map +1 -1
- package/dist/src/lib/analyzers/java/security-checks/injection-attacks.js +41 -3
- package/dist/src/lib/analyzers/java/security-checks/injection-attacks.js.map +1 -1
- package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.d.ts +3 -2
- package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.d.ts.map +1 -1
- package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.js +82 -11
- package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.js.map +1 -1
- package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.d.ts +3 -0
- package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.d.ts.map +1 -1
- package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.js +75 -0
- package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.js.map +1 -1
- package/dist/src/lib/analyzers/javascript-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/javascript-analyzer.js +9 -2
- package/dist/src/lib/analyzers/javascript-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.d.ts +3 -2
- package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.d.ts.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.js +113 -10
- package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.js.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.d.ts +2 -0
- package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.d.ts.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.js +48 -0
- package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.js.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.d.ts +3 -0
- package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.d.ts.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.js +84 -0
- package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.js.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/injection-attacks.d.ts +4 -2
- package/dist/src/lib/analyzers/python/security-checks/injection-attacks.d.ts.map +1 -1
- package/dist/src/lib/analyzers/python/security-checks/injection-attacks.js +43 -3
- package/dist/src/lib/analyzers/python/security-checks/injection-attacks.js.map +1 -1
- package/dist/src/lib/analyzers/python-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/python-analyzer.js +19 -3
- package/dist/src/lib/analyzers/python-analyzer.js.map +1 -1
- package/dist/src/lib/analyzers/secrets/patterns/api-keys/aws.js +1 -1
- package/dist/src/lib/analyzers/secrets/patterns/api-keys/aws.js.map +1 -1
- package/dist/src/lib/analyzers/secrets/patterns/api-keys/communication.js +2 -2
- package/dist/src/lib/analyzers/secrets/patterns/api-keys/communication.js.map +1 -1
- package/dist/src/lib/analyzers/secrets/patterns/api-keys/github.js +3 -3
- package/dist/src/lib/analyzers/secrets/patterns/api-keys/github.js.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/ai-generated-code.d.ts.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/ai-generated-code.js +8 -1
- package/dist/src/lib/analyzers/typescript/security-checks/ai-generated-code.js.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.d.ts +2 -0
- package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.d.ts.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.js +49 -0
- package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.js.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.d.ts +13 -11
- package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.d.ts.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.js +79 -22
- package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.js.map +1 -1
- package/dist/src/lib/analyzers/typescript/security-checks/type-safety.d.ts +24 -0
- package/dist/src/lib/analyzers/typescript/security-checks/type-safety.d.ts.map +1 -0
- package/dist/src/lib/analyzers/typescript/security-checks/type-safety.js +181 -0
- package/dist/src/lib/analyzers/typescript/security-checks/type-safety.js.map +1 -0
- package/dist/src/lib/analyzers/typescript-analyzer.d.ts.map +1 -1
- package/dist/src/lib/analyzers/typescript-analyzer.js +3 -0
- package/dist/src/lib/analyzers/typescript-analyzer.js.map +1 -1
- package/dist/src/lib/security/compliance-mapping.d.ts.map +1 -1
- package/dist/src/lib/security/compliance-mapping.js +19 -0
- package/dist/src/lib/security/compliance-mapping.js.map +1 -1
- package/dist/src/lib/security/severity-scoring.d.ts.map +1 -1
- package/dist/src/lib/security/severity-scoring.js +7 -0
- package/dist/src/lib/security/severity-scoring.js.map +1 -1
- package/package.json +1 -1
- package/src/reporters/cli-reporter.ts +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-code-detection-utils.js","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/ai-code-detection-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-code-detection-utils.js","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/ai-code-detection-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-tracker.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/variable-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,CAczC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,CAU7C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,MAAM,EACZ,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,GACrE,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"variable-tracker.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/variable-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,CAczC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,CAU7C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,MAAM,EACZ,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,GACrE,GAAG,CAAC,MAAM,CAAC,CA+Fb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EACrB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC9C,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,GACrE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsD1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,GACd,SAAS,EAAE,CAyBb"}
|
|
@@ -116,7 +116,8 @@ function findDeclarations(lines, code, isInsideTemplateLiteral) {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
// Match function parameters in regular functions: function name(param1, param2)
|
|
119
|
-
|
|
119
|
+
// Also matches async functions: async function name(param1, param2)
|
|
120
|
+
const funcParamMatch = trimmed.match(/(?:async\s+)?function\s+[a-zA-Z_$][a-zA-Z0-9_$]*\s*\(([^)]*)\)/);
|
|
120
121
|
if (funcParamMatch && funcParamMatch[1]) {
|
|
121
122
|
funcParamMatch[1].split(',').forEach(param => {
|
|
122
123
|
const paramName = param.trim().split(/[=\s]/)[0];
|
|
@@ -125,12 +126,13 @@ function findDeclarations(lines, code, isInsideTemplateLiteral) {
|
|
|
125
126
|
});
|
|
126
127
|
}
|
|
127
128
|
// Match class methods: methodName() { or methodName(params) {
|
|
129
|
+
// Also matches async methods: async methodName(params) {
|
|
128
130
|
// This includes React methods like increment(), render(), etc.
|
|
129
|
-
const classMethodMatch = trimmed.match(/^\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\([^)]*\)\s*\{/);
|
|
131
|
+
const classMethodMatch = trimmed.match(/^\s*(?:async\s+)?([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\([^)]*\)\s*\{/);
|
|
130
132
|
if (classMethodMatch) {
|
|
131
133
|
declaredVars.add(classMethodMatch[1]);
|
|
132
|
-
// Also collect parameters from class methods
|
|
133
|
-
const methodParamMatch = trimmed.match(/^\s*[a-zA-Z_$][a-zA-Z0-9_$]*\s*\(([^)]*)\)/);
|
|
134
|
+
// Also collect parameters from class methods (including async methods)
|
|
135
|
+
const methodParamMatch = trimmed.match(/^\s*(?:async\s+)?[a-zA-Z_$][a-zA-Z0-9_$]*\s*\(([^)]*)\)/);
|
|
134
136
|
if (methodParamMatch && methodParamMatch[1]) {
|
|
135
137
|
methodParamMatch[1].split(',').forEach(param => {
|
|
136
138
|
const paramName = param.trim().split(/[=\s:]/)[0]; // Handle TypeScript types too
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-tracker.js","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/variable-tracker.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAUH,kCAcC;AAOD,0CAUC;AAUD,
|
|
1
|
+
{"version":3,"file":"variable-tracker.js","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/variable-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Detects AI-generated code patterns as SECURITY RISKS:
|
|
5
5
|
* - 12 hallucination patterns (Python/JavaScript/Rust influence)
|
|
6
|
+
* - 10 Spring Boot hallucination patterns
|
|
6
7
|
* - 8 code smell heuristics (over-engineering, inconsistency)
|
|
7
8
|
* - Confidence scoring (HIGH/MEDIUM/LOW)
|
|
8
9
|
*
|
|
@@ -12,6 +13,7 @@
|
|
|
12
13
|
*
|
|
13
14
|
* Phase 1.5, Week 5-7 (AI-Generated Code Detection)
|
|
14
15
|
* Created: January 8, 2026
|
|
16
|
+
* Updated: January 23, 2026 - Removed .length() pattern (false positive fix)
|
|
15
17
|
*/
|
|
16
18
|
import { SecurityVulnerability } from '../../types';
|
|
17
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-generated-code.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/analyzers/java/security-checks/ai-generated-code.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ai-generated-code.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/analyzers/java/security-checks/ai-generated-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA4IpD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,qBAAqB,EAAE,CA+KzB"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Detects AI-generated code patterns as SECURITY RISKS:
|
|
6
6
|
* - 12 hallucination patterns (Python/JavaScript/Rust influence)
|
|
7
|
+
* - 10 Spring Boot hallucination patterns
|
|
7
8
|
* - 8 code smell heuristics (over-engineering, inconsistency)
|
|
8
9
|
* - Confidence scoring (HIGH/MEDIUM/LOW)
|
|
9
10
|
*
|
|
@@ -13,19 +14,20 @@
|
|
|
13
14
|
*
|
|
14
15
|
* Phase 1.5, Week 5-7 (AI-Generated Code Detection)
|
|
15
16
|
* Created: January 8, 2026
|
|
17
|
+
* Updated: January 23, 2026 - Removed .length() pattern (false positive fix)
|
|
16
18
|
*/
|
|
17
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
20
|
exports.checkAIGeneratedCode = checkAIGeneratedCode;
|
|
19
21
|
const createVulnerability_1 = require("../utils/createVulnerability");
|
|
20
22
|
const ai_code_detection_utils_1 = require("../../helpers/ai-code-detection-utils");
|
|
21
23
|
/**
|
|
22
|
-
* Java hallucination patterns (
|
|
24
|
+
* Java hallucination patterns (22 patterns)
|
|
23
25
|
*
|
|
24
26
|
* AI code generators hallucinate methods from other languages:
|
|
25
|
-
* - Python influence: .append(), .len()
|
|
27
|
+
* - Python influence: .append(), .len(), .strip()
|
|
26
28
|
* - JavaScript influence: .push()
|
|
27
29
|
* - Rust influence: .to_string(), .is_empty()
|
|
28
|
-
* -
|
|
30
|
+
* - Spring Boot mistakes: Wrong annotations, incorrect parameters
|
|
29
31
|
*/
|
|
30
32
|
const HALLUCINATION_PATTERNS = new Map([
|
|
31
33
|
// Python-style methods in Java
|
|
@@ -37,16 +39,15 @@ const HALLUCINATION_PATTERNS = new Map([
|
|
|
37
39
|
correct: '.length() or .size()',
|
|
38
40
|
description: 'Java uses .length() for arrays, .size() for Collections, or .length for Strings. Not .len(). This is Python syntax.'
|
|
39
41
|
}],
|
|
42
|
+
['strip', {
|
|
43
|
+
correct: '.trim()',
|
|
44
|
+
description: 'Java uses .trim() to remove whitespace, not .strip(). This is a Python method. (Note: Java 11+ has .strip(), but .trim() is more common)'
|
|
45
|
+
}],
|
|
40
46
|
// JavaScript-style methods in Java
|
|
41
47
|
['push', {
|
|
42
48
|
correct: '.add()',
|
|
43
49
|
description: 'Java Collections use .add(), not .push(). This is a JavaScript/TypeScript method.'
|
|
44
50
|
}],
|
|
45
|
-
// Property/method confusion
|
|
46
|
-
['length', {
|
|
47
|
-
correct: '.length (no parentheses)',
|
|
48
|
-
description: 'Java String.length is a method .length(), not a property. Arrays use .length property (no parentheses).'
|
|
49
|
-
}],
|
|
50
51
|
// Rust/Python influence
|
|
51
52
|
['to_string', {
|
|
52
53
|
correct: '.toString()',
|
|
@@ -82,6 +83,47 @@ const HALLUCINATION_PATTERNS = new Map([
|
|
|
82
83
|
correct: 'String.format()',
|
|
83
84
|
description: 'Non-existent method. Java uses String.format() static method, not instance method with underscore.'
|
|
84
85
|
}],
|
|
86
|
+
// Spring Boot AI hallucinations (10 new patterns)
|
|
87
|
+
['saveWithoutValidation', {
|
|
88
|
+
correct: 'save() with validation disabled in validator',
|
|
89
|
+
description: 'Non-existent JPA method. AI hallucinated a convenience method. Disable validation in @Valid or validator.'
|
|
90
|
+
}],
|
|
91
|
+
['updateOrCreateIfChanged', {
|
|
92
|
+
correct: 'Check if changed, then save()',
|
|
93
|
+
description: 'Non-existent JPA method. AI over-engineered. Use standard save() with change detection logic.'
|
|
94
|
+
}],
|
|
95
|
+
['deleteByIdCascade', {
|
|
96
|
+
correct: 'deleteById() with @OnDelete(action=CASCADE) in entity',
|
|
97
|
+
description: 'Non-existent JPA method. Cascade behavior defined in entity @ManyToOne/@OneToMany, not delete method.'
|
|
98
|
+
}],
|
|
99
|
+
['findOrCreate', {
|
|
100
|
+
correct: 'findById() or save()',
|
|
101
|
+
description: 'Non-existent JPA method. AI merged two operations. Use findById().orElseGet(() -> save(new Entity())).'
|
|
102
|
+
}],
|
|
103
|
+
['refreshFromDatabase', {
|
|
104
|
+
correct: 'entityManager.refresh()',
|
|
105
|
+
description: 'Non-existent method. Use EntityManager.refresh(entity) to reload from database.'
|
|
106
|
+
}],
|
|
107
|
+
['validateAndSave', {
|
|
108
|
+
correct: '@Valid on entity parameter',
|
|
109
|
+
description: 'Non-existent method. Use @Valid annotation on method parameter for validation before save.'
|
|
110
|
+
}],
|
|
111
|
+
['toJson', {
|
|
112
|
+
correct: 'Use Jackson ObjectMapper or @JsonView',
|
|
113
|
+
description: 'Non-existent entity method. AI hallucinated serialization. Use ObjectMapper.writeValueAsString().'
|
|
114
|
+
}],
|
|
115
|
+
['fromJson', {
|
|
116
|
+
correct: 'Use Jackson ObjectMapper',
|
|
117
|
+
description: 'Non-existent static method. Use ObjectMapper.readValue(json, Entity.class) for deserialization.'
|
|
118
|
+
}],
|
|
119
|
+
['findByIdOrThrow', {
|
|
120
|
+
correct: 'findById().orElseThrow()',
|
|
121
|
+
description: 'Non-existent JPA method. Use findById().orElseThrow(() -> new NotFoundException()).'
|
|
122
|
+
}],
|
|
123
|
+
['existsByIdAndActive', {
|
|
124
|
+
correct: 'Define custom method in repository interface',
|
|
125
|
+
description: 'AI hallucinated complex query method. Define as: boolean existsByIdAndActive(Long id, Boolean active) in repository.'
|
|
126
|
+
}],
|
|
85
127
|
]);
|
|
86
128
|
/**
|
|
87
129
|
* Detect AI-generated code in Java
|
|
@@ -98,10 +140,12 @@ function checkAIGeneratedCode(lines, filename) {
|
|
|
98
140
|
let hallucinationCount = 0;
|
|
99
141
|
const hallucinationLines = new Set();
|
|
100
142
|
const detectedPatterns = [];
|
|
101
|
-
// Combined regex for all
|
|
143
|
+
// Combined regex for all 22 hallucination patterns (optimized)
|
|
102
144
|
const combinedPattern = new RegExp('\\.' +
|
|
103
|
-
'(append|len|push|
|
|
104
|
-
'split_by|remove_at|contains_key|format_
|
|
145
|
+
'(append|len|strip|push|to_string|is_empty|trim_|substring_of|' +
|
|
146
|
+
'split_by|remove_at|contains_key|format_|' +
|
|
147
|
+
'saveWithoutValidation|updateOrCreateIfChanged|deleteByIdCascade|findOrCreate|' +
|
|
148
|
+
'refreshFromDatabase|validateAndSave|toJson|fromJson|findByIdOrThrow|existsByIdAndActive)' +
|
|
105
149
|
'\\s*\\(', 'g');
|
|
106
150
|
let inMultiLineComment = false;
|
|
107
151
|
// 1. Detect hallucination patterns
|
|
@@ -126,14 +170,28 @@ function checkAIGeneratedCode(lines, filename) {
|
|
|
126
170
|
const method = match[1];
|
|
127
171
|
const details = HALLUCINATION_PATTERNS.get(method);
|
|
128
172
|
if (details) {
|
|
173
|
+
// Special case: StringBuilder/StringBuffer.append() is VALID Java (not a hallucination)
|
|
174
|
+
// Only flag .append() on Collections (ArrayList, List, etc.)
|
|
175
|
+
if (method === 'append') {
|
|
176
|
+
// Check if used on StringBuilder or StringBuffer (valid usage)
|
|
177
|
+
const isStringBuilderContext = cleanedLine.match(/StringBuilder|StringBuffer/);
|
|
178
|
+
const isPreviousLineStringBuilder = index > 0 &&
|
|
179
|
+
(lines[index - 1].includes('StringBuilder') ||
|
|
180
|
+
lines[index - 1].includes('StringBuffer'));
|
|
181
|
+
if (isStringBuilderContext || isPreviousLineStringBuilder) {
|
|
182
|
+
// Skip - this is valid StringBuilder.append()
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
129
186
|
hallucinationCount++;
|
|
130
187
|
hallucinationLines.add(lineNumber);
|
|
131
188
|
detectedPatterns.push(method);
|
|
132
189
|
}
|
|
133
190
|
}
|
|
134
191
|
});
|
|
135
|
-
// 2. Run heuristic detectors
|
|
192
|
+
// 2. Run heuristic detectors (13 total: 8 original + 5 perfect code)
|
|
136
193
|
const heuristicScores = {
|
|
194
|
+
// Original 8 heuristics
|
|
137
195
|
overEngineeredErrors: (0, ai_code_detection_utils_1.detectOverEngineeredErrorHandling)(lines),
|
|
138
196
|
unnecessaryWrappers: (0, ai_code_detection_utils_1.detectUnnecessaryWrappers)(lines),
|
|
139
197
|
verboseComments: (0, ai_code_detection_utils_1.detectVerboseComments)(lines),
|
|
@@ -142,6 +200,12 @@ function checkAIGeneratedCode(lines, filename) {
|
|
|
142
200
|
unnecessaryAsync: (0, ai_code_detection_utils_1.detectUnnecessaryAsync)(lines),
|
|
143
201
|
genericVariables: (0, ai_code_detection_utils_1.detectGenericVariableOveruse)(lines),
|
|
144
202
|
inconsistentStrings: (0, ai_code_detection_utils_1.detectInconsistentStringConcatenation)(lines),
|
|
203
|
+
// Perfect code heuristics (5 new)
|
|
204
|
+
zeroEdgeCases: (0, ai_code_detection_utils_1.detectZeroEdgeCases)(lines),
|
|
205
|
+
uniformIndentation: (0, ai_code_detection_utils_1.detectUniformIndentation)(lines),
|
|
206
|
+
textbookVariableNames: (0, ai_code_detection_utils_1.detectTextbookVariableNames)(lines),
|
|
207
|
+
noCommentsWithPerfectStructure: (0, ai_code_detection_utils_1.detectNoCommentsWithPerfectStructure)(lines),
|
|
208
|
+
excessiveParameterValidation: (0, ai_code_detection_utils_1.detectExcessiveParameterValidation)(lines),
|
|
145
209
|
};
|
|
146
210
|
// 3. Calculate confidence and severity
|
|
147
211
|
const detection = (0, ai_code_detection_utils_1.calculateAICodeConfidence)(hallucinationCount, heuristicScores);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-generated-code.js","sourceRoot":"","sources":["../../../../../../../../src/lib/analyzers/java/security-checks/ai-generated-code.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"ai-generated-code.js","sourceRoot":"","sources":["../../../../../../../../src/lib/analyzers/java/security-checks/ai-generated-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Java Enhanced Supply Chain Security Checks
|
|
3
3
|
* OWASP A03:2025 - Software and Supply Chain Security
|
|
4
|
+
* Phase 1.5 Week 12: Added Check #8 for known malicious packages
|
|
4
5
|
*
|
|
5
6
|
* Detects supply chain vulnerabilities specific to Java ecosystem.
|
|
6
7
|
* Updated for OWASP 2025 with enhanced Maven/Gradle security (Phase 7B Day 7).
|
|
@@ -17,6 +18,7 @@ import { SecurityVulnerability } from '../../types';
|
|
|
17
18
|
* - Check #5: Dependency confusion (HIGH) - NEW OWASP 2025
|
|
18
19
|
* - Check #6: Runtime bytecode loading (CRITICAL) - NEW OWASP 2025
|
|
19
20
|
* - Check #7: Downloaded code execution without integrity verification (CRITICAL) - NEW Jan 10, 2026
|
|
21
|
+
* - Check #8: Known malicious packages (CRITICAL) 🆕 - NEW Phase 1.5 Week 12
|
|
20
22
|
*
|
|
21
23
|
* @param lines - Array of code lines
|
|
22
24
|
* @returns Array of security vulnerabilities found
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-supply-chain.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/analyzers/java/security-checks/enhanced-supply-chain.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"enhanced-supply-chain.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/analyzers/java/security-checks/enhanced-supply-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAsCpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EAAE,GACd,qBAAqB,EAAE,CAgazB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Java Enhanced Supply Chain Security Checks
|
|
4
4
|
* OWASP A03:2025 - Software and Supply Chain Security
|
|
5
|
+
* Phase 1.5 Week 12: Added Check #8 for known malicious packages
|
|
5
6
|
*
|
|
6
7
|
* Detects supply chain vulnerabilities specific to Java ecosystem.
|
|
7
8
|
* Updated for OWASP 2025 with enhanced Maven/Gradle security (Phase 7B Day 7).
|
|
@@ -9,6 +10,39 @@
|
|
|
9
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
11
|
exports.checkEnhancedSupplyChain = checkEnhancedSupplyChain;
|
|
11
12
|
const createVulnerability_1 = require("../utils/createVulnerability");
|
|
13
|
+
/**
|
|
14
|
+
* Curated list of known malicious Maven packages
|
|
15
|
+
* Source: OSSF Malicious Packages Database + historical incidents
|
|
16
|
+
* Updated: January 2026
|
|
17
|
+
* Format: groupId:artifactId
|
|
18
|
+
*/
|
|
19
|
+
const KNOWN_MALICIOUS_PACKAGES = [
|
|
20
|
+
// Historical high-profile incidents
|
|
21
|
+
'org.apache.logging.log4j:log4j-core', // if version < 2.15.0 (Log4Shell)
|
|
22
|
+
'commons-collections:commons-collections', // if version < 3.2.2
|
|
23
|
+
'org.codehaus.groovy:groovy-all', // certain versions with RCE
|
|
24
|
+
// Typosquatting common packages
|
|
25
|
+
'org.springframework:spring-core-framework',
|
|
26
|
+
'com.google.guava:guava-collections',
|
|
27
|
+
'org.hibernate:hibernate-framework',
|
|
28
|
+
'org.apache.commons:commons-text',
|
|
29
|
+
'junit:junit-framework',
|
|
30
|
+
'log4j:log4j-logger',
|
|
31
|
+
'org.slf4j:slf4j-simple-logger',
|
|
32
|
+
// Recent malware campaigns (2024-2026)
|
|
33
|
+
'com.alibaba.druid:druid-spring-boot-starter', // compromised versions
|
|
34
|
+
'org.apache.struts:struts2-core-security'
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* Known vulnerable groupIds that are commonly typosquatted
|
|
38
|
+
*/
|
|
39
|
+
const SUSPICIOUS_GROUPIDS = [
|
|
40
|
+
'org.apache',
|
|
41
|
+
'com.google',
|
|
42
|
+
'org.springframework',
|
|
43
|
+
'org.hibernate',
|
|
44
|
+
'com.alibaba'
|
|
45
|
+
];
|
|
12
46
|
/**
|
|
13
47
|
* Checks for enhanced supply chain security vulnerabilities in Java code
|
|
14
48
|
*
|
|
@@ -20,6 +54,7 @@ const createVulnerability_1 = require("../utils/createVulnerability");
|
|
|
20
54
|
* - Check #5: Dependency confusion (HIGH) - NEW OWASP 2025
|
|
21
55
|
* - Check #6: Runtime bytecode loading (CRITICAL) - NEW OWASP 2025
|
|
22
56
|
* - Check #7: Downloaded code execution without integrity verification (CRITICAL) - NEW Jan 10, 2026
|
|
57
|
+
* - Check #8: Known malicious packages (CRITICAL) 🆕 - NEW Phase 1.5 Week 12
|
|
23
58
|
*
|
|
24
59
|
* @param lines - Array of code lines
|
|
25
60
|
* @returns Array of security vulnerabilities found
|
|
@@ -31,27 +66,62 @@ function checkEnhancedSupplyChain(lines) {
|
|
|
31
66
|
const userInputVars = new Set();
|
|
32
67
|
// Track downloaded files (from URL.openStream, HttpClient, etc.)
|
|
33
68
|
const downloadedFiles = new Map(); // filename -> line number where downloaded
|
|
69
|
+
// Track Maven XML multi-line dependencies for malicious package detection
|
|
70
|
+
let currentGroupId = null;
|
|
71
|
+
let currentGroupIdLine = null;
|
|
34
72
|
lines.forEach((line, index) => {
|
|
35
73
|
const trimmedLine = line.trim();
|
|
36
74
|
// CRITICAL: Track multi-line comment blocks (/* ... */)
|
|
37
|
-
|
|
75
|
+
// But handle inline comments (/* */ on same line) correctly
|
|
76
|
+
if (trimmedLine.includes('/*') && !trimmedLine.includes('*/')) {
|
|
38
77
|
inMultiLineComment = true;
|
|
39
78
|
}
|
|
40
|
-
if (trimmedLine.includes('*/')) {
|
|
79
|
+
if (trimmedLine.includes('*/') && inMultiLineComment) {
|
|
41
80
|
inMultiLineComment = false;
|
|
42
81
|
return; // Skip the line with */
|
|
43
82
|
}
|
|
44
83
|
// CRITICAL: Skip all lines inside multi-line comments and single-line comments
|
|
45
|
-
// FIX (Dec 6, 2025): Removed trimmedLine.startsWith('*') check
|
|
46
|
-
// Reason: Lines in multi-line comments can start with '-', text, etc. (not just '*')
|
|
47
|
-
// Example: "- Class.forName(userInput)" in documentation was being detected
|
|
48
|
-
// Solution: Rely on inMultiLineComment flag only
|
|
49
84
|
if (!trimmedLine ||
|
|
50
85
|
inMultiLineComment ||
|
|
51
86
|
trimmedLine.startsWith('//')) {
|
|
52
87
|
return;
|
|
53
88
|
}
|
|
54
89
|
const lowerLine = trimmedLine.toLowerCase();
|
|
90
|
+
// Track Maven XML groupId for multi-line dependency detection
|
|
91
|
+
if (lowerLine.includes('<groupid>')) {
|
|
92
|
+
const groupIdMatch = trimmedLine.match(/<groupId>([^<]+)<\/groupId>/i);
|
|
93
|
+
if (groupIdMatch) {
|
|
94
|
+
currentGroupId = groupIdMatch[1];
|
|
95
|
+
currentGroupIdLine = index + 1;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Track Maven XML artifactId and match with groupId
|
|
99
|
+
if (lowerLine.includes('<artifactid>') && currentGroupId) {
|
|
100
|
+
const artifactIdMatch = trimmedLine.match(/<artifactId>([^<]+)<\/artifactId>/i);
|
|
101
|
+
if (artifactIdMatch) {
|
|
102
|
+
const artifactId = artifactIdMatch[1];
|
|
103
|
+
const mavenCoordinate = `${currentGroupId}:${artifactId}`;
|
|
104
|
+
// Check if this matches any malicious package
|
|
105
|
+
if (KNOWN_MALICIOUS_PACKAGES.includes(mavenCoordinate)) {
|
|
106
|
+
vulnerabilities.push((0, createVulnerability_1.createJavaSecurityVulnerability)('known-malicious-package', `CRITICAL: Known malicious package detected - "${mavenCoordinate}"`, 'Remove this package immediately from pom.xml/build.gradle and check for compromise', currentGroupIdLine, // Report on groupId line
|
|
107
|
+
`Package "${mavenCoordinate}" is confirmed malicious or vulnerable by OSSF database. This package has been involved in supply chain attacks.`, `<dependency>\n <groupId>${currentGroupId}</groupId>\n <artifactId>${artifactId}</artifactId>\n</dependency>`, [
|
|
108
|
+
'Malicious code execution from confirmed malware',
|
|
109
|
+
'Data theft and credential harvesting',
|
|
110
|
+
'Backdoor installation and remote access',
|
|
111
|
+
'Supply chain compromise and lateral movement',
|
|
112
|
+
'System compromise and persistence mechanisms'
|
|
113
|
+
], `<dependency>\n <groupId>${currentGroupId}</groupId>\n <artifactId>${artifactId}</artifactId>`, `// Remove "${mavenCoordinate}" - this package is malicious\n// Check pom.xml and remove from dependencies\n// Review code for any malicious activity`, `This package is listed in the OSSF Malicious Packages Database. Immediate removal required.`));
|
|
114
|
+
}
|
|
115
|
+
// Reset after checking
|
|
116
|
+
currentGroupId = null;
|
|
117
|
+
currentGroupIdLine = null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Reset groupId tracking if we exit the dependency block
|
|
121
|
+
if (lowerLine.includes('</dependency>')) {
|
|
122
|
+
currentGroupId = null;
|
|
123
|
+
currentGroupIdLine = null;
|
|
124
|
+
}
|
|
55
125
|
// Track variables that receive user input
|
|
56
126
|
if (lowerLine.includes('request.getparameter') ||
|
|
57
127
|
lowerLine.includes('getuserinput') ||
|
|
@@ -227,6 +297,29 @@ function checkEnhancedSupplyChain(lines) {
|
|
|
227
297
|
}
|
|
228
298
|
}
|
|
229
299
|
}
|
|
300
|
+
// Check #8: Known malicious packages (OSSF database)
|
|
301
|
+
// Phase 1.5 Week 12: Detect Maven/Gradle dependencies mentioned in comments or code
|
|
302
|
+
// Note: Full dependency checking happens in maven-scanner.ts
|
|
303
|
+
// This check catches references to malicious packages in code/comments
|
|
304
|
+
if (lowerLine.includes('dependency>') || lowerLine.includes("'") || lowerLine.includes('"') ||
|
|
305
|
+
lowerLine.includes('groupid') || lowerLine.includes('artifactid') ||
|
|
306
|
+
lowerLine.includes('implementation')) {
|
|
307
|
+
// Check for Maven coordinates in comments or strings
|
|
308
|
+
for (const maliciousPackage of KNOWN_MALICIOUS_PACKAGES) {
|
|
309
|
+
const [groupId, artifactId] = maliciousPackage.split(':');
|
|
310
|
+
// Check if both groupId and artifactId appear in the line
|
|
311
|
+
if (lowerLine.includes(groupId.toLowerCase()) && lowerLine.includes(artifactId.toLowerCase())) {
|
|
312
|
+
vulnerabilities.push((0, createVulnerability_1.createJavaSecurityVulnerability)('known-malicious-package', `CRITICAL: Known malicious package detected - "${maliciousPackage}"`, 'Remove this package immediately from pom.xml/build.gradle and check for compromise', index + 1, `Package "${maliciousPackage}" is confirmed malicious or vulnerable by OSSF database. This package has been involved in supply chain attacks.`, `<!-- ${maliciousPackage} --> // confirmed malware`, [
|
|
313
|
+
'Malicious code execution from confirmed malware',
|
|
314
|
+
'Data theft and credential harvesting',
|
|
315
|
+
'Backdoor installation and remote access',
|
|
316
|
+
'Supply chain compromise and lateral movement',
|
|
317
|
+
'System compromise and persistence mechanisms'
|
|
318
|
+
], `<!-- dependency: ${maliciousPackage} -->`, `// Remove "${maliciousPackage}" - this package is malicious\n// Check pom.xml/build.gradle and remove from dependencies\n// Review code for any malicious activity`, `This package is listed in the OSSF Malicious Packages Database. Immediate removal required.`));
|
|
319
|
+
break; // Only report once per line
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
230
323
|
});
|
|
231
324
|
return vulnerabilities;
|
|
232
325
|
}
|