agentic-qe 3.6.10 → 3.6.12

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 (159) hide show
  1. package/.claude/helpers/learning-service.mjs +2 -0
  2. package/.claude/helpers/statusline-v3.cjs +2 -0
  3. package/.claude/skills/skills-manifest.json +1 -1
  4. package/package.json +1 -1
  5. package/scripts/migrate-v2-to-v3-memory.js +2 -0
  6. package/scripts/sync-claude-flow.cjs +1 -0
  7. package/v3/CHANGELOG.md +39 -0
  8. package/v3/dist/adapters/claude-flow/trajectory-bridge.js +2 -2
  9. package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
  10. package/v3/dist/benchmarks/performance-benchmarks.js +1 -1
  11. package/v3/dist/cli/bundle.js +659 -427
  12. package/v3/dist/cli/commands/code.d.ts.map +1 -1
  13. package/v3/dist/cli/commands/code.js +9 -85
  14. package/v3/dist/cli/commands/code.js.map +1 -1
  15. package/v3/dist/cli/commands/coverage.d.ts.map +1 -1
  16. package/v3/dist/cli/commands/coverage.js +3 -28
  17. package/v3/dist/cli/commands/coverage.js.map +1 -1
  18. package/v3/dist/cli/commands/learning-helpers.d.ts.map +1 -1
  19. package/v3/dist/cli/commands/learning-helpers.js +3 -4
  20. package/v3/dist/cli/commands/learning-helpers.js.map +1 -1
  21. package/v3/dist/cli/commands/learning.d.ts.map +1 -1
  22. package/v3/dist/cli/commands/learning.js +5 -8
  23. package/v3/dist/cli/commands/learning.js.map +1 -1
  24. package/v3/dist/cli/commands/migrate.js +2 -2
  25. package/v3/dist/cli/commands/security.d.ts.map +1 -1
  26. package/v3/dist/cli/commands/security.js +3 -29
  27. package/v3/dist/cli/commands/security.js.map +1 -1
  28. package/v3/dist/cli/commands/test.d.ts.map +1 -1
  29. package/v3/dist/cli/commands/test.js +5 -58
  30. package/v3/dist/cli/commands/test.js.map +1 -1
  31. package/v3/dist/cli/utils/file-discovery.d.ts +27 -0
  32. package/v3/dist/cli/utils/file-discovery.d.ts.map +1 -0
  33. package/v3/dist/cli/utils/file-discovery.js +105 -0
  34. package/v3/dist/cli/utils/file-discovery.js.map +1 -0
  35. package/v3/dist/coordination/constants.d.ts +1 -1
  36. package/v3/dist/coordination/constants.js +1 -1
  37. package/v3/dist/coordination/task-executor.d.ts.map +1 -1
  38. package/v3/dist/coordination/task-executor.js +612 -104
  39. package/v3/dist/coordination/task-executor.js.map +1 -1
  40. package/v3/dist/domains/code-intelligence/coordinator-hypergraph.js +2 -2
  41. package/v3/dist/domains/code-intelligence/coordinator-hypergraph.js.map +1 -1
  42. package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
  43. package/v3/dist/domains/code-intelligence/coordinator.js +10 -3
  44. package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
  45. package/v3/dist/domains/code-intelligence/services/metric-collector/index.d.ts.map +1 -1
  46. package/v3/dist/domains/code-intelligence/services/metric-collector/index.js +10 -0
  47. package/v3/dist/domains/code-intelligence/services/metric-collector/index.js.map +1 -1
  48. package/v3/dist/domains/code-intelligence/services/metric-collector/interfaces.d.ts +7 -1
  49. package/v3/dist/domains/code-intelligence/services/metric-collector/interfaces.d.ts.map +1 -1
  50. package/v3/dist/domains/code-intelligence/services/metric-collector/interfaces.js +10 -1
  51. package/v3/dist/domains/code-intelligence/services/metric-collector/interfaces.js.map +1 -1
  52. package/v3/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +34 -10
  53. package/v3/dist/domains/code-intelligence/services/metric-collector/loc-counter.js.map +1 -1
  54. package/v3/dist/domains/coverage-analysis/coordinator.js +1 -1
  55. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  56. package/v3/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  57. package/v3/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  58. package/v3/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  59. package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  60. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts +10 -1
  61. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
  62. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +40 -5
  63. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
  64. package/v3/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  65. package/v3/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  66. package/v3/dist/init/fleet-integration.d.ts.map +1 -1
  67. package/v3/dist/init/fleet-integration.js +3 -4
  68. package/v3/dist/init/fleet-integration.js.map +1 -1
  69. package/v3/dist/init/init-wizard-hooks.d.ts +8 -1
  70. package/v3/dist/init/init-wizard-hooks.d.ts.map +1 -1
  71. package/v3/dist/init/init-wizard-hooks.js +47 -39
  72. package/v3/dist/init/init-wizard-hooks.js.map +1 -1
  73. package/v3/dist/init/init-wizard-migration.d.ts.map +1 -1
  74. package/v3/dist/init/init-wizard-migration.js +3 -7
  75. package/v3/dist/init/init-wizard-migration.js.map +1 -1
  76. package/v3/dist/init/init-wizard-steps.d.ts.map +1 -1
  77. package/v3/dist/init/init-wizard-steps.js +3 -4
  78. package/v3/dist/init/init-wizard-steps.js.map +1 -1
  79. package/v3/dist/init/migration/data-migrator.d.ts.map +1 -1
  80. package/v3/dist/init/migration/data-migrator.js +6 -10
  81. package/v3/dist/init/migration/data-migrator.js.map +1 -1
  82. package/v3/dist/init/migration/detector.d.ts.map +1 -1
  83. package/v3/dist/init/migration/detector.js +2 -4
  84. package/v3/dist/init/migration/detector.js.map +1 -1
  85. package/v3/dist/init/phases/01-detection.d.ts.map +1 -1
  86. package/v3/dist/init/phases/01-detection.js +2 -4
  87. package/v3/dist/init/phases/01-detection.js.map +1 -1
  88. package/v3/dist/init/phases/06-code-intelligence.d.ts.map +1 -1
  89. package/v3/dist/init/phases/06-code-intelligence.js +4 -6
  90. package/v3/dist/init/phases/06-code-intelligence.js.map +1 -1
  91. package/v3/dist/init/phases/07-hooks.d.ts +22 -1
  92. package/v3/dist/init/phases/07-hooks.d.ts.map +1 -1
  93. package/v3/dist/init/phases/07-hooks.js +137 -51
  94. package/v3/dist/init/phases/07-hooks.js.map +1 -1
  95. package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
  96. package/v3/dist/init/phases/12-verification.js +2 -4
  97. package/v3/dist/init/phases/12-verification.js.map +1 -1
  98. package/v3/dist/init/settings-merge.d.ts +35 -0
  99. package/v3/dist/init/settings-merge.d.ts.map +1 -0
  100. package/v3/dist/init/settings-merge.js +140 -0
  101. package/v3/dist/init/settings-merge.js.map +1 -0
  102. package/v3/dist/integrations/agentic-flow/model-router/router.js +1 -1
  103. package/v3/dist/integrations/agentic-flow/model-router/router.js.map +1 -1
  104. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.d.ts.map +1 -1
  105. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.js +18 -3
  106. package/v3/dist/integrations/agentic-flow/model-router/score-calculator.js.map +1 -1
  107. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts +3 -3
  108. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -1
  109. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +18 -0
  110. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -1
  111. package/v3/dist/integrations/embeddings/cache/EmbeddingCache.d.ts.map +1 -1
  112. package/v3/dist/integrations/embeddings/cache/EmbeddingCache.js +2 -2
  113. package/v3/dist/integrations/embeddings/cache/EmbeddingCache.js.map +1 -1
  114. package/v3/dist/kernel/constants.d.ts +1 -1
  115. package/v3/dist/kernel/constants.js +1 -1
  116. package/v3/dist/kernel/unified-memory-hnsw.d.ts.map +1 -1
  117. package/v3/dist/kernel/unified-memory-hnsw.js +25 -6
  118. package/v3/dist/kernel/unified-memory-hnsw.js.map +1 -1
  119. package/v3/dist/kernel/unified-memory-migration.d.ts.map +1 -1
  120. package/v3/dist/kernel/unified-memory-migration.js +3 -3
  121. package/v3/dist/kernel/unified-memory-migration.js.map +1 -1
  122. package/v3/dist/learning/metrics-tracker.d.ts.map +1 -1
  123. package/v3/dist/learning/metrics-tracker.js +2 -2
  124. package/v3/dist/learning/metrics-tracker.js.map +1 -1
  125. package/v3/dist/learning/sqlite-persistence.d.ts.map +1 -1
  126. package/v3/dist/learning/sqlite-persistence.js +3 -6
  127. package/v3/dist/learning/sqlite-persistence.js.map +1 -1
  128. package/v3/dist/learning/v2-to-v3-migration.d.ts.map +1 -1
  129. package/v3/dist/learning/v2-to-v3-migration.js +4 -5
  130. package/v3/dist/learning/v2-to-v3-migration.js.map +1 -1
  131. package/v3/dist/mcp/bundle.js +1266 -245
  132. package/v3/dist/mcp/handlers/domain-handler-configs.d.ts.map +1 -1
  133. package/v3/dist/mcp/handlers/domain-handler-configs.js +40 -31
  134. package/v3/dist/mcp/handlers/domain-handler-configs.js.map +1 -1
  135. package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
  136. package/v3/dist/mcp/handlers/task-handlers.js +68 -5
  137. package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
  138. package/v3/dist/mcp/protocol-server.d.ts.map +1 -1
  139. package/v3/dist/mcp/protocol-server.js +16 -2
  140. package/v3/dist/mcp/protocol-server.js.map +1 -1
  141. package/v3/dist/mcp/tools/security-compliance/scan.d.ts +3 -1
  142. package/v3/dist/mcp/tools/security-compliance/scan.d.ts.map +1 -1
  143. package/v3/dist/mcp/tools/security-compliance/scan.js +417 -72
  144. package/v3/dist/mcp/tools/security-compliance/scan.js.map +1 -1
  145. package/v3/dist/planning/plan-executor.d.ts.map +1 -1
  146. package/v3/dist/planning/plan-executor.js +2 -2
  147. package/v3/dist/planning/plan-executor.js.map +1 -1
  148. package/v3/dist/shared/safe-db.d.ts +32 -0
  149. package/v3/dist/shared/safe-db.d.ts.map +1 -0
  150. package/v3/dist/shared/safe-db.js +41 -0
  151. package/v3/dist/shared/safe-db.js.map +1 -0
  152. package/v3/dist/sync/claude-flow-bridge.js +5 -5
  153. package/v3/dist/sync/claude-flow-bridge.js.map +1 -1
  154. package/v3/dist/sync/embeddings/sync-embedding-generator.js +3 -3
  155. package/v3/dist/sync/embeddings/sync-embedding-generator.js.map +1 -1
  156. package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -1
  157. package/v3/dist/sync/readers/sqlite-reader.js +2 -2
  158. package/v3/dist/sync/readers/sqlite-reader.js.map +1 -1
  159. package/v3/package.json +1 -1
@@ -3,10 +3,55 @@
3
3
  *
4
4
  * qe/security/scan - Security scanning (SAST/DAST) and compliance validation
5
5
  *
6
- * This tool wraps the security-compliance domain service.
6
+ * Fix #287: Replaced hardcoded fake findings with real file scanning.
7
+ * Now actually reads target files and applies security patterns from
8
+ * v3/src/domains/security-compliance/services/scanners/security-patterns.ts
7
9
  */
8
10
  import { MCPToolBase } from '../base';
9
11
  import { toErrorMessage } from '../../../shared/error-utils.js';
12
+ import { ALL_SECURITY_PATTERNS, SECRET_PATTERNS, } from '../../../domains/security-compliance/services/scanners/security-patterns.js';
13
+ // ============================================================================
14
+ // Cross-language secret/config patterns (supplement security-patterns.ts)
15
+ // These catch Python, Java, Go patterns that the JS-focused patterns miss.
16
+ // ============================================================================
17
+ const CROSS_LANG_SECRET_PATTERNS = [
18
+ {
19
+ id: 'secret-key-assignment',
20
+ pattern: /(?:SECRET_KEY|secret_key|SECRET|PRIVATE_KEY)\s*=\s*['"][^'"]{4,}['"]/g,
21
+ severity: 'critical',
22
+ title: 'Hardcoded Secret Key',
23
+ description: 'Secret key assigned as string literal in source code',
24
+ cweId: 'CWE-798',
25
+ remediation: 'Use environment variables: SECRET_KEY = os.environ["SECRET_KEY"]',
26
+ },
27
+ {
28
+ id: 'cors-wildcard-credentials',
29
+ pattern: /allow_origins\s*=\s*\[\s*["']\*["']\s*\]/g,
30
+ severity: 'high',
31
+ title: 'CORS Wildcard Origin',
32
+ description: 'CORS configured to allow all origins — combined with credentials this is a security risk',
33
+ cweId: 'CWE-942',
34
+ remediation: 'Restrict CORS origins to specific trusted domains',
35
+ },
36
+ {
37
+ id: 'cors-allow-credentials-wildcard',
38
+ pattern: /allow_credentials\s*=\s*True/g,
39
+ severity: 'medium',
40
+ title: 'CORS Credentials Enabled',
41
+ description: 'CORS credentials enabled — verify origins are restricted',
42
+ cweId: 'CWE-942',
43
+ remediation: 'Ensure allow_origins does not include "*" when credentials are enabled',
44
+ },
45
+ {
46
+ id: 'token-hardcoded',
47
+ pattern: /(?:token|TOKEN)\s*[:=]\s*['"][a-zA-Z0-9_\-.]{20,}['"]/g,
48
+ severity: 'high',
49
+ title: 'Hardcoded Token',
50
+ description: 'Hardcoded token found in source code',
51
+ cweId: 'CWE-798',
52
+ remediation: 'Use environment variables or secrets manager for tokens',
53
+ },
54
+ ];
10
55
  // ============================================================================
11
56
  // Tool Implementation
12
57
  // ============================================================================
@@ -31,21 +76,24 @@ export class SecurityScanTool extends MCPToolBase {
31
76
  if (this.isAborted(context)) {
32
77
  return { success: false, error: 'Operation aborted' };
33
78
  }
79
+ // Discover source files in the target directory
80
+ const files = await discoverFiles(target, depth);
81
+ this.emitStream(context, {
82
+ status: 'discovered',
83
+ message: `Found ${files.length} files to scan`,
84
+ });
34
85
  const vulnerabilities = [];
35
- // SAST scanning
36
- if (scanType.includes('sast')) {
86
+ // SAST scanning — apply real security patterns against real files
87
+ if (scanType.includes('sast') || scanType.includes('secret')) {
37
88
  this.emitStream(context, { status: 'sast', message: 'Running static analysis' });
38
- vulnerabilities.push(...generateSASTFindings());
89
+ const sastVulns = await scanFilesWithPatterns(files, scanType);
90
+ vulnerabilities.push(...sastVulns);
39
91
  }
40
- // Dependency scanning
92
+ // Dependency scanning — parse real package manifests
41
93
  if (scanType.includes('dependency')) {
42
94
  this.emitStream(context, { status: 'dependency', message: 'Scanning dependencies' });
43
- vulnerabilities.push(...generateDependencyFindings());
44
- }
45
- // Secret scanning
46
- if (scanType.includes('secret')) {
47
- this.emitStream(context, { status: 'secret', message: 'Scanning for secrets' });
48
- vulnerabilities.push(...generateSecretFindings());
95
+ const depVulns = await scanDependencies(target);
96
+ vulnerabilities.push(...depVulns);
49
97
  }
50
98
  // DAST scanning
51
99
  if (scanType.includes('dast') && dastUrl) {
@@ -60,7 +108,7 @@ export class SecurityScanTool extends MCPToolBase {
60
108
  medium: vulnerabilities.filter(v => v.severity === 'medium').length,
61
109
  low: vulnerabilities.filter(v => v.severity === 'low').length,
62
110
  informational: vulnerabilities.filter(v => v.severity === 'informational').length,
63
- totalFiles: 150,
111
+ totalFiles: files.length,
64
112
  scanDurationMs: Date.now() - startTime,
65
113
  };
66
114
  const severityOrder = ['critical', 'high', 'medium', 'low', 'informational'];
@@ -71,7 +119,7 @@ export class SecurityScanTool extends MCPToolBase {
71
119
  const passed = worstSeverity > failThreshold;
72
120
  this.emitStream(context, {
73
121
  status: 'complete',
74
- message: `Scan complete: ${vulnerabilities.length} vulnerabilities found`,
122
+ message: `Scan complete: ${vulnerabilities.length} vulnerabilities found in ${files.length} files`,
75
123
  progress: 100,
76
124
  });
77
125
  return {
@@ -143,77 +191,371 @@ const SECURITY_SCAN_SCHEMA = {
143
191
  },
144
192
  };
145
193
  // ============================================================================
146
- // Helper Functions
194
+ // Real File Discovery
147
195
  // ============================================================================
148
- function generateSASTFindings() {
149
- return [
150
- {
151
- id: 'SAST-001',
152
- title: 'SQL Injection Risk',
153
- severity: 'high',
154
- category: 'injection',
155
- location: { file: 'src/db/queries.ts', line: 45, snippet: 'query = `SELECT * FROM ${table}`' },
156
- description: 'User input directly concatenated in SQL query',
157
- remediation: 'Use parameterized queries or prepared statements',
158
- cweId: 'CWE-89',
159
- references: ['https://owasp.org/www-community/attacks/SQL_Injection'],
160
- },
161
- {
162
- id: 'SAST-002',
163
- title: 'Hardcoded Credentials',
164
- severity: 'critical',
165
- category: 'sensitive-data',
166
- location: { file: 'src/config/database.ts', line: 12, snippet: 'password: "admin123"' },
167
- description: 'Hardcoded password found in source code',
168
- remediation: 'Use environment variables or secure vault for credentials',
169
- cweId: 'CWE-798',
170
- references: ['https://cwe.mitre.org/data/definitions/798.html'],
171
- },
172
- ];
196
+ /** Source file extensions to scan, by language */
197
+ const SCANNABLE_EXTENSIONS = new Set([
198
+ '.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', // JavaScript/TypeScript
199
+ '.py', '.pyw', // Python
200
+ '.java', '.kt', '.scala', // JVM
201
+ '.go', // Go
202
+ '.rb', // Ruby
203
+ '.php', // PHP
204
+ '.rs', // Rust
205
+ '.cs', // C#
206
+ '.yaml', '.yml', '.json', '.toml', '.cfg', '.ini', // Config
207
+ '.env', '.env.local', '.env.production', // Env files
208
+ '.sh', '.bash', // Shell
209
+ ]);
210
+ /** Directories to always skip */
211
+ const SKIP_DIRS = new Set([
212
+ 'node_modules', '.git', '__pycache__', '.venv', 'venv',
213
+ 'dist', 'build', '.next', '.nuxt', 'coverage', '.tox',
214
+ ]);
215
+ async function discoverFiles(target, depth) {
216
+ const fs = await import('fs');
217
+ const path = await import('path');
218
+ const resolved = path.resolve(target);
219
+ const files = [];
220
+ // Limits based on scan depth
221
+ const maxFiles = depth === 'quick' ? 50 : depth === 'standard' ? 500 : 2000;
222
+ const maxDepth = depth === 'quick' ? 3 : depth === 'standard' ? 8 : 20;
223
+ function walk(dir, currentDepth) {
224
+ if (files.length >= maxFiles || currentDepth > maxDepth)
225
+ return;
226
+ let entries;
227
+ try {
228
+ entries = fs.readdirSync(dir, { withFileTypes: true });
229
+ }
230
+ catch {
231
+ return; // Permission denied or not a directory
232
+ }
233
+ for (const entry of entries) {
234
+ if (files.length >= maxFiles)
235
+ break;
236
+ const fullPath = path.join(dir, entry.name);
237
+ if (entry.isDirectory()) {
238
+ // Skip known non-source dirs, but DO scan security-relevant dot-dirs
239
+ // like .github (CI secrets), .docker, .aws (miscommitted credentials)
240
+ const SCAN_DOT_DIRS = new Set(['.github', '.docker', '.aws', '.circleci', '.gitlab']);
241
+ if (SKIP_DIRS.has(entry.name)) {
242
+ // Always skip node_modules, .git, etc.
243
+ }
244
+ else if (entry.name.startsWith('.') && !SCAN_DOT_DIRS.has(entry.name)) {
245
+ // Skip other dot-dirs (caches, IDE config)
246
+ }
247
+ else {
248
+ walk(fullPath, currentDepth + 1);
249
+ }
250
+ }
251
+ else if (entry.isFile()) {
252
+ const ext = path.extname(entry.name).toLowerCase();
253
+ // Also scan files without extension if named like config files
254
+ if (SCANNABLE_EXTENSIONS.has(ext) ||
255
+ entry.name === 'Dockerfile' ||
256
+ entry.name === 'Makefile' ||
257
+ entry.name.startsWith('.env')) {
258
+ files.push(fullPath);
259
+ }
260
+ }
261
+ }
262
+ }
263
+ // Handle single file target
264
+ try {
265
+ const stat = fs.statSync(resolved);
266
+ if (stat.isFile()) {
267
+ files.push(resolved);
268
+ }
269
+ else {
270
+ walk(resolved, 0);
271
+ }
272
+ }
273
+ catch {
274
+ // Target doesn't exist
275
+ }
276
+ return files;
173
277
  }
174
- function generateDependencyFindings() {
175
- return [
176
- {
177
- id: 'DEP-001',
178
- title: 'Vulnerable lodash version',
179
- severity: 'medium',
180
- category: 'vulnerable-components',
181
- location: { file: 'package.json', dependency: { name: 'lodash', version: '4.17.19' } },
182
- description: 'lodash < 4.17.21 has prototype pollution vulnerability',
183
- remediation: 'Upgrade lodash to 4.17.21 or later',
184
- cveId: 'CVE-2021-23337',
185
- references: ['https://nvd.nist.gov/vuln/detail/CVE-2021-23337'],
186
- },
187
- ];
278
+ // ============================================================================
279
+ // Real SAST Scanning
280
+ // ============================================================================
281
+ async function scanFilesWithPatterns(files, scanTypes) {
282
+ const fs = await import('fs');
283
+ const path = await import('path');
284
+ const vulnerabilities = [];
285
+ let vulnCounter = 0;
286
+ // Select patterns based on scan type
287
+ const patterns = [];
288
+ if (scanTypes.includes('sast')) {
289
+ // Use ALL patterns from the real security patterns module
290
+ for (const p of ALL_SECURITY_PATTERNS) {
291
+ patterns.push({
292
+ id: p.id,
293
+ pattern: new RegExp(p.pattern.source, p.pattern.flags),
294
+ severity: p.severity,
295
+ title: p.title,
296
+ description: p.description,
297
+ cweId: p.cweId,
298
+ remediation: p.remediation,
299
+ category: p.category,
300
+ });
301
+ }
302
+ // Add cross-language patterns
303
+ for (const p of CROSS_LANG_SECRET_PATTERNS) {
304
+ patterns.push({
305
+ id: p.id,
306
+ pattern: new RegExp(p.pattern.source, p.pattern.flags),
307
+ severity: p.severity,
308
+ title: p.title,
309
+ description: p.description,
310
+ cweId: p.cweId,
311
+ remediation: p.remediation,
312
+ category: 'sensitive-data',
313
+ });
314
+ }
315
+ }
316
+ if (scanTypes.includes('secret')) {
317
+ // Only secret patterns
318
+ for (const p of SECRET_PATTERNS) {
319
+ if (!patterns.some(existing => existing.id === p.id)) {
320
+ patterns.push({
321
+ id: p.id,
322
+ pattern: new RegExp(p.pattern.source, p.pattern.flags),
323
+ severity: p.severity,
324
+ title: p.title,
325
+ description: p.description,
326
+ cweId: p.cweId,
327
+ remediation: p.remediation,
328
+ category: p.category,
329
+ });
330
+ }
331
+ }
332
+ for (const p of CROSS_LANG_SECRET_PATTERNS) {
333
+ if (!patterns.some(existing => existing.id === p.id)) {
334
+ patterns.push({
335
+ ...p,
336
+ category: 'sensitive-data',
337
+ });
338
+ }
339
+ }
340
+ }
341
+ for (const filePath of files) {
342
+ let content;
343
+ try {
344
+ content = fs.readFileSync(filePath, 'utf-8');
345
+ }
346
+ catch {
347
+ continue; // Can't read file, skip
348
+ }
349
+ // Skip binary files or very large files
350
+ if (content.includes('\0') || content.length > 1_000_000)
351
+ continue;
352
+ const lines = content.split('\n');
353
+ const relPath = path.relative(process.cwd(), filePath);
354
+ for (const patternDef of patterns) {
355
+ // Reset regex state for each file
356
+ const regex = new RegExp(patternDef.pattern.source, patternDef.pattern.flags);
357
+ let match;
358
+ while ((match = regex.exec(content)) !== null) {
359
+ vulnCounter++;
360
+ const lineNum = content.substring(0, match.index).split('\n').length;
361
+ const matchedLine = lines[lineNum - 1] || '';
362
+ // Truncate snippet to avoid exposing full secrets
363
+ const snippet = matchedLine.trim().length > 100
364
+ ? matchedLine.trim().substring(0, 100) + '...'
365
+ : matchedLine.trim();
366
+ vulnerabilities.push({
367
+ id: `${patternDef.id}-${vulnCounter}`,
368
+ title: patternDef.title,
369
+ severity: patternDef.severity,
370
+ category: patternDef.category || 'security-misconfiguration',
371
+ location: {
372
+ file: relPath,
373
+ line: lineNum,
374
+ snippet,
375
+ },
376
+ description: patternDef.description,
377
+ remediation: patternDef.remediation,
378
+ cweId: patternDef.cweId,
379
+ references: [],
380
+ });
381
+ // Limit findings per pattern per file to avoid noise
382
+ if (vulnCounter > 200)
383
+ break;
384
+ }
385
+ }
386
+ }
387
+ return vulnerabilities;
188
388
  }
189
- function generateSecretFindings() {
190
- return [
191
- {
192
- id: 'SECRET-001',
193
- title: 'AWS Access Key Detected',
194
- severity: 'critical',
195
- category: 'sensitive-data',
196
- location: { file: 'src/services/aws.ts', line: 8, snippet: 'AKIA...[REDACTED]' },
197
- description: 'AWS access key found in source code',
198
- remediation: 'Remove key, rotate credentials, use AWS IAM roles',
199
- references: ['https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html'],
200
- },
201
- ];
389
+ // ============================================================================
390
+ // Real Dependency Scanning
391
+ // ============================================================================
392
+ async function scanDependencies(target) {
393
+ const fs = await import('fs');
394
+ const path = await import('path');
395
+ const vulnerabilities = [];
396
+ const resolved = path.resolve(target);
397
+ // Scan package.json (Node.js)
398
+ const pkgJsonPath = path.join(resolved, 'package.json');
399
+ if (fs.existsSync(pkgJsonPath)) {
400
+ try {
401
+ const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
402
+ const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
403
+ vulnerabilities.push(...checkKnownVulnerableDeps(allDeps, 'package.json'));
404
+ }
405
+ catch { /* skip malformed */ }
406
+ }
407
+ // Scan pyproject.toml (Python)
408
+ const pyprojectPath = path.join(resolved, 'pyproject.toml');
409
+ if (fs.existsSync(pyprojectPath)) {
410
+ try {
411
+ const content = fs.readFileSync(pyprojectPath, 'utf-8');
412
+ const deps = extractPythonDeps(content);
413
+ vulnerabilities.push(...checkKnownVulnerablePythonDeps(deps, 'pyproject.toml'));
414
+ }
415
+ catch { /* skip */ }
416
+ }
417
+ // Scan requirements.txt (Python)
418
+ const reqPath = path.join(resolved, 'requirements.txt');
419
+ if (fs.existsSync(reqPath)) {
420
+ try {
421
+ const content = fs.readFileSync(reqPath, 'utf-8');
422
+ const deps = extractRequirementsTxtDeps(content);
423
+ vulnerabilities.push(...checkKnownVulnerablePythonDeps(deps, 'requirements.txt'));
424
+ }
425
+ catch { /* skip */ }
426
+ }
427
+ if (vulnerabilities.length === 0) {
428
+ // Check if manifest exists but no known vulnerable deps
429
+ const manifests = [pkgJsonPath, pyprojectPath, reqPath].filter(p => fs.existsSync(p));
430
+ if (manifests.length > 0) {
431
+ vulnerabilities.push({
432
+ id: 'DEP-INFO-001',
433
+ title: 'Dependency audit recommended',
434
+ severity: 'informational',
435
+ category: 'vulnerable-components',
436
+ location: { file: path.relative(process.cwd(), manifests[0]) },
437
+ description: `Found ${path.basename(manifests[0])} — run language-specific dependency audit for comprehensive results`,
438
+ remediation: 'Run npm audit, pip-audit, or equivalent for full vulnerability check',
439
+ references: [],
440
+ });
441
+ }
442
+ }
443
+ return vulnerabilities;
202
444
  }
445
+ /** Known vulnerable npm packages (high-profile CVEs) */
446
+ const KNOWN_VULNERABLE_NPM = {
447
+ 'lodash': { maxSafe: '4.17.21', cve: 'CVE-2021-23337', severity: 'high', desc: 'Prototype pollution in lodash' },
448
+ 'minimist': { maxSafe: '1.2.6', cve: 'CVE-2021-44906', severity: 'critical', desc: 'Prototype pollution in minimist' },
449
+ 'node-fetch': { maxSafe: '2.6.7', cve: 'CVE-2022-0235', severity: 'high', desc: 'Information exposure in node-fetch' },
450
+ 'express': { maxSafe: '4.19.2', cve: 'CVE-2024-29041', severity: 'medium', desc: 'Open redirect in express' },
451
+ };
452
+ function checkKnownVulnerableDeps(deps, manifest) {
453
+ const vulns = [];
454
+ for (const [name, version] of Object.entries(deps)) {
455
+ const known = KNOWN_VULNERABLE_NPM[name];
456
+ if (known) {
457
+ const cleanVersion = version.replace(/^[\^~>=<]+/, '');
458
+ if (compareVersions(cleanVersion, known.maxSafe) < 0) {
459
+ vulns.push({
460
+ id: `DEP-${name}-${known.cve}`,
461
+ title: `Vulnerable ${name} version`,
462
+ severity: known.severity,
463
+ category: 'vulnerable-components',
464
+ location: { file: manifest, dependency: { name, version: cleanVersion } },
465
+ description: known.desc,
466
+ remediation: `Upgrade ${name} to >= ${known.maxSafe}`,
467
+ cveId: known.cve,
468
+ references: [`https://nvd.nist.gov/vuln/detail/${known.cve}`],
469
+ });
470
+ }
471
+ }
472
+ }
473
+ return vulns;
474
+ }
475
+ /** Known vulnerable Python packages */
476
+ const KNOWN_VULNERABLE_PYTHON = {
477
+ 'python-jose': { cve: 'CVE-2024-33663', severity: 'critical', desc: 'python-jose is abandoned and has known JWT vulnerabilities' },
478
+ 'pyjwt': { cve: 'CVE-2022-29217', severity: 'high', desc: 'PyJWT algorithm confusion vulnerability (upgrade to >= 2.4.0)' },
479
+ 'python-multipart': { cve: 'CVE-2026-24486', severity: 'high', desc: 'python-multipart DoS vulnerability' },
480
+ 'jinja2': { cve: 'CVE-2024-34064', severity: 'medium', desc: 'Jinja2 XSS via template injection' },
481
+ 'urllib3': { cve: 'CVE-2023-45803', severity: 'medium', desc: 'urllib3 request body exposure on redirect' },
482
+ 'requests': { cve: 'CVE-2023-32681', severity: 'medium', desc: 'Requests proxy credential exposure' },
483
+ };
484
+ function extractPythonDeps(tomlContent) {
485
+ const deps = [];
486
+ // Match dependencies = [...] section
487
+ const depMatch = tomlContent.match(/dependencies\s*=\s*\[([\s\S]*?)\]/);
488
+ if (depMatch) {
489
+ const matches = depMatch[1].matchAll(/["']([a-zA-Z0-9_-]+)/g);
490
+ for (const m of matches) {
491
+ deps.push(m[1].toLowerCase());
492
+ }
493
+ }
494
+ return deps;
495
+ }
496
+ function extractRequirementsTxtDeps(content) {
497
+ return content
498
+ .split('\n')
499
+ .map(line => line.trim())
500
+ .filter(line => line && !line.startsWith('#'))
501
+ .map(line => line.split(/[>=<!~\[]/)[0].trim().toLowerCase())
502
+ .filter(Boolean);
503
+ }
504
+ function checkKnownVulnerablePythonDeps(deps, manifest) {
505
+ const vulns = [];
506
+ for (const dep of deps) {
507
+ const known = KNOWN_VULNERABLE_PYTHON[dep];
508
+ if (known) {
509
+ vulns.push({
510
+ id: `DEP-py-${dep}-${known.cve}`,
511
+ title: `Vulnerable Python dependency: ${dep}`,
512
+ severity: known.severity,
513
+ category: 'vulnerable-components',
514
+ location: { file: manifest, dependency: { name: dep, version: 'any' } },
515
+ description: known.desc,
516
+ remediation: dep === 'python-jose' ? 'Migrate to PyJWT or joserfc' : `Check for updates to ${dep}`,
517
+ cveId: known.cve,
518
+ references: [`https://nvd.nist.gov/vuln/detail/${known.cve}`],
519
+ });
520
+ }
521
+ }
522
+ return vulns;
523
+ }
524
+ /** Simple semver comparison: returns -1 if a < b, 0 if equal, 1 if a > b */
525
+ function compareVersions(a, b) {
526
+ const pa = a.split('.').map(Number);
527
+ const pb = b.split('.').map(Number);
528
+ for (let i = 0; i < 3; i++) {
529
+ const va = pa[i] || 0;
530
+ const vb = pb[i] || 0;
531
+ if (va < vb)
532
+ return -1;
533
+ if (va > vb)
534
+ return 1;
535
+ }
536
+ return 0;
537
+ }
538
+ // ============================================================================
539
+ // DAST Findings (requires live URL — kept as placeholder with clear note)
540
+ // ============================================================================
203
541
  function generateDASTFindings(url) {
542
+ // DAST requires HTTP requests to a live URL — return informational note
204
543
  return [
205
544
  {
206
- id: 'DAST-001',
207
- title: 'Missing Security Headers',
208
- severity: 'medium',
545
+ id: 'DAST-INFO-001',
546
+ title: 'DAST scan target noted',
547
+ severity: 'informational',
209
548
  category: 'security-misconfiguration',
210
549
  location: { file: url },
211
- description: 'X-Frame-Options and Content-Security-Policy headers missing',
212
- remediation: 'Add security headers to HTTP responses',
213
- references: ['https://owasp.org/www-project-secure-headers/'],
550
+ description: `DAST target ${url} recorded. Full DAST requires integration with a dynamic scanner (e.g., ZAP, Burp).`,
551
+ remediation: 'Configure a DAST tool to scan the live application',
552
+ references: ['https://owasp.org/www-project-zap/'],
214
553
  },
215
554
  ];
216
555
  }
556
+ // ============================================================================
557
+ // Compliance & Recommendations
558
+ // ============================================================================
217
559
  function generateComplianceResult(standard, vulnerabilities) {
218
560
  const relevantVulns = vulnerabilities.filter(v => {
219
561
  if (standard === 'owasp')
@@ -251,6 +593,9 @@ function generateRecommendations(vulnerabilities, summary) {
251
593
  if (vulnerabilities.some(v => v.category === 'sensitive-data')) {
252
594
  recs.push('Implement proper secrets management');
253
595
  }
596
+ if (vulnerabilities.some(v => v.category === 'vulnerable-components')) {
597
+ recs.push('Run full dependency audit and update vulnerable packages');
598
+ }
254
599
  if (recs.length === 0) {
255
600
  recs.push('No critical issues found. Continue regular security reviews.');
256
601
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/mcp/tools/security-compliance/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/mcp/tools/security-compliance/scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-executor.d.ts","sourceRoot":"","sources":["../../src/planning/plan-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-executor.d.ts","sourceRoot":"","sources":["../../src/planning/plan-executor.ts"],"names":[],"mappings":"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"}