atlas-pipeline-mcp 1.0.16 → 1.0.18

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 (58) hide show
  1. package/README.md +45 -1
  2. package/dist/mcp.js +263 -0
  3. package/dist/mcp.js.map +1 -1
  4. package/dist/providers/llm-provider.d.ts +60 -25
  5. package/dist/providers/llm-provider.d.ts.map +1 -1
  6. package/dist/providers/llm-provider.js +154 -73
  7. package/dist/providers/llm-provider.js.map +1 -1
  8. package/dist/server.js +3 -3
  9. package/dist/server.js.map +1 -1
  10. package/dist/tools/context.js.map +1 -1
  11. package/dist/tools/critique.d.ts.map +1 -1
  12. package/dist/tools/critique.js +4 -3
  13. package/dist/tools/critique.js.map +1 -1
  14. package/dist/tools/debug.d.ts +101 -0
  15. package/dist/tools/debug.d.ts.map +1 -0
  16. package/dist/tools/debug.js +712 -0
  17. package/dist/tools/debug.js.map +1 -0
  18. package/dist/tools/decompose.d.ts.map +1 -1
  19. package/dist/tools/decompose.js +40 -28
  20. package/dist/tools/decompose.js.map +1 -1
  21. package/dist/tools/docs.d.ts +94 -0
  22. package/dist/tools/docs.d.ts.map +1 -0
  23. package/dist/tools/docs.js +508 -0
  24. package/dist/tools/docs.js.map +1 -0
  25. package/dist/tools/explain.d.ts +82 -0
  26. package/dist/tools/explain.d.ts.map +1 -0
  27. package/dist/tools/explain.js +543 -0
  28. package/dist/tools/explain.js.map +1 -0
  29. package/dist/tools/intent.d.ts.map +1 -1
  30. package/dist/tools/intent.js +33 -20
  31. package/dist/tools/intent.js.map +1 -1
  32. package/dist/tools/optimize.d.ts.map +1 -1
  33. package/dist/tools/optimize.js +18 -3
  34. package/dist/tools/optimize.js.map +1 -1
  35. package/dist/tools/security.d.ts +45 -0
  36. package/dist/tools/security.d.ts.map +1 -0
  37. package/dist/tools/security.js +417 -0
  38. package/dist/tools/security.js.map +1 -0
  39. package/dist/tools/testgen.d.ts +52 -0
  40. package/dist/tools/testgen.d.ts.map +1 -0
  41. package/dist/tools/testgen.js +413 -0
  42. package/dist/tools/testgen.js.map +1 -0
  43. package/dist/tools/think.d.ts +187 -0
  44. package/dist/tools/think.d.ts.map +1 -0
  45. package/dist/tools/think.js +432 -0
  46. package/dist/tools/think.js.map +1 -0
  47. package/dist/tools/variants.d.ts.map +1 -1
  48. package/dist/tools/variants.js +41 -29
  49. package/dist/tools/variants.js.map +1 -1
  50. package/dist/types.d.ts +77 -20
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/types.js +21 -0
  53. package/dist/types.js.map +1 -1
  54. package/dist/utils.d.ts +108 -12
  55. package/dist/utils.d.ts.map +1 -1
  56. package/dist/utils.js +302 -68
  57. package/dist/utils.js.map +1 -1
  58. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/tools/intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/tools/intent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../src/tools/optimize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,eAAe,EACf,YAAY,EAEb,MAAM,aAAa,CAAC;AAQrB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,eAAe,CAAC,CAsE1B;AA6JD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;eAE2C,YAAY,CAAC,MAAM,CAAC,EAAE;;;;IAKpE;;OAEG;;eAE0C,YAAY,CAAC,MAAM,CAAC,EAAE;;;;IAKnE;;OAEG;;eAEsB,YAAY,CAAC,MAAM,CAAC,EAAE;;;;IAK/C;;OAEG;;eAEqE,YAAY,CAAC,MAAM,CAAC,EAAE;;;;CAI/F,CAAC;AAEF;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,GACjB;IACD,MAAM,EAAE,MAAM,OAAO,mBAAmB,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAqCA"}
1
+ {"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../src/tools/optimize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,eAAe,EACf,YAAY,EAEb,MAAM,aAAa,CAAC;AASrB;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,eAAe,CAAC,CAqF1B;AA6JD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;eAE2C,YAAY,CAAC,MAAM,CAAC,EAAE;;;;IAKpE;;OAEG;;eAE0C,YAAY,CAAC,MAAM,CAAC,EAAE;;;;IAKnE;;OAEG;;eAEsB,YAAY,CAAC,MAAM,CAAC,EAAE;;;;IAK/C;;OAEG;;eAEqE,YAAY,CAAC,MAAM,CAAC,EAAE;;;;CAI/F,CAAC;AAEF;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,QAAQ,GACjB;IACD,MAAM,EAAE,MAAM,OAAO,mBAAmB,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAqCA"}
@@ -7,7 +7,8 @@
7
7
  * - Enhances readability and maintainability
8
8
  * - Follows best practices
9
9
  */
10
- import { getOllamaClient, PromptTemplates } from './ollama.js';
10
+ import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
11
+ import { PromptTemplates } from './ollama.js';
11
12
  import { logger } from '../utils.js';
12
13
  // ============================================================================
13
14
  // Optimization
@@ -25,10 +26,24 @@ export async function optimizeVariant(variant, critique) {
25
26
  if (critique.qualityScore >= 90 && !hasCriticalIssues(critique)) {
26
27
  return createMinimalOptimization(variant, critique);
27
28
  }
29
+ // Check if we're in no-LLM mode - return delegation fallback
30
+ if (isNoLLMMode()) {
31
+ logger.debug('No LLM available, returning optimization delegation fallback');
32
+ return {
33
+ content: variant.content,
34
+ optimizationsApplied: [{
35
+ type: 'best_practice',
36
+ description: 'Optimization Delegation: AI Assistant to perform changes',
37
+ impact: 'high',
38
+ }],
39
+ finalMetrics: critique.assessment,
40
+ explanation: `Optimization Strategy: Manual Application.\n\nBased on the analysis, please apply the following improvements to the code:\n${critique.issues.map(i => `- [${i.severity}] ${i.description}`).join('\n')}`,
41
+ };
42
+ }
28
43
  try {
29
- const client = getOllamaClient();
44
+ const provider = await getActiveProvider();
30
45
  const prompt = buildOptimizationPrompt(variant, critique);
31
- const response = await client.generateJson(prompt, {
46
+ const response = await provider.completeJson(prompt, {
32
47
  systemPrompt: PromptTemplates.optimization,
33
48
  temperature: 0.4,
34
49
  maxTokens: 4096,
@@ -1 +1 @@
1
- {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../src/tools/optimize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../src/tools/optimize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Atlas Server - Security Analysis Tool
3
+ *
4
+ * Comprehensive security vulnerability scanning:
5
+ * - SQL Injection detection
6
+ * - XSS vulnerability detection
7
+ * - Hardcoded secrets/credentials
8
+ * - Insecure dependencies patterns
9
+ * - Authentication/Authorization issues
10
+ * - Input validation gaps
11
+ * - Cryptographic weaknesses
12
+ */
13
+ export interface SecurityVulnerability {
14
+ id: string;
15
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
16
+ category: SecurityCategory;
17
+ title: string;
18
+ description: string;
19
+ lineNumber?: number;
20
+ codeSnippet?: string;
21
+ recommendation: string;
22
+ cweId?: string;
23
+ owaspCategory?: string;
24
+ }
25
+ export type SecurityCategory = 'injection' | 'authentication' | 'authorization' | 'xss' | 'secrets' | 'cryptography' | 'configuration' | 'dependencies' | 'input_validation' | 'sensitive_data' | 'other';
26
+ export interface SecurityScanResult {
27
+ vulnerabilities: SecurityVulnerability[];
28
+ summary: SecuritySummary;
29
+ riskScore: number;
30
+ recommendations: string[];
31
+ scannedAt: string;
32
+ }
33
+ export interface SecuritySummary {
34
+ critical: number;
35
+ high: number;
36
+ medium: number;
37
+ low: number;
38
+ info: number;
39
+ total: number;
40
+ }
41
+ /**
42
+ * Scan code for security vulnerabilities
43
+ */
44
+ export declare function scanSecurity(code: string, language?: string, context?: string): Promise<SecurityScanResult>;
45
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,KAAK,GACL,SAAS,GACT,cAAc,GACd,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAsMD;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CAiC7B"}
@@ -0,0 +1,417 @@
1
+ /**
2
+ * Atlas Server - Security Analysis Tool
3
+ *
4
+ * Comprehensive security vulnerability scanning:
5
+ * - SQL Injection detection
6
+ * - XSS vulnerability detection
7
+ * - Hardcoded secrets/credentials
8
+ * - Insecure dependencies patterns
9
+ * - Authentication/Authorization issues
10
+ * - Input validation gaps
11
+ * - Cryptographic weaknesses
12
+ */
13
+ import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
14
+ import { logger } from '../utils.js';
15
+ const SECURITY_PATTERNS = [
16
+ // SQL Injection
17
+ {
18
+ pattern: /(\$\{.*\}|`.*\$\{.*\}`|\+\s*\w+\s*\+).*(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC|EXECUTE)/gi,
19
+ category: 'injection',
20
+ severity: 'critical',
21
+ title: 'Potential SQL Injection',
22
+ description: 'String concatenation or template literals used in SQL queries can lead to SQL injection attacks.',
23
+ recommendation: 'Use parameterized queries or prepared statements instead of string concatenation.',
24
+ cweId: 'CWE-89',
25
+ },
26
+ {
27
+ pattern: /(?:query|execute|exec)\s*\(\s*[`'"].*\$\{/gi,
28
+ category: 'injection',
29
+ severity: 'critical',
30
+ title: 'SQL Query with Template Literal',
31
+ description: 'Template literals in SQL queries are vulnerable to injection attacks.',
32
+ recommendation: 'Use parameterized queries with placeholders (?, $1, :param).',
33
+ cweId: 'CWE-89',
34
+ },
35
+ // Command Injection
36
+ {
37
+ pattern: /(?:exec|spawn|execSync|spawnSync|execFile)\s*\([^)]*\$\{/gi,
38
+ category: 'injection',
39
+ severity: 'critical',
40
+ title: 'Potential Command Injection',
41
+ description: 'User input in shell commands can lead to arbitrary command execution.',
42
+ recommendation: 'Validate and sanitize all inputs. Use execFile with argument arrays instead of exec.',
43
+ cweId: 'CWE-78',
44
+ },
45
+ // XSS
46
+ {
47
+ pattern: /innerHTML\s*=|outerHTML\s*=|document\.write\s*\(/gi,
48
+ category: 'xss',
49
+ severity: 'high',
50
+ title: 'Potential XSS Vulnerability',
51
+ description: 'Direct DOM manipulation with user content can lead to cross-site scripting.',
52
+ recommendation: 'Use textContent instead of innerHTML, or sanitize HTML with DOMPurify.',
53
+ cweId: 'CWE-79',
54
+ },
55
+ {
56
+ pattern: /dangerouslySetInnerHTML/gi,
57
+ category: 'xss',
58
+ severity: 'high',
59
+ title: 'React dangerouslySetInnerHTML',
60
+ description: 'Using dangerouslySetInnerHTML can introduce XSS vulnerabilities.',
61
+ recommendation: 'Sanitize HTML content with DOMPurify before rendering.',
62
+ cweId: 'CWE-79',
63
+ },
64
+ // Hardcoded Secrets
65
+ {
66
+ pattern: /(?:api[_-]?key|apikey|secret|password|passwd|pwd|token|auth|credential)\s*[:=]\s*['"][^'"]{8,}['"]/gi,
67
+ category: 'secrets',
68
+ severity: 'critical',
69
+ title: 'Hardcoded Secret/Credential',
70
+ description: 'Secrets hardcoded in source code can be exposed in version control.',
71
+ recommendation: 'Use environment variables or a secrets manager (e.g., AWS Secrets Manager, HashiCorp Vault).',
72
+ cweId: 'CWE-798',
73
+ },
74
+ {
75
+ pattern: /(?:-----BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY-----)/gi,
76
+ category: 'secrets',
77
+ severity: 'critical',
78
+ title: 'Private Key in Source Code',
79
+ description: 'Private keys should never be stored in source code.',
80
+ recommendation: 'Store private keys in secure key management systems, not in code.',
81
+ cweId: 'CWE-321',
82
+ },
83
+ // Weak Cryptography
84
+ {
85
+ pattern: /createHash\s*\(\s*['"](?:md5|sha1)['"]\s*\)/gi,
86
+ category: 'cryptography',
87
+ severity: 'high',
88
+ title: 'Weak Hash Algorithm',
89
+ description: 'MD5 and SHA1 are cryptographically broken and should not be used for security.',
90
+ recommendation: 'Use SHA-256, SHA-3, or bcrypt/argon2 for password hashing.',
91
+ cweId: 'CWE-328',
92
+ },
93
+ {
94
+ pattern: /Math\.random\s*\(\)/gi,
95
+ category: 'cryptography',
96
+ severity: 'medium',
97
+ title: 'Insecure Random Number Generator',
98
+ description: 'Math.random() is not cryptographically secure.',
99
+ recommendation: 'Use crypto.randomBytes() or crypto.randomUUID() for security-sensitive operations.',
100
+ cweId: 'CWE-338',
101
+ },
102
+ // Authentication Issues
103
+ {
104
+ pattern: /(?:verify|check).*(?:===|==)\s*(?:true|false|['"])/gi,
105
+ category: 'authentication',
106
+ severity: 'medium',
107
+ title: 'Potentially Weak Authentication Check',
108
+ description: 'Simple boolean comparisons for authentication may be bypassable.',
109
+ recommendation: 'Use timing-safe comparison functions and proper authentication libraries.',
110
+ cweId: 'CWE-287',
111
+ },
112
+ // Eval and Dynamic Code Execution
113
+ {
114
+ pattern: /\beval\s*\(/gi,
115
+ category: 'injection',
116
+ severity: 'critical',
117
+ title: 'Use of eval()',
118
+ description: 'eval() executes arbitrary code and is a severe security risk.',
119
+ recommendation: 'Avoid eval(). Use JSON.parse() for JSON, or Function constructor with caution.',
120
+ cweId: 'CWE-95',
121
+ },
122
+ {
123
+ pattern: /new\s+Function\s*\(/gi,
124
+ category: 'injection',
125
+ severity: 'high',
126
+ title: 'Dynamic Function Constructor',
127
+ description: 'new Function() can execute arbitrary code similar to eval().',
128
+ recommendation: 'Avoid dynamic code generation. Use safe alternatives.',
129
+ cweId: 'CWE-95',
130
+ },
131
+ // Input Validation
132
+ {
133
+ pattern: /JSON\.parse\s*\([^)]*(?:req|request|body|params|query)/gi,
134
+ category: 'input_validation',
135
+ severity: 'medium',
136
+ title: 'Unvalidated JSON Parsing',
137
+ description: 'Parsing user input without validation can lead to prototype pollution or crashes.',
138
+ recommendation: 'Validate JSON schema before parsing. Use libraries like zod or joi.',
139
+ cweId: 'CWE-20',
140
+ },
141
+ // Sensitive Data Exposure
142
+ {
143
+ pattern: /console\.log\s*\([^)]*(?:password|secret|token|key|credential)/gi,
144
+ category: 'sensitive_data',
145
+ severity: 'medium',
146
+ title: 'Sensitive Data in Logs',
147
+ description: 'Logging sensitive information can expose credentials.',
148
+ recommendation: 'Redact sensitive data before logging. Use structured logging.',
149
+ cweId: 'CWE-532',
150
+ },
151
+ // CORS Misconfiguration
152
+ {
153
+ pattern: /(?:Access-Control-Allow-Origin|cors).*['"]\*['"]/gi,
154
+ category: 'configuration',
155
+ severity: 'medium',
156
+ title: 'Overly Permissive CORS',
157
+ description: 'Allowing all origins (*) can expose APIs to unauthorized access.',
158
+ recommendation: 'Specify allowed origins explicitly instead of using wildcard.',
159
+ cweId: 'CWE-942',
160
+ },
161
+ // Path Traversal
162
+ {
163
+ pattern: /(?:readFile|writeFile|readdir|unlink|rmdir).*(?:req|request|params|query)/gi,
164
+ category: 'injection',
165
+ severity: 'high',
166
+ title: 'Potential Path Traversal',
167
+ description: 'Using user input in file operations can allow directory traversal attacks.',
168
+ recommendation: 'Validate and sanitize file paths. Use path.resolve() and check against base directory.',
169
+ cweId: 'CWE-22',
170
+ },
171
+ // Insecure Deserialization
172
+ {
173
+ pattern: /(?:unserialize|deserialize|pickle\.loads|yaml\.load(?!_safe))/gi,
174
+ category: 'injection',
175
+ severity: 'critical',
176
+ title: 'Insecure Deserialization',
177
+ description: 'Deserializing untrusted data can lead to remote code execution.',
178
+ recommendation: 'Use safe deserialization methods. Validate and sanitize input.',
179
+ cweId: 'CWE-502',
180
+ },
181
+ // HTTP without TLS
182
+ {
183
+ pattern: /http:\/\/(?!localhost|127\.0\.0\.1|0\.0\.0\.0)/gi,
184
+ category: 'configuration',
185
+ severity: 'low',
186
+ title: 'Non-HTTPS URL',
187
+ description: 'Using HTTP instead of HTTPS exposes data to interception.',
188
+ recommendation: 'Use HTTPS for all external communications.',
189
+ cweId: 'CWE-319',
190
+ },
191
+ ];
192
+ // ============================================================================
193
+ // Security Scanning
194
+ // ============================================================================
195
+ /**
196
+ * Scan code for security vulnerabilities
197
+ */
198
+ export async function scanSecurity(code, language, context) {
199
+ logger.debug({ codeLength: code.length, language }, 'Starting security scan');
200
+ // First, run heuristic pattern matching
201
+ const heuristicVulns = runHeuristicScan(code);
202
+ // If LLM is available, enhance with AI analysis
203
+ let aiVulns = [];
204
+ if (!isNoLLMMode()) {
205
+ try {
206
+ aiVulns = await runAIScan(code, language, context);
207
+ }
208
+ catch (error) {
209
+ logger.warn({ error }, 'AI security scan failed, using heuristic results only');
210
+ }
211
+ }
212
+ // Merge and deduplicate vulnerabilities
213
+ const allVulns = mergeVulnerabilities(heuristicVulns, aiVulns);
214
+ // Calculate summary
215
+ const summary = calculateSummary(allVulns);
216
+ const riskScore = calculateRiskScore(summary);
217
+ // Generate recommendations
218
+ const recommendations = generateRecommendations(allVulns);
219
+ return {
220
+ vulnerabilities: allVulns,
221
+ summary,
222
+ riskScore,
223
+ recommendations,
224
+ scannedAt: new Date().toISOString(),
225
+ };
226
+ }
227
+ /**
228
+ * Run heuristic pattern-based security scan
229
+ */
230
+ function runHeuristicScan(code) {
231
+ const vulnerabilities = [];
232
+ const lines = code.split('\n');
233
+ for (const secPattern of SECURITY_PATTERNS) {
234
+ // Reset regex state
235
+ secPattern.pattern.lastIndex = 0;
236
+ let match;
237
+ while ((match = secPattern.pattern.exec(code)) !== null) {
238
+ // Find line number
239
+ const beforeMatch = code.substring(0, match.index);
240
+ const lineNumber = beforeMatch.split('\n').length;
241
+ // Get code snippet (the line containing the match)
242
+ const snippetLine = lines[lineNumber - 1] || '';
243
+ vulnerabilities.push({
244
+ id: `heur-${vulnerabilities.length + 1}`,
245
+ severity: secPattern.severity,
246
+ category: secPattern.category,
247
+ title: secPattern.title,
248
+ description: secPattern.description,
249
+ lineNumber,
250
+ codeSnippet: snippetLine.trim(),
251
+ recommendation: secPattern.recommendation,
252
+ cweId: secPattern.cweId,
253
+ });
254
+ }
255
+ }
256
+ return vulnerabilities;
257
+ }
258
+ /**
259
+ * Run AI-powered security analysis
260
+ */
261
+ async function runAIScan(code, language, context) {
262
+ const provider = await getActiveProvider();
263
+ const prompt = `Analyze this code for security vulnerabilities.
264
+
265
+ ## Code
266
+ \`\`\`${language ?? ''}
267
+ ${code}
268
+ \`\`\`
269
+
270
+ ${context ? `## Additional Context\n${context}\n` : ''}
271
+
272
+ ## Find These Types of Issues:
273
+ 1. Injection vulnerabilities (SQL, Command, XSS)
274
+ 2. Authentication/Authorization flaws
275
+ 3. Hardcoded secrets or credentials
276
+ 4. Cryptographic weaknesses
277
+ 5. Input validation issues
278
+ 6. Sensitive data exposure
279
+ 7. Configuration problems
280
+ 8. Any OWASP Top 10 vulnerabilities
281
+
282
+ ## Output Format
283
+ {
284
+ "vulnerabilities": [
285
+ {
286
+ "severity": "critical|high|medium|low|info",
287
+ "category": "injection|authentication|authorization|xss|secrets|cryptography|configuration|dependencies|input_validation|sensitive_data|other",
288
+ "title": "Brief title",
289
+ "description": "Detailed description of the vulnerability",
290
+ "lineNumber": 0,
291
+ "recommendation": "How to fix it",
292
+ "cweId": "CWE-XXX",
293
+ "owaspCategory": "A01:2021 - Broken Access Control"
294
+ }
295
+ ]
296
+ }`;
297
+ const response = await provider.completeJson(prompt, {
298
+ systemPrompt: 'You are a senior security engineer. Analyze code for vulnerabilities. Be thorough but avoid false positives. Return valid JSON only.',
299
+ temperature: 0.2,
300
+ maxTokens: 2048,
301
+ });
302
+ if (response.data?.vulnerabilities) {
303
+ return response.data.vulnerabilities.map((v, i) => ({
304
+ id: `ai-${i + 1}`,
305
+ severity: normalizeSeverity(v.severity),
306
+ category: normalizeCategory(v.category),
307
+ title: v.title,
308
+ description: v.description,
309
+ lineNumber: v.lineNumber,
310
+ recommendation: v.recommendation,
311
+ cweId: v.cweId,
312
+ owaspCategory: v.owaspCategory,
313
+ }));
314
+ }
315
+ return [];
316
+ }
317
+ /**
318
+ * Merge and deduplicate vulnerabilities
319
+ */
320
+ function mergeVulnerabilities(heuristic, ai) {
321
+ const seen = new Set();
322
+ const merged = [];
323
+ for (const vuln of [...heuristic, ...ai]) {
324
+ // Create a dedup key based on category, line, and title
325
+ const key = `${vuln.category}-${vuln.lineNumber ?? 'none'}-${vuln.title.toLowerCase().slice(0, 30)}`;
326
+ if (!seen.has(key)) {
327
+ seen.add(key);
328
+ merged.push(vuln);
329
+ }
330
+ }
331
+ // Sort by severity
332
+ const severityOrder = { critical: 0, high: 1, medium: 2, low: 3, info: 4 };
333
+ return merged.sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);
334
+ }
335
+ /**
336
+ * Calculate vulnerability summary
337
+ */
338
+ function calculateSummary(vulnerabilities) {
339
+ const summary = {
340
+ critical: 0,
341
+ high: 0,
342
+ medium: 0,
343
+ low: 0,
344
+ info: 0,
345
+ total: vulnerabilities.length,
346
+ };
347
+ for (const vuln of vulnerabilities) {
348
+ summary[vuln.severity]++;
349
+ }
350
+ return summary;
351
+ }
352
+ /**
353
+ * Calculate overall risk score (0-100)
354
+ */
355
+ function calculateRiskScore(summary) {
356
+ // Weighted scoring
357
+ const score = summary.critical * 25 +
358
+ summary.high * 15 +
359
+ summary.medium * 8 +
360
+ summary.low * 3 +
361
+ summary.info * 1;
362
+ // Normalize to 0-100 (capped)
363
+ return Math.min(100, score);
364
+ }
365
+ /**
366
+ * Generate actionable recommendations
367
+ */
368
+ function generateRecommendations(vulnerabilities) {
369
+ const recommendations = new Set();
370
+ // Add critical issue recommendations first
371
+ for (const vuln of vulnerabilities) {
372
+ if (vuln.severity === 'critical' || vuln.severity === 'high') {
373
+ recommendations.add(vuln.recommendation);
374
+ }
375
+ }
376
+ // Add general best practices
377
+ const categories = new Set(vulnerabilities.map(v => v.category));
378
+ if (categories.has('secrets')) {
379
+ recommendations.add('Implement a secrets management solution (e.g., HashiCorp Vault, AWS Secrets Manager)');
380
+ }
381
+ if (categories.has('injection')) {
382
+ recommendations.add('Use parameterized queries and input validation throughout the application');
383
+ }
384
+ if (categories.has('authentication')) {
385
+ recommendations.add('Review authentication flow and implement multi-factor authentication');
386
+ }
387
+ if (categories.has('xss')) {
388
+ recommendations.add('Implement Content Security Policy (CSP) headers');
389
+ }
390
+ return Array.from(recommendations).slice(0, 10);
391
+ }
392
+ /**
393
+ * Normalize severity string
394
+ */
395
+ function normalizeSeverity(severity) {
396
+ const normalized = severity.toLowerCase();
397
+ if (['critical', 'high', 'medium', 'low', 'info'].includes(normalized)) {
398
+ return normalized;
399
+ }
400
+ return 'medium';
401
+ }
402
+ /**
403
+ * Normalize category string
404
+ */
405
+ function normalizeCategory(category) {
406
+ const normalized = category.toLowerCase().replace(/[^a-z_]/g, '_');
407
+ const validCategories = [
408
+ 'injection', 'authentication', 'authorization', 'xss', 'secrets',
409
+ 'cryptography', 'configuration', 'dependencies', 'input_validation',
410
+ 'sensitive_data', 'other'
411
+ ];
412
+ if (validCategories.includes(normalized)) {
413
+ return normalized;
414
+ }
415
+ return 'other';
416
+ }
417
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"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"}