agentic-qe 2.5.8 → 2.5.10
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/CHANGELOG.md +122 -0
- package/README.md +2 -2
- package/dist/agents/BaseAgent.d.ts +211 -7
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +455 -7
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +20 -23
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +95 -145
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +15 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +93 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +2 -2
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +35 -18
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +72 -97
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +19 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +137 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +17 -4
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/ruvector/index.d.ts +13 -0
- package/dist/cli/commands/ruvector/index.d.ts.map +1 -0
- package/dist/cli/commands/ruvector/index.js +308 -0
- package/dist/cli/commands/ruvector/index.js.map +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +11 -0
- package/dist/cli/init/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/core/memory/HNSWVectorMemory.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server-instructions.js.map +1 -1
- package/dist/mcp/tools.d.ts +6 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +121 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/memory/RuVectorPatternStore.d.ts +258 -0
- package/dist/memory/RuVectorPatternStore.d.ts.map +1 -0
- package/dist/memory/RuVectorPatternStore.js +525 -0
- package/dist/memory/RuVectorPatternStore.js.map +1 -0
- package/dist/providers/RuVectorPostgresAdapter.d.ts +134 -0
- package/dist/providers/RuVectorPostgresAdapter.d.ts.map +1 -0
- package/dist/providers/RuVectorPostgresAdapter.js +504 -0
- package/dist/providers/RuVectorPostgresAdapter.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +7 -1
- package/dist/providers/index.js.map +1 -1
- package/package.json +4 -2
|
@@ -7,20 +7,18 @@
|
|
|
7
7
|
* - LearningEngine for Q-learning and pattern discovery
|
|
8
8
|
* - ExperienceCapture for Nightly-Learner integration
|
|
9
9
|
* - Pattern caching for confidence boosting
|
|
10
|
+
*
|
|
11
|
+
* Phase 0.5 (v2.5.9) - Migrated to BaseAgent for RuVector integration
|
|
10
12
|
*/
|
|
11
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
14
|
exports.QualityGateAgent = void 0;
|
|
13
|
-
const events_1 = require("events");
|
|
14
15
|
const SecureRandom_js_1 = require("../utils/SecureRandom.js");
|
|
15
|
-
const
|
|
16
|
-
const LearningEngine_1 = require("../learning/LearningEngine");
|
|
17
|
-
const PerformanceTracker_1 = require("../learning/PerformanceTracker");
|
|
16
|
+
const BaseAgent_1 = require("./BaseAgent");
|
|
18
17
|
const ExperienceCapture_1 = require("../learning/capture/ExperienceCapture");
|
|
19
18
|
const Logger_1 = require("../utils/Logger");
|
|
20
|
-
class QualityGateAgent extends
|
|
21
|
-
constructor(
|
|
22
|
-
super();
|
|
23
|
-
this.status = types_1.AgentStatus.INITIALIZING;
|
|
19
|
+
class QualityGateAgent extends BaseAgent_1.BaseAgent {
|
|
20
|
+
constructor(config) {
|
|
21
|
+
super(config);
|
|
24
22
|
// Cached patterns for confidence boosting
|
|
25
23
|
this.cachedPatterns = [];
|
|
26
24
|
this.historicalDecisionAccuracy = 0.5;
|
|
@@ -32,99 +30,79 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
32
30
|
{ name: 'performance_regression', threshold: 0.10, weight: 0.15, type: 'maximum_threshold', critical: false },
|
|
33
31
|
{ name: 'code_quality_score', threshold: 0.80, weight: 0.10, type: 'minimum_threshold', critical: false }
|
|
34
32
|
];
|
|
35
|
-
this.
|
|
36
|
-
this.memoryStore = memoryStore;
|
|
37
|
-
this.logger = Logger_1.Logger.getInstance();
|
|
33
|
+
this.qualityGateLogger = Logger_1.Logger.getInstance();
|
|
38
34
|
this.decisionEngine = new DecisionEngine();
|
|
39
35
|
this.consciousnessEngine = new ConsciousnessEngine();
|
|
40
36
|
this.psychoSymbolicReasoner = new PsychoSymbolicReasoner();
|
|
41
37
|
this.riskAnalyzer = new RiskAnalyzer();
|
|
42
|
-
// Initialize learning components if memoryStore is SwarmMemoryManager
|
|
43
|
-
this.initializeLearning();
|
|
44
38
|
}
|
|
45
39
|
/**
|
|
46
|
-
*
|
|
40
|
+
* Get string representation of agent ID (handles AgentId object or string)
|
|
47
41
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const memoryManager = this.memoryStore;
|
|
52
|
-
// Check if it's actually a SwarmMemoryManager
|
|
53
|
-
if (typeof memoryManager.storePattern === 'function') {
|
|
54
|
-
this.learningEngine = new LearningEngine_1.LearningEngine(agentIdStr, memoryManager);
|
|
55
|
-
this.performanceTracker = new PerformanceTracker_1.PerformanceTracker(agentIdStr, memoryManager);
|
|
56
|
-
this.logger.info(`[QualityGate] Learning components initialized`);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
this.logger.warn(`[QualityGate] memoryStore is not SwarmMemoryManager, learning disabled`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
42
|
+
getAgentIdStr() {
|
|
43
|
+
const agentId = super.getAgentId();
|
|
44
|
+
return typeof agentId === 'string' ? agentId : agentId.id;
|
|
62
45
|
}
|
|
63
46
|
// ============================================================================
|
|
64
|
-
//
|
|
47
|
+
// BaseAgent Abstract Method Implementations
|
|
65
48
|
// ============================================================================
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (this.memoryStore) {
|
|
90
|
-
await this.memoryStore.set('quality-gate-initialized', true, 'agents');
|
|
91
|
-
}
|
|
92
|
-
this.status = types_1.AgentStatus.IDLE;
|
|
93
|
-
this.emit('agent.initialized', { agentId: this.id });
|
|
94
|
-
this.logger.info(`[QualityGate] Initialized with learning: ${!!this.learningEngine}, patterns cached: ${this.cachedPatterns.length}`);
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
this.status = types_1.AgentStatus.ERROR;
|
|
98
|
-
this.emit('agent.error', { agentId: this.id, error });
|
|
99
|
-
throw error;
|
|
100
|
-
}
|
|
49
|
+
/**
|
|
50
|
+
* Initialize agent-specific components
|
|
51
|
+
* Called by BaseAgent.initialize()
|
|
52
|
+
*/
|
|
53
|
+
async initializeComponents() {
|
|
54
|
+
// Initialize decision engines
|
|
55
|
+
await this.decisionEngine.initialize();
|
|
56
|
+
await this.consciousnessEngine.initialize();
|
|
57
|
+
await this.psychoSymbolicReasoner.initialize();
|
|
58
|
+
await this.riskAnalyzer.initialize();
|
|
59
|
+
// Initialize ExperienceCapture for Nightly-Learner integration
|
|
60
|
+
this.experienceCapture = await ExperienceCapture_1.ExperienceCapture.getSharedInstance();
|
|
61
|
+
this.qualityGateLogger.info('[QualityGate] ExperienceCapture initialized for Nightly-Learner');
|
|
62
|
+
// Load historical decision patterns
|
|
63
|
+
await this.loadDecisionPatterns();
|
|
64
|
+
// Load and cache patterns for confidence boosting
|
|
65
|
+
await this.loadAndCachePatternsForConfidence();
|
|
66
|
+
// Store initialization state
|
|
67
|
+
const memoryStore = this.memoryStore;
|
|
68
|
+
if (memoryStore) {
|
|
69
|
+
await memoryStore.set('quality-gate-initialized', true, 'agents');
|
|
70
|
+
}
|
|
71
|
+
this.qualityGateLogger.info(`[QualityGate] Initialized with learning: ${!!this.learningEngine}, patterns cached: ${this.cachedPatterns.length}`);
|
|
101
72
|
}
|
|
102
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Execute a QE task - implements BaseAgent abstract method
|
|
75
|
+
*/
|
|
76
|
+
async performTask(task) {
|
|
77
|
+
// Task payload contains the QualityGateRequest
|
|
103
78
|
const request = task.payload;
|
|
104
79
|
return await this.evaluateQualityGate(request);
|
|
105
80
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Load knowledge/patterns - implements BaseAgent abstract method
|
|
83
|
+
*/
|
|
84
|
+
async loadKnowledge() {
|
|
85
|
+
await this.loadDecisionPatterns();
|
|
86
|
+
await this.loadAndCachePatternsForConfidence();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Cleanup agent resources - implements BaseAgent abstract method
|
|
90
|
+
*/
|
|
91
|
+
async cleanup() {
|
|
92
|
+
// Save learned decision patterns
|
|
93
|
+
await this.saveDecisionPatterns();
|
|
94
|
+
// Cleanup resources
|
|
95
|
+
await this.decisionEngine.cleanup();
|
|
96
|
+
await this.consciousnessEngine.cleanup();
|
|
97
|
+
await this.psychoSymbolicReasoner.cleanup();
|
|
98
|
+
await this.riskAnalyzer.cleanup();
|
|
123
99
|
}
|
|
124
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Get quality gate specific status
|
|
102
|
+
*/
|
|
103
|
+
getQualityGateStatus() {
|
|
125
104
|
return {
|
|
126
|
-
agentId: this.
|
|
127
|
-
status: this.status,
|
|
105
|
+
agentId: this.getAgentIdStr(),
|
|
128
106
|
capabilities: ['quality-evaluation', 'risk-analysis', 'decision-making'],
|
|
129
107
|
performance: {
|
|
130
108
|
decisionsEvaluated: this.decisionEngine.getDecisionCount(),
|
|
@@ -143,7 +121,6 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
143
121
|
async evaluateQualityGate(request) {
|
|
144
122
|
const startTime = Date.now();
|
|
145
123
|
try {
|
|
146
|
-
this.status = types_1.AgentStatus.ACTIVE;
|
|
147
124
|
// Provide default context if missing
|
|
148
125
|
const context = request.context || {
|
|
149
126
|
deploymentTarget: 'development',
|
|
@@ -272,11 +249,9 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
272
249
|
}
|
|
273
250
|
// Capture experience for Nightly-Learner
|
|
274
251
|
await this.captureExperienceForLearning(request, gateDecision, executionTime, true);
|
|
275
|
-
this.status = types_1.AgentStatus.IDLE;
|
|
276
252
|
return gateDecision;
|
|
277
253
|
}
|
|
278
254
|
catch (error) {
|
|
279
|
-
this.status = types_1.AgentStatus.ERROR;
|
|
280
255
|
// Capture failed experience
|
|
281
256
|
await this.captureExperienceForLearning(request, null, Date.now() - startTime, false, error);
|
|
282
257
|
throw error;
|
|
@@ -583,7 +558,7 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
583
558
|
confidence: p.confidence,
|
|
584
559
|
successRate: p.successRate
|
|
585
560
|
}));
|
|
586
|
-
this.
|
|
561
|
+
this.qualityGateLogger.info(`[QualityGate] Cached ${this.cachedPatterns.length} patterns from LearningEngine`);
|
|
587
562
|
}
|
|
588
563
|
// Also load from memoryStore if available
|
|
589
564
|
if (this.memoryStore) {
|
|
@@ -592,7 +567,7 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
592
567
|
const dbPatterns = await smm.queryPatternsByConfidence(0.5); // High confidence only
|
|
593
568
|
const qualityPatterns = dbPatterns.filter((p) => p.pattern?.includes('quality-gate') || p.metadata?.agent_type === 'quality-gate');
|
|
594
569
|
if (qualityPatterns.length > 0) {
|
|
595
|
-
this.
|
|
570
|
+
this.qualityGateLogger.info(`[QualityGate] Found ${qualityPatterns.length} historical quality gate patterns in DB`);
|
|
596
571
|
// Merge with existing patterns
|
|
597
572
|
for (const p of qualityPatterns) {
|
|
598
573
|
if (!this.cachedPatterns.find(cp => cp.pattern === p.pattern)) {
|
|
@@ -611,10 +586,10 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
611
586
|
const totalSuccessRate = this.cachedPatterns.reduce((sum, p) => sum + p.successRate, 0);
|
|
612
587
|
this.historicalDecisionAccuracy = totalSuccessRate / this.cachedPatterns.length;
|
|
613
588
|
}
|
|
614
|
-
this.
|
|
589
|
+
this.qualityGateLogger.info(`[QualityGate] Total cached patterns: ${this.cachedPatterns.length}, historical accuracy: ${(this.historicalDecisionAccuracy * 100).toFixed(1)}%`);
|
|
615
590
|
}
|
|
616
591
|
catch (error) {
|
|
617
|
-
this.
|
|
592
|
+
this.qualityGateLogger.warn('[QualityGate] Failed to load patterns for confidence', error);
|
|
618
593
|
}
|
|
619
594
|
}
|
|
620
595
|
/**
|
|
@@ -634,7 +609,7 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
634
609
|
const totalWeight = relevantPatterns.reduce((sum, p) => sum + p.successRate, 0);
|
|
635
610
|
const weightedConfidence = relevantPatterns.reduce((sum, p) => sum + p.confidence * p.successRate, 0);
|
|
636
611
|
const boost = totalWeight > 0 ? (weightedConfidence / totalWeight) * 0.25 : 0; // Max 25% boost
|
|
637
|
-
this.
|
|
612
|
+
this.qualityGateLogger.debug(`[QualityGate] Confidence boost from ${relevantPatterns.length} patterns: ${(boost * 100).toFixed(1)}%`);
|
|
638
613
|
return boost;
|
|
639
614
|
}
|
|
640
615
|
/**
|
|
@@ -646,8 +621,8 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
646
621
|
return; // ExperienceCapture not initialized
|
|
647
622
|
}
|
|
648
623
|
try {
|
|
649
|
-
const agentIdStr =
|
|
650
|
-
const agentType =
|
|
624
|
+
const agentIdStr = this.getAgentIdStr();
|
|
625
|
+
const agentType = 'quality-gate';
|
|
651
626
|
const event = {
|
|
652
627
|
agentId: agentIdStr,
|
|
653
628
|
agentType: agentType,
|
|
@@ -683,12 +658,12 @@ class QualityGateAgent extends events_1.EventEmitter {
|
|
|
683
658
|
timestamp: new Date()
|
|
684
659
|
};
|
|
685
660
|
await this.experienceCapture.captureExecution(event);
|
|
686
|
-
this.
|
|
661
|
+
this.qualityGateLogger.debug(`[QualityGate] Captured experience for Nightly-Learner: ${success ? 'success' : 'failure'}, decision: ${decision?.decision || 'N/A'}`);
|
|
687
662
|
this.emit('experience:captured', { agentId: agentIdStr, success, duration });
|
|
688
663
|
}
|
|
689
664
|
catch (captureError) {
|
|
690
665
|
// Don't fail the main operation if capture fails
|
|
691
|
-
this.
|
|
666
|
+
this.qualityGateLogger.warn('[QualityGate] Failed to capture experience:', captureError);
|
|
692
667
|
}
|
|
693
668
|
}
|
|
694
669
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityGateAgent.js","sourceRoot":"","sources":["../../src/agents/QualityGateAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QualityGateAgent.js","sourceRoot":"","sources":["../../src/agents/QualityGateAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,7 @@ export declare class SecurityScannerAgent extends BaseAgent {
|
|
|
92
92
|
private scanHistory;
|
|
93
93
|
private baselineFindings;
|
|
94
94
|
private realScanner;
|
|
95
|
+
private patternStoreEnabled;
|
|
95
96
|
constructor(config: SecurityScannerConfig);
|
|
96
97
|
/**
|
|
97
98
|
* Pre-task hook - Load security scan history
|
|
@@ -148,5 +149,23 @@ export declare class SecurityScannerAgent extends BaseAgent {
|
|
|
148
149
|
* Provides rich security scanning metrics for pattern learning
|
|
149
150
|
*/
|
|
150
151
|
protected extractTaskMetrics(result: any): Record<string, number>;
|
|
152
|
+
/**
|
|
153
|
+
* Store security vulnerability patterns for self-learning
|
|
154
|
+
* Enables pattern recognition and reuse across scanning sessions
|
|
155
|
+
*/
|
|
156
|
+
private storeSecurityPatterns;
|
|
157
|
+
/**
|
|
158
|
+
* Generate embedding for security vulnerability pattern
|
|
159
|
+
* Uses vulnerability characteristics for similarity matching
|
|
160
|
+
*/
|
|
161
|
+
private generateSecurityPatternEmbedding;
|
|
162
|
+
/**
|
|
163
|
+
* Get numeric weight for severity level
|
|
164
|
+
*/
|
|
165
|
+
private getSeverityWeight;
|
|
166
|
+
/**
|
|
167
|
+
* Simple hash function for pattern strings
|
|
168
|
+
*/
|
|
169
|
+
private hashString;
|
|
151
170
|
}
|
|
152
171
|
//# sourceMappingURL=SecurityScannerAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityScannerAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SecurityScannerAgent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SecurityScannerAgent.d.ts","sourceRoot":"","sources":["../../src/agents/SecurityScannerAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,8 @@ class SecurityScannerAgent extends BaseAgent_1.BaseAgent {
|
|
|
66
66
|
this.cveDatabase = new Map();
|
|
67
67
|
this.scanHistory = [];
|
|
68
68
|
this.baselineFindings = new Map();
|
|
69
|
+
// Phase 0.5: Pattern store for self-learning vulnerability patterns
|
|
70
|
+
this.patternStoreEnabled = true;
|
|
69
71
|
this.config = {
|
|
70
72
|
tools: {
|
|
71
73
|
sast: 'semgrep',
|
|
@@ -127,6 +129,11 @@ class SecurityScannerAgent extends BaseAgent_1.BaseAgent {
|
|
|
127
129
|
success: data.result?.success !== false,
|
|
128
130
|
vulnerabilitiesFound: data.result?.vulnerabilities?.length || 0
|
|
129
131
|
}, 86400);
|
|
132
|
+
// Phase 0.5: Store vulnerability patterns for self-learning
|
|
133
|
+
const findings = data.result?.findings || data.result?.vulnerabilities || [];
|
|
134
|
+
if (this.patternStoreEnabled && findings.length > 0) {
|
|
135
|
+
await this.storeSecurityPatterns(findings);
|
|
136
|
+
}
|
|
130
137
|
this.eventBus.emit(`${this.agentId.type}:completed`, {
|
|
131
138
|
agentId: this.agentId,
|
|
132
139
|
result: data.result,
|
|
@@ -798,6 +805,136 @@ class SecurityScannerAgent extends BaseAgent_1.BaseAgent {
|
|
|
798
805
|
}
|
|
799
806
|
return metrics;
|
|
800
807
|
}
|
|
808
|
+
// ============================================================================
|
|
809
|
+
// Phase 0.5: Pattern Store Integration for Self-Learning Security Patterns
|
|
810
|
+
// ============================================================================
|
|
811
|
+
/**
|
|
812
|
+
* Store security vulnerability patterns for self-learning
|
|
813
|
+
* Enables pattern recognition and reuse across scanning sessions
|
|
814
|
+
*/
|
|
815
|
+
async storeSecurityPatterns(findings) {
|
|
816
|
+
if (!this.qePatternStore) {
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
819
|
+
for (const finding of findings) {
|
|
820
|
+
try {
|
|
821
|
+
// Create pattern from security finding
|
|
822
|
+
const pattern = {
|
|
823
|
+
id: `vuln_${finding.id}_${Date.now()}`,
|
|
824
|
+
type: 'security-vulnerability',
|
|
825
|
+
domain: 'security-scanner',
|
|
826
|
+
embedding: this.generateSecurityPatternEmbedding(finding),
|
|
827
|
+
content: JSON.stringify({
|
|
828
|
+
title: finding.title,
|
|
829
|
+
description: finding.description,
|
|
830
|
+
type: finding.type,
|
|
831
|
+
severity: finding.severity,
|
|
832
|
+
cwe: finding.cwe,
|
|
833
|
+
cve: finding.cve,
|
|
834
|
+
cvss: finding.cvss,
|
|
835
|
+
remediation: finding.remediation,
|
|
836
|
+
location: finding.location
|
|
837
|
+
}),
|
|
838
|
+
framework: finding.type, // sast, dast, dependency, container
|
|
839
|
+
coverage: this.getSeverityWeight(finding.severity),
|
|
840
|
+
verdict: finding.remediation ? 'success' : 'failure',
|
|
841
|
+
createdAt: Date.now(),
|
|
842
|
+
lastUsed: Date.now(),
|
|
843
|
+
usageCount: 1,
|
|
844
|
+
metadata: {
|
|
845
|
+
scanType: finding.type,
|
|
846
|
+
severity: finding.severity,
|
|
847
|
+
cwe: finding.cwe || 'unknown',
|
|
848
|
+
cve: finding.cve || 'unknown',
|
|
849
|
+
cvss: finding.cvss || 0
|
|
850
|
+
}
|
|
851
|
+
};
|
|
852
|
+
await this.qePatternStore.storePattern(pattern);
|
|
853
|
+
console.log(`[SecurityScanner] Stored vulnerability pattern: ${finding.id}`);
|
|
854
|
+
}
|
|
855
|
+
catch (error) {
|
|
856
|
+
console.warn(`[SecurityScanner] Failed to store security pattern: ${error.message}`);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Generate embedding for security vulnerability pattern
|
|
862
|
+
* Uses vulnerability characteristics for similarity matching
|
|
863
|
+
*/
|
|
864
|
+
generateSecurityPatternEmbedding(finding) {
|
|
865
|
+
// Generate 768-dim embedding based on vulnerability characteristics
|
|
866
|
+
const embedding = new Array(768).fill(0);
|
|
867
|
+
// Encode scan type (indices 0-49)
|
|
868
|
+
const scanTypes = ['sast', 'dast', 'dependency', 'container'];
|
|
869
|
+
const typeIdx = scanTypes.indexOf(finding.type);
|
|
870
|
+
if (typeIdx >= 0) {
|
|
871
|
+
embedding[typeIdx * 12] = 1.0;
|
|
872
|
+
}
|
|
873
|
+
// Encode severity (indices 50-99)
|
|
874
|
+
const severities = ['info', 'low', 'medium', 'high', 'critical'];
|
|
875
|
+
const severityIdx = severities.indexOf(finding.severity);
|
|
876
|
+
if (severityIdx >= 0) {
|
|
877
|
+
embedding[50 + severityIdx * 10] = 1.0;
|
|
878
|
+
// Also encode severity weight
|
|
879
|
+
embedding[50 + severityIdx * 10 + 1] = this.getSeverityWeight(finding.severity);
|
|
880
|
+
}
|
|
881
|
+
// Encode CWE category (indices 100-199)
|
|
882
|
+
if (finding.cwe) {
|
|
883
|
+
const cweNum = parseInt(finding.cwe.replace(/\D/g, '')) || 0;
|
|
884
|
+
embedding[100 + (cweNum % 100)] = 1.0;
|
|
885
|
+
}
|
|
886
|
+
// Encode CVSS score (indices 200-299)
|
|
887
|
+
if (finding.cvss) {
|
|
888
|
+
const cvssIdx = Math.floor(finding.cvss * 10); // 0-100 range
|
|
889
|
+
embedding[200 + cvssIdx] = finding.cvss / 10;
|
|
890
|
+
}
|
|
891
|
+
// Encode title hash (indices 300-499)
|
|
892
|
+
const titleHash = this.hashString(finding.title);
|
|
893
|
+
for (let i = 0; i < Math.min(titleHash.length, 200); i++) {
|
|
894
|
+
embedding[300 + i] = titleHash.charCodeAt(i) / 255;
|
|
895
|
+
}
|
|
896
|
+
// Encode location hash (indices 500-699)
|
|
897
|
+
const locationHash = this.hashString(finding.location);
|
|
898
|
+
for (let i = 0; i < Math.min(locationHash.length, 200); i++) {
|
|
899
|
+
embedding[500 + i] = locationHash.charCodeAt(i) / 255;
|
|
900
|
+
}
|
|
901
|
+
// Encode remediation availability (indices 700-767)
|
|
902
|
+
if (finding.remediation) {
|
|
903
|
+
embedding[700] = 1.0;
|
|
904
|
+
const remediationHash = this.hashString(finding.remediation);
|
|
905
|
+
for (let i = 0; i < Math.min(remediationHash.length, 67); i++) {
|
|
906
|
+
embedding[701 + i] = remediationHash.charCodeAt(i) / 255;
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
// Normalize embedding
|
|
910
|
+
const magnitude = Math.sqrt(embedding.reduce((sum, val) => sum + val * val, 0)) || 1;
|
|
911
|
+
return embedding.map(val => val / magnitude);
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* Get numeric weight for severity level
|
|
915
|
+
*/
|
|
916
|
+
getSeverityWeight(severity) {
|
|
917
|
+
const weights = {
|
|
918
|
+
'critical': 1.0,
|
|
919
|
+
'high': 0.8,
|
|
920
|
+
'medium': 0.5,
|
|
921
|
+
'low': 0.25,
|
|
922
|
+
'info': 0.1
|
|
923
|
+
};
|
|
924
|
+
return weights[severity] || 0.1;
|
|
925
|
+
}
|
|
926
|
+
/**
|
|
927
|
+
* Simple hash function for pattern strings
|
|
928
|
+
*/
|
|
929
|
+
hashString(str) {
|
|
930
|
+
let hash = 0;
|
|
931
|
+
for (let i = 0; i < str.length; i++) {
|
|
932
|
+
const char = str.charCodeAt(i);
|
|
933
|
+
hash = ((hash << 5) - hash) + char;
|
|
934
|
+
hash = hash & hash;
|
|
935
|
+
}
|
|
936
|
+
return Math.abs(hash).toString(36);
|
|
937
|
+
}
|
|
801
938
|
}
|
|
802
939
|
exports.SecurityScannerAgent = SecurityScannerAgent;
|
|
803
940
|
//# sourceMappingURL=SecurityScannerAgent.js.map
|