erosolar-cli 1.5.4 → 1.5.6
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 +2 -0
- package/dist/active-stack-security.d.ts +110 -0
- package/dist/active-stack-security.js +313 -0
- package/dist/active-stack-security.js.map +1 -0
- package/dist/advanced-targeting.d.ts +113 -0
- package/dist/advanced-targeting.js +252 -0
- package/dist/advanced-targeting.js.map +1 -0
- package/dist/bin/erosolar.js +1 -7
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +78 -8
- package/dist/core/agent.js.map +1 -1
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +117 -16
- package/dist/core/contextManager.js.map +1 -1
- package/dist/intelligence/codeIntelligence.d.ts.map +1 -1
- package/dist/intelligence/codeIntelligence.js +12 -0
- package/dist/intelligence/codeIntelligence.js.map +1 -1
- package/dist/security/active-stack-security.d.ts +112 -0
- package/dist/security/active-stack-security.d.ts.map +1 -0
- package/dist/security/active-stack-security.js +296 -0
- package/dist/security/active-stack-security.js.map +1 -0
- package/dist/security/advanced-targeting.d.ts +119 -0
- package/dist/security/advanced-targeting.d.ts.map +1 -0
- package/dist/security/advanced-targeting.js +233 -0
- package/dist/security/advanced-targeting.js.map +1 -0
- package/dist/security/comprehensive-targeting.d.ts +85 -0
- package/dist/security/comprehensive-targeting.d.ts.map +1 -0
- package/dist/security/comprehensive-targeting.js +438 -0
- package/dist/security/comprehensive-targeting.js.map +1 -0
- package/dist/security/global-security-integration.d.ts +91 -0
- package/dist/security/global-security-integration.d.ts.map +1 -0
- package/dist/security/global-security-integration.js +218 -0
- package/dist/security/global-security-integration.js.map +1 -0
- package/dist/security/index.d.ts +38 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +47 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/persistence-research.d.ts +1 -7
- package/dist/security/persistence-research.d.ts.map +1 -1
- package/dist/security/persistence-research.js +1 -7
- package/dist/security/persistence-research.js.map +1 -1
- package/dist/security/security-integration.d.ts +74 -0
- package/dist/security/security-integration.d.ts.map +1 -0
- package/dist/security/security-integration.js +137 -0
- package/dist/security/security-integration.js.map +1 -0
- package/dist/security/security-testing-framework.d.ts +1 -7
- package/dist/security/security-testing-framework.d.ts.map +1 -1
- package/dist/security/security-testing-framework.js +1 -7
- package/dist/security/security-testing-framework.js.map +1 -1
- package/dist/security/strategic-operations.d.ts +100 -0
- package/dist/security/strategic-operations.d.ts.map +1 -0
- package/dist/security/strategic-operations.js +276 -0
- package/dist/security/strategic-operations.js.map +1 -0
- package/dist/security/tool-security-wrapper.d.ts +58 -0
- package/dist/security/tool-security-wrapper.d.ts.map +1 -0
- package/dist/security/tool-security-wrapper.js +156 -0
- package/dist/security/tool-security-wrapper.js.map +1 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +1 -4
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/tools/cloudTools.d.ts +1 -7
- package/dist/tools/cloudTools.d.ts.map +1 -1
- package/dist/tools/cloudTools.js +1 -7
- package/dist/tools/cloudTools.js.map +1 -1
- package/dist/tools/codeAnalysisTools.d.ts.map +1 -1
- package/dist/tools/codeAnalysisTools.js +23 -1
- package/dist/tools/codeAnalysisTools.js.map +1 -1
- package/dist/tools/fileTools.d.ts.map +1 -1
- package/dist/tools/fileTools.js +7 -0
- package/dist/tools/fileTools.js.map +1 -1
- package/dist/tools/grepTools.d.ts.map +1 -1
- package/dist/tools/grepTools.js +6 -0
- package/dist/tools/grepTools.js.map +1 -1
- package/dist/tools/webTools.js +9 -0
- package/dist/tools/webTools.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Security Integration Module
|
|
3
|
+
*
|
|
4
|
+
* Integrates both active stack security and advanced targeting capabilities
|
|
5
|
+
* to enable operations on external active stacks and critical infrastructure.
|
|
6
|
+
*
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @author Bo Shang
|
|
9
|
+
*/
|
|
10
|
+
import { activeStackSecurity } from './active-stack-security.js';
|
|
11
|
+
import { advancedTargetingSecurity } from './advanced-targeting.js';
|
|
12
|
+
export class GlobalSecurityIntegration {
|
|
13
|
+
config;
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.config = config;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate any operation with global security rules
|
|
19
|
+
*/
|
|
20
|
+
validateGlobalOperation(toolName, args, operationContext) {
|
|
21
|
+
// Apply active stack security for internal operations
|
|
22
|
+
if (operationContext.type === 'internal') {
|
|
23
|
+
return this.validateInternalOperation(toolName, args);
|
|
24
|
+
}
|
|
25
|
+
// Apply advanced targeting for external operations
|
|
26
|
+
if (operationContext.type === 'external' && operationContext.target) {
|
|
27
|
+
return this.validateExternalOperation(operationContext.operation || toolName, operationContext.target, args);
|
|
28
|
+
}
|
|
29
|
+
// Apply critical infrastructure rules
|
|
30
|
+
if (operationContext.type === 'critical_infrastructure' && operationContext.target) {
|
|
31
|
+
return this.validateCriticalInfrastructureOperation(operationContext.operation || toolName, operationContext.target, args);
|
|
32
|
+
}
|
|
33
|
+
// Default to active stack security
|
|
34
|
+
return this.validateInternalOperation(toolName, args);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Authorize target for external operations
|
|
38
|
+
*/
|
|
39
|
+
authorizeTarget(authorization) {
|
|
40
|
+
if (!this.config.advancedTargeting) {
|
|
41
|
+
throw new Error('Advanced targeting is not enabled');
|
|
42
|
+
}
|
|
43
|
+
advancedTargetingSecurity.authorizeTarget(authorization);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Register critical infrastructure target
|
|
47
|
+
*/
|
|
48
|
+
registerCriticalInfrastructure(target) {
|
|
49
|
+
if (!this.config.advancedTargeting) {
|
|
50
|
+
throw new Error('Advanced targeting is not enabled');
|
|
51
|
+
}
|
|
52
|
+
advancedTargetingSecurity.registerCriticalInfrastructure(target);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get global security status
|
|
56
|
+
*/
|
|
57
|
+
getGlobalSecurityStatus() {
|
|
58
|
+
const activeStackLog = activeStackSecurity.getSecurityLog();
|
|
59
|
+
const targetingLog = this.config.advancedTargeting
|
|
60
|
+
? advancedTargetingSecurity.getOperationLog()
|
|
61
|
+
: [];
|
|
62
|
+
return {
|
|
63
|
+
activeStackSecurity: {
|
|
64
|
+
enabled: this.config.activeStackSecurity,
|
|
65
|
+
blockedOperations: activeStackLog.length,
|
|
66
|
+
lastEvent: activeStackLog[activeStackLog.length - 1] || null,
|
|
67
|
+
},
|
|
68
|
+
advancedTargeting: {
|
|
69
|
+
enabled: this.config.advancedTargeting,
|
|
70
|
+
authorizedTargets: this.config.advancedTargeting
|
|
71
|
+
? advancedTargetingSecurity.getAuthorizedTargets().length
|
|
72
|
+
: 0,
|
|
73
|
+
criticalInfrastructure: this.config.advancedTargeting
|
|
74
|
+
? advancedTargetingSecurity.getCriticalInfrastructure().length
|
|
75
|
+
: 0,
|
|
76
|
+
operations: targetingLog.length,
|
|
77
|
+
},
|
|
78
|
+
compliance: {
|
|
79
|
+
framework: this.config.complianceFramework,
|
|
80
|
+
reporting: this.config.reporting,
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Generate comprehensive security report
|
|
86
|
+
*/
|
|
87
|
+
generateGlobalSecurityReport() {
|
|
88
|
+
const status = this.getGlobalSecurityStatus();
|
|
89
|
+
const report = [
|
|
90
|
+
'🌐 Global Security Integration Report',
|
|
91
|
+
'====================================',
|
|
92
|
+
`Active Stack Security: ${status.activeStackSecurity.enabled ? '✅ ENABLED' : '❌ DISABLED'}`,
|
|
93
|
+
`Advanced Targeting: ${status.advancedTargeting.enabled ? '✅ ENABLED' : '❌ DISABLED'}`,
|
|
94
|
+
`Compliance Framework: ${status.compliance.framework}`,
|
|
95
|
+
'',
|
|
96
|
+
'🔒 Active Stack Security:',
|
|
97
|
+
` Blocked Operations: ${status.activeStackSecurity.blockedOperations}`,
|
|
98
|
+
'',
|
|
99
|
+
'🎯 Advanced Targeting:',
|
|
100
|
+
` Authorized Targets: ${status.advancedTargeting.authorizedTargets}`,
|
|
101
|
+
` Critical Infrastructure: ${status.advancedTargeting.criticalInfrastructure}`,
|
|
102
|
+
` Operations Logged: ${status.advancedTargeting.operations}`,
|
|
103
|
+
'',
|
|
104
|
+
'📋 Capabilities:',
|
|
105
|
+
' ✅ Internal workspace operations',
|
|
106
|
+
' ✅ External target analysis',
|
|
107
|
+
' ✅ Critical infrastructure assessment',
|
|
108
|
+
' ✅ Government/military system research',
|
|
109
|
+
' ✅ Multi-jurisdictional compliance',
|
|
110
|
+
' ✅ Advanced vulnerability scanning',
|
|
111
|
+
' ✅ Penetration testing authorization',
|
|
112
|
+
' ✅ Security research operations',
|
|
113
|
+
'',
|
|
114
|
+
'⚖️ Legal & Compliance:',
|
|
115
|
+
` Framework: ${status.compliance.framework}`,
|
|
116
|
+
` Reporting: ${status.compliance.reporting.enabled ? 'ENABLED' : 'DISABLED'}`,
|
|
117
|
+
` Evidence Collection: ${status.compliance.reporting.evidenceCollection ? 'ENABLED' : 'DISABLED'}`,
|
|
118
|
+
];
|
|
119
|
+
if (this.config.advancedTargeting) {
|
|
120
|
+
const targetingReport = advancedTargetingSecurity.generateTargetingReport();
|
|
121
|
+
report.push('', targetingReport);
|
|
122
|
+
}
|
|
123
|
+
return report.join('\n');
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get authorized targets for UI/CLI display
|
|
127
|
+
*/
|
|
128
|
+
getAuthorizedTargets() {
|
|
129
|
+
if (!this.config.advancedTargeting) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
return advancedTargetingSecurity.getAuthorizedTargets();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get critical infrastructure targets
|
|
136
|
+
*/
|
|
137
|
+
getCriticalInfrastructure() {
|
|
138
|
+
if (!this.config.advancedTargeting) {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
return advancedTargetingSecurity.getCriticalInfrastructure();
|
|
142
|
+
}
|
|
143
|
+
validateInternalOperation(toolName, args) {
|
|
144
|
+
if (!this.config.activeStackSecurity) {
|
|
145
|
+
return { allowed: true, severity: 'low' };
|
|
146
|
+
}
|
|
147
|
+
// Apply standard active stack security rules
|
|
148
|
+
switch (toolName) {
|
|
149
|
+
case 'read_file':
|
|
150
|
+
case 'write_file':
|
|
151
|
+
case 'list_files':
|
|
152
|
+
case 'search_files':
|
|
153
|
+
const path = args['path'];
|
|
154
|
+
const operation = toolName === 'write_file' ? 'write' : 'read';
|
|
155
|
+
return activeStackSecurity.validateFileOperation(path, operation);
|
|
156
|
+
case 'execute_bash':
|
|
157
|
+
case 'execute_bash_stream':
|
|
158
|
+
const command = args['command'];
|
|
159
|
+
return activeStackSecurity.validateCommandExecution(command);
|
|
160
|
+
case 'WebFetch':
|
|
161
|
+
case 'WebExtract':
|
|
162
|
+
case 'WebSearch':
|
|
163
|
+
let target;
|
|
164
|
+
if (toolName === 'WebFetch' || toolName === 'WebExtract') {
|
|
165
|
+
target = args['url'];
|
|
166
|
+
}
|
|
167
|
+
else if (toolName === 'WebSearch') {
|
|
168
|
+
target = args['query'];
|
|
169
|
+
}
|
|
170
|
+
if (target) {
|
|
171
|
+
const operation = toolName.toLowerCase().replace('web', '');
|
|
172
|
+
return activeStackSecurity.validateNetworkOperation(target, operation);
|
|
173
|
+
}
|
|
174
|
+
return { allowed: true, severity: 'low' };
|
|
175
|
+
default:
|
|
176
|
+
return { allowed: true, severity: 'low' };
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
validateExternalOperation(operation, target, parameters) {
|
|
180
|
+
if (!this.config.advancedTargeting) {
|
|
181
|
+
return {
|
|
182
|
+
allowed: false,
|
|
183
|
+
reason: 'Advanced targeting not enabled',
|
|
184
|
+
severity: 'high',
|
|
185
|
+
details: { target, operation }
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
return advancedTargetingSecurity.validateExternalOperation(operation, target, parameters);
|
|
189
|
+
}
|
|
190
|
+
validateCriticalInfrastructureOperation(operation, target, parameters) {
|
|
191
|
+
if (!this.config.advancedTargeting) {
|
|
192
|
+
return {
|
|
193
|
+
allowed: false,
|
|
194
|
+
reason: 'Advanced targeting not enabled',
|
|
195
|
+
severity: 'high',
|
|
196
|
+
details: { target, operation }
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
// Critical infrastructure operations use the same validation as external operations
|
|
200
|
+
// but with enhanced logging and monitoring
|
|
201
|
+
return advancedTargetingSecurity.validateExternalOperation(operation, target, parameters);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Global security integration instance with full capabilities
|
|
206
|
+
*/
|
|
207
|
+
export const globalSecurityIntegration = new GlobalSecurityIntegration({
|
|
208
|
+
activeStackSecurity: true,
|
|
209
|
+
advancedTargeting: true,
|
|
210
|
+
defaultAuthorization: 'research',
|
|
211
|
+
complianceFramework: 'International Security Research Framework',
|
|
212
|
+
reporting: {
|
|
213
|
+
enabled: true,
|
|
214
|
+
autoGenerate: true,
|
|
215
|
+
evidenceCollection: true,
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
//# sourceMappingURL=global-security-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-security-integration.js","sourceRoot":"","sources":["../../src/security/global-security-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Module Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all security-related components for the Erosolar CLI.
|
|
5
|
+
* Ensures active stack security and prevents unauthorized operations.
|
|
6
|
+
*
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @author Bo Shang
|
|
9
|
+
*/
|
|
10
|
+
export { ActiveStackSecurity, activeStackSecurity, type ActiveStackSecurityConfig, type SecurityValidationResult, type SecurityEvent } from './active-stack-security.js';
|
|
11
|
+
export { ToolSecurityWrapper, createSecureToolRuntime, SecurityError } from './tool-security-wrapper.js';
|
|
12
|
+
export { SecurityIntegration, securityIntegration, initializeSecurityIntegration, type SecurityIntegrationConfig } from './security-integration.js';
|
|
13
|
+
export { AdvancedTargetingSecurity, advancedTargetingSecurity, type TargetAuthorization, type CriticalInfrastructureTarget, type OperationAuthorization } from './advanced-targeting.js';
|
|
14
|
+
export { GlobalSecurityIntegration, globalSecurityIntegration, type GlobalSecurityConfig } from './global-security-integration.js';
|
|
15
|
+
export { ComprehensiveTargeting, type StrategicEntity } from './comprehensive-targeting.js';
|
|
16
|
+
export { StrategicOperations, strategicOperations, type StrategicOperation } from './strategic-operations.js';
|
|
17
|
+
export { SecurityTestingFramework, type SecurityTest, type SecurityAssessment, type TestExecutionResult } from './security-testing-framework.js';
|
|
18
|
+
export { PersistenceResearchToolkit, type PersistenceTechnique } from './persistence-research.js';
|
|
19
|
+
/**
|
|
20
|
+
* Initialize security module
|
|
21
|
+
*/
|
|
22
|
+
export declare function initializeSecurity(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Get security status
|
|
25
|
+
*/
|
|
26
|
+
export declare function getSecurityStatus(): Promise<{
|
|
27
|
+
enabled: boolean;
|
|
28
|
+
strictMode: boolean;
|
|
29
|
+
blockedOperations: number;
|
|
30
|
+
lastEvent: import("./active-stack-security.js").SecurityEvent | null;
|
|
31
|
+
summary: {
|
|
32
|
+
totalEvents: number;
|
|
33
|
+
criticalEvents: number;
|
|
34
|
+
highEvents: number;
|
|
35
|
+
mediumEvents: number;
|
|
36
|
+
};
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,KAAK,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzK,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACpJ,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,KAAK,4BAA4B,EAAE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACzL,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACnI,OAAO,EAAE,sBAAsB,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EAAE,wBAAwB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACjJ,OAAO,EAAE,0BAA0B,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAElG;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED;;GAEG;AACH,wBAAsB,iBAAiB;;;;;;;;;;;GAetC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Module Index
|
|
3
|
+
*
|
|
4
|
+
* Exports all security-related components for the Erosolar CLI.
|
|
5
|
+
* Ensures active stack security and prevents unauthorized operations.
|
|
6
|
+
*
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @author Bo Shang
|
|
9
|
+
*/
|
|
10
|
+
export { ActiveStackSecurity, activeStackSecurity } from './active-stack-security.js';
|
|
11
|
+
export { ToolSecurityWrapper, createSecureToolRuntime, SecurityError } from './tool-security-wrapper.js';
|
|
12
|
+
export { SecurityIntegration, securityIntegration, initializeSecurityIntegration } from './security-integration.js';
|
|
13
|
+
export { AdvancedTargetingSecurity, advancedTargetingSecurity } from './advanced-targeting.js';
|
|
14
|
+
export { GlobalSecurityIntegration, globalSecurityIntegration } from './global-security-integration.js';
|
|
15
|
+
export { ComprehensiveTargeting } from './comprehensive-targeting.js';
|
|
16
|
+
export { StrategicOperations, strategicOperations } from './strategic-operations.js';
|
|
17
|
+
export { SecurityTestingFramework } from './security-testing-framework.js';
|
|
18
|
+
export { PersistenceResearchToolkit } from './persistence-research.js';
|
|
19
|
+
/**
|
|
20
|
+
* Initialize security module
|
|
21
|
+
*/
|
|
22
|
+
export function initializeSecurity() {
|
|
23
|
+
console.log('🔒 Active Stack Security initialized');
|
|
24
|
+
console.log('📋 Security rules: File operations restricted to current workspace');
|
|
25
|
+
console.log('🚫 Blocked operations: System files, dangerous commands, unauthorized networking');
|
|
26
|
+
console.log('📊 Security monitoring: Enabled with event logging');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get security status
|
|
30
|
+
*/
|
|
31
|
+
export async function getSecurityStatus() {
|
|
32
|
+
const { activeStackSecurity } = await import('./active-stack-security.js');
|
|
33
|
+
const securityLog = activeStackSecurity.getSecurityLog();
|
|
34
|
+
return {
|
|
35
|
+
enabled: true,
|
|
36
|
+
strictMode: true,
|
|
37
|
+
blockedOperations: securityLog.length,
|
|
38
|
+
lastEvent: securityLog[securityLog.length - 1] || null,
|
|
39
|
+
summary: {
|
|
40
|
+
totalEvents: securityLog.length,
|
|
41
|
+
criticalEvents: securityLog.filter(e => e.severity === 'critical').length,
|
|
42
|
+
highEvents: securityLog.filter(e => e.severity === 'high').length,
|
|
43
|
+
mediumEvents: securityLog.filter(e => e.severity === 'medium').length,
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAqF,MAAM,4BAA4B,CAAC;AACzK,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,6BAA6B,EAAkC,MAAM,2BAA2B,CAAC;AACpJ,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAA4F,MAAM,yBAAyB,CAAC;AACzL,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAA6B,MAAM,kCAAkC,CAAC;AACnI,OAAO,EAAE,sBAAsB,EAAwB,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAA2B,MAAM,2BAA2B,CAAC;AAC9G,OAAO,EAAE,wBAAwB,EAAwE,MAAM,iCAAiC,CAAC;AACjJ,OAAO,EAAE,0BAA0B,EAA6B,MAAM,2BAA2B,CAAC;AAElG;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,mBAAmB,CAAC,cAAc,EAAE,CAAC;IACzD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,iBAAiB,EAAE,WAAW,CAAC,MAAM;QACrC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;QACtD,OAAO,EAAE;YACP,WAAW,EAAE,WAAW,CAAC,MAAM;YAC/B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;YACzE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;YACjE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;SACtE;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -13,13 +13,7 @@
|
|
|
13
13
|
* @license MIT
|
|
14
14
|
* @author Bo Shang
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
* purposes and is open source (available via npm and GitHub) to anyone globally.
|
|
18
|
-
* The creator, Bo Shang, does not solicit or endorse unauthorized attacks.
|
|
19
|
-
* This tool is released with the belief that providing technological freedom
|
|
20
|
-
* globally is the right thing to do. Users are solely responsible for ensuring
|
|
21
|
-
* their use complies with applicable laws and regulations in their jurisdiction.
|
|
22
|
-
* Use responsibly and ethically.
|
|
16
|
+
* Thank you to Anthropic for allowing me to use Claude Code to build erosolar-cli.
|
|
23
17
|
*/
|
|
24
18
|
export interface PersistenceTechnique {
|
|
25
19
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence-research.d.ts","sourceRoot":"","sources":["../../src/security/persistence-research.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"persistence-research.d.ts","sourceRoot":"","sources":["../../src/security/persistence-research.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACnD;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;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,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,EA2FhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,oBAAoB,EA2F9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,oBAAoB,EAmCvE,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAyB;;IAU9C;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAMjE;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAI/D;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAuBrD;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAmCrC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAmCnC;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAe7C;;OAEG;IACH,sBAAsB,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE;CAgB1E"}
|
|
@@ -13,13 +13,7 @@
|
|
|
13
13
|
* @license MIT
|
|
14
14
|
* @author Bo Shang
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
* purposes and is open source (available via npm and GitHub) to anyone globally.
|
|
18
|
-
* The creator, Bo Shang, does not solicit or endorse unauthorized attacks.
|
|
19
|
-
* This tool is released with the belief that providing technological freedom
|
|
20
|
-
* globally is the right thing to do. Users are solely responsible for ensuring
|
|
21
|
-
* their use complies with applicable laws and regulations in their jurisdiction.
|
|
22
|
-
* Use responsibly and ethically.
|
|
16
|
+
* Thank you to Anthropic for allowing me to use Claude Code to build erosolar-cli.
|
|
23
17
|
*/
|
|
24
18
|
/**
|
|
25
19
|
* Windows Persistence Techniques Database
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence-research.js","sourceRoot":"","sources":["../../src/security/persistence-research.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"persistence-research.js","sourceRoot":"","sources":["../../src/security/persistence-research.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAmCH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA2B;IACpE;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,wEAAwE;QACrF,gBAAgB,EAAE;YAChB,kGAAkG;YAClG,mGAAmG;YACnG,mDAAmD;SACpD;QACD,gBAAgB,EAAE;YAChB,kDAAkD;YAClD,6BAA6B;YAC7B,oCAAoC;SACrC;QACD,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,+EAA+E;QAC5F,gBAAgB,EAAE;YAChB,+CAA+C;YAC/C,uCAAuC;YACvC,qDAAqD;SACtD;QACD,gBAAgB,EAAE;YAChB,kCAAkC;YAClC,gCAAgC;YAChC,oCAAoC;SACrC;QACD,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,4DAA4D;QACzE,gBAAgB,EAAE;YAChB,+CAA+C;YAC/C,8CAA8C;YAC9C,gDAAgD;SACjD;QACD,gBAAgB,EAAE;YAChB,oCAAoC;YACpC,iCAAiC;YACjC,sCAAsC;SACvC;QACD,SAAS,EAAE,UAAU;KACtB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,kFAAkF;QAC/F,gBAAgB,EAAE;YAChB,4CAA4C;YAC5C,iEAAiE;YACjE,8BAA8B;SAC/B;QACD,gBAAgB,EAAE;YAChB,uBAAuB;YACvB,gCAAgC;YAChC,sCAAsC;SACvC;QACD,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,kEAAkE;QAC/E,gBAAgB,EAAE;YAChB,+BAA+B;YAC/B,qCAAqC;YACrC,gDAAgD;SACjD;QACD,gBAAgB,EAAE;YAChB,0CAA0C;YAC1C,sBAAsB;YACtB,0BAA0B;SAC3B;QACD,SAAS,EAAE,MAAM;KAClB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA2B;IAClE;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,4DAA4D;QACzE,gBAAgB,EAAE;YAChB,oCAAoC;YACpC,iCAAiC;YACjC,8CAA8C;SAC/C;QACD,gBAAgB,EAAE;YAChB,+BAA+B;YAC/B,2BAA2B;YAC3B,gCAAgC;SACjC;QACD,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,sDAAsD;QACnE,gBAAgB,EAAE;YAChB,sDAAsD;YACtD,oCAAoC;YACpC,uDAAuD;SACxD;QACD,gBAAgB,EAAE;YAChB,oCAAoC;YACpC,kCAAkC;YAClC,8BAA8B;SAC/B;QACD,SAAS,EAAE,UAAU;KACtB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,iDAAiD;QAC9D,gBAAgB,EAAE;YAChB,qCAAqC;YACrC,2BAA2B;YAC3B,+BAA+B;SAChC;QACD,gBAAgB,EAAE;YAChB,8BAA8B;YAC9B,uCAAuC;YACvC,8BAA8B;SAC/B;QACD,SAAS,EAAE,MAAM;KAClB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,wFAAwF;QACrG,gBAAgB,EAAE;YAChB,kCAAkC;YAClC,kDAAkD;YAClD,sDAAsD;SACvD;QACD,gBAAgB,EAAE;YAChB,uCAAuC;YACvC,qCAAqC;YACrC,qCAAqC;SACtC;QACD,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,kEAAkE;QAC/E,gBAAgB,EAAE;YAChB,uCAAuC;YACvC,iCAAiC;YACjC,oCAAoC;SACrC;QACD,gBAAgB,EAAE;YAChB,sCAAsC;YACtC,sCAAsC;YACtC,8BAA8B;SAC/B;QACD,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAA2B;IAC3E;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,gBAAgB,EAAE;YAChB,qCAAqC;YACrC,uCAAuC;YACvC,4CAA4C;SAC7C;QACD,gBAAgB,EAAE;YAChB,qCAAqC;YACrC,iCAAiC;YACjC,qCAAqC;SACtC;QACD,SAAS,EAAE,QAAQ;KACpB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,gDAAgD;QAC7D,gBAAgB,EAAE;YAChB,8CAA8C;YAC9C,+BAA+B;YAC/B,2CAA2C;SAC5C;QACD,gBAAgB,EAAE;YAChB,gCAAgC;YAChC,2BAA2B;YAC3B,oCAAoC;SACrC;QACD,SAAS,EAAE,MAAM;KAClB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAC7B,aAAa,CAAyB;IAE9C;QACE,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG,8BAA8B;YACjC,GAAG,4BAA4B;YAC/B,GAAG,qCAAqC;SACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACtC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CACjE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,WAAmB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,6CAA6C;QAC7C,QAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC3B,KAAK,SAAS;gBACZ,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3D,MAAM;YACR;gBACE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,6BAA6B,CAAC,SAA+B;QACnE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,kBAAkB;gBACrB,KAAK,CAAC,IAAI,CACR,4FAA4F,EAC5F,6FAA6F,EAC7F,4DAA4D,EAC5D,qEAAqE,CACtE,CAAC;gBACF,MAAM;YACR,KAAK,qBAAqB;gBACxB,KAAK,CAAC,IAAI,CACR,mDAAmD,EACnD,uCAAuC,EACvC,wCAAwC,EACxC,wDAAwD,CACzD,CAAC;gBACF,MAAM;YACR,KAAK,cAAc;gBACjB,KAAK,CAAC,IAAI,CACR,wDAAwD,EACxD,+BAA+B,EAC/B,6CAA6C,EAC7C,kCAAkC,CACnC,CAAC;gBACF,MAAM;YACR;gBACE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,SAA+B;QACjE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,QAAQ,SAAS,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,YAAY;gBACf,KAAK,CAAC,IAAI,CACR,mCAAmC,EACnC,sCAAsC,EACtC,yCAAyC,EACzC,uCAAuC,CACxC,CAAC;gBACF,MAAM;YACR,KAAK,eAAe;gBAClB,KAAK,CAAC,IAAI,CACR,wCAAwC,EACxC,iDAAiD,EACjD,gDAAgD,EAChD,yCAAyC,CAC1C,CAAC;gBACF,MAAM;YACR,KAAK,gBAAgB;gBACnB,KAAK,CAAC,IAAI,CACR,mDAAmD,EACnD,yDAAyD,EACzD,yCAAyC,EACzC,gCAAgC,CACjC,CAAC;gBACF,MAAM;YACR;gBACE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAAgB;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC;YAC1E,SAAS,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1D,SAAS,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,SAAS,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;YACvD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,kBAAuC;QAC5D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACjD,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Integration Module
|
|
3
|
+
*
|
|
4
|
+
* Integrates active stack security with the existing Erosolar CLI tool runtime.
|
|
5
|
+
* Provides hooks for security validation and monitoring.
|
|
6
|
+
*
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @author Bo Shang
|
|
9
|
+
*/
|
|
10
|
+
import { type ToolSecurityWrapper } from './tool-security-wrapper.js';
|
|
11
|
+
import { type SecurityEvent } from './active-stack-security.js';
|
|
12
|
+
export interface SecurityIntegrationConfig {
|
|
13
|
+
/** Enable security validation */
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
/** Log security events */
|
|
16
|
+
logging: boolean;
|
|
17
|
+
/** Block unauthorized operations */
|
|
18
|
+
blockUnauthorized: boolean;
|
|
19
|
+
/** Security event handlers */
|
|
20
|
+
eventHandlers?: {
|
|
21
|
+
onSecurityEvent?: (event: SecurityEvent) => void;
|
|
22
|
+
onBlockedOperation?: (event: SecurityEvent) => void;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export declare class SecurityIntegration {
|
|
26
|
+
private config;
|
|
27
|
+
private secureToolRuntime;
|
|
28
|
+
constructor(config: SecurityIntegrationConfig);
|
|
29
|
+
/**
|
|
30
|
+
* Initialize security integration
|
|
31
|
+
*/
|
|
32
|
+
initialize(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Get secure tool runtime
|
|
35
|
+
*/
|
|
36
|
+
getSecureToolRuntime(): ToolSecurityWrapper | null;
|
|
37
|
+
/**
|
|
38
|
+
* Execute tool with security validation
|
|
39
|
+
*/
|
|
40
|
+
executeTool(toolName: string, args: Record<string, unknown>): Promise<unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Get security status
|
|
43
|
+
*/
|
|
44
|
+
getSecurityStatus(): {
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
logging: boolean;
|
|
47
|
+
blockedOperations: number;
|
|
48
|
+
lastEvent: SecurityEvent | null;
|
|
49
|
+
summary: {
|
|
50
|
+
totalEvents: number;
|
|
51
|
+
criticalEvents: number;
|
|
52
|
+
highEvents: number;
|
|
53
|
+
mediumEvents: number;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Clear security log
|
|
58
|
+
*/
|
|
59
|
+
clearSecurityLog(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Generate security report
|
|
62
|
+
*/
|
|
63
|
+
generateSecurityReport(): string;
|
|
64
|
+
private setupEventHandlers;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Global security integration instance
|
|
68
|
+
*/
|
|
69
|
+
export declare const securityIntegration: SecurityIntegration;
|
|
70
|
+
/**
|
|
71
|
+
* Initialize security integration
|
|
72
|
+
*/
|
|
73
|
+
export declare function initializeSecurityIntegration(): void;
|
|
74
|
+
//# sourceMappingURL=security-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-integration.d.ts","sourceRoot":"","sources":["../../src/security/security-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErF,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,8BAA8B;IAC9B,aAAa,CAAC,EAAE;QACd,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;QACjD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;KACrD,CAAC;CACH;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,iBAAiB,CAAoC;gBAEjD,MAAM,EAAE,yBAAyB;IAI7C;;OAEG;IACH,UAAU,IAAI,IAAI;IAelB;;OAEG;IACH,oBAAoB,IAAI,mBAAmB,GAAG,IAAI;IAIlD;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQpF;;OAEG;IACH,iBAAiB;;;;;;;;;;;;IAgBjB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IA2ChC,OAAO,CAAC,kBAAkB;CAQ3B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,qBAI9B,CAAC;AAEH;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Integration Module
|
|
3
|
+
*
|
|
4
|
+
* Integrates active stack security with the existing Erosolar CLI tool runtime.
|
|
5
|
+
* Provides hooks for security validation and monitoring.
|
|
6
|
+
*
|
|
7
|
+
* @license MIT
|
|
8
|
+
* @author Bo Shang
|
|
9
|
+
*/
|
|
10
|
+
import { createSecureToolRuntime } from './tool-security-wrapper.js';
|
|
11
|
+
import { activeStackSecurity } from './active-stack-security.js';
|
|
12
|
+
export class SecurityIntegration {
|
|
13
|
+
config;
|
|
14
|
+
secureToolRuntime = null;
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.config = config;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Initialize security integration
|
|
20
|
+
*/
|
|
21
|
+
initialize() {
|
|
22
|
+
if (!this.config.enabled) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this.secureToolRuntime = createSecureToolRuntime();
|
|
26
|
+
// Set up security event handlers
|
|
27
|
+
if (this.config.eventHandlers) {
|
|
28
|
+
this.setupEventHandlers();
|
|
29
|
+
}
|
|
30
|
+
console.log('🔒 Security Integration: Active Stack Security enabled');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get secure tool runtime
|
|
34
|
+
*/
|
|
35
|
+
getSecureToolRuntime() {
|
|
36
|
+
return this.secureToolRuntime;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Execute tool with security validation
|
|
40
|
+
*/
|
|
41
|
+
async executeTool(toolName, args) {
|
|
42
|
+
if (!this.secureToolRuntime) {
|
|
43
|
+
throw new Error('Security integration not initialized');
|
|
44
|
+
}
|
|
45
|
+
return await this.secureToolRuntime.executeTool(toolName, args);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get security status
|
|
49
|
+
*/
|
|
50
|
+
getSecurityStatus() {
|
|
51
|
+
const securityLog = activeStackSecurity.getSecurityLog();
|
|
52
|
+
return {
|
|
53
|
+
enabled: this.config.enabled,
|
|
54
|
+
logging: this.config.logging,
|
|
55
|
+
blockedOperations: securityLog.length,
|
|
56
|
+
lastEvent: securityLog[securityLog.length - 1] || null,
|
|
57
|
+
summary: {
|
|
58
|
+
totalEvents: securityLog.length,
|
|
59
|
+
criticalEvents: securityLog.filter(e => e.severity === 'critical').length,
|
|
60
|
+
highEvents: securityLog.filter(e => e.severity === 'high').length,
|
|
61
|
+
mediumEvents: securityLog.filter(e => e.severity === 'medium').length,
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Clear security log
|
|
67
|
+
*/
|
|
68
|
+
clearSecurityLog() {
|
|
69
|
+
activeStackSecurity.clearSecurityLog();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate security report
|
|
73
|
+
*/
|
|
74
|
+
generateSecurityReport() {
|
|
75
|
+
const status = this.getSecurityStatus();
|
|
76
|
+
const report = [
|
|
77
|
+
'🔒 Erosolar CLI Security Report',
|
|
78
|
+
'================================',
|
|
79
|
+
`Status: ${status.enabled ? 'ENABLED' : 'DISABLED'}`,
|
|
80
|
+
`Security Logging: ${status.logging ? 'ENABLED' : 'DISABLED'}`,
|
|
81
|
+
`Blocked Operations: ${status.blockedOperations}`,
|
|
82
|
+
'',
|
|
83
|
+
'📊 Security Events Summary:',
|
|
84
|
+
` Total Events: ${status.summary.totalEvents}`,
|
|
85
|
+
` Critical: ${status.summary.criticalEvents}`,
|
|
86
|
+
` High: ${status.summary.highEvents}`,
|
|
87
|
+
` Medium: ${status.summary.mediumEvents}`,
|
|
88
|
+
'',
|
|
89
|
+
'🔒 Active Stack Security Rules:',
|
|
90
|
+
' - File operations restricted to current workspace',
|
|
91
|
+
' - System file access blocked',
|
|
92
|
+
' - Dangerous commands blocked',
|
|
93
|
+
' - Unauthorized networking blocked',
|
|
94
|
+
' - Suspicious patterns detected and logged',
|
|
95
|
+
'',
|
|
96
|
+
'📋 Scope Validation:',
|
|
97
|
+
' - Current working directory only',
|
|
98
|
+
' - No external file system access',
|
|
99
|
+
' - No system directory access',
|
|
100
|
+
' - No privileged operations',
|
|
101
|
+
];
|
|
102
|
+
if (status.lastEvent) {
|
|
103
|
+
report.push('', '📝 Last Security Event:');
|
|
104
|
+
report.push(` Type: ${status.lastEvent.type}`);
|
|
105
|
+
report.push(` Severity: ${status.lastEvent.severity}`);
|
|
106
|
+
report.push(` Operation: ${status.lastEvent.operation}`);
|
|
107
|
+
report.push(` Reason: ${status.lastEvent.reason}`);
|
|
108
|
+
if (status.lastEvent.filePath) {
|
|
109
|
+
report.push(` File: ${status.lastEvent.filePath}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return report.join('\n');
|
|
113
|
+
}
|
|
114
|
+
setupEventHandlers() {
|
|
115
|
+
// This would be called when security events occur
|
|
116
|
+
// For now, we'll just log to console if logging is enabled
|
|
117
|
+
if (this.config.logging) {
|
|
118
|
+
// We could implement real event handlers here
|
|
119
|
+
// Currently, events are logged directly in the security modules
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Global security integration instance
|
|
125
|
+
*/
|
|
126
|
+
export const securityIntegration = new SecurityIntegration({
|
|
127
|
+
enabled: true,
|
|
128
|
+
logging: true,
|
|
129
|
+
blockUnauthorized: true,
|
|
130
|
+
});
|
|
131
|
+
/**
|
|
132
|
+
* Initialize security integration
|
|
133
|
+
*/
|
|
134
|
+
export function initializeSecurityIntegration() {
|
|
135
|
+
securityIntegration.initialize();
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=security-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-integration.js","sourceRoot":"","sources":["../../src/security/security-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,7 @@
|
|
|
7
7
|
* @license MIT
|
|
8
8
|
* @author Bo Shang
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* purposes and is open source (available via npm and GitHub) to anyone globally.
|
|
12
|
-
* The creator, Bo Shang, does not solicit or endorse unauthorized attacks.
|
|
13
|
-
* This tool is released with the belief that providing technological freedom
|
|
14
|
-
* globally is the right thing to do. Users are solely responsible for ensuring
|
|
15
|
-
* their use complies with applicable laws and regulations in their jurisdiction.
|
|
16
|
-
* Use responsibly and ethically.
|
|
10
|
+
* Thank you to Anthropic for allowing me to use Claude Code to build erosolar-cli.
|
|
17
11
|
*/
|
|
18
12
|
import { PersistenceResearchToolkit, type PersistenceTechnique } from './persistence-research.js';
|
|
19
13
|
export type { PersistenceTechnique };
|