beddel 0.1.0
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 +297 -0
- package/dist/agents/agentRegistry.d.ts +68 -0
- package/dist/agents/agentRegistry.d.ts.map +1 -0
- package/dist/agents/agentRegistry.js +222 -0
- package/dist/agents/agentRegistry.js.map +1 -0
- package/dist/agents/formatter-agent.d.ts +10 -0
- package/dist/agents/formatter-agent.d.ts.map +1 -0
- package/dist/agents/formatter-agent.js +49 -0
- package/dist/agents/formatter-agent.js.map +1 -0
- package/dist/agents/genkit-agent.d.ts +12 -0
- package/dist/agents/genkit-agent.d.ts.map +1 -0
- package/dist/agents/genkit-agent.js +119 -0
- package/dist/agents/genkit-agent.js.map +1 -0
- package/dist/agents/i18n-messages.d.ts +17 -0
- package/dist/agents/i18n-messages.d.ts.map +1 -0
- package/dist/agents/i18n-messages.js +92 -0
- package/dist/agents/i18n-messages.js.map +1 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +26 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/pipeline.d.ts +15 -0
- package/dist/agents/pipeline.d.ts.map +1 -0
- package/dist/agents/pipeline.js +45 -0
- package/dist/agents/pipeline.js.map +1 -0
- package/dist/agents/schema-factory.d.ts +40 -0
- package/dist/agents/schema-factory.d.ts.map +1 -0
- package/dist/agents/schema-factory.js +121 -0
- package/dist/agents/schema-factory.js.map +1 -0
- package/dist/agents/translation-validators.d.ts +26 -0
- package/dist/agents/translation-validators.d.ts.map +1 -0
- package/dist/agents/translation-validators.js +77 -0
- package/dist/agents/translation-validators.js.map +1 -0
- package/dist/agents/translator-agents.d.ts +184 -0
- package/dist/agents/translator-agents.d.ts.map +1 -0
- package/dist/agents/translator-agents.js +613 -0
- package/dist/agents/translator-agents.js.map +1 -0
- package/dist/agents/types/translation.types.d.ts +100 -0
- package/dist/agents/types/translation.types.d.ts.map +1 -0
- package/dist/agents/types/translation.types.js +3 -0
- package/dist/agents/types/translation.types.js.map +1 -0
- package/dist/agents/validator-agent.d.ts +42 -0
- package/dist/agents/validator-agent.d.ts.map +1 -0
- package/dist/agents/validator-agent.js +122 -0
- package/dist/agents/validator-agent.js.map +1 -0
- package/dist/audit/auditTrail.d.ts +55 -0
- package/dist/audit/auditTrail.d.ts.map +1 -0
- package/dist/audit/auditTrail.js +93 -0
- package/dist/audit/auditTrail.js.map +1 -0
- package/dist/compliance/gdprEngine.d.ts +44 -0
- package/dist/compliance/gdprEngine.d.ts.map +1 -0
- package/dist/compliance/gdprEngine.js +178 -0
- package/dist/compliance/gdprEngine.js.map +1 -0
- package/dist/compliance/lgpdEngine.d.ts +51 -0
- package/dist/compliance/lgpdEngine.d.ts.map +1 -0
- package/dist/compliance/lgpdEngine.js +221 -0
- package/dist/compliance/lgpdEngine.js.map +1 -0
- package/dist/config.d.ts +78 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +77 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +40 -0
- package/dist/errors.js.map +1 -0
- package/dist/firebase/tenantManager.d.ts +84 -0
- package/dist/firebase/tenantManager.d.ts.map +1 -0
- package/dist/firebase/tenantManager.js +378 -0
- package/dist/firebase/tenantManager.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +118 -0
- package/dist/index.js.map +1 -0
- package/dist/integration/secure-yaml-runtime.d.ts +68 -0
- package/dist/integration/secure-yaml-runtime.d.ts.map +1 -0
- package/dist/integration/secure-yaml-runtime.js +245 -0
- package/dist/integration/secure-yaml-runtime.js.map +1 -0
- package/dist/parser/secure-yaml-parser.d.ts +62 -0
- package/dist/parser/secure-yaml-parser.d.ts.map +1 -0
- package/dist/parser/secure-yaml-parser.js +234 -0
- package/dist/parser/secure-yaml-parser.js.map +1 -0
- package/dist/performance/autoscaling.d.ts +100 -0
- package/dist/performance/autoscaling.d.ts.map +1 -0
- package/dist/performance/autoscaling.js +339 -0
- package/dist/performance/autoscaling.js.map +1 -0
- package/dist/performance/benchmark.d.ts +104 -0
- package/dist/performance/benchmark.d.ts.map +1 -0
- package/dist/performance/benchmark.js +514 -0
- package/dist/performance/benchmark.js.map +1 -0
- package/dist/performance/index.d.ts +14 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +35 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/performance/monitor.d.ts +126 -0
- package/dist/performance/monitor.d.ts.map +1 -0
- package/dist/performance/monitor.js +324 -0
- package/dist/performance/monitor.js.map +1 -0
- package/dist/performance/streaming.d.ts +82 -0
- package/dist/performance/streaming.d.ts.map +1 -0
- package/dist/performance/streaming.js +287 -0
- package/dist/performance/streaming.js.map +1 -0
- package/dist/runtime/audit.d.ts +240 -0
- package/dist/runtime/audit.d.ts.map +1 -0
- package/dist/runtime/audit.js +641 -0
- package/dist/runtime/audit.js.map +1 -0
- package/dist/runtime/declarativeAgentRuntime.d.ts +123 -0
- package/dist/runtime/declarativeAgentRuntime.d.ts.map +1 -0
- package/dist/runtime/declarativeAgentRuntime.js +576 -0
- package/dist/runtime/declarativeAgentRuntime.js.map +1 -0
- package/dist/runtime/isolatedRuntime.d.ts +119 -0
- package/dist/runtime/isolatedRuntime.d.ts.map +1 -0
- package/dist/runtime/isolatedRuntime.js +425 -0
- package/dist/runtime/isolatedRuntime.js.map +1 -0
- package/dist/runtime/schemaCompiler.d.ts +35 -0
- package/dist/runtime/schemaCompiler.d.ts.map +1 -0
- package/dist/runtime/schemaCompiler.js +151 -0
- package/dist/runtime/schemaCompiler.js.map +1 -0
- package/dist/runtime/simpleRuntime.d.ts +57 -0
- package/dist/runtime/simpleRuntime.d.ts.map +1 -0
- package/dist/runtime/simpleRuntime.js +187 -0
- package/dist/runtime/simpleRuntime.js.map +1 -0
- package/dist/security/dashboard.d.ts +89 -0
- package/dist/security/dashboard.d.ts.map +1 -0
- package/dist/security/dashboard.js +300 -0
- package/dist/security/dashboard.js.map +1 -0
- package/dist/security/hardening.d.ts +130 -0
- package/dist/security/hardening.d.ts.map +1 -0
- package/dist/security/hardening.js +414 -0
- package/dist/security/hardening.js.map +1 -0
- package/dist/security/index.d.ts +128 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +353 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/monitor.d.ts +88 -0
- package/dist/security/monitor.d.ts.map +1 -0
- package/dist/security/monitor.js +356 -0
- package/dist/security/monitor.js.map +1 -0
- package/dist/security/scanner.d.ts +104 -0
- package/dist/security/scanner.d.ts.map +1 -0
- package/dist/security/scanner.js +298 -0
- package/dist/security/scanner.js.map +1 -0
- package/dist/security/score.d.ts +150 -0
- package/dist/security/score.d.ts.map +1 -0
- package/dist/security/score.js +983 -0
- package/dist/security/score.js.map +1 -0
- package/dist/security/test-security.d.ts +22 -0
- package/dist/security/test-security.d.ts.map +1 -0
- package/dist/security/test-security.js +154 -0
- package/dist/security/test-security.js.map +1 -0
- package/dist/security/threatDetector.d.ts +39 -0
- package/dist/security/threatDetector.d.ts.map +1 -0
- package/dist/security/threatDetector.js +354 -0
- package/dist/security/threatDetector.js.map +1 -0
- package/dist/security/validation.d.ts +69 -0
- package/dist/security/validation.d.ts.map +1 -0
- package/dist/security/validation.js +286 -0
- package/dist/security/validation.js.map +1 -0
- package/dist/server/api/clientsRoute.d.ts +9 -0
- package/dist/server/api/clientsRoute.d.ts.map +1 -0
- package/dist/server/api/clientsRoute.js +71 -0
- package/dist/server/api/clientsRoute.js.map +1 -0
- package/dist/server/api/endpointsRoute.d.ts +8 -0
- package/dist/server/api/endpointsRoute.d.ts.map +1 -0
- package/dist/server/api/endpointsRoute.js +76 -0
- package/dist/server/api/endpointsRoute.js.map +1 -0
- package/dist/server/api/graphql.d.ts +9 -0
- package/dist/server/api/graphql.d.ts.map +1 -0
- package/dist/server/api/graphql.js +180 -0
- package/dist/server/api/graphql.js.map +1 -0
- package/dist/server/errors.d.ts +19 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/errors.js +42 -0
- package/dist/server/errors.js.map +1 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +24 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/kvStore.d.ts +27 -0
- package/dist/server/kvStore.d.ts.map +1 -0
- package/dist/server/kvStore.js +128 -0
- package/dist/server/kvStore.js.map +1 -0
- package/dist/server/runtimeSecurity.d.ts +28 -0
- package/dist/server/runtimeSecurity.d.ts.map +1 -0
- package/dist/server/runtimeSecurity.js +85 -0
- package/dist/server/runtimeSecurity.js.map +1 -0
- package/dist/server/types.d.ts +53 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +8 -0
- package/dist/server/types.js.map +1 -0
- package/dist/types/executionContext.d.ts +16 -0
- package/dist/types/executionContext.d.ts.map +1 -0
- package/dist/types/executionContext.js +3 -0
- package/dist/types/executionContext.js.map +1 -0
- package/package.json +77 -0
- package/src/agents/agentRegistry.ts +272 -0
- package/src/agents/image-agent.yaml +86 -0
- package/src/agents/joker-agent.yaml +47 -0
- package/src/agents/translator-agent.yaml +80 -0
- package/src/audit/auditTrail.ts +134 -0
- package/src/compliance/gdprEngine.ts +209 -0
- package/src/compliance/lgpdEngine.ts +268 -0
- package/src/config.ts +179 -0
- package/src/errors.ts +35 -0
- package/src/firebase/tenantManager.ts +443 -0
- package/src/index.ts +125 -0
- package/src/integration/secure-yaml-runtime.ts +341 -0
- package/src/parser/secure-yaml-parser.ts +273 -0
- package/src/performance/autoscaling.ts +495 -0
- package/src/performance/benchmark.ts +644 -0
- package/src/performance/index.ts +34 -0
- package/src/performance/monitor.ts +469 -0
- package/src/performance/streaming.ts +317 -0
- package/src/runtime/audit.ts +907 -0
- package/src/runtime/declarativeAgentRuntime.ts +836 -0
- package/src/runtime/isolatedRuntime.ts +572 -0
- package/src/runtime/schemaCompiler.ts +228 -0
- package/src/runtime/simpleRuntime.ts +201 -0
- package/src/security/dashboard.ts +462 -0
- package/src/security/hardening.ts +560 -0
- package/src/security/index.ts +439 -0
- package/src/security/monitor.ts +490 -0
- package/src/security/scanner.ts +368 -0
- package/src/security/score.ts +1138 -0
- package/src/security/threatDetector.ts +481 -0
- package/src/security/validation.ts +365 -0
- package/src/server/api/clientsRoute.ts +92 -0
- package/src/server/api/endpointsRoute.ts +97 -0
- package/src/server/api/graphql.ts +249 -0
- package/src/server/errors.ts +38 -0
- package/src/server/index.ts +6 -0
- package/src/server/kvStore.ts +152 -0
- package/src/server/runtimeSecurity.ts +102 -0
- package/src/server/types.ts +60 -0
- package/src/types/executionContext.ts +16 -0
- package/tools/seed.ts +365 -0
- package/tools/test-endpoints.ts +174 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Beddel Security Module - Advanced Security Monitoring System v2025
|
|
4
|
+
*
|
|
5
|
+
* Complete security monitoring solution with real-time threat detection,
|
|
6
|
+
* ML-based anomaly analysis, and automated incident response.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.securityManager = exports.SecurityManager = exports.securityDashboard = exports.SecurityDashboard = exports.ThreatMLModel = exports.AnomalyDetector = exports.ThreatDetectionEngine = exports.securityMonitor = exports.SecurityMonitor = void 0;
|
|
10
|
+
exports.initializeSecuritySystem = initializeSecuritySystem;
|
|
11
|
+
exports.monitorSecurity = monitorSecurity;
|
|
12
|
+
exports.getSecurityDashboard = getSecurityDashboard;
|
|
13
|
+
exports.exportSecurityReport = exportSecurityReport;
|
|
14
|
+
exports.stopSecuritySystem = stopSecuritySystem;
|
|
15
|
+
var monitor_1 = require("./monitor");
|
|
16
|
+
Object.defineProperty(exports, "SecurityMonitor", { enumerable: true, get: function () { return monitor_1.SecurityMonitor; } });
|
|
17
|
+
Object.defineProperty(exports, "securityMonitor", { enumerable: true, get: function () { return monitor_1.securityMonitor; } });
|
|
18
|
+
var threatDetector_1 = require("./threatDetector");
|
|
19
|
+
Object.defineProperty(exports, "ThreatDetectionEngine", { enumerable: true, get: function () { return threatDetector_1.ThreatDetectionEngine; } });
|
|
20
|
+
Object.defineProperty(exports, "AnomalyDetector", { enumerable: true, get: function () { return threatDetector_1.AnomalyDetector; } });
|
|
21
|
+
Object.defineProperty(exports, "ThreatMLModel", { enumerable: true, get: function () { return threatDetector_1.ThreatMLModel; } });
|
|
22
|
+
var dashboard_1 = require("./dashboard");
|
|
23
|
+
Object.defineProperty(exports, "SecurityDashboard", { enumerable: true, get: function () { return dashboard_1.SecurityDashboard; } });
|
|
24
|
+
Object.defineProperty(exports, "securityDashboard", { enumerable: true, get: function () { return dashboard_1.securityDashboard; } });
|
|
25
|
+
const monitor_2 = require("./monitor");
|
|
26
|
+
const dashboard_2 = require("./dashboard");
|
|
27
|
+
/**
|
|
28
|
+
* Security Manager - Main security system coordinator
|
|
29
|
+
*/
|
|
30
|
+
class SecurityManager {
|
|
31
|
+
constructor() {
|
|
32
|
+
this.isInitialized = false;
|
|
33
|
+
this.monitor = monitor_2.securityMonitor;
|
|
34
|
+
this.dashboard = dashboard_2.securityDashboard;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Initialize the complete security system
|
|
38
|
+
*/
|
|
39
|
+
initialize() {
|
|
40
|
+
if (this.isInitialized) {
|
|
41
|
+
console.log("🔒 Security system already initialized");
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
// Start monitoring
|
|
46
|
+
this.monitor.startMonitoring();
|
|
47
|
+
// Initialize dashboard
|
|
48
|
+
this.dashboard.initialize();
|
|
49
|
+
// Set up event listeners
|
|
50
|
+
this.setupEventListeners();
|
|
51
|
+
this.isInitialized = true;
|
|
52
|
+
console.log("🛡️ Beddel Security System v2025 initialized successfully");
|
|
53
|
+
// Schedule periodic health check
|
|
54
|
+
this.scheduleHealthCheck();
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
console.error("❌ Failed to initialize security system:", error);
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Set up event listeners for security events
|
|
63
|
+
*/
|
|
64
|
+
setupEventListeners() {
|
|
65
|
+
// Listen for security events
|
|
66
|
+
this.monitor.on("securityEvent", (event) => {
|
|
67
|
+
console.log(`🔍 Security event detected: ${event.tenantId} - ${event.operation} (Risk: ${event.riskScore})`);
|
|
68
|
+
// Add to dashboard
|
|
69
|
+
this.dashboard.addEvent(event);
|
|
70
|
+
// Auto-respond to high-risk events
|
|
71
|
+
if (event.riskScore > 0.8) {
|
|
72
|
+
this.autoRespondToThreat(event);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
// Listen for security alerts
|
|
76
|
+
this.monitor.on("securityAlert", (event) => {
|
|
77
|
+
console.log(`🚨 SECURITY ALERT: ${event.tenantId} - ${event.operation} (Score: ${event.riskScore})`);
|
|
78
|
+
this.handleSecurityAlert(event);
|
|
79
|
+
});
|
|
80
|
+
// Listen for monitoring events
|
|
81
|
+
this.monitor.on("monitoringStarted", () => {
|
|
82
|
+
console.log("✅ Security monitoring started");
|
|
83
|
+
});
|
|
84
|
+
this.monitor.on("monitoringStopped", () => {
|
|
85
|
+
console.log("⏹️ Security monitoring stopped");
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Monitor security operations
|
|
90
|
+
*/
|
|
91
|
+
async monitorSecurity(tenantId, operation, metadata = {}) {
|
|
92
|
+
if (!this.isInitialized) {
|
|
93
|
+
throw new Error("Security system not initialized");
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
// Add security context to metadata
|
|
97
|
+
const enrichedMetadata = {
|
|
98
|
+
...metadata,
|
|
99
|
+
securityTimestamp: new Date().toISOString(),
|
|
100
|
+
securitySystem: "Beddel-v2025",
|
|
101
|
+
};
|
|
102
|
+
return await this.monitor.monitorActivity(tenantId, operation, enrichedMetadata);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error("❌ Security monitoring failed:", error);
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Auto-respond to threats
|
|
111
|
+
*/
|
|
112
|
+
async autoRespondToThreat(event) {
|
|
113
|
+
console.log(`🔄 Auto-responding to threat from ${event.tenantId}`);
|
|
114
|
+
switch (event.alertLevel) {
|
|
115
|
+
case "emergency":
|
|
116
|
+
// Immediate response required
|
|
117
|
+
console.log(`🚨 EMERGENCY RESPONSE: Isolating tenant ${event.tenantId}`);
|
|
118
|
+
// In a real implementation, would:
|
|
119
|
+
// 1. Block tenant operations
|
|
120
|
+
// 2. Notify security team
|
|
121
|
+
// 3. Preserve evidence
|
|
122
|
+
// 4. Alert compliance team
|
|
123
|
+
break;
|
|
124
|
+
case "critical":
|
|
125
|
+
console.log(`⚠️ CRITICAL RESPONSE: Enhanced monitoring for ${event.tenantId}`);
|
|
126
|
+
break;
|
|
127
|
+
case "warning":
|
|
128
|
+
console.log(`⚠️ WARNING RESPONSE: Alerting security team about ${event.tenantId}`);
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
// Generate automated incident response
|
|
132
|
+
await this.generateIncidentResponse(event);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Handle security alerts
|
|
136
|
+
*/
|
|
137
|
+
handleSecurityAlert(event) {
|
|
138
|
+
// Add alert to dashboard
|
|
139
|
+
const alertMetric = {
|
|
140
|
+
timestamp: new Date(),
|
|
141
|
+
tenantId: event.tenantId,
|
|
142
|
+
metricType: "security_alert",
|
|
143
|
+
value: event.riskScore,
|
|
144
|
+
riskLevel: this.assessRiskLevel(event.riskScore),
|
|
145
|
+
description: `Security alert: ${event.operation}`,
|
|
146
|
+
};
|
|
147
|
+
this.dashboard.addMetric(alertMetric);
|
|
148
|
+
// Log alert details
|
|
149
|
+
console.warn(`🚨 Security Alert Details:
|
|
150
|
+
Tenant: ${event.tenantId}
|
|
151
|
+
Operation: ${event.operation}
|
|
152
|
+
Risk Score: ${event.riskScore}
|
|
153
|
+
Alert Level: ${event.alertLevel}
|
|
154
|
+
Time: ${event.timestamp}
|
|
155
|
+
`);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Assess risk level
|
|
159
|
+
*/
|
|
160
|
+
assessRiskLevel(riskScore) {
|
|
161
|
+
if (riskScore >= 0.9)
|
|
162
|
+
return "critical";
|
|
163
|
+
if (riskScore >= 0.7)
|
|
164
|
+
return "high";
|
|
165
|
+
if (riskScore >= 0.4)
|
|
166
|
+
return "medium";
|
|
167
|
+
return "low";
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Generate incident response
|
|
171
|
+
*/
|
|
172
|
+
async generateIncidentResponse(event) {
|
|
173
|
+
const incidentId = `INC-${Date.now()}-${Math.random()
|
|
174
|
+
.toString(36)
|
|
175
|
+
.substr(2, 9)}`;
|
|
176
|
+
const responseActions = [];
|
|
177
|
+
// Determine response actions based on risk level
|
|
178
|
+
if (event.riskScore > 0.8) {
|
|
179
|
+
responseActions.push("Isolate tenant immediately");
|
|
180
|
+
responseActions.push("Block further operations");
|
|
181
|
+
responseActions.push("Alert security team");
|
|
182
|
+
responseActions.push("Preserve audit logs");
|
|
183
|
+
responseActions.push("Notify compliance team");
|
|
184
|
+
}
|
|
185
|
+
else if (event.riskScore > 0.6) {
|
|
186
|
+
responseActions.push("Increase monitoring");
|
|
187
|
+
responseActions.push("Log all operations");
|
|
188
|
+
responseActions.push("Alert security team");
|
|
189
|
+
responseActions.push("Check access permissions");
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
responseActions.push("Monitor closely");
|
|
193
|
+
responseActions.push("Document the event");
|
|
194
|
+
}
|
|
195
|
+
console.log(`📋 Incident Response Generated:
|
|
196
|
+
Incident ID: ${incidentId}
|
|
197
|
+
Tenant: ${event.tenantId}
|
|
198
|
+
Risk Level: ${event.riskScore}
|
|
199
|
+
Response Actions: ${responseActions.length}
|
|
200
|
+
`);
|
|
201
|
+
// Simulate response execution
|
|
202
|
+
for (const action of responseActions) {
|
|
203
|
+
console.log(` • Executing: ${action}`);
|
|
204
|
+
// Simulate processing time
|
|
205
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
206
|
+
}
|
|
207
|
+
console.log(`✅ Incident response completed for ${incidentId}`);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
** Get current dashboard data
|
|
211
|
+
*/
|
|
212
|
+
getDashboardData() {
|
|
213
|
+
return this.dashboard.getDashboardData();
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Get security metrics
|
|
217
|
+
*/
|
|
218
|
+
getSecurityMetrics() {
|
|
219
|
+
return this.dashboard.getSecurityMetrics();
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Export security report
|
|
223
|
+
*/
|
|
224
|
+
exportSecurityReport() {
|
|
225
|
+
const data = this.getDashboardData();
|
|
226
|
+
const report = this.dashboard.exportDashboardReport();
|
|
227
|
+
const securityReport = `
|
|
228
|
+
# Beddel Security Report - ${new Date().toISOString()}
|
|
229
|
+
|
|
230
|
+
## System Status
|
|
231
|
+
- Security System: ACTIVE
|
|
232
|
+
- Monitoring Status: ${this.monitor.isMonitoringActive() ? "RUNNING" : "STOPPED"}
|
|
233
|
+
- Risk Score: ${data.summary.securityScore}/10
|
|
234
|
+
- Total Events: ${data.summary.totalEvents}
|
|
235
|
+
|
|
236
|
+
${report}
|
|
237
|
+
`;
|
|
238
|
+
return securityReport;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get monitoring status
|
|
242
|
+
*/
|
|
243
|
+
getMonitoringStatus() {
|
|
244
|
+
return {
|
|
245
|
+
active: this.monitor.isMonitoringActive(),
|
|
246
|
+
eventsProcessed: this.monitor.getMetrics().totalEvents,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get threat statistics
|
|
251
|
+
*/
|
|
252
|
+
getThreatStatistics() {
|
|
253
|
+
return this.monitor.getThreatStatistics();
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Get real-time security updates
|
|
257
|
+
*/
|
|
258
|
+
getRealTimeUpdates() {
|
|
259
|
+
return {
|
|
260
|
+
dashboard: this.getDashboardData(),
|
|
261
|
+
metrics: this.getSecurityMetrics(),
|
|
262
|
+
status: this.getMonitoringStatus(),
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Stop the security system
|
|
267
|
+
*/
|
|
268
|
+
stop() {
|
|
269
|
+
if (!this.isInitialized) {
|
|
270
|
+
console.log("Security system not running");
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
this.monitor.stopMonitoring();
|
|
274
|
+
this.dashboard.stopRealTimeUpdates();
|
|
275
|
+
this.stopHealthCheck();
|
|
276
|
+
this.isInitialized = false;
|
|
277
|
+
console.log("🛑 Security system stopped");
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Schedule health check
|
|
281
|
+
*/
|
|
282
|
+
scheduleHealthCheck() {
|
|
283
|
+
// Health check every 5 minutes
|
|
284
|
+
setInterval(() => {
|
|
285
|
+
this.performHealthCheck();
|
|
286
|
+
}, 5 * 60 * 1000);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Perform health check
|
|
290
|
+
*/
|
|
291
|
+
performHealthCheck() {
|
|
292
|
+
try {
|
|
293
|
+
const status = this.getMonitoringStatus();
|
|
294
|
+
const dashboard = this.getDashboardData();
|
|
295
|
+
const threats = this.getThreatStatistics();
|
|
296
|
+
console.log(`🔍 Security Health Check:
|
|
297
|
+
Status: ${status.active ? "ACTIVE" : "INACTIVE"}
|
|
298
|
+
Events Processed: ${status.eventsProcessed}
|
|
299
|
+
Security Score: ${dashboard.summary.securityScore}/10
|
|
300
|
+
Threat Detection: ${threats.patternsLoaded} patterns active
|
|
301
|
+
Last Update: ${dashboard.summary.lastUpdate.toISOString()}
|
|
302
|
+
`);
|
|
303
|
+
// If security score is too low, raise alert
|
|
304
|
+
if (dashboard.summary.securityScore < 7.0) {
|
|
305
|
+
console.error("🚨 CRITICAL: Security score below acceptable threshold");
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
console.error("❌ Health check failed:", error);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Stop health check
|
|
314
|
+
*/
|
|
315
|
+
stopHealthCheck() {
|
|
316
|
+
// Implementation would clear any health check intervals
|
|
317
|
+
console.log("Health checks stopped");
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
exports.SecurityManager = SecurityManager;
|
|
321
|
+
// Global security manager instance
|
|
322
|
+
exports.securityManager = new SecurityManager();
|
|
323
|
+
/**
|
|
324
|
+
* Initialize security system globally
|
|
325
|
+
*/
|
|
326
|
+
function initializeSecuritySystem() {
|
|
327
|
+
exports.securityManager.initialize();
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Monitor security operation
|
|
331
|
+
*/
|
|
332
|
+
function monitorSecurity(tenantId, operation, metadata = {}) {
|
|
333
|
+
return exports.securityManager.monitorSecurity(tenantId, operation, metadata);
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Get security dashboard data
|
|
337
|
+
*/
|
|
338
|
+
function getSecurityDashboard() {
|
|
339
|
+
return exports.securityManager.getDashboardData();
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Export security report
|
|
343
|
+
*/
|
|
344
|
+
function exportSecurityReport() {
|
|
345
|
+
return exports.securityManager.exportSecurityReport();
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Stop security system
|
|
349
|
+
*/
|
|
350
|
+
function stopSecuritySystem() {
|
|
351
|
+
exports.securityManager.stop();
|
|
352
|
+
}
|
|
353
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { EventEmitter } from "events";
|
|
2
|
+
export interface SecurityEvent {
|
|
3
|
+
id: string;
|
|
4
|
+
tenantId: string;
|
|
5
|
+
operation: string;
|
|
6
|
+
metadata: any;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
riskScore: number;
|
|
9
|
+
alertLevel: AlertLevel;
|
|
10
|
+
}
|
|
11
|
+
export declare enum AlertLevel {
|
|
12
|
+
INFO = "info",
|
|
13
|
+
WARNING = "warning",
|
|
14
|
+
CRITICAL = "critical",
|
|
15
|
+
EMERGENCY = "emergency"
|
|
16
|
+
}
|
|
17
|
+
export interface ThreatAnalysis {
|
|
18
|
+
riskScore: number;
|
|
19
|
+
threatType: string;
|
|
20
|
+
confidence: number;
|
|
21
|
+
recommendations: string[];
|
|
22
|
+
}
|
|
23
|
+
export declare class SecurityMonitor extends EventEmitter {
|
|
24
|
+
private static instance;
|
|
25
|
+
private threatDetector;
|
|
26
|
+
private alertManager;
|
|
27
|
+
private metricsCollector;
|
|
28
|
+
private isMonitoring;
|
|
29
|
+
private auditTrail;
|
|
30
|
+
private securityConfig;
|
|
31
|
+
constructor();
|
|
32
|
+
static getInstance(): SecurityMonitor;
|
|
33
|
+
startMonitoring(): void;
|
|
34
|
+
stopMonitoring(): void;
|
|
35
|
+
isMonitoringActive(): boolean;
|
|
36
|
+
monitorActivity(tenantId: string, operation: string, metadata: any): Promise<SecurityEvent>;
|
|
37
|
+
private generateEventId;
|
|
38
|
+
private determineAlertLevel;
|
|
39
|
+
private logSecurityEvent;
|
|
40
|
+
private triggerSecurityAlert;
|
|
41
|
+
logEvent(tenantId: string, operation: string, metadata: any, riskScore?: number): Promise<SecurityEvent>;
|
|
42
|
+
getMetrics(): any;
|
|
43
|
+
getThreatStatistics(): {
|
|
44
|
+
patternsLoaded: number;
|
|
45
|
+
lastUpdate: string;
|
|
46
|
+
mlModelVersion: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export declare class ThreatDetectionEngine {
|
|
50
|
+
private patterns;
|
|
51
|
+
private anomalyDetector;
|
|
52
|
+
private mlModel;
|
|
53
|
+
constructor();
|
|
54
|
+
private initializePatterns;
|
|
55
|
+
analyze(tenantId: string, operation: string, metadata: any): Promise<ThreatAnalysis>;
|
|
56
|
+
private generateRecommendations;
|
|
57
|
+
getStatistics(): {
|
|
58
|
+
patternsLoaded: number;
|
|
59
|
+
lastUpdate: string;
|
|
60
|
+
mlModelVersion: string;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export declare class AnomalyDetector {
|
|
64
|
+
private normalPatterns;
|
|
65
|
+
private anomalyThreshold;
|
|
66
|
+
detectAnomaly(tenantId: string, operation: string, metadata: any): Promise<number>;
|
|
67
|
+
}
|
|
68
|
+
export declare class ThreatMLModel {
|
|
69
|
+
private modelWeights;
|
|
70
|
+
constructor();
|
|
71
|
+
private initializeModel;
|
|
72
|
+
predict(tenantId: string, operation: string, metadata: any): Promise<number>;
|
|
73
|
+
}
|
|
74
|
+
export declare class AlertManager {
|
|
75
|
+
private alertHistory;
|
|
76
|
+
private readonly MAX_ALERTS_PER_TENANT;
|
|
77
|
+
sendAlert(event: SecurityEvent): Promise<void>;
|
|
78
|
+
getAlertHistory(tenantId: string): SecurityEvent[];
|
|
79
|
+
getAlertSummary(): Record<string, any>;
|
|
80
|
+
}
|
|
81
|
+
export declare class MetricsCollector {
|
|
82
|
+
private metrics;
|
|
83
|
+
recordEvent(event: SecurityEvent): void;
|
|
84
|
+
getMetrics(): any;
|
|
85
|
+
resetMetrics(): void;
|
|
86
|
+
}
|
|
87
|
+
export declare const securityMonitor: SecurityMonitor;
|
|
88
|
+
//# sourceMappingURL=monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/security/monitor.ts"],"names":[],"mappings":"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"}
|