erosolar-cli 1.5.3 → 1.5.4

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.
Files changed (327) hide show
  1. package/config/security-deployment.json +54 -0
  2. package/dist/bin/adapters/node/index.js +33 -0
  3. package/dist/bin/adapters/types.js +1 -0
  4. package/dist/bin/alpha-zero/agentWrapper.js +165 -0
  5. package/dist/bin/alpha-zero/codeEvaluator.js +272 -0
  6. package/dist/bin/alpha-zero/competitiveRunner.js +219 -0
  7. package/dist/bin/alpha-zero/index.js +98 -0
  8. package/dist/bin/alpha-zero/introspection.js +298 -0
  9. package/dist/bin/alpha-zero/metricsTracker.js +207 -0
  10. package/dist/bin/alpha-zero/security/core.js +269 -0
  11. package/dist/bin/alpha-zero/security/google.js +308 -0
  12. package/dist/bin/alpha-zero/security/googleLoader.js +40 -0
  13. package/dist/bin/alpha-zero/security/index.js +31 -0
  14. package/dist/bin/alpha-zero/security/simulation.js +274 -0
  15. package/dist/bin/alpha-zero/selfModification.js +231 -0
  16. package/dist/bin/alpha-zero/types.js +30 -0
  17. package/dist/bin/bin/erosolar-optimized.js +205 -0
  18. package/dist/bin/capabilities/agentSpawningCapability.js +116 -0
  19. package/dist/bin/capabilities/bashCapability.js +22 -0
  20. package/dist/bin/capabilities/cloudCapability.js +36 -0
  21. package/dist/bin/capabilities/codeAnalysisCapability.js +22 -0
  22. package/dist/bin/capabilities/codeQualityCapability.js +23 -0
  23. package/dist/bin/capabilities/dependencySecurityCapability.js +22 -0
  24. package/dist/bin/capabilities/devCapability.js +22 -0
  25. package/dist/bin/capabilities/editCapability.js +28 -0
  26. package/dist/bin/capabilities/emailCapability.js +20 -0
  27. package/dist/bin/capabilities/enhancedGitCapability.js +221 -0
  28. package/dist/bin/capabilities/filesystemCapability.js +22 -0
  29. package/dist/bin/capabilities/globCapability.js +28 -0
  30. package/dist/bin/capabilities/interactionCapability.js +20 -0
  31. package/dist/bin/capabilities/learnCapability.js +22 -0
  32. package/dist/bin/capabilities/mcpCapability.js +20 -0
  33. package/dist/bin/capabilities/notebookCapability.js +28 -0
  34. package/dist/bin/capabilities/planningCapability.js +27 -0
  35. package/dist/bin/capabilities/refactoringCapability.js +23 -0
  36. package/dist/bin/capabilities/repoChecksCapability.js +22 -0
  37. package/dist/bin/capabilities/searchCapability.js +22 -0
  38. package/dist/bin/capabilities/skillCapability.js +76 -0
  39. package/dist/bin/capabilities/taskManagementCapability.js +20 -0
  40. package/dist/bin/capabilities/testingCapability.js +23 -0
  41. package/dist/bin/capabilities/toolManifest.js +159 -0
  42. package/dist/bin/capabilities/toolRegistry.js +114 -0
  43. package/dist/bin/capabilities/webCapability.js +20 -0
  44. package/dist/bin/config.js +139 -0
  45. package/dist/bin/contracts/v1/agent.js +7 -0
  46. package/dist/bin/contracts/v1/agentProfileManifest.js +8 -0
  47. package/dist/bin/contracts/v1/agentRules.js +9 -0
  48. package/dist/bin/contracts/v1/toolAccess.js +8 -0
  49. package/dist/bin/core/agent.js +362 -0
  50. package/dist/bin/core/agentProfileManifest.js +187 -0
  51. package/dist/bin/core/agentProfiles.js +34 -0
  52. package/dist/bin/core/agentRulebook.js +135 -0
  53. package/dist/bin/core/agentSchemaLoader.js +233 -0
  54. package/dist/bin/core/contextManager.js +412 -0
  55. package/dist/bin/core/contextWindow.js +122 -0
  56. package/dist/bin/core/customCommands.js +80 -0
  57. package/dist/bin/core/errors/apiKeyErrors.js +114 -0
  58. package/dist/bin/core/errors/errorTypes.js +340 -0
  59. package/dist/bin/core/errors/safetyValidator.js +304 -0
  60. package/dist/bin/core/errors.js +32 -0
  61. package/dist/bin/core/modelDiscovery.js +755 -0
  62. package/dist/bin/core/preferences.js +224 -0
  63. package/dist/bin/core/schemaValidator.js +92 -0
  64. package/dist/bin/core/secretStore.js +199 -0
  65. package/dist/bin/core/sessionStore.js +187 -0
  66. package/dist/bin/core/toolRuntime.js +290 -0
  67. package/dist/bin/core/types.js +1 -0
  68. package/dist/bin/erosolar-optimized.d.ts +12 -0
  69. package/dist/bin/erosolar-optimized.d.ts.map +1 -0
  70. package/dist/bin/erosolar-optimized.js +239 -0
  71. package/dist/bin/erosolar-optimized.js.map +1 -0
  72. package/dist/bin/erosolar.js +14 -0
  73. package/dist/bin/erosolar.js.map +1 -1
  74. package/dist/bin/headless/headlessApp.js +172 -0
  75. package/dist/bin/mcp/config.js +202 -0
  76. package/dist/bin/mcp/stdioClient.js +172 -0
  77. package/dist/bin/mcp/toolBridge.js +104 -0
  78. package/dist/bin/mcp/types.js +1 -0
  79. package/dist/bin/plugins/index.js +113 -0
  80. package/dist/bin/plugins/providers/anthropic/index.js +25 -0
  81. package/dist/bin/plugins/providers/deepseek/index.js +24 -0
  82. package/dist/bin/plugins/providers/google/index.js +26 -0
  83. package/dist/bin/plugins/providers/index.js +19 -0
  84. package/dist/bin/plugins/providers/ollama/index.js +59 -0
  85. package/dist/bin/plugins/providers/openai/index.js +26 -0
  86. package/dist/bin/plugins/providers/xai/index.js +24 -0
  87. package/dist/bin/plugins/tools/agentSpawning/agentSpawningPlugin.js +8 -0
  88. package/dist/bin/plugins/tools/bash/localBashPlugin.js +13 -0
  89. package/dist/bin/plugins/tools/checks/localRepoChecksPlugin.js +13 -0
  90. package/dist/bin/plugins/tools/cloud/cloudPlugin.js +13 -0
  91. package/dist/bin/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +13 -0
  92. package/dist/bin/plugins/tools/codeQuality/codeQualityPlugin.js +13 -0
  93. package/dist/bin/plugins/tools/dependency/dependencyPlugin.js +11 -0
  94. package/dist/bin/plugins/tools/development/devPlugin.js +13 -0
  95. package/dist/bin/plugins/tools/edit/editPlugin.js +14 -0
  96. package/dist/bin/plugins/tools/email/emailPlugin.js +11 -0
  97. package/dist/bin/plugins/tools/enhancedGit/enhancedGitPlugin.js +8 -0
  98. package/dist/bin/plugins/tools/filesystem/localFilesystemPlugin.js +13 -0
  99. package/dist/bin/plugins/tools/glob/globPlugin.js +14 -0
  100. package/dist/bin/plugins/tools/index.js +2 -0
  101. package/dist/bin/plugins/tools/interaction/interactionPlugin.js +11 -0
  102. package/dist/bin/plugins/tools/learn/learnPlugin.js +13 -0
  103. package/dist/bin/plugins/tools/mcp/mcpPlugin.js +8 -0
  104. package/dist/bin/plugins/tools/nodeDefaults.js +56 -0
  105. package/dist/bin/plugins/tools/notebook/notebookPlugin.js +14 -0
  106. package/dist/bin/plugins/tools/planning/planningPlugin.js +14 -0
  107. package/dist/bin/plugins/tools/refactoring/refactoringPlugin.js +11 -0
  108. package/dist/bin/plugins/tools/registry.js +57 -0
  109. package/dist/bin/plugins/tools/search/localSearchPlugin.js +13 -0
  110. package/dist/bin/plugins/tools/skills/skillPlugin.js +8 -0
  111. package/dist/bin/plugins/tools/taskManagement/taskManagementPlugin.js +11 -0
  112. package/dist/bin/plugins/tools/testing/testingPlugin.js +11 -0
  113. package/dist/bin/plugins/tools/web/webPlugin.js +11 -0
  114. package/dist/bin/providers/anthropicProvider.js +329 -0
  115. package/dist/bin/providers/googleProvider.js +203 -0
  116. package/dist/bin/providers/openaiChatCompletionsProvider.js +208 -0
  117. package/dist/bin/providers/openaiResponsesProvider.js +249 -0
  118. package/dist/bin/providers/providerFactory.js +24 -0
  119. package/dist/bin/runtime/agentController.js +321 -0
  120. package/dist/bin/runtime/agentHost.js +153 -0
  121. package/dist/bin/runtime/agentSession.js +195 -0
  122. package/dist/bin/runtime/node.js +10 -0
  123. package/dist/bin/runtime/universal.js +28 -0
  124. package/dist/bin/shell/bracketedPasteManager.js +350 -0
  125. package/dist/bin/shell/fileChangeTracker.js +65 -0
  126. package/dist/bin/shell/interactiveShell.js +2908 -0
  127. package/dist/bin/shell/liveStatus.js +78 -0
  128. package/dist/bin/shell/shellApp.js +290 -0
  129. package/dist/bin/shell/systemPrompt.js +60 -0
  130. package/dist/bin/shell/updateManager.js +108 -0
  131. package/dist/bin/skills/skillRepository.js +236 -0
  132. package/dist/bin/skills/types.js +1 -0
  133. package/dist/bin/subagents/taskRunner.js +269 -0
  134. package/dist/bin/tools/backgroundBashTools.js +211 -0
  135. package/dist/bin/tools/bashTools.js +159 -0
  136. package/dist/bin/tools/cloudTools.js +864 -0
  137. package/dist/bin/tools/codeAnalysisTools.js +641 -0
  138. package/dist/bin/tools/codeQualityTools.js +294 -0
  139. package/dist/bin/tools/dependencyTools.js +282 -0
  140. package/dist/bin/tools/devTools.js +238 -0
  141. package/dist/bin/tools/diffUtils.js +137 -0
  142. package/dist/bin/tools/editTools.js +134 -0
  143. package/dist/bin/tools/emailTools.js +448 -0
  144. package/dist/bin/tools/fileTools.js +282 -0
  145. package/dist/bin/tools/globTools.js +173 -0
  146. package/dist/bin/tools/grepTools.js +332 -0
  147. package/dist/bin/tools/interactionTools.js +170 -0
  148. package/dist/bin/tools/learnTools.js +1818 -0
  149. package/dist/bin/tools/notebookEditTools.js +196 -0
  150. package/dist/bin/tools/planningTools.js +46 -0
  151. package/dist/bin/tools/refactoringTools.js +293 -0
  152. package/dist/bin/tools/repoChecksTools.js +160 -0
  153. package/dist/bin/tools/searchTools.js +206 -0
  154. package/dist/bin/tools/skillTools.js +177 -0
  155. package/dist/bin/tools/taskManagementTools.js +156 -0
  156. package/dist/bin/tools/testingTools.js +232 -0
  157. package/dist/bin/tools/webTools.js +480 -0
  158. package/dist/bin/ui/ShellUIAdapter.js +459 -0
  159. package/dist/bin/ui/UnifiedUIController.js +183 -0
  160. package/dist/bin/ui/animation/AnimationScheduler.js +430 -0
  161. package/dist/bin/ui/codeHighlighter.js +854 -0
  162. package/dist/bin/ui/designSystem.js +121 -0
  163. package/dist/bin/ui/display.js +1222 -0
  164. package/dist/bin/ui/interrupts/InterruptManager.js +437 -0
  165. package/dist/bin/ui/layout.js +139 -0
  166. package/dist/bin/ui/orchestration/StatusOrchestrator.js +403 -0
  167. package/dist/bin/ui/outputMode.js +38 -0
  168. package/dist/bin/ui/persistentPrompt.js +183 -0
  169. package/dist/bin/ui/richText.js +338 -0
  170. package/dist/bin/ui/shortcutsHelp.js +87 -0
  171. package/dist/bin/ui/telemetry/UITelemetry.js +443 -0
  172. package/dist/bin/ui/textHighlighter.js +210 -0
  173. package/dist/bin/ui/theme.js +116 -0
  174. package/dist/bin/ui/toolDisplay.js +423 -0
  175. package/dist/bin/ui/toolDisplayAdapter.js +357 -0
  176. package/dist/bin/workspace.js +106 -0
  177. package/dist/bin/workspace.validator.js +213 -0
  178. package/dist/capabilities/offensiveSecurityCapability.d.ts +26 -0
  179. package/dist/capabilities/offensiveSecurityCapability.d.ts.map +1 -0
  180. package/dist/capabilities/offensiveSecurityCapability.js +58 -0
  181. package/dist/capabilities/offensiveSecurityCapability.js.map +1 -0
  182. package/dist/capabilities/realSecurityCapability.d.ts +26 -0
  183. package/dist/capabilities/realSecurityCapability.d.ts.map +1 -0
  184. package/dist/capabilities/realSecurityCapability.js +53 -0
  185. package/dist/capabilities/realSecurityCapability.js.map +1 -0
  186. package/dist/capabilities/securityCapability.d.ts +32 -0
  187. package/dist/capabilities/securityCapability.d.ts.map +1 -0
  188. package/dist/capabilities/securityCapability.js +57 -0
  189. package/dist/capabilities/securityCapability.js.map +1 -0
  190. package/dist/capabilities/ultimateSecurityCapability.d.ts +42 -0
  191. package/dist/capabilities/ultimateSecurityCapability.d.ts.map +1 -0
  192. package/dist/capabilities/ultimateSecurityCapability.js +96 -0
  193. package/dist/capabilities/ultimateSecurityCapability.js.map +1 -0
  194. package/dist/core/LazyLoader.d.ts +129 -0
  195. package/dist/core/LazyLoader.d.ts.map +1 -0
  196. package/dist/core/LazyLoader.js +240 -0
  197. package/dist/core/LazyLoader.js.map +1 -0
  198. package/dist/core/intelligenceTools.d.ts +19 -0
  199. package/dist/core/intelligenceTools.d.ts.map +1 -0
  200. package/dist/core/intelligenceTools.js +453 -0
  201. package/dist/core/intelligenceTools.js.map +1 -0
  202. package/dist/core/operationalTools.d.ts +19 -0
  203. package/dist/core/operationalTools.d.ts.map +1 -0
  204. package/dist/core/operationalTools.js +467 -0
  205. package/dist/core/operationalTools.js.map +1 -0
  206. package/dist/offensive/core/offensive-engine.d.ts +171 -0
  207. package/dist/offensive/core/offensive-engine.d.ts.map +1 -0
  208. package/dist/offensive/core/offensive-engine.js +345 -0
  209. package/dist/offensive/core/offensive-engine.js.map +1 -0
  210. package/dist/offensive/core/offensive-integration.d.ts +129 -0
  211. package/dist/offensive/core/offensive-integration.d.ts.map +1 -0
  212. package/dist/offensive/core/offensive-integration.js +364 -0
  213. package/dist/offensive/core/offensive-integration.js.map +1 -0
  214. package/dist/offensive/core/offensive-tools.d.ts +55 -0
  215. package/dist/offensive/core/offensive-tools.d.ts.map +1 -0
  216. package/dist/offensive/core/offensive-tools.js +438 -0
  217. package/dist/offensive/core/offensive-tools.js.map +1 -0
  218. package/dist/offensive/offensive-cli.d.ts +48 -0
  219. package/dist/offensive/offensive-cli.d.ts.map +1 -0
  220. package/dist/offensive/offensive-cli.js +233 -0
  221. package/dist/offensive/offensive-cli.js.map +1 -0
  222. package/dist/plugins/index.d.ts +1 -1
  223. package/dist/plugins/index.d.ts.map +1 -1
  224. package/dist/plugins/index.js +2 -0
  225. package/dist/plugins/index.js.map +1 -1
  226. package/dist/security/advanced-persistence-research.d.ts +92 -0
  227. package/dist/security/advanced-persistence-research.d.ts.map +1 -0
  228. package/dist/security/advanced-persistence-research.js +195 -0
  229. package/dist/security/advanced-persistence-research.js.map +1 -0
  230. package/dist/security/apt-simulation-cli.d.ts +57 -0
  231. package/dist/security/apt-simulation-cli.d.ts.map +1 -0
  232. package/dist/security/apt-simulation-cli.js +278 -0
  233. package/dist/security/apt-simulation-cli.js.map +1 -0
  234. package/dist/security/apt-simulation-engine-complete.d.ts +97 -0
  235. package/dist/security/apt-simulation-engine-complete.d.ts.map +1 -0
  236. package/dist/security/apt-simulation-engine-complete.js +441 -0
  237. package/dist/security/apt-simulation-engine-complete.js.map +1 -0
  238. package/dist/security/apt-simulation-engine.d.ts +97 -0
  239. package/dist/security/apt-simulation-engine.d.ts.map +1 -0
  240. package/dist/security/apt-simulation-engine.js +441 -0
  241. package/dist/security/apt-simulation-engine.js.map +1 -0
  242. package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
  243. package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
  244. package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
  245. package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
  246. package/dist/security/authorization/securityAuthorization.d.ts +88 -0
  247. package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
  248. package/dist/security/authorization/securityAuthorization.js +172 -0
  249. package/dist/security/authorization/securityAuthorization.js.map +1 -0
  250. package/dist/security/authorization.d.ts +45 -0
  251. package/dist/security/authorization.d.ts.map +1 -0
  252. package/dist/security/authorization.js +128 -0
  253. package/dist/security/authorization.js.map +1 -0
  254. package/dist/security/comprehensive-security-research.d.ts +84 -0
  255. package/dist/security/comprehensive-security-research.d.ts.map +1 -0
  256. package/dist/security/comprehensive-security-research.js +211 -0
  257. package/dist/security/comprehensive-security-research.js.map +1 -0
  258. package/dist/security/offensive/exploitationEngine.d.ts +54 -0
  259. package/dist/security/offensive/exploitationEngine.d.ts.map +1 -0
  260. package/dist/security/offensive/exploitationEngine.js +263 -0
  261. package/dist/security/offensive/exploitationEngine.js.map +1 -0
  262. package/dist/security/persistence-cli.d.ts +36 -0
  263. package/dist/security/persistence-cli.d.ts.map +1 -0
  264. package/dist/security/persistence-cli.js +160 -0
  265. package/dist/security/persistence-cli.js.map +1 -0
  266. package/dist/security/persistence-research.d.ts +11 -0
  267. package/dist/security/persistence-research.d.ts.map +1 -1
  268. package/dist/security/persistence-research.js +11 -0
  269. package/dist/security/persistence-research.js.map +1 -1
  270. package/dist/security/real/networkExploitation.d.ts +92 -0
  271. package/dist/security/real/networkExploitation.d.ts.map +1 -0
  272. package/dist/security/real/networkExploitation.js +316 -0
  273. package/dist/security/real/networkExploitation.js.map +1 -0
  274. package/dist/security/real/persistenceImplementation.d.ts +62 -0
  275. package/dist/security/real/persistenceImplementation.d.ts.map +1 -0
  276. package/dist/security/real/persistenceImplementation.js +323 -0
  277. package/dist/security/real/persistenceImplementation.js.map +1 -0
  278. package/dist/security/real/vulnerabilityScanner.d.ts +73 -0
  279. package/dist/security/real/vulnerabilityScanner.d.ts.map +1 -0
  280. package/dist/security/real/vulnerabilityScanner.js +341 -0
  281. package/dist/security/real/vulnerabilityScanner.js.map +1 -0
  282. package/dist/security/research/persistenceResearch.d.ts +97 -0
  283. package/dist/security/research/persistenceResearch.d.ts.map +1 -0
  284. package/dist/security/research/persistenceResearch.js +282 -0
  285. package/dist/security/research/persistenceResearch.js.map +1 -0
  286. package/dist/security/security-testing-framework.d.ts +120 -0
  287. package/dist/security/security-testing-framework.d.ts.map +1 -0
  288. package/dist/security/security-testing-framework.js +372 -0
  289. package/dist/security/security-testing-framework.js.map +1 -0
  290. package/dist/security/simulation/attackSimulation.d.ts +93 -0
  291. package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
  292. package/dist/security/simulation/attackSimulation.js +341 -0
  293. package/dist/security/simulation/attackSimulation.js.map +1 -0
  294. package/dist/shell/bracketedPasteManager.d.ts +33 -0
  295. package/dist/shell/bracketedPasteManager.d.ts.map +1 -1
  296. package/dist/shell/bracketedPasteManager.js +101 -0
  297. package/dist/shell/bracketedPasteManager.js.map +1 -1
  298. package/dist/shell/interactiveShell.d.ts +22 -1
  299. package/dist/shell/interactiveShell.d.ts.map +1 -1
  300. package/dist/shell/interactiveShell.js +257 -24
  301. package/dist/shell/interactiveShell.js.map +1 -1
  302. package/dist/shell/taskCompletionDetector.d.ts +101 -0
  303. package/dist/shell/taskCompletionDetector.d.ts.map +1 -0
  304. package/dist/shell/taskCompletionDetector.js +343 -0
  305. package/dist/shell/taskCompletionDetector.js.map +1 -0
  306. package/dist/tools/cloudTools.d.ts +11 -0
  307. package/dist/tools/cloudTools.d.ts.map +1 -1
  308. package/dist/tools/cloudTools.js +11 -0
  309. package/dist/tools/cloudTools.js.map +1 -1
  310. package/dist/tools/enhancedSecurityTools.d.ts +19 -0
  311. package/dist/tools/enhancedSecurityTools.d.ts.map +1 -0
  312. package/dist/tools/enhancedSecurityTools.js +215 -0
  313. package/dist/tools/enhancedSecurityTools.js.map +1 -0
  314. package/dist/tools/offensiveSecurityTools.d.ts +16 -0
  315. package/dist/tools/offensiveSecurityTools.d.ts.map +1 -0
  316. package/dist/tools/offensiveSecurityTools.js +285 -0
  317. package/dist/tools/offensiveSecurityTools.js.map +1 -0
  318. package/dist/tools/realSecurityTools.d.ts +18 -0
  319. package/dist/tools/realSecurityTools.d.ts.map +1 -0
  320. package/dist/tools/realSecurityTools.js +468 -0
  321. package/dist/tools/realSecurityTools.js.map +1 -0
  322. package/dist/tools/securityTools.d.ts +20 -0
  323. package/dist/tools/securityTools.d.ts.map +1 -0
  324. package/dist/tools/securityTools.js +449 -0
  325. package/dist/tools/securityTools.js.map +1 -0
  326. package/package.json +27 -12
  327. package/scripts/deploy-security-capabilities.js +178 -0
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Enhanced Security Tools with Authorization
3
+ *
4
+ * Security testing tools with integrated authorization framework.
5
+ */
6
+ import { AuthorizationManager } from '../security/authorization.js';
7
+ import { createRealSecurityTools } from './realSecurityTools.js';
8
+ import { createOffensiveSecurityTools } from './offensiveSecurityTools.js';
9
+ /**
10
+ * Create enhanced security tools with authorization
11
+ */
12
+ export function createEnhancedSecurityTools(workingDir, options = {}) {
13
+ const tools = [];
14
+ const authManager = options.authorizationManager || new AuthorizationManager();
15
+ // Add authorization management tools
16
+ tools.push(createAuthorizationTool(authManager));
17
+ tools.push(createAuthorizationStatusTool(authManager));
18
+ tools.push(createAuthorizationReportTool(authManager));
19
+ // Add real security tools with authorization
20
+ const realSecurityTools = createRealSecurityTools(workingDir, {
21
+ enableExploitation: options.enableExploitation,
22
+ requireAuthorization: options.requireAuthorization
23
+ });
24
+ // Wrap real security tools with authorization checks
25
+ realSecurityTools.forEach(tool => {
26
+ tools.push(wrapToolWithAuthorization(tool, authManager));
27
+ });
28
+ // Add offensive security tools with authorization
29
+ const offensiveSecurityTools = createOffensiveSecurityTools(workingDir, {
30
+ enableAdvancedExploitation: options.enableAdvancedExploitation,
31
+ enablePayloadGeneration: options.enablePayloadGeneration,
32
+ requireAuthorization: options.requireAuthorization
33
+ });
34
+ // Wrap offensive security tools with authorization checks
35
+ offensiveSecurityTools.forEach(tool => {
36
+ tools.push(wrapToolWithAuthorization(tool, authManager));
37
+ });
38
+ return tools;
39
+ }
40
+ /**
41
+ * Create authorization request tool
42
+ */
43
+ function createAuthorizationTool(authManager) {
44
+ return {
45
+ name: 'request_security_authorization',
46
+ description: 'Request authorization for security testing operations',
47
+ parameters: {
48
+ type: 'object',
49
+ properties: {
50
+ targets: {
51
+ type: 'array',
52
+ items: { type: 'string' },
53
+ description: 'Authorized targets (IPs, domains, or * for all)'
54
+ },
55
+ techniques: {
56
+ type: 'array',
57
+ items: { type: 'string' },
58
+ description: 'Authorized techniques (or * for all)'
59
+ },
60
+ durationHours: {
61
+ type: 'number',
62
+ description: 'Authorization duration in hours'
63
+ },
64
+ authorizedBy: {
65
+ type: 'string',
66
+ description: 'Name of authorizing person/entity'
67
+ },
68
+ contactInfo: {
69
+ type: 'string',
70
+ description: 'Contact information for authorization'
71
+ },
72
+ authorizationToken: {
73
+ type: 'string',
74
+ description: 'Authorization token (optional if set in environment)'
75
+ }
76
+ },
77
+ required: ['targets', 'techniques', 'durationHours', 'authorizedBy', 'contactInfo']
78
+ },
79
+ handler: async (args) => {
80
+ const targets = args['targets'];
81
+ const techniques = args['techniques'];
82
+ const durationHours = args['durationHours'];
83
+ const authorizedBy = args['authorizedBy'];
84
+ const contactInfo = args['contactInfo'];
85
+ const authorizationToken = args['authorizationToken'];
86
+ const startTime = new Date();
87
+ const endTime = new Date(startTime.getTime() + durationHours * 60 * 60 * 1000);
88
+ const scope = {
89
+ targets,
90
+ techniques,
91
+ startTime,
92
+ endTime,
93
+ authorizedBy,
94
+ contactInfo
95
+ };
96
+ const result = authManager.requestAuthorization(scope, authorizationToken);
97
+ return JSON.stringify({
98
+ authorized: result.authorized,
99
+ reason: result.reason,
100
+ scope: result.scope ? {
101
+ targets: result.scope.targets,
102
+ techniques: result.scope.techniques,
103
+ startTime: result.scope.startTime.toISOString(),
104
+ endTime: result.scope.endTime.toISOString(),
105
+ authorizedBy: result.scope.authorizedBy
106
+ } : undefined
107
+ }, null, 2);
108
+ }
109
+ };
110
+ }
111
+ /**
112
+ * Create authorization status tool
113
+ */
114
+ function createAuthorizationStatusTool(authManager) {
115
+ return {
116
+ name: 'get_authorization_status',
117
+ description: 'Get current authorization status',
118
+ parameters: {
119
+ type: 'object',
120
+ properties: {}
121
+ },
122
+ handler: async (args) => {
123
+ const result = authManager.getAuthorizationStatus();
124
+ return JSON.stringify({
125
+ authorized: result.authorized,
126
+ reason: result.reason,
127
+ scope: result.scope ? {
128
+ targets: result.scope.targets,
129
+ techniques: result.scope.techniques,
130
+ startTime: result.scope.startTime.toISOString(),
131
+ endTime: result.scope.endTime.toISOString(),
132
+ authorizedBy: result.scope.authorizedBy
133
+ } : undefined
134
+ }, null, 2);
135
+ }
136
+ };
137
+ }
138
+ /**
139
+ * Create authorization report tool
140
+ */
141
+ function createAuthorizationReportTool(authManager) {
142
+ return {
143
+ name: 'generate_authorization_report',
144
+ description: 'Generate authorization report',
145
+ parameters: {
146
+ type: 'object',
147
+ properties: {}
148
+ },
149
+ handler: async (args) => {
150
+ const report = authManager.generateAuthorizationReport();
151
+ return JSON.stringify({
152
+ report
153
+ }, null, 2);
154
+ }
155
+ };
156
+ }
157
+ /**
158
+ * Wrap a tool with authorization checks
159
+ */
160
+ function wrapToolWithAuthorization(originalTool, authManager) {
161
+ return {
162
+ name: originalTool.name,
163
+ description: originalTool.description,
164
+ parameters: originalTool.parameters,
165
+ handler: async (args) => {
166
+ // Extract target and technique from parameters
167
+ let target = '';
168
+ let technique = originalTool.name;
169
+ // Map tool names to techniques for authorization
170
+ const techniqueMap = {
171
+ 'real_scan_network': 'network-scanning',
172
+ 'real_exploit_ssh': 'ssh-exploitation',
173
+ 'real_exploit_ftp': 'ftp-exploitation',
174
+ 'real_exploit_smb': 'smb-exploitation',
175
+ 'real_scan_vulnerabilities': 'vulnerability-scanning',
176
+ 'real_exploit_sql_injection': 'sql-injection-exploitation',
177
+ 'real_exploit_xss': 'xss-exploitation',
178
+ 'real_implement_persistence': 'persistence-implementation',
179
+ 'real_detect_persistence': 'persistence-detection',
180
+ 'real_remove_persistence': 'persistence-removal',
181
+ 'generate_reverse_shell': 'payload-generation',
182
+ 'create_fileless_persistence': 'fileless-persistence',
183
+ 'deploy_web_shell': 'web-shell-deployment',
184
+ 'create_scheduled_persistence': 'scheduled-persistence',
185
+ 'generate_obfuscated_payloads': 'payload-obfuscation',
186
+ 'setup_dns_tunneling': 'dns-tunneling',
187
+ 'generate_phishing_templates': 'phishing-templates',
188
+ 'create_backdoor_user': 'backdoor-user-creation'
189
+ };
190
+ technique = techniqueMap[originalTool.name] || originalTool.name;
191
+ // Extract target from parameters
192
+ if (args['target']) {
193
+ target = args['target'];
194
+ }
195
+ else if (args['targetPath']) {
196
+ target = args['targetPath'];
197
+ }
198
+ else if (args['domain']) {
199
+ target = args['domain'];
200
+ }
201
+ // Validate authorization
202
+ const authResult = authManager.validateOperation(target, technique);
203
+ if (!authResult.authorized) {
204
+ return JSON.stringify({
205
+ error: 'Authorization required',
206
+ reason: authResult.reason,
207
+ requiredAction: 'Use request_security_authorization tool first'
208
+ }, null, 2);
209
+ }
210
+ // Execute original tool handler
211
+ return await originalTool.handler(args);
212
+ }
213
+ };
214
+ }
215
+ //# sourceMappingURL=enhancedSecurityTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedSecurityTools.js","sourceRoot":"","sources":["../../src/tools/enhancedSecurityTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Offensive Security Tools
3
+ *
4
+ * Advanced offensive security capabilities for authorized testing.
5
+ */
6
+ import type { ToolDefinition } from '../core/toolRuntime.js';
7
+ export interface OffensiveSecurityToolsOptions {
8
+ enableAdvancedExploitation?: boolean;
9
+ requireAuthorization?: boolean;
10
+ enablePayloadGeneration?: boolean;
11
+ }
12
+ /**
13
+ * Create offensive security tools
14
+ */
15
+ export declare function createOffensiveSecurityTools(workingDir: string, options?: OffensiveSecurityToolsOptions): ToolDefinition[];
16
+ //# sourceMappingURL=offensiveSecurityTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offensiveSecurityTools.d.ts","sourceRoot":"","sources":["../../src/tools/offensiveSecurityTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,6BAA6B;IAC5C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,6BAAkC,GAC1C,cAAc,EAAE,CAelB"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Offensive Security Tools
3
+ *
4
+ * Advanced offensive security capabilities for authorized testing.
5
+ */
6
+ import { OffensiveExploitationEngine } from '../security/offensive/exploitationEngine.js';
7
+ /**
8
+ * Create offensive security tools
9
+ */
10
+ export function createOffensiveSecurityTools(workingDir, options = {}) {
11
+ const tools = [];
12
+ const exploitationEngine = new OffensiveExploitationEngine();
13
+ // Advanced exploitation tools
14
+ tools.push(createReverseShellTool(exploitationEngine, options));
15
+ tools.push(createFilelessPersistenceTool(exploitationEngine, options));
16
+ tools.push(createWebShellTool(exploitationEngine, options));
17
+ tools.push(createScheduledPersistenceTool(exploitationEngine, options));
18
+ tools.push(createObfuscatedPayloadTool(exploitationEngine, options));
19
+ tools.push(createDnsTunnelingTool(exploitationEngine, options));
20
+ tools.push(createPhishingTemplateTool(exploitationEngine, options));
21
+ tools.push(createBackdoorUserTool(exploitationEngine, options));
22
+ return tools;
23
+ }
24
+ /**
25
+ * Create reverse shell payload tool
26
+ */
27
+ function createReverseShellTool(exploitationEngine, options) {
28
+ return {
29
+ name: 'generate_reverse_shell',
30
+ description: 'Generate reverse shell payloads for various platforms',
31
+ parameters: {
32
+ type: 'object',
33
+ properties: {
34
+ target: {
35
+ type: 'string',
36
+ description: 'Target IP address for reverse connection'
37
+ },
38
+ port: {
39
+ type: 'number',
40
+ description: 'Target port for reverse connection'
41
+ }
42
+ },
43
+ required: ['target', 'port']
44
+ },
45
+ handler: async (args) => {
46
+ if (options.requireAuthorization) {
47
+ // Authorization check
48
+ }
49
+ const target = args['target'];
50
+ const port = args['port'];
51
+ const payloads = exploitationEngine.generateReverseShell(target, port);
52
+ return JSON.stringify({
53
+ target,
54
+ port,
55
+ payloads,
56
+ warning: 'Reverse shell payloads generated - use responsibly'
57
+ }, null, 2);
58
+ }
59
+ };
60
+ }
61
+ /**
62
+ * Create fileless persistence tool
63
+ */
64
+ function createFilelessPersistenceTool(exploitationEngine, options) {
65
+ return {
66
+ name: 'create_fileless_persistence',
67
+ description: 'Create fileless persistence mechanisms',
68
+ parameters: {
69
+ type: 'object',
70
+ properties: {}
71
+ },
72
+ handler: async (args) => {
73
+ if (options.requireAuthorization && !options.enableAdvancedExploitation) {
74
+ return JSON.stringify({
75
+ error: 'Advanced exploitation disabled - enable with enableAdvancedExploitation option'
76
+ }, null, 2);
77
+ }
78
+ const result = await exploitationEngine.createFilelessPersistence();
79
+ return JSON.stringify({
80
+ technique: result.technique,
81
+ success: result.success,
82
+ output: result.output,
83
+ evidence: result.evidence,
84
+ warning: 'Fileless persistence created - ensure proper authorization'
85
+ }, null, 2);
86
+ }
87
+ };
88
+ }
89
+ /**
90
+ * Create web shell deployment tool
91
+ */
92
+ function createWebShellTool(exploitationEngine, options) {
93
+ return {
94
+ name: 'deploy_web_shell',
95
+ description: 'Deploy web shells for backdoor access',
96
+ parameters: {
97
+ type: 'object',
98
+ properties: {
99
+ targetPath: {
100
+ type: 'string',
101
+ description: 'Target directory to deploy web shells'
102
+ },
103
+ password: {
104
+ type: 'string',
105
+ description: 'Password for web shell access'
106
+ }
107
+ },
108
+ required: ['targetPath']
109
+ },
110
+ handler: async (args) => {
111
+ if (options.requireAuthorization && !options.enableAdvancedExploitation) {
112
+ return JSON.stringify({
113
+ error: 'Advanced exploitation disabled - enable with enableAdvancedExploitation option'
114
+ }, null, 2);
115
+ }
116
+ const targetPath = args['targetPath'];
117
+ const password = args['password'] || 'pass123';
118
+ const result = await exploitationEngine.deployWebShell(targetPath, password);
119
+ return JSON.stringify({
120
+ targetPath,
121
+ technique: result.technique,
122
+ success: result.success,
123
+ output: result.output,
124
+ evidence: result.evidence,
125
+ warning: 'Web shells deployed - ensure proper authorization'
126
+ }, null, 2);
127
+ }
128
+ };
129
+ }
130
+ /**
131
+ * Create scheduled persistence tool
132
+ */
133
+ function createScheduledPersistenceTool(exploitationEngine, options) {
134
+ return {
135
+ name: 'create_scheduled_persistence',
136
+ description: 'Create persistence via scheduled tasks/jobs',
137
+ parameters: {
138
+ type: 'object',
139
+ properties: {}
140
+ },
141
+ handler: async (args) => {
142
+ if (options.requireAuthorization && !options.enableAdvancedExploitation) {
143
+ return JSON.stringify({
144
+ error: 'Advanced exploitation disabled - enable with enableAdvancedExploitation option'
145
+ }, null, 2);
146
+ }
147
+ const result = await exploitationEngine.createScheduledPersistence();
148
+ return JSON.stringify({
149
+ technique: result.technique,
150
+ success: result.success,
151
+ output: result.output,
152
+ evidence: result.evidence,
153
+ warning: 'Scheduled persistence created - ensure proper authorization'
154
+ }, null, 2);
155
+ }
156
+ };
157
+ }
158
+ /**
159
+ * Create obfuscated payload tool
160
+ */
161
+ function createObfuscatedPayloadTool(exploitationEngine, options) {
162
+ return {
163
+ name: 'generate_obfuscated_payloads',
164
+ description: 'Generate obfuscated payloads for evasion',
165
+ parameters: {
166
+ type: 'object',
167
+ properties: {}
168
+ },
169
+ handler: async (args) => {
170
+ if (options.requireAuthorization && !options.enablePayloadGeneration) {
171
+ return JSON.stringify({
172
+ error: 'Payload generation disabled - enable with enablePayloadGeneration option'
173
+ }, null, 2);
174
+ }
175
+ const payloads = exploitationEngine.generateObfuscatedPayloads();
176
+ return JSON.stringify({
177
+ payloads,
178
+ warning: 'Obfuscated payloads generated - use responsibly'
179
+ }, null, 2);
180
+ }
181
+ };
182
+ }
183
+ /**
184
+ * Create DNS tunneling tool
185
+ */
186
+ function createDnsTunnelingTool(exploitationEngine, options) {
187
+ return {
188
+ name: 'setup_dns_tunneling',
189
+ description: 'Setup DNS tunneling for covert communication',
190
+ parameters: {
191
+ type: 'object',
192
+ properties: {
193
+ domain: {
194
+ type: 'string',
195
+ description: 'Domain for DNS tunneling'
196
+ }
197
+ },
198
+ required: ['domain']
199
+ },
200
+ handler: async (args) => {
201
+ if (options.requireAuthorization && !options.enableAdvancedExploitation) {
202
+ return JSON.stringify({
203
+ error: 'Advanced exploitation disabled - enable with enableAdvancedExploitation option'
204
+ }, null, 2);
205
+ }
206
+ const domain = args['domain'];
207
+ const result = await exploitationEngine.setupDnsTunneling(domain);
208
+ return JSON.stringify({
209
+ domain,
210
+ technique: result.technique,
211
+ success: result.success,
212
+ output: result.output,
213
+ evidence: result.evidence,
214
+ warning: 'DNS tunneling setup - ensure proper authorization'
215
+ }, null, 2);
216
+ }
217
+ };
218
+ }
219
+ /**
220
+ * Create phishing template tool
221
+ */
222
+ function createPhishingTemplateTool(exploitationEngine, options) {
223
+ return {
224
+ name: 'generate_phishing_templates',
225
+ description: 'Generate phishing email templates',
226
+ parameters: {
227
+ type: 'object',
228
+ properties: {}
229
+ },
230
+ handler: async (args) => {
231
+ if (options.requireAuthorization && !options.enablePayloadGeneration) {
232
+ return JSON.stringify({
233
+ error: 'Payload generation disabled - enable with enablePayloadGeneration option'
234
+ }, null, 2);
235
+ }
236
+ const templates = exploitationEngine.generatePhishingTemplates();
237
+ return JSON.stringify({
238
+ templates,
239
+ warning: 'Phishing templates generated - use only for authorized testing'
240
+ }, null, 2);
241
+ }
242
+ };
243
+ }
244
+ /**
245
+ * Create backdoor user tool
246
+ */
247
+ function createBackdoorUserTool(exploitationEngine, options) {
248
+ return {
249
+ name: 'create_backdoor_user',
250
+ description: 'Create backdoor user account with elevated privileges',
251
+ parameters: {
252
+ type: 'object',
253
+ properties: {
254
+ username: {
255
+ type: 'string',
256
+ description: 'Username for backdoor account'
257
+ },
258
+ password: {
259
+ type: 'string',
260
+ description: 'Password for backdoor account'
261
+ }
262
+ },
263
+ required: ['username', 'password']
264
+ },
265
+ handler: async (args) => {
266
+ if (options.requireAuthorization && !options.enableAdvancedExploitation) {
267
+ return JSON.stringify({
268
+ error: 'Advanced exploitation disabled - enable with enableAdvancedExploitation option'
269
+ }, null, 2);
270
+ }
271
+ const username = args['username'];
272
+ const password = args['password'];
273
+ const result = await exploitationEngine.createBackdoorUser(username, password);
274
+ return JSON.stringify({
275
+ username,
276
+ technique: result.technique,
277
+ success: result.success,
278
+ output: result.output,
279
+ evidence: result.evidence,
280
+ warning: 'Backdoor user created - ensure proper authorization'
281
+ }, null, 2);
282
+ }
283
+ };
284
+ }
285
+ //# sourceMappingURL=offensiveSecurityTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offensiveSecurityTools.js","sourceRoot":"","sources":["../../src/tools/offensiveSecurityTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Real Security Tools
3
+ *
4
+ * Actual security testing tools with real implementations.
5
+ * These tools perform real persistence, scanning, and exploitation.
6
+ *
7
+ * LEGAL NOTICE: For authorized security research and testing only.
8
+ */
9
+ import type { ToolDefinition } from '../core/toolRuntime.js';
10
+ export interface RealSecurityToolsOptions {
11
+ enableExploitation?: boolean;
12
+ requireAuthorization?: boolean;
13
+ }
14
+ /**
15
+ * Create real security tools
16
+ */
17
+ export declare function createRealSecurityTools(workingDir: string, options?: RealSecurityToolsOptions): ToolDefinition[];
18
+ //# sourceMappingURL=realSecurityTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realSecurityTools.d.ts","sourceRoot":"","sources":["../../src/tools/realSecurityTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,wBAA6B,GACrC,cAAc,EAAE,CAuBlB"}