erosolar-cli 1.7.328 → 1.7.330
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 +24 -148
- package/dist/bin/erosolar.js +5 -21
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -1
- package/dist/capabilities/agentSpawningCapability.js +56 -31
- package/dist/capabilities/agentSpawningCapability.js.map +1 -1
- package/dist/contracts/agent-schemas.json +0 -15
- package/dist/contracts/tools.schema.json +0 -9
- package/dist/core/agent.d.ts +2 -2
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js.map +1 -1
- package/dist/core/customCommands.d.ts +1 -0
- package/dist/core/customCommands.d.ts.map +1 -1
- package/dist/core/customCommands.js +3 -0
- package/dist/core/customCommands.js.map +1 -1
- package/dist/core/hooks.d.ts +113 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +267 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/metricsTracker.d.ts +122 -0
- package/dist/core/metricsTracker.d.ts.map +1 -0
- package/dist/{alpha-zero → core}/metricsTracker.js +2 -5
- package/dist/core/metricsTracker.js.map +1 -0
- package/dist/core/securityAssessment.d.ts +91 -0
- package/dist/core/securityAssessment.d.ts.map +1 -0
- package/dist/core/securityAssessment.js +580 -0
- package/dist/core/securityAssessment.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -1
- package/dist/core/toolPreconditions.js +0 -14
- package/dist/core/toolPreconditions.js.map +1 -1
- package/dist/core/toolRuntime.d.ts +22 -1
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +0 -5
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/toolValidation.d.ts.map +1 -1
- package/dist/core/toolValidation.js +14 -3
- package/dist/core/toolValidation.js.map +1 -1
- package/dist/core/validationRunner.d.ts +1 -3
- package/dist/core/validationRunner.d.ts.map +1 -1
- package/dist/core/validationRunner.js.map +1 -1
- package/dist/core/verification.d.ts +137 -0
- package/dist/core/verification.d.ts.map +1 -0
- package/dist/core/verification.js +323 -0
- package/dist/core/verification.js.map +1 -0
- package/dist/headless/headlessApp.d.ts.map +1 -1
- package/dist/headless/headlessApp.js +21 -0
- package/dist/headless/headlessApp.js.map +1 -1
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +9 -18
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.d.ts +0 -6
- package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.js +4 -10
- package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +0 -2
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/runtime/agentSession.d.ts +2 -2
- package/dist/runtime/agentSession.d.ts.map +1 -1
- package/dist/runtime/agentSession.js +2 -2
- package/dist/runtime/agentSession.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +16 -7
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +235 -164
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/shellApp.d.ts +2 -0
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +40 -9
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/systemPrompt.d.ts.map +1 -1
- package/dist/shell/systemPrompt.js +1 -4
- package/dist/shell/systemPrompt.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +149 -116
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +659 -527
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +79 -20
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +99 -30
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/subagents/agentConfig.d.ts +27 -0
- package/dist/subagents/agentConfig.d.ts.map +1 -0
- package/dist/subagents/agentConfig.js +89 -0
- package/dist/subagents/agentConfig.js.map +1 -0
- package/dist/subagents/agentRegistry.d.ts +33 -0
- package/dist/subagents/agentRegistry.d.ts.map +1 -0
- package/dist/subagents/agentRegistry.js +162 -0
- package/dist/subagents/agentRegistry.js.map +1 -0
- package/dist/subagents/taskRunner.d.ts +7 -1
- package/dist/subagents/taskRunner.d.ts.map +1 -1
- package/dist/subagents/taskRunner.js +180 -47
- package/dist/subagents/taskRunner.js.map +1 -1
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +13 -12
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +24 -45
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +140 -259
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +6 -8
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/toolDisplay.d.ts +0 -158
- package/dist/ui/toolDisplay.d.ts.map +1 -1
- package/dist/ui/toolDisplay.js +0 -348
- package/dist/ui/toolDisplay.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +1 -0
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +15 -25
- package/dist/ui/unified/layout.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +10 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +78 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/package.json +4 -4
- package/dist/alpha-zero/agentWrapper.d.ts +0 -84
- package/dist/alpha-zero/agentWrapper.d.ts.map +0 -1
- package/dist/alpha-zero/agentWrapper.js +0 -171
- package/dist/alpha-zero/agentWrapper.js.map +0 -1
- package/dist/alpha-zero/codeEvaluator.d.ts +0 -25
- package/dist/alpha-zero/codeEvaluator.d.ts.map +0 -1
- package/dist/alpha-zero/codeEvaluator.js +0 -273
- package/dist/alpha-zero/codeEvaluator.js.map +0 -1
- package/dist/alpha-zero/competitiveRunner.d.ts +0 -66
- package/dist/alpha-zero/competitiveRunner.d.ts.map +0 -1
- package/dist/alpha-zero/competitiveRunner.js +0 -224
- package/dist/alpha-zero/competitiveRunner.js.map +0 -1
- package/dist/alpha-zero/index.d.ts +0 -67
- package/dist/alpha-zero/index.d.ts.map +0 -1
- package/dist/alpha-zero/index.js +0 -99
- package/dist/alpha-zero/index.js.map +0 -1
- package/dist/alpha-zero/introspection.d.ts +0 -128
- package/dist/alpha-zero/introspection.d.ts.map +0 -1
- package/dist/alpha-zero/introspection.js +0 -300
- package/dist/alpha-zero/introspection.js.map +0 -1
- package/dist/alpha-zero/metricsTracker.d.ts +0 -71
- package/dist/alpha-zero/metricsTracker.d.ts.map +0 -1
- package/dist/alpha-zero/metricsTracker.js.map +0 -1
- package/dist/alpha-zero/security/core.d.ts +0 -125
- package/dist/alpha-zero/security/core.d.ts.map +0 -1
- package/dist/alpha-zero/security/core.js +0 -271
- package/dist/alpha-zero/security/core.js.map +0 -1
- package/dist/alpha-zero/security/google.d.ts +0 -125
- package/dist/alpha-zero/security/google.d.ts.map +0 -1
- package/dist/alpha-zero/security/google.js +0 -311
- package/dist/alpha-zero/security/google.js.map +0 -1
- package/dist/alpha-zero/security/googleLoader.d.ts +0 -17
- package/dist/alpha-zero/security/googleLoader.d.ts.map +0 -1
- package/dist/alpha-zero/security/googleLoader.js +0 -41
- package/dist/alpha-zero/security/googleLoader.js.map +0 -1
- package/dist/alpha-zero/security/index.d.ts +0 -29
- package/dist/alpha-zero/security/index.d.ts.map +0 -1
- package/dist/alpha-zero/security/index.js +0 -32
- package/dist/alpha-zero/security/index.js.map +0 -1
- package/dist/alpha-zero/security/simulation.d.ts +0 -124
- package/dist/alpha-zero/security/simulation.d.ts.map +0 -1
- package/dist/alpha-zero/security/simulation.js +0 -277
- package/dist/alpha-zero/security/simulation.js.map +0 -1
- package/dist/alpha-zero/selfModification.d.ts +0 -109
- package/dist/alpha-zero/selfModification.d.ts.map +0 -1
- package/dist/alpha-zero/selfModification.js +0 -233
- package/dist/alpha-zero/selfModification.js.map +0 -1
- package/dist/alpha-zero/types.d.ts +0 -170
- package/dist/alpha-zero/types.d.ts.map +0 -1
- package/dist/alpha-zero/types.js +0 -31
- package/dist/alpha-zero/types.js.map +0 -1
- package/dist/capabilities/securityTestingCapability.d.ts +0 -13
- package/dist/capabilities/securityTestingCapability.d.ts.map +0 -1
- package/dist/capabilities/securityTestingCapability.js +0 -25
- package/dist/capabilities/securityTestingCapability.js.map +0 -1
- package/dist/core/aiFlowOptimizer.d.ts +0 -26
- package/dist/core/aiFlowOptimizer.d.ts.map +0 -1
- package/dist/core/aiFlowOptimizer.js +0 -31
- package/dist/core/aiFlowOptimizer.js.map +0 -1
- package/dist/core/aiOptimizationEngine.d.ts +0 -158
- package/dist/core/aiOptimizationEngine.d.ts.map +0 -1
- package/dist/core/aiOptimizationEngine.js +0 -428
- package/dist/core/aiOptimizationEngine.js.map +0 -1
- package/dist/core/aiOptimizationIntegration.d.ts +0 -93
- package/dist/core/aiOptimizationIntegration.d.ts.map +0 -1
- package/dist/core/aiOptimizationIntegration.js +0 -250
- package/dist/core/aiOptimizationIntegration.js.map +0 -1
- package/dist/core/enhancedErrorRecovery.d.ts +0 -100
- package/dist/core/enhancedErrorRecovery.d.ts.map +0 -1
- package/dist/core/enhancedErrorRecovery.js +0 -345
- package/dist/core/enhancedErrorRecovery.js.map +0 -1
- package/dist/core/hooksSystem.d.ts +0 -65
- package/dist/core/hooksSystem.d.ts.map +0 -1
- package/dist/core/hooksSystem.js +0 -273
- package/dist/core/hooksSystem.js.map +0 -1
- package/dist/core/memorySystem.d.ts +0 -48
- package/dist/core/memorySystem.d.ts.map +0 -1
- package/dist/core/memorySystem.js +0 -271
- package/dist/core/memorySystem.js.map +0 -1
- package/dist/core/unified/errors.d.ts +0 -189
- package/dist/core/unified/errors.d.ts.map +0 -1
- package/dist/core/unified/errors.js +0 -497
- package/dist/core/unified/errors.js.map +0 -1
- package/dist/core/unified/index.d.ts +0 -19
- package/dist/core/unified/index.d.ts.map +0 -1
- package/dist/core/unified/index.js +0 -68
- package/dist/core/unified/index.js.map +0 -1
- package/dist/core/unified/schema.d.ts +0 -101
- package/dist/core/unified/schema.d.ts.map +0 -1
- package/dist/core/unified/schema.js +0 -350
- package/dist/core/unified/schema.js.map +0 -1
- package/dist/core/unified/toolRuntime.d.ts +0 -179
- package/dist/core/unified/toolRuntime.d.ts.map +0 -1
- package/dist/core/unified/toolRuntime.js +0 -517
- package/dist/core/unified/toolRuntime.js.map +0 -1
- package/dist/core/unified/tools.d.ts +0 -127
- package/dist/core/unified/tools.d.ts.map +0 -1
- package/dist/core/unified/tools.js +0 -1333
- package/dist/core/unified/tools.js.map +0 -1
- package/dist/core/unified/types.d.ts +0 -352
- package/dist/core/unified/types.d.ts.map +0 -1
- package/dist/core/unified/types.js +0 -12
- package/dist/core/unified/types.js.map +0 -1
- package/dist/core/unified/version.d.ts +0 -209
- package/dist/core/unified/version.d.ts.map +0 -1
- package/dist/core/unified/version.js +0 -454
- package/dist/core/unified/version.js.map +0 -1
- package/dist/plugins/tools/security/securityPlugin.d.ts +0 -3
- package/dist/plugins/tools/security/securityPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/security/securityPlugin.js +0 -12
- package/dist/plugins/tools/security/securityPlugin.js.map +0 -1
- package/dist/security/active-stack-security.d.ts +0 -112
- package/dist/security/active-stack-security.d.ts.map +0 -1
- package/dist/security/active-stack-security.js +0 -296
- package/dist/security/active-stack-security.js.map +0 -1
- package/dist/security/advanced-persistence-research.d.ts +0 -92
- package/dist/security/advanced-persistence-research.d.ts.map +0 -1
- package/dist/security/advanced-persistence-research.js +0 -195
- package/dist/security/advanced-persistence-research.js.map +0 -1
- package/dist/security/advanced-targeting.d.ts +0 -119
- package/dist/security/advanced-targeting.d.ts.map +0 -1
- package/dist/security/advanced-targeting.js +0 -233
- package/dist/security/advanced-targeting.js.map +0 -1
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +0 -104
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +0 -1
- package/dist/security/assessment/vulnerabilityAssessment.js +0 -315
- package/dist/security/assessment/vulnerabilityAssessment.js.map +0 -1
- package/dist/security/authorization/securityAuthorization.d.ts +0 -88
- package/dist/security/authorization/securityAuthorization.d.ts.map +0 -1
- package/dist/security/authorization/securityAuthorization.js +0 -172
- package/dist/security/authorization/securityAuthorization.js.map +0 -1
- package/dist/security/comprehensive-targeting.d.ts +0 -85
- package/dist/security/comprehensive-targeting.d.ts.map +0 -1
- package/dist/security/comprehensive-targeting.js +0 -438
- package/dist/security/comprehensive-targeting.js.map +0 -1
- package/dist/security/global-security-integration.d.ts +0 -91
- package/dist/security/global-security-integration.d.ts.map +0 -1
- package/dist/security/global-security-integration.js +0 -218
- package/dist/security/global-security-integration.js.map +0 -1
- package/dist/security/index.d.ts +0 -38
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/index.js +0 -47
- package/dist/security/index.js.map +0 -1
- package/dist/security/persistence-analyzer.d.ts +0 -56
- package/dist/security/persistence-analyzer.d.ts.map +0 -1
- package/dist/security/persistence-analyzer.js +0 -187
- package/dist/security/persistence-analyzer.js.map +0 -1
- package/dist/security/persistence-cli.d.ts +0 -36
- package/dist/security/persistence-cli.d.ts.map +0 -1
- package/dist/security/persistence-cli.js +0 -160
- package/dist/security/persistence-cli.js.map +0 -1
- package/dist/security/persistence-research.d.ts +0 -92
- package/dist/security/persistence-research.d.ts.map +0 -1
- package/dist/security/persistence-research.js +0 -364
- package/dist/security/persistence-research.js.map +0 -1
- package/dist/security/research/persistenceResearch.d.ts +0 -97
- package/dist/security/research/persistenceResearch.d.ts.map +0 -1
- package/dist/security/research/persistenceResearch.js +0 -282
- package/dist/security/research/persistenceResearch.js.map +0 -1
- package/dist/security/security-integration.d.ts +0 -74
- package/dist/security/security-integration.d.ts.map +0 -1
- package/dist/security/security-integration.js +0 -137
- package/dist/security/security-integration.js.map +0 -1
- package/dist/security/security-testing-framework.d.ts +0 -112
- package/dist/security/security-testing-framework.d.ts.map +0 -1
- package/dist/security/security-testing-framework.js +0 -364
- package/dist/security/security-testing-framework.js.map +0 -1
- package/dist/security/simulation/attackSimulation.d.ts +0 -93
- package/dist/security/simulation/attackSimulation.d.ts.map +0 -1
- package/dist/security/simulation/attackSimulation.js +0 -341
- package/dist/security/simulation/attackSimulation.js.map +0 -1
- package/dist/security/strategic-operations.d.ts +0 -100
- package/dist/security/strategic-operations.d.ts.map +0 -1
- package/dist/security/strategic-operations.js +0 -276
- package/dist/security/strategic-operations.js.map +0 -1
- package/dist/security/tool-security-wrapper.d.ts +0 -58
- package/dist/security/tool-security-wrapper.d.ts.map +0 -1
- package/dist/security/tool-security-wrapper.js +0 -156
- package/dist/security/tool-security-wrapper.js.map +0 -1
- package/dist/shell/claudeCodeStreamHandler.d.ts +0 -145
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +0 -1
- package/dist/shell/claudeCodeStreamHandler.js +0 -322
- package/dist/shell/claudeCodeStreamHandler.js.map +0 -1
- package/dist/shell/inputQueueManager.d.ts +0 -144
- package/dist/shell/inputQueueManager.d.ts.map +0 -1
- package/dist/shell/inputQueueManager.js +0 -290
- package/dist/shell/inputQueueManager.js.map +0 -1
- package/dist/shell/metricsTracker.d.ts +0 -60
- package/dist/shell/metricsTracker.d.ts.map +0 -1
- package/dist/shell/metricsTracker.js +0 -119
- package/dist/shell/metricsTracker.js.map +0 -1
- package/dist/shell/streamingOutputManager.d.ts +0 -115
- package/dist/shell/streamingOutputManager.d.ts.map +0 -1
- package/dist/shell/streamingOutputManager.js +0 -225
- package/dist/shell/streamingOutputManager.js.map +0 -1
- package/dist/tools/securityTools.d.ts +0 -22
- package/dist/tools/securityTools.d.ts.map +0 -1
- package/dist/tools/securityTools.js +0 -448
- package/dist/tools/securityTools.js.map +0 -1
- package/dist/ui/persistentPrompt.d.ts +0 -50
- package/dist/ui/persistentPrompt.d.ts.map +0 -1
- package/dist/ui/persistentPrompt.js +0 -92
- package/dist/ui/persistentPrompt.js.map +0 -1
- package/dist/ui/terminalUISchema.d.ts +0 -195
- package/dist/ui/terminalUISchema.d.ts.map +0 -1
- package/dist/ui/terminalUISchema.js +0 -113
- package/dist/ui/terminalUISchema.js.map +0 -1
- package/scripts/deploy-security-capabilities.js +0 -178
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Testing Framework
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive framework for security testing and validation
|
|
5
|
-
* Integrated with the Erosolar CLI ecosystem.
|
|
6
|
-
*
|
|
7
|
-
* @license MIT
|
|
8
|
-
* @author Bo Shang
|
|
9
|
-
*/
|
|
10
|
-
import { PersistenceResearchToolkit, type PersistenceTechnique } from './persistence-research.js';
|
|
11
|
-
export type { PersistenceTechnique };
|
|
12
|
-
export interface SecurityTest {
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
category: 'persistence' | 'privilege-escalation' | 'lateral-movement' | 'defense-evasion';
|
|
16
|
-
platform: string[];
|
|
17
|
-
description: string;
|
|
18
|
-
testSteps: string[];
|
|
19
|
-
expectedResults: string[];
|
|
20
|
-
riskLevel: 'low' | 'medium' | 'high';
|
|
21
|
-
mitreId?: string;
|
|
22
|
-
}
|
|
23
|
-
export interface TestExecutionResult {
|
|
24
|
-
testId: string;
|
|
25
|
-
status: 'passed' | 'failed' | 'skipped' | 'error';
|
|
26
|
-
executionTime: number;
|
|
27
|
-
output: string;
|
|
28
|
-
evidence?: string;
|
|
29
|
-
recommendations?: string[];
|
|
30
|
-
}
|
|
31
|
-
export interface SecurityAssessment {
|
|
32
|
-
timestamp: Date;
|
|
33
|
-
systemInfo: SystemInfo;
|
|
34
|
-
testsExecuted: number;
|
|
35
|
-
testsPassed: number;
|
|
36
|
-
testsFailed: number;
|
|
37
|
-
riskScore: number;
|
|
38
|
-
results: TestExecutionResult[];
|
|
39
|
-
summary: string;
|
|
40
|
-
}
|
|
41
|
-
export interface SystemInfo {
|
|
42
|
-
platform: string;
|
|
43
|
-
architecture: string;
|
|
44
|
-
version: string;
|
|
45
|
-
user: string;
|
|
46
|
-
privileges: string[];
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Security Testing Framework Class
|
|
50
|
-
*/
|
|
51
|
-
export declare class SecurityTestingFramework {
|
|
52
|
-
private _persistenceToolkit;
|
|
53
|
-
private securityTests;
|
|
54
|
-
constructor();
|
|
55
|
-
/**
|
|
56
|
-
* Get the persistence research toolkit for advanced security analysis
|
|
57
|
-
*/
|
|
58
|
-
get persistenceToolkit(): PersistenceResearchToolkit;
|
|
59
|
-
/**
|
|
60
|
-
* Initialize security tests based on persistence techniques
|
|
61
|
-
*/
|
|
62
|
-
private initializeSecurityTests;
|
|
63
|
-
/**
|
|
64
|
-
* Get security tests by platform
|
|
65
|
-
*/
|
|
66
|
-
getTestsByPlatform(platform: string): SecurityTest[];
|
|
67
|
-
/**
|
|
68
|
-
* Get security tests by category
|
|
69
|
-
*/
|
|
70
|
-
getTestsByCategory(category: string): SecurityTest[];
|
|
71
|
-
/**
|
|
72
|
-
* Execute a specific security test
|
|
73
|
-
*/
|
|
74
|
-
executeTest(testId: string, platform: string): Promise<TestExecutionResult>;
|
|
75
|
-
/**
|
|
76
|
-
* Execute multiple security tests
|
|
77
|
-
*/
|
|
78
|
-
executeTestSuite(testIds: string[], platform: string): Promise<SecurityAssessment>;
|
|
79
|
-
/**
|
|
80
|
-
* Generate test report in various formats
|
|
81
|
-
*/
|
|
82
|
-
generateTestReport(assessment: SecurityAssessment, format: 'text' | 'json' | 'html'): string;
|
|
83
|
-
/**
|
|
84
|
-
* Generate remediation guidance based on test results
|
|
85
|
-
*/
|
|
86
|
-
generateRemediationGuidance(results: TestExecutionResult[]): string[];
|
|
87
|
-
/**
|
|
88
|
-
* Simulate test execution (placeholder for actual implementation)
|
|
89
|
-
*/
|
|
90
|
-
private simulateTestExecution;
|
|
91
|
-
/**
|
|
92
|
-
* Get system information (placeholder for actual implementation)
|
|
93
|
-
*/
|
|
94
|
-
private getSystemInfo;
|
|
95
|
-
/**
|
|
96
|
-
* Calculate risk score based on test results
|
|
97
|
-
*/
|
|
98
|
-
private calculateRiskScore;
|
|
99
|
-
/**
|
|
100
|
-
* Generate summary of test results
|
|
101
|
-
*/
|
|
102
|
-
private generateSummary;
|
|
103
|
-
/**
|
|
104
|
-
* Generate text report
|
|
105
|
-
*/
|
|
106
|
-
private generateTextReport;
|
|
107
|
-
/**
|
|
108
|
-
* Generate HTML report
|
|
109
|
-
*/
|
|
110
|
-
private generateHTMLReport;
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=security-testing-framework.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security-testing-framework.d.ts","sourceRoot":"","sources":["../../src/security/security-testing-framework.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGlG,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;IAC1F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,aAAa,CAAiB;;IAOtC;;OAEG;IACH,IAAI,kBAAkB,IAAI,0BAA0B,CAEnD;IAED;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkH/B;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAMpD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE;IAIpD;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2CjF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBxF;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAW5F;;OAEG;IACH,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE;IAkBrE;;OAEG;YACW,qBAAqB;IAUnC;;OAEG;YACW,aAAa;IAU3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAwC3B"}
|
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Testing Framework
|
|
3
|
-
*
|
|
4
|
-
* Comprehensive framework for security testing and validation
|
|
5
|
-
* Integrated with the Erosolar CLI ecosystem.
|
|
6
|
-
*
|
|
7
|
-
* @license MIT
|
|
8
|
-
* @author Bo Shang
|
|
9
|
-
*/
|
|
10
|
-
import { PersistenceResearchToolkit } from './persistence-research.js';
|
|
11
|
-
/**
|
|
12
|
-
* Security Testing Framework Class
|
|
13
|
-
*/
|
|
14
|
-
export class SecurityTestingFramework {
|
|
15
|
-
_persistenceToolkit;
|
|
16
|
-
securityTests;
|
|
17
|
-
constructor() {
|
|
18
|
-
this._persistenceToolkit = new PersistenceResearchToolkit();
|
|
19
|
-
this.securityTests = this.initializeSecurityTests();
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get the persistence research toolkit for advanced security analysis
|
|
23
|
-
*/
|
|
24
|
-
get persistenceToolkit() {
|
|
25
|
-
return this._persistenceToolkit;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Initialize security tests based on persistence techniques
|
|
29
|
-
*/
|
|
30
|
-
initializeSecurityTests() {
|
|
31
|
-
const tests = [];
|
|
32
|
-
// Windows Persistence Tests
|
|
33
|
-
tests.push({
|
|
34
|
-
id: 'test-win-registry-persistence',
|
|
35
|
-
name: 'Windows Registry Persistence Detection',
|
|
36
|
-
category: 'persistence',
|
|
37
|
-
platform: ['windows'],
|
|
38
|
-
description: 'Test detection of registry-based persistence mechanisms',
|
|
39
|
-
testSteps: [
|
|
40
|
-
'Check HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run',
|
|
41
|
-
'Check HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run',
|
|
42
|
-
'Verify registry monitoring is enabled',
|
|
43
|
-
'Test detection of new registry entries'
|
|
44
|
-
],
|
|
45
|
-
expectedResults: [
|
|
46
|
-
'Registry monitoring detects new entries',
|
|
47
|
-
'Suspicious entries are flagged',
|
|
48
|
-
'Automated response is triggered'
|
|
49
|
-
],
|
|
50
|
-
riskLevel: 'high',
|
|
51
|
-
mitreId: 'T1547.001'
|
|
52
|
-
});
|
|
53
|
-
tests.push({
|
|
54
|
-
id: 'test-win-scheduled-tasks',
|
|
55
|
-
name: 'Windows Scheduled Tasks Detection',
|
|
56
|
-
category: 'persistence',
|
|
57
|
-
platform: ['windows'],
|
|
58
|
-
description: 'Test detection of scheduled task-based persistence',
|
|
59
|
-
testSteps: [
|
|
60
|
-
'List all scheduled tasks using schtasks',
|
|
61
|
-
'Check for tasks with SYSTEM privileges',
|
|
62
|
-
'Monitor Task Scheduler events',
|
|
63
|
-
'Test detection of new scheduled tasks'
|
|
64
|
-
],
|
|
65
|
-
expectedResults: [
|
|
66
|
-
'New scheduled tasks are detected',
|
|
67
|
-
'Tasks with suspicious actions are flagged',
|
|
68
|
-
'Automated response is triggered'
|
|
69
|
-
],
|
|
70
|
-
riskLevel: 'high',
|
|
71
|
-
mitreId: 'T1053.005'
|
|
72
|
-
});
|
|
73
|
-
// Linux Persistence Tests
|
|
74
|
-
tests.push({
|
|
75
|
-
id: 'test-linux-cron-persistence',
|
|
76
|
-
name: 'Linux Cron Job Persistence Detection',
|
|
77
|
-
category: 'persistence',
|
|
78
|
-
platform: ['linux'],
|
|
79
|
-
description: 'Test detection of cron-based persistence mechanisms',
|
|
80
|
-
testSteps: [
|
|
81
|
-
'Check /var/spool/cron/crontabs/',
|
|
82
|
-
'Review /etc/crontab and /etc/cron.d/*',
|
|
83
|
-
'Monitor cron job creation events',
|
|
84
|
-
'Test detection of new cron entries'
|
|
85
|
-
],
|
|
86
|
-
expectedResults: [
|
|
87
|
-
'New cron jobs are detected',
|
|
88
|
-
'Suspicious cron commands are flagged',
|
|
89
|
-
'Automated response is triggered'
|
|
90
|
-
],
|
|
91
|
-
riskLevel: 'high',
|
|
92
|
-
mitreId: 'T1053.003'
|
|
93
|
-
});
|
|
94
|
-
tests.push({
|
|
95
|
-
id: 'test-linux-systemd-persistence',
|
|
96
|
-
name: 'Linux Systemd Service Persistence Detection',
|
|
97
|
-
category: 'persistence',
|
|
98
|
-
platform: ['linux'],
|
|
99
|
-
description: 'Test detection of systemd service-based persistence',
|
|
100
|
-
testSteps: [
|
|
101
|
-
'Check /etc/systemd/system/ directory',
|
|
102
|
-
'List all systemd services',
|
|
103
|
-
'Monitor service unit file creation',
|
|
104
|
-
'Test detection of new systemd services'
|
|
105
|
-
],
|
|
106
|
-
expectedResults: [
|
|
107
|
-
'New systemd services are detected',
|
|
108
|
-
'Services with suspicious commands are flagged',
|
|
109
|
-
'Automated response is triggered'
|
|
110
|
-
],
|
|
111
|
-
riskLevel: 'high',
|
|
112
|
-
mitreId: 'T1543.002'
|
|
113
|
-
});
|
|
114
|
-
// Cross-platform Tests
|
|
115
|
-
tests.push({
|
|
116
|
-
id: 'test-ssh-key-persistence',
|
|
117
|
-
name: 'SSH Authorized Keys Persistence Detection',
|
|
118
|
-
category: 'persistence',
|
|
119
|
-
platform: ['linux', 'macos'],
|
|
120
|
-
description: 'Test detection of SSH key-based persistence',
|
|
121
|
-
testSteps: [
|
|
122
|
-
'Check ~/.ssh/authorized_keys files',
|
|
123
|
-
'Monitor SSH key additions',
|
|
124
|
-
'Verify SSH key validation',
|
|
125
|
-
'Test detection of unauthorized keys'
|
|
126
|
-
],
|
|
127
|
-
expectedResults: [
|
|
128
|
-
'Unauthorized SSH keys are detected',
|
|
129
|
-
'Key additions are logged and monitored',
|
|
130
|
-
'Automated response is triggered'
|
|
131
|
-
],
|
|
132
|
-
riskLevel: 'high',
|
|
133
|
-
mitreId: 'T1098.004'
|
|
134
|
-
});
|
|
135
|
-
return tests;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Get security tests by platform
|
|
139
|
-
*/
|
|
140
|
-
getTestsByPlatform(platform) {
|
|
141
|
-
return this.securityTests.filter(test => test.platform.includes(platform) || test.platform.includes('cross-platform'));
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Get security tests by category
|
|
145
|
-
*/
|
|
146
|
-
getTestsByCategory(category) {
|
|
147
|
-
return this.securityTests.filter(test => test.category === category);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Execute a specific security test
|
|
151
|
-
*/
|
|
152
|
-
async executeTest(testId, platform) {
|
|
153
|
-
const test = this.securityTests.find(t => t.id === testId);
|
|
154
|
-
if (!test) {
|
|
155
|
-
throw new Error(`Test not found: ${testId}`);
|
|
156
|
-
}
|
|
157
|
-
if (!test.platform.includes(platform) && !test.platform.includes('cross-platform')) {
|
|
158
|
-
return {
|
|
159
|
-
testId,
|
|
160
|
-
status: 'skipped',
|
|
161
|
-
executionTime: 0,
|
|
162
|
-
output: `Test skipped: Platform ${platform} not supported`
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
const startTime = Date.now();
|
|
166
|
-
try {
|
|
167
|
-
// Simulate test execution (in a real implementation, this would execute actual commands)
|
|
168
|
-
const output = await this.simulateTestExecution(test, platform);
|
|
169
|
-
const executionTime = Date.now() - startTime;
|
|
170
|
-
return {
|
|
171
|
-
testId,
|
|
172
|
-
status: 'passed',
|
|
173
|
-
executionTime,
|
|
174
|
-
output,
|
|
175
|
-
evidence: `Simulated evidence for ${testId}`,
|
|
176
|
-
recommendations: ['Implement automated monitoring', 'Review security controls']
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
const executionTime = Date.now() - startTime;
|
|
181
|
-
return {
|
|
182
|
-
testId,
|
|
183
|
-
status: 'error',
|
|
184
|
-
executionTime,
|
|
185
|
-
output: `Test execution failed: ${error}`,
|
|
186
|
-
recommendations: ['Review test configuration', 'Check system permissions']
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Execute multiple security tests
|
|
192
|
-
*/
|
|
193
|
-
async executeTestSuite(testIds, platform) {
|
|
194
|
-
const results = [];
|
|
195
|
-
const systemInfo = await this.getSystemInfo(platform);
|
|
196
|
-
for (const testId of testIds) {
|
|
197
|
-
const result = await this.executeTest(testId, platform);
|
|
198
|
-
results.push(result);
|
|
199
|
-
}
|
|
200
|
-
const testsPassed = results.filter(r => r.status === 'passed').length;
|
|
201
|
-
const testsFailed = results.filter(r => r.status === 'failed').length;
|
|
202
|
-
const riskScore = this.calculateRiskScore(results);
|
|
203
|
-
return {
|
|
204
|
-
timestamp: new Date(),
|
|
205
|
-
systemInfo,
|
|
206
|
-
testsExecuted: results.length,
|
|
207
|
-
testsPassed,
|
|
208
|
-
testsFailed,
|
|
209
|
-
riskScore,
|
|
210
|
-
results,
|
|
211
|
-
summary: this.generateSummary(results)
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Generate test report in various formats
|
|
216
|
-
*/
|
|
217
|
-
generateTestReport(assessment, format) {
|
|
218
|
-
switch (format) {
|
|
219
|
-
case 'json':
|
|
220
|
-
return JSON.stringify(assessment, null, 2);
|
|
221
|
-
case 'html':
|
|
222
|
-
return this.generateHTMLReport(assessment);
|
|
223
|
-
default:
|
|
224
|
-
return this.generateTextReport(assessment);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Generate remediation guidance based on test results
|
|
229
|
-
*/
|
|
230
|
-
generateRemediationGuidance(results) {
|
|
231
|
-
const guidance = [];
|
|
232
|
-
results.forEach(result => {
|
|
233
|
-
if (result.status !== 'passed' && result.recommendations) {
|
|
234
|
-
guidance.push(`Test: ${result.testId}`);
|
|
235
|
-
guidance.push(`Status: ${result.status}`);
|
|
236
|
-
guidance.push('Recommendations:');
|
|
237
|
-
result.recommendations.forEach(rec => {
|
|
238
|
-
guidance.push(` - ${rec}`);
|
|
239
|
-
});
|
|
240
|
-
guidance.push('');
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
return guidance;
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Simulate test execution (placeholder for actual implementation)
|
|
247
|
-
*/
|
|
248
|
-
async simulateTestExecution(test, platform) {
|
|
249
|
-
// Simulate test execution delay
|
|
250
|
-
await new Promise(resolve => setTimeout(resolve, 1000 + Math.random() * 2000));
|
|
251
|
-
return `Simulated execution of ${test.name} on ${platform}\n` +
|
|
252
|
-
`Test Steps: ${test.testSteps.join(', ')}\n` +
|
|
253
|
-
`Expected Results: ${test.expectedResults.join(', ')}\n` +
|
|
254
|
-
`Risk Level: ${test.riskLevel}`;
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Get system information (placeholder for actual implementation)
|
|
258
|
-
*/
|
|
259
|
-
async getSystemInfo(platform) {
|
|
260
|
-
return {
|
|
261
|
-
platform,
|
|
262
|
-
architecture: 'x64',
|
|
263
|
-
version: 'simulated',
|
|
264
|
-
user: 'test-user',
|
|
265
|
-
privileges: ['user']
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Calculate risk score based on test results
|
|
270
|
-
*/
|
|
271
|
-
calculateRiskScore(results) {
|
|
272
|
-
const failedTests = results.filter(r => r.status === 'failed');
|
|
273
|
-
const totalTests = results.length;
|
|
274
|
-
if (totalTests === 0)
|
|
275
|
-
return 0;
|
|
276
|
-
return Math.round((failedTests.length / totalTests) * 100);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Generate summary of test results
|
|
280
|
-
*/
|
|
281
|
-
generateSummary(results) {
|
|
282
|
-
const passed = results.filter(r => r.status === 'passed').length;
|
|
283
|
-
const failed = results.filter(r => r.status === 'failed').length;
|
|
284
|
-
const skipped = results.filter(r => r.status === 'skipped').length;
|
|
285
|
-
const errors = results.filter(r => r.status === 'error').length;
|
|
286
|
-
return `Security Assessment Summary:\n` +
|
|
287
|
-
` Passed: ${passed}\n` +
|
|
288
|
-
` Failed: ${failed}\n` +
|
|
289
|
-
` Skipped: ${skipped}\n` +
|
|
290
|
-
` Errors: ${errors}\n` +
|
|
291
|
-
` Total: ${results.length}`;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Generate text report
|
|
295
|
-
*/
|
|
296
|
-
generateTextReport(assessment) {
|
|
297
|
-
const report = [];
|
|
298
|
-
report.push('SECURITY ASSESSMENT REPORT');
|
|
299
|
-
report.push('='.repeat(50));
|
|
300
|
-
report.push(`Timestamp: ${assessment.timestamp.toISOString()}`);
|
|
301
|
-
report.push(`Platform: ${assessment.systemInfo.platform}`);
|
|
302
|
-
report.push(`Risk Score: ${assessment.riskScore}%`);
|
|
303
|
-
report.push('');
|
|
304
|
-
report.push('TEST RESULTS:');
|
|
305
|
-
report.push('-'.repeat(30));
|
|
306
|
-
assessment.results.forEach(result => {
|
|
307
|
-
report.push(`Test: ${result.testId}`);
|
|
308
|
-
report.push(` Status: ${result.status}`);
|
|
309
|
-
report.push(` Execution Time: ${result.executionTime}ms`);
|
|
310
|
-
if (result.output) {
|
|
311
|
-
report.push(` Output: ${result.output.split('\n')[0]}...`);
|
|
312
|
-
}
|
|
313
|
-
report.push('');
|
|
314
|
-
});
|
|
315
|
-
report.push('SUMMARY:');
|
|
316
|
-
report.push('-'.repeat(30));
|
|
317
|
-
report.push(assessment.summary);
|
|
318
|
-
return report.join('\n');
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Generate HTML report
|
|
322
|
-
*/
|
|
323
|
-
generateHTMLReport(assessment) {
|
|
324
|
-
return `
|
|
325
|
-
<!DOCTYPE html>
|
|
326
|
-
<html>
|
|
327
|
-
<head>
|
|
328
|
-
<title>Security Assessment Report</title>
|
|
329
|
-
<style>
|
|
330
|
-
body { font-family: Arial, sans-serif; margin: 20px; }
|
|
331
|
-
.header { background: #f0f0f0; padding: 20px; border-radius: 5px; }
|
|
332
|
-
.test-result { margin: 10px 0; padding: 10px; border-left: 4px solid #ccc; }
|
|
333
|
-
.passed { border-color: green; background: #f0fff0; }
|
|
334
|
-
.failed { border-color: red; background: #fff0f0; }
|
|
335
|
-
.summary { background: #e0e0e0; padding: 15px; border-radius: 5px; }
|
|
336
|
-
</style>
|
|
337
|
-
</head>
|
|
338
|
-
<body>
|
|
339
|
-
<div class="header">
|
|
340
|
-
<h1>Security Assessment Report</h1>
|
|
341
|
-
<p><strong>Timestamp:</strong> ${assessment.timestamp.toISOString()}</p>
|
|
342
|
-
<p><strong>Platform:</strong> ${assessment.systemInfo.platform}</p>
|
|
343
|
-
<p><strong>Risk Score:</strong> ${assessment.riskScore}%</p>
|
|
344
|
-
</div>
|
|
345
|
-
|
|
346
|
-
<h2>Test Results</h2>
|
|
347
|
-
${assessment.results.map(result => `
|
|
348
|
-
<div class="test-result ${result.status}">
|
|
349
|
-
<h3>${result.testId}</h3>
|
|
350
|
-
<p><strong>Status:</strong> ${result.status}</p>
|
|
351
|
-
<p><strong>Execution Time:</strong> ${result.executionTime}ms</p>
|
|
352
|
-
<pre>${result.output}</pre>
|
|
353
|
-
</div>
|
|
354
|
-
`).join('')}
|
|
355
|
-
|
|
356
|
-
<div class="summary">
|
|
357
|
-
<h2>Summary</h2>
|
|
358
|
-
<pre>${assessment.summary}</pre>
|
|
359
|
-
</div>
|
|
360
|
-
</body>
|
|
361
|
-
</html>`;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
//# sourceMappingURL=security-testing-framework.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security-testing-framework.js","sourceRoot":"","sources":["../../src/security/security-testing-framework.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,0BAA0B,EAA6B,MAAM,2BAA2B,CAAC;AA6ClG;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,mBAAmB,CAA6B;IAChD,aAAa,CAAiB;IAEtC;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,4BAA4B;QAC5B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,+BAA+B;YACnC,IAAI,EAAE,wCAAwC;YAC9C,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,yDAAyD;YACtE,SAAS,EAAE;gBACT,4EAA4E;gBAC5E,6EAA6E;gBAC7E,uCAAuC;gBACvC,wCAAwC;aACzC;YACD,eAAe,EAAE;gBACf,yCAAyC;gBACzC,gCAAgC;gBAChC,iCAAiC;aAClC;YACD,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,mCAAmC;YACzC,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,oDAAoD;YACjE,SAAS,EAAE;gBACT,yCAAyC;gBACzC,wCAAwC;gBACxC,+BAA+B;gBAC/B,uCAAuC;aACxC;YACD,eAAe,EAAE;gBACf,kCAAkC;gBAClC,2CAA2C;gBAC3C,iCAAiC;aAClC;YACD,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,0BAA0B;QAC1B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,sCAAsC;YAC5C,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,qDAAqD;YAClE,SAAS,EAAE;gBACT,iCAAiC;gBACjC,uCAAuC;gBACvC,kCAAkC;gBAClC,oCAAoC;aACrC;YACD,eAAe,EAAE;gBACf,4BAA4B;gBAC5B,sCAAsC;gBACtC,iCAAiC;aAClC;YACD,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,gCAAgC;YACpC,IAAI,EAAE,6CAA6C;YACnD,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,qDAAqD;YAClE,SAAS,EAAE;gBACT,sCAAsC;gBACtC,2BAA2B;gBAC3B,oCAAoC;gBACpC,wCAAwC;aACzC;YACD,eAAe,EAAE;gBACf,mCAAmC;gBACnC,+CAA+C;gBAC/C,iCAAiC;aAClC;YACD,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,2CAA2C;YACjD,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YAC5B,WAAW,EAAE,6CAA6C;YAC1D,SAAS,EAAE;gBACT,oCAAoC;gBACpC,2BAA2B;gBAC3B,2BAA2B;gBAC3B,qCAAqC;aACtC;YACD,eAAe,EAAE;gBACf,oCAAoC;gBACpC,wCAAwC;gBACxC,iCAAiC;aAClC;YACD,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,WAAW;SACrB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC7E,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAAgB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnF,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,SAAS;gBACjB,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,0BAA0B,QAAQ,gBAAgB;aAC3D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,yFAAyF;YACzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE7C,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,QAAQ;gBAChB,aAAa;gBACb,MAAM;gBACN,QAAQ,EAAE,0BAA0B,MAAM,EAAE;gBAC5C,eAAe,EAAE,CAAC,gCAAgC,EAAE,0BAA0B,CAAC;aAChF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE7C,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,OAAO;gBACf,aAAa;gBACb,MAAM,EAAE,0BAA0B,KAAK,EAAE;gBACzC,eAAe,EAAE,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;aAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAiB,EAAE,QAAgB;QACxD,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO;YACL,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,UAAU;YACV,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,WAAW;YACX,WAAW;YACX,SAAS;YACT,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAA8B,EAAE,MAAgC;QACjF,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC7C;gBACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,OAA8B;QACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACzD,QAAQ,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,IAAkB,EAAE,QAAgB;QACtE,gCAAgC;QAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAE/E,OAAO,0BAA0B,IAAI,CAAC,IAAI,OAAO,QAAQ,IAAI;YACtD,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC5C,qBAAqB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxD,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,QAAgB;QAC1C,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,CAAC,MAAM,CAAC;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAA8B;QACvD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAElC,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAA8B;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAEhE,OAAO,gCAAgC;YAChC,aAAa,MAAM,IAAI;YACvB,aAAa,MAAM,IAAI;YACvB,cAAc,OAAO,IAAI;YACzB,aAAa,MAAM,IAAI;YACvB,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,UAA8B;QACvD,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,UAA8B;QACvD,OAAO;;;;;;;;;;;;;;;;;yCAiB8B,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE;wCACnC,UAAU,CAAC,UAAU,CAAC,QAAQ;0CAC5B,UAAU,CAAC,SAAS;;;;MAIxD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;kCACL,MAAM,CAAC,MAAM;kBAC7B,MAAM,CAAC,MAAM;0CACW,MAAM,CAAC,MAAM;kDACL,MAAM,CAAC,aAAa;mBACnD,MAAM,CAAC,MAAM;;KAE3B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;eAIA,UAAU,CAAC,OAAO;;;QAGzB,CAAC;IACP,CAAC;CACF"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attack Simulation Engine
|
|
3
|
-
*
|
|
4
|
-
* Provides attack simulation capabilities for authorized security testing
|
|
5
|
-
* and red team exercises.
|
|
6
|
-
*
|
|
7
|
-
* LEGAL NOTICE:
|
|
8
|
-
* For authorized security research, penetration testing, and red team exercises only.
|
|
9
|
-
*/
|
|
10
|
-
export interface AttackSimulationRequest {
|
|
11
|
-
attackType: 'web_application' | 'authentication' | 'injection' | 'persistence' | 'privilege_escalation';
|
|
12
|
-
target: string;
|
|
13
|
-
stealthLevel: number;
|
|
14
|
-
}
|
|
15
|
-
export interface AttackSimulationResult {
|
|
16
|
-
attackType: string;
|
|
17
|
-
target: string;
|
|
18
|
-
stealthLevel: number;
|
|
19
|
-
steps: string[];
|
|
20
|
-
successProbability: number;
|
|
21
|
-
detectionProbability: number;
|
|
22
|
-
impactAssessment: string;
|
|
23
|
-
recommendations: string[];
|
|
24
|
-
}
|
|
25
|
-
export interface PayloadGenerationRequest {
|
|
26
|
-
payloadType: 'sql_injection' | 'xss' | 'command_injection' | 'file_upload' | 'authentication_bypass';
|
|
27
|
-
target: string;
|
|
28
|
-
count: number;
|
|
29
|
-
}
|
|
30
|
-
export interface PayloadGenerationResult {
|
|
31
|
-
payloadType: string;
|
|
32
|
-
target: string;
|
|
33
|
-
count: number;
|
|
34
|
-
payloads: string[];
|
|
35
|
-
usageInstructions: string;
|
|
36
|
-
detectionMethods: string[];
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Attack Simulation Engine
|
|
40
|
-
*/
|
|
41
|
-
export declare class AttackSimulationEngine {
|
|
42
|
-
private attackTemplates;
|
|
43
|
-
constructor();
|
|
44
|
-
/**
|
|
45
|
-
* Simulate attack scenario
|
|
46
|
-
*/
|
|
47
|
-
simulateAttack(request: AttackSimulationRequest): Promise<AttackSimulationResult>;
|
|
48
|
-
/**
|
|
49
|
-
* Generate payloads for security testing
|
|
50
|
-
*/
|
|
51
|
-
generatePayloads(request: PayloadGenerationRequest): Promise<PayloadGenerationResult>;
|
|
52
|
-
/**
|
|
53
|
-
* Get available attack types
|
|
54
|
-
*/
|
|
55
|
-
getAvailableAttackTypes(): string[];
|
|
56
|
-
/**
|
|
57
|
-
* Generate attack steps based on template and stealth level
|
|
58
|
-
*/
|
|
59
|
-
private generateAttackSteps;
|
|
60
|
-
/**
|
|
61
|
-
* Calculate success probability
|
|
62
|
-
*/
|
|
63
|
-
private calculateSuccessProbability;
|
|
64
|
-
/**
|
|
65
|
-
* Calculate detection probability
|
|
66
|
-
*/
|
|
67
|
-
private calculateDetectionProbability;
|
|
68
|
-
/**
|
|
69
|
-
* Generate impact assessment
|
|
70
|
-
*/
|
|
71
|
-
private generateImpactAssessment;
|
|
72
|
-
/**
|
|
73
|
-
* Generate attack recommendations
|
|
74
|
-
*/
|
|
75
|
-
private generateAttackRecommendations;
|
|
76
|
-
/**
|
|
77
|
-
* Generate payloads by type
|
|
78
|
-
*/
|
|
79
|
-
private generatePayloadsByType;
|
|
80
|
-
/**
|
|
81
|
-
* Generate usage instructions
|
|
82
|
-
*/
|
|
83
|
-
private generateUsageInstructions;
|
|
84
|
-
/**
|
|
85
|
-
* Generate detection methods
|
|
86
|
-
*/
|
|
87
|
-
private generateDetectionMethods;
|
|
88
|
-
/**
|
|
89
|
-
* Initialize attack templates
|
|
90
|
-
*/
|
|
91
|
-
private initializeAttackTemplates;
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=attackSimulation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attackSimulation.d.ts","sourceRoot":"","sources":["../../../src/security/simulation/attackSimulation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,WAAW,GAAG,aAAa,GAAG,sBAAsB,CAAC;IACxG,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,eAAe,GAAG,KAAK,GAAG,mBAAmB,GAAG,aAAa,GAAG,uBAAuB,CAAC;IACrG,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,eAAe,CAA8B;;IAOrD;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyBvF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAe3F;;OAEG;IACH,uBAAuB,IAAI,MAAM,EAAE;IAInC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAanC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAerC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IASrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+C9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqChC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAiHlC"}
|