erosolar-cli 1.7.262 → 1.7.263

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 (283) hide show
  1. package/README.md +148 -22
  2. package/dist/alpha-zero/agentWrapper.d.ts +84 -0
  3. package/dist/alpha-zero/agentWrapper.d.ts.map +1 -0
  4. package/dist/alpha-zero/agentWrapper.js +171 -0
  5. package/dist/alpha-zero/agentWrapper.js.map +1 -0
  6. package/dist/alpha-zero/codeEvaluator.d.ts +25 -0
  7. package/dist/alpha-zero/codeEvaluator.d.ts.map +1 -0
  8. package/dist/alpha-zero/codeEvaluator.js +273 -0
  9. package/dist/alpha-zero/codeEvaluator.js.map +1 -0
  10. package/dist/alpha-zero/competitiveRunner.d.ts +66 -0
  11. package/dist/alpha-zero/competitiveRunner.d.ts.map +1 -0
  12. package/dist/alpha-zero/competitiveRunner.js +224 -0
  13. package/dist/alpha-zero/competitiveRunner.js.map +1 -0
  14. package/dist/alpha-zero/index.d.ts +67 -0
  15. package/dist/alpha-zero/index.d.ts.map +1 -0
  16. package/dist/alpha-zero/index.js +99 -0
  17. package/dist/alpha-zero/index.js.map +1 -0
  18. package/dist/alpha-zero/introspection.d.ts +128 -0
  19. package/dist/alpha-zero/introspection.d.ts.map +1 -0
  20. package/dist/alpha-zero/introspection.js +300 -0
  21. package/dist/alpha-zero/introspection.js.map +1 -0
  22. package/dist/alpha-zero/metricsTracker.d.ts +71 -0
  23. package/dist/alpha-zero/metricsTracker.d.ts.map +1 -0
  24. package/dist/{core → alpha-zero}/metricsTracker.js +5 -2
  25. package/dist/alpha-zero/metricsTracker.js.map +1 -0
  26. package/dist/alpha-zero/security/core.d.ts +125 -0
  27. package/dist/alpha-zero/security/core.d.ts.map +1 -0
  28. package/dist/alpha-zero/security/core.js +271 -0
  29. package/dist/alpha-zero/security/core.js.map +1 -0
  30. package/dist/alpha-zero/security/google.d.ts +125 -0
  31. package/dist/alpha-zero/security/google.d.ts.map +1 -0
  32. package/dist/alpha-zero/security/google.js +311 -0
  33. package/dist/alpha-zero/security/google.js.map +1 -0
  34. package/dist/alpha-zero/security/googleLoader.d.ts +17 -0
  35. package/dist/alpha-zero/security/googleLoader.d.ts.map +1 -0
  36. package/dist/alpha-zero/security/googleLoader.js +41 -0
  37. package/dist/alpha-zero/security/googleLoader.js.map +1 -0
  38. package/dist/alpha-zero/security/index.d.ts +29 -0
  39. package/dist/alpha-zero/security/index.d.ts.map +1 -0
  40. package/dist/alpha-zero/security/index.js +32 -0
  41. package/dist/alpha-zero/security/index.js.map +1 -0
  42. package/dist/alpha-zero/security/simulation.d.ts +124 -0
  43. package/dist/alpha-zero/security/simulation.d.ts.map +1 -0
  44. package/dist/alpha-zero/security/simulation.js +277 -0
  45. package/dist/alpha-zero/security/simulation.js.map +1 -0
  46. package/dist/alpha-zero/selfModification.d.ts +109 -0
  47. package/dist/alpha-zero/selfModification.d.ts.map +1 -0
  48. package/dist/alpha-zero/selfModification.js +233 -0
  49. package/dist/alpha-zero/selfModification.js.map +1 -0
  50. package/dist/alpha-zero/types.d.ts +170 -0
  51. package/dist/alpha-zero/types.d.ts.map +1 -0
  52. package/dist/alpha-zero/types.js +31 -0
  53. package/dist/alpha-zero/types.js.map +1 -0
  54. package/dist/capabilities/securityTestingCapability.d.ts +13 -0
  55. package/dist/capabilities/securityTestingCapability.d.ts.map +1 -0
  56. package/dist/capabilities/securityTestingCapability.js +25 -0
  57. package/dist/capabilities/securityTestingCapability.js.map +1 -0
  58. package/dist/contracts/agent-schemas.json +15 -0
  59. package/dist/contracts/tools.schema.json +9 -0
  60. package/dist/core/aiFlowOptimizer.d.ts +26 -0
  61. package/dist/core/aiFlowOptimizer.d.ts.map +1 -0
  62. package/dist/core/aiFlowOptimizer.js +31 -0
  63. package/dist/core/aiFlowOptimizer.js.map +1 -0
  64. package/dist/core/aiOptimizationEngine.d.ts +158 -0
  65. package/dist/core/aiOptimizationEngine.d.ts.map +1 -0
  66. package/dist/core/aiOptimizationEngine.js +428 -0
  67. package/dist/core/aiOptimizationEngine.js.map +1 -0
  68. package/dist/core/aiOptimizationIntegration.d.ts +93 -0
  69. package/dist/core/aiOptimizationIntegration.d.ts.map +1 -0
  70. package/dist/core/aiOptimizationIntegration.js +250 -0
  71. package/dist/core/aiOptimizationIntegration.js.map +1 -0
  72. package/dist/core/customCommands.d.ts +0 -1
  73. package/dist/core/customCommands.d.ts.map +1 -1
  74. package/dist/core/customCommands.js +0 -3
  75. package/dist/core/customCommands.js.map +1 -1
  76. package/dist/core/enhancedErrorRecovery.d.ts +100 -0
  77. package/dist/core/enhancedErrorRecovery.d.ts.map +1 -0
  78. package/dist/core/enhancedErrorRecovery.js +345 -0
  79. package/dist/core/enhancedErrorRecovery.js.map +1 -0
  80. package/dist/core/hooksSystem.d.ts +65 -0
  81. package/dist/core/hooksSystem.d.ts.map +1 -0
  82. package/dist/core/hooksSystem.js +273 -0
  83. package/dist/core/hooksSystem.js.map +1 -0
  84. package/dist/core/memorySystem.d.ts +48 -0
  85. package/dist/core/memorySystem.d.ts.map +1 -0
  86. package/dist/core/memorySystem.js +271 -0
  87. package/dist/core/memorySystem.js.map +1 -0
  88. package/dist/core/toolPreconditions.d.ts.map +1 -1
  89. package/dist/core/toolPreconditions.js +14 -0
  90. package/dist/core/toolPreconditions.js.map +1 -1
  91. package/dist/core/toolRuntime.d.ts.map +1 -1
  92. package/dist/core/toolRuntime.js +5 -0
  93. package/dist/core/toolRuntime.js.map +1 -1
  94. package/dist/core/toolValidation.d.ts.map +1 -1
  95. package/dist/core/toolValidation.js +3 -14
  96. package/dist/core/toolValidation.js.map +1 -1
  97. package/dist/core/unified/errors.d.ts +189 -0
  98. package/dist/core/unified/errors.d.ts.map +1 -0
  99. package/dist/core/unified/errors.js +497 -0
  100. package/dist/core/unified/errors.js.map +1 -0
  101. package/dist/core/unified/index.d.ts +19 -0
  102. package/dist/core/unified/index.d.ts.map +1 -0
  103. package/dist/core/unified/index.js +68 -0
  104. package/dist/core/unified/index.js.map +1 -0
  105. package/dist/core/unified/schema.d.ts +101 -0
  106. package/dist/core/unified/schema.d.ts.map +1 -0
  107. package/dist/core/unified/schema.js +350 -0
  108. package/dist/core/unified/schema.js.map +1 -0
  109. package/dist/core/unified/toolRuntime.d.ts +179 -0
  110. package/dist/core/unified/toolRuntime.d.ts.map +1 -0
  111. package/dist/core/unified/toolRuntime.js +517 -0
  112. package/dist/core/unified/toolRuntime.js.map +1 -0
  113. package/dist/core/unified/tools.d.ts +127 -0
  114. package/dist/core/unified/tools.d.ts.map +1 -0
  115. package/dist/core/unified/tools.js +1333 -0
  116. package/dist/core/unified/tools.js.map +1 -0
  117. package/dist/core/unified/types.d.ts +352 -0
  118. package/dist/core/unified/types.d.ts.map +1 -0
  119. package/dist/core/unified/types.js +12 -0
  120. package/dist/core/unified/types.js.map +1 -0
  121. package/dist/core/unified/version.d.ts +209 -0
  122. package/dist/core/unified/version.d.ts.map +1 -0
  123. package/dist/core/unified/version.js +454 -0
  124. package/dist/core/unified/version.js.map +1 -0
  125. package/dist/core/validationRunner.d.ts +3 -1
  126. package/dist/core/validationRunner.d.ts.map +1 -1
  127. package/dist/core/validationRunner.js.map +1 -1
  128. package/dist/mcp/sseClient.d.ts.map +1 -1
  129. package/dist/mcp/sseClient.js +18 -9
  130. package/dist/mcp/sseClient.js.map +1 -1
  131. package/dist/plugins/tools/build/buildPlugin.d.ts +6 -0
  132. package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
  133. package/dist/plugins/tools/build/buildPlugin.js +10 -4
  134. package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
  135. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  136. package/dist/plugins/tools/nodeDefaults.js +2 -0
  137. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  138. package/dist/plugins/tools/security/securityPlugin.d.ts +3 -0
  139. package/dist/plugins/tools/security/securityPlugin.d.ts.map +1 -0
  140. package/dist/plugins/tools/security/securityPlugin.js +12 -0
  141. package/dist/plugins/tools/security/securityPlugin.js.map +1 -0
  142. package/dist/security/active-stack-security.d.ts +112 -0
  143. package/dist/security/active-stack-security.d.ts.map +1 -0
  144. package/dist/security/active-stack-security.js +296 -0
  145. package/dist/security/active-stack-security.js.map +1 -0
  146. package/dist/security/advanced-persistence-research.d.ts +92 -0
  147. package/dist/security/advanced-persistence-research.d.ts.map +1 -0
  148. package/dist/security/advanced-persistence-research.js +195 -0
  149. package/dist/security/advanced-persistence-research.js.map +1 -0
  150. package/dist/security/advanced-targeting.d.ts +119 -0
  151. package/dist/security/advanced-targeting.d.ts.map +1 -0
  152. package/dist/security/advanced-targeting.js +233 -0
  153. package/dist/security/advanced-targeting.js.map +1 -0
  154. package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
  155. package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
  156. package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
  157. package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
  158. package/dist/security/authorization/securityAuthorization.d.ts +88 -0
  159. package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
  160. package/dist/security/authorization/securityAuthorization.js +172 -0
  161. package/dist/security/authorization/securityAuthorization.js.map +1 -0
  162. package/dist/security/comprehensive-targeting.d.ts +85 -0
  163. package/dist/security/comprehensive-targeting.d.ts.map +1 -0
  164. package/dist/security/comprehensive-targeting.js +438 -0
  165. package/dist/security/comprehensive-targeting.js.map +1 -0
  166. package/dist/security/global-security-integration.d.ts +91 -0
  167. package/dist/security/global-security-integration.d.ts.map +1 -0
  168. package/dist/security/global-security-integration.js +218 -0
  169. package/dist/security/global-security-integration.js.map +1 -0
  170. package/dist/security/index.d.ts +38 -0
  171. package/dist/security/index.d.ts.map +1 -0
  172. package/dist/security/index.js +47 -0
  173. package/dist/security/index.js.map +1 -0
  174. package/dist/security/persistence-analyzer.d.ts +56 -0
  175. package/dist/security/persistence-analyzer.d.ts.map +1 -0
  176. package/dist/security/persistence-analyzer.js +187 -0
  177. package/dist/security/persistence-analyzer.js.map +1 -0
  178. package/dist/security/persistence-cli.d.ts +36 -0
  179. package/dist/security/persistence-cli.d.ts.map +1 -0
  180. package/dist/security/persistence-cli.js +160 -0
  181. package/dist/security/persistence-cli.js.map +1 -0
  182. package/dist/security/persistence-research.d.ts +92 -0
  183. package/dist/security/persistence-research.d.ts.map +1 -0
  184. package/dist/security/persistence-research.js +364 -0
  185. package/dist/security/persistence-research.js.map +1 -0
  186. package/dist/security/research/persistenceResearch.d.ts +97 -0
  187. package/dist/security/research/persistenceResearch.d.ts.map +1 -0
  188. package/dist/security/research/persistenceResearch.js +282 -0
  189. package/dist/security/research/persistenceResearch.js.map +1 -0
  190. package/dist/security/security-integration.d.ts +74 -0
  191. package/dist/security/security-integration.d.ts.map +1 -0
  192. package/dist/security/security-integration.js +137 -0
  193. package/dist/security/security-integration.js.map +1 -0
  194. package/dist/security/security-testing-framework.d.ts +112 -0
  195. package/dist/security/security-testing-framework.d.ts.map +1 -0
  196. package/dist/security/security-testing-framework.js +364 -0
  197. package/dist/security/security-testing-framework.js.map +1 -0
  198. package/dist/security/simulation/attackSimulation.d.ts +93 -0
  199. package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
  200. package/dist/security/simulation/attackSimulation.js +341 -0
  201. package/dist/security/simulation/attackSimulation.js.map +1 -0
  202. package/dist/security/strategic-operations.d.ts +100 -0
  203. package/dist/security/strategic-operations.d.ts.map +1 -0
  204. package/dist/security/strategic-operations.js +276 -0
  205. package/dist/security/strategic-operations.js.map +1 -0
  206. package/dist/security/tool-security-wrapper.d.ts +58 -0
  207. package/dist/security/tool-security-wrapper.d.ts.map +1 -0
  208. package/dist/security/tool-security-wrapper.js +156 -0
  209. package/dist/security/tool-security-wrapper.js.map +1 -0
  210. package/dist/shell/claudeCodeStreamHandler.d.ts +145 -0
  211. package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -0
  212. package/dist/shell/claudeCodeStreamHandler.js +322 -0
  213. package/dist/shell/claudeCodeStreamHandler.js.map +1 -0
  214. package/dist/shell/inputQueueManager.d.ts +144 -0
  215. package/dist/shell/inputQueueManager.d.ts.map +1 -0
  216. package/dist/shell/inputQueueManager.js +290 -0
  217. package/dist/shell/inputQueueManager.js.map +1 -0
  218. package/dist/shell/interactiveShell.d.ts +7 -11
  219. package/dist/shell/interactiveShell.d.ts.map +1 -1
  220. package/dist/shell/interactiveShell.js +153 -190
  221. package/dist/shell/interactiveShell.js.map +1 -1
  222. package/dist/shell/metricsTracker.d.ts +60 -0
  223. package/dist/shell/metricsTracker.d.ts.map +1 -0
  224. package/dist/shell/metricsTracker.js +119 -0
  225. package/dist/shell/metricsTracker.js.map +1 -0
  226. package/dist/shell/shellApp.d.ts +0 -2
  227. package/dist/shell/shellApp.d.ts.map +1 -1
  228. package/dist/shell/shellApp.js +0 -16
  229. package/dist/shell/shellApp.js.map +1 -1
  230. package/dist/shell/streamingOutputManager.d.ts +115 -0
  231. package/dist/shell/streamingOutputManager.d.ts.map +1 -0
  232. package/dist/shell/streamingOutputManager.js +225 -0
  233. package/dist/shell/streamingOutputManager.js.map +1 -0
  234. package/dist/shell/systemPrompt.d.ts.map +1 -1
  235. package/dist/shell/systemPrompt.js +4 -1
  236. package/dist/shell/systemPrompt.js.map +1 -1
  237. package/dist/shell/terminalInput.d.ts +147 -68
  238. package/dist/shell/terminalInput.d.ts.map +1 -1
  239. package/dist/shell/terminalInput.js +689 -451
  240. package/dist/shell/terminalInput.js.map +1 -1
  241. package/dist/shell/terminalInputAdapter.d.ts +20 -20
  242. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  243. package/dist/shell/terminalInputAdapter.js +29 -14
  244. package/dist/shell/terminalInputAdapter.js.map +1 -1
  245. package/dist/tools/securityTools.d.ts +22 -0
  246. package/dist/tools/securityTools.d.ts.map +1 -0
  247. package/dist/tools/securityTools.js +448 -0
  248. package/dist/tools/securityTools.js.map +1 -0
  249. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  250. package/dist/ui/ShellUIAdapter.js +12 -13
  251. package/dist/ui/ShellUIAdapter.js.map +1 -1
  252. package/dist/ui/display.d.ts +0 -19
  253. package/dist/ui/display.d.ts.map +1 -1
  254. package/dist/ui/display.js +33 -131
  255. package/dist/ui/display.js.map +1 -1
  256. package/dist/ui/persistentPrompt.d.ts +50 -0
  257. package/dist/ui/persistentPrompt.d.ts.map +1 -0
  258. package/dist/ui/persistentPrompt.js +92 -0
  259. package/dist/ui/persistentPrompt.js.map +1 -0
  260. package/dist/ui/terminalUISchema.d.ts +195 -0
  261. package/dist/ui/terminalUISchema.d.ts.map +1 -0
  262. package/dist/ui/terminalUISchema.js +113 -0
  263. package/dist/ui/terminalUISchema.js.map +1 -0
  264. package/dist/ui/theme.d.ts.map +1 -1
  265. package/dist/ui/theme.js +8 -6
  266. package/dist/ui/theme.js.map +1 -1
  267. package/dist/ui/toolDisplay.d.ts +158 -0
  268. package/dist/ui/toolDisplay.d.ts.map +1 -1
  269. package/dist/ui/toolDisplay.js +348 -0
  270. package/dist/ui/toolDisplay.js.map +1 -1
  271. package/dist/ui/unified/layout.d.ts +0 -1
  272. package/dist/ui/unified/layout.d.ts.map +1 -1
  273. package/dist/ui/unified/layout.js +25 -15
  274. package/dist/ui/unified/layout.js.map +1 -1
  275. package/package.json +1 -1
  276. package/scripts/deploy-security-capabilities.js +178 -0
  277. package/dist/core/hooks.d.ts +0 -113
  278. package/dist/core/hooks.d.ts.map +0 -1
  279. package/dist/core/hooks.js +0 -267
  280. package/dist/core/hooks.js.map +0 -1
  281. package/dist/core/metricsTracker.d.ts +0 -122
  282. package/dist/core/metricsTracker.d.ts.map +0 -1
  283. package/dist/core/metricsTracker.js.map +0 -1
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Advanced Persistence Research Toolkit
3
+ *
4
+ * Enhanced persistence mechanism analysis for comprehensive security research
5
+ * across enterprise environments, cloud platforms, and nation-state level targets.
6
+ *
7
+ * This module extends the existing persistence research with:
8
+ * - Advanced enterprise persistence techniques
9
+ * - Cloud platform persistence (AWS, Azure, GCP)
10
+ * - Container and orchestration persistence
11
+ * - Network and infrastructure persistence
12
+ * - Detection evasion and anti-forensics
13
+ *
14
+ * LEGAL NOTICE:
15
+ * For authorized security research, penetration testing, and red team exercises only.
16
+ * Requires explicit authorization and scope definition.
17
+ */
18
+ export interface AdvancedPersistenceTechnique {
19
+ id: string;
20
+ name: string;
21
+ category: PersistenceCategory;
22
+ platform: Platform;
23
+ complexity: 'low' | 'medium' | 'high' | 'advanced';
24
+ stealth: number;
25
+ detectionDifficulty: 'easy' | 'medium' | 'hard' | 'very-hard';
26
+ mitreIds: string[];
27
+ description: string;
28
+ implementation: string[];
29
+ detectionMethods: string[];
30
+ countermeasures: string[];
31
+ indicators: string[];
32
+ tools: string[];
33
+ }
34
+ export declare enum PersistenceCategory {
35
+ ENTERPRISE = "enterprise",
36
+ CLOUD = "cloud",
37
+ CONTAINER = "container",
38
+ NETWORK = "network",
39
+ MEMORY = "memory",
40
+ BIOS_UEFI = "bios_uefi",
41
+ HARDWARE = "hardware",
42
+ SUPPLY_CHAIN = "supply_chain"
43
+ }
44
+ export declare enum Platform {
45
+ WINDOWS = "windows",
46
+ LINUX = "linux",
47
+ MACOS = "macos",
48
+ CROSS_PLATFORM = "cross-platform",
49
+ AWS = "aws",
50
+ AZURE = "azure",
51
+ GCP = "gcp",
52
+ KUBERNETES = "kubernetes",
53
+ DOCKER = "docker",
54
+ VMWARE = "vmware",
55
+ NETWORK = "network"
56
+ }
57
+ /**
58
+ * Advanced Enterprise Persistence Techniques
59
+ */
60
+ export declare const ENTERPRISE_PERSISTENCE_TECHNIQUES: AdvancedPersistenceTechnique[];
61
+ /**
62
+ * Cloud Platform Persistence Techniques
63
+ */
64
+ export declare const CLOUD_PERSISTENCE_TECHNIQUES: AdvancedPersistenceTechnique[];
65
+ /**
66
+ * Advanced Persistence Research Engine
67
+ */
68
+ export declare class AdvancedPersistenceResearchEngine {
69
+ private techniques;
70
+ constructor();
71
+ /**
72
+ * Get techniques by platform
73
+ */
74
+ getTechniquesByPlatform(platform: Platform): AdvancedPersistenceTechnique[];
75
+ /**
76
+ * Get techniques by category
77
+ */
78
+ getTechniquesByCategory(category: PersistenceCategory): AdvancedPersistenceTechnique[];
79
+ /**
80
+ * Get techniques by stealth rating
81
+ */
82
+ getTechniquesByStealth(minStealth: number): AdvancedPersistenceTechnique[];
83
+ /**
84
+ * Generate comprehensive persistence research report
85
+ */
86
+ generateResearchReport(targetPlatforms: Platform[]): string;
87
+ }
88
+ /**
89
+ * Create a comprehensive persistence research toolkit
90
+ */
91
+ export declare function createPersistenceResearchToolkit(): AdvancedPersistenceResearchEngine;
92
+ //# sourceMappingURL=advanced-persistence-research.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-persistence-research.d.ts","sourceRoot":"","sources":["../../src/security/advanced-persistence-research.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IAC9D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,oBAAY,mBAAmB;IAC7B,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;CAC9B;AAED,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,cAAc,mBAAmB;IACjC,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,4BAA4B,EAmC3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,4BAA4B,EAmCtE,CAAC;AAEF;;GAEG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,UAAU,CAAiC;;IASnD;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,4BAA4B,EAAE;IAI3E;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,4BAA4B,EAAE;IAItF;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,4BAA4B,EAAE;IAI1E;;OAEG;IACH,sBAAsB,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,MAAM;CA0C5D;AAED;;GAEG;AACH,wBAAgB,gCAAgC,sCAE/C"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Advanced Persistence Research Toolkit
3
+ *
4
+ * Enhanced persistence mechanism analysis for comprehensive security research
5
+ * across enterprise environments, cloud platforms, and nation-state level targets.
6
+ *
7
+ * This module extends the existing persistence research with:
8
+ * - Advanced enterprise persistence techniques
9
+ * - Cloud platform persistence (AWS, Azure, GCP)
10
+ * - Container and orchestration persistence
11
+ * - Network and infrastructure persistence
12
+ * - Detection evasion and anti-forensics
13
+ *
14
+ * LEGAL NOTICE:
15
+ * For authorized security research, penetration testing, and red team exercises only.
16
+ * Requires explicit authorization and scope definition.
17
+ */
18
+ export var PersistenceCategory;
19
+ (function (PersistenceCategory) {
20
+ PersistenceCategory["ENTERPRISE"] = "enterprise";
21
+ PersistenceCategory["CLOUD"] = "cloud";
22
+ PersistenceCategory["CONTAINER"] = "container";
23
+ PersistenceCategory["NETWORK"] = "network";
24
+ PersistenceCategory["MEMORY"] = "memory";
25
+ PersistenceCategory["BIOS_UEFI"] = "bios_uefi";
26
+ PersistenceCategory["HARDWARE"] = "hardware";
27
+ PersistenceCategory["SUPPLY_CHAIN"] = "supply_chain";
28
+ })(PersistenceCategory || (PersistenceCategory = {}));
29
+ export var Platform;
30
+ (function (Platform) {
31
+ Platform["WINDOWS"] = "windows";
32
+ Platform["LINUX"] = "linux";
33
+ Platform["MACOS"] = "macos";
34
+ Platform["CROSS_PLATFORM"] = "cross-platform";
35
+ Platform["AWS"] = "aws";
36
+ Platform["AZURE"] = "azure";
37
+ Platform["GCP"] = "gcp";
38
+ Platform["KUBERNETES"] = "kubernetes";
39
+ Platform["DOCKER"] = "docker";
40
+ Platform["VMWARE"] = "vmware";
41
+ Platform["NETWORK"] = "network";
42
+ })(Platform || (Platform = {}));
43
+ /**
44
+ * Advanced Enterprise Persistence Techniques
45
+ */
46
+ export const ENTERPRISE_PERSISTENCE_TECHNIQUES = [
47
+ {
48
+ id: 'ent-active-directory-golden-ticket',
49
+ name: 'Active Directory Golden Ticket',
50
+ category: PersistenceCategory.ENTERPRISE,
51
+ platform: Platform.WINDOWS,
52
+ complexity: 'advanced',
53
+ stealth: 5,
54
+ detectionDifficulty: 'very-hard',
55
+ mitreIds: ['T1558.001'],
56
+ description: 'Forged Kerberos ticket granting ticket (TGT) with unlimited lifetime',
57
+ implementation: [
58
+ 'Extract krbtgt account hash from domain controller',
59
+ 'Forge TGT with extended lifetime and privileges',
60
+ 'Use forged TGT to access any domain resource'
61
+ ],
62
+ detectionMethods: [
63
+ 'Monitor for TGTs with unusual lifetimes (>10 hours)',
64
+ 'Check for TGTs issued from non-DC systems',
65
+ 'Analyze Kerberos event logs for anomalies',
66
+ 'Use Microsoft ATA or Azure Sentinel'
67
+ ],
68
+ countermeasures: [
69
+ 'Regularly rotate krbtgt account password (twice)',
70
+ 'Implement LAPS for local admin passwords',
71
+ 'Enable advanced audit policies',
72
+ 'Use Protected Users group'
73
+ ],
74
+ indicators: [
75
+ 'Kerberos TGT requests with extended lifetimes',
76
+ 'Authentication from unusual locations',
77
+ 'Multiple failed TGT validation attempts'
78
+ ],
79
+ tools: ['Mimikatz', 'Rubeus', 'Impacket']
80
+ }
81
+ ];
82
+ /**
83
+ * Cloud Platform Persistence Techniques
84
+ */
85
+ export const CLOUD_PERSISTENCE_TECHNIQUES = [
86
+ {
87
+ id: 'cloud-aws-backdoor-role',
88
+ name: 'AWS IAM Role Backdoor',
89
+ category: PersistenceCategory.CLOUD,
90
+ platform: Platform.AWS,
91
+ complexity: 'medium',
92
+ stealth: 3,
93
+ detectionDifficulty: 'medium',
94
+ mitreIds: ['T1078.004'],
95
+ description: 'Creates or modifies IAM roles with external entity trust for persistence',
96
+ implementation: [
97
+ 'Create IAM role with external IDP trust (SAML/OIDC)',
98
+ 'Modify existing role trust policy',
99
+ 'Add cross-account access with broad permissions'
100
+ ],
101
+ detectionMethods: [
102
+ 'Monitor CloudTrail for role modifications',
103
+ 'Analyze IAM role trust policies',
104
+ 'Check for external entity trusts',
105
+ 'Use AWS Config rules'
106
+ ],
107
+ countermeasures: [
108
+ 'Implement least privilege for IAM roles',
109
+ 'Monitor for external trust modifications',
110
+ 'Use AWS Organizations SCPs',
111
+ 'Regular IAM security assessments'
112
+ ],
113
+ indicators: [
114
+ 'IAM role policy modifications',
115
+ 'New external identity provider trusts',
116
+ 'Cross-account role assumptions'
117
+ ],
118
+ tools: ['AWS CLI', 'Pacu', 'CloudSploit']
119
+ }
120
+ ];
121
+ /**
122
+ * Advanced Persistence Research Engine
123
+ */
124
+ export class AdvancedPersistenceResearchEngine {
125
+ techniques;
126
+ constructor() {
127
+ this.techniques = [
128
+ ...ENTERPRISE_PERSISTENCE_TECHNIQUES,
129
+ ...CLOUD_PERSISTENCE_TECHNIQUES
130
+ ];
131
+ }
132
+ /**
133
+ * Get techniques by platform
134
+ */
135
+ getTechniquesByPlatform(platform) {
136
+ return this.techniques.filter(tech => tech.platform === platform);
137
+ }
138
+ /**
139
+ * Get techniques by category
140
+ */
141
+ getTechniquesByCategory(category) {
142
+ return this.techniques.filter(tech => tech.category === category);
143
+ }
144
+ /**
145
+ * Get techniques by stealth rating
146
+ */
147
+ getTechniquesByStealth(minStealth) {
148
+ return this.techniques.filter(tech => tech.stealth >= minStealth);
149
+ }
150
+ /**
151
+ * Generate comprehensive persistence research report
152
+ */
153
+ generateResearchReport(targetPlatforms) {
154
+ const report = [];
155
+ report.push('='.repeat(80));
156
+ report.push('ADVANCED PERSISTENCE RESEARCH REPORT');
157
+ report.push('='.repeat(80));
158
+ report.push(`Generated: ${new Date().toISOString()}`);
159
+ report.push(`Target Platforms: ${targetPlatforms.join(', ')}`);
160
+ report.push('');
161
+ for (const platform of targetPlatforms) {
162
+ const techniques = this.getTechniquesByPlatform(platform);
163
+ if (techniques.length > 0) {
164
+ report.push(`## ${platform.toUpperCase()} PERSISTENCE TECHNIQUES`);
165
+ report.push('');
166
+ for (const tech of techniques) {
167
+ report.push(`### ${tech.name}`);
168
+ report.push(`- **Stealth**: ${tech.stealth}/5`);
169
+ report.push(`- **Complexity**: ${tech.complexity}`);
170
+ report.push(`- **Detection Difficulty**: ${tech.detectionDifficulty}`);
171
+ report.push(`- **MITRE ATT&CK**: ${tech.mitreIds.join(', ')}`);
172
+ report.push(`- **Description**: ${tech.description}`);
173
+ report.push('');
174
+ report.push('#### Implementation Steps:');
175
+ tech.implementation.forEach(step => report.push(` - ${step}`));
176
+ report.push('');
177
+ report.push('#### Detection Methods:');
178
+ tech.detectionMethods.forEach(method => report.push(` - ${method}`));
179
+ report.push('');
180
+ report.push('#### Countermeasures:');
181
+ tech.countermeasures.forEach(countermeasure => report.push(` - ${countermeasure}`));
182
+ report.push('');
183
+ }
184
+ }
185
+ }
186
+ return report.join('\n');
187
+ }
188
+ }
189
+ /**
190
+ * Create a comprehensive persistence research toolkit
191
+ */
192
+ export function createPersistenceResearchToolkit() {
193
+ return new AdvancedPersistenceResearchEngine();
194
+ }
195
+ //# sourceMappingURL=advanced-persistence-research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-persistence-research.js","sourceRoot":"","sources":["../../src/security/advanced-persistence-research.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Advanced Targeting Security Module
3
+ *
4
+ * Enables Erosolar CLI to analyze and operate on external active stacks
5
+ * and critical infrastructure while maintaining security controls.
6
+ *
7
+ * @license MIT
8
+ * @author Bo Shang
9
+ *
10
+ * DISCLAIMER: This software is provided for authorized security testing,
11
+ * research, and defensive purposes only. Users must ensure compliance
12
+ * with all applicable laws and regulations in their jurisdiction.
13
+ */
14
+ export interface SecurityValidationResult {
15
+ allowed: boolean;
16
+ reason?: string;
17
+ severity: 'low' | 'medium' | 'high' | 'critical';
18
+ details?: Record<string, unknown>;
19
+ }
20
+ export interface TargetAuthorization {
21
+ /** Target identifier (domain, IP range, organization) */
22
+ target: string;
23
+ /** Authorization level */
24
+ level: 'research' | 'analysis' | 'testing' | 'operations';
25
+ /** Scope of authorized operations */
26
+ scope: string[];
27
+ /** Authorization source */
28
+ authorizedBy: string;
29
+ /** Expiration timestamp */
30
+ expiresAt?: Date;
31
+ /** Legal/compliance requirements */
32
+ compliance: {
33
+ jurisdiction: string;
34
+ legalFramework: string;
35
+ reportingRequirements: string[];
36
+ };
37
+ }
38
+ export interface CriticalInfrastructureTarget {
39
+ /** Infrastructure category */
40
+ category: 'energy' | 'finance' | 'telecom' | 'government' | 'military' | 'healthcare' | 'transportation';
41
+ /** Target identifier */
42
+ identifier: string;
43
+ /** Country/region */
44
+ jurisdiction: string;
45
+ /** Sensitivity level */
46
+ sensitivity: 'low' | 'medium' | 'high' | 'critical';
47
+ /** Authorized operations */
48
+ authorizedOperations: string[];
49
+ /** Legal restrictions */
50
+ legalRestrictions: string[];
51
+ }
52
+ export interface OperationAuthorization {
53
+ /** Operation type */
54
+ type: 'scanning' | 'analysis' | 'vulnerability_assessment' | 'penetration_testing' | 'research';
55
+ /** Target information */
56
+ target: CriticalInfrastructureTarget | string;
57
+ /** Authorization level required */
58
+ requiredLevel: string;
59
+ /** Legal compliance requirements */
60
+ compliance: {
61
+ jurisdiction: string;
62
+ legalFramework: string;
63
+ reportingRequired: boolean;
64
+ evidenceCollection: boolean;
65
+ };
66
+ }
67
+ export declare class AdvancedTargetingSecurity {
68
+ private authorizedTargets;
69
+ private criticalInfrastructure;
70
+ private operationLog;
71
+ constructor();
72
+ /**
73
+ * Authorize a target for operations
74
+ */
75
+ authorizeTarget(authorization: TargetAuthorization): void;
76
+ /**
77
+ * Validate operation on external target
78
+ */
79
+ validateExternalOperation(operation: string, target: string, parameters: Record<string, unknown>): SecurityValidationResult;
80
+ /**
81
+ * Register critical infrastructure target
82
+ */
83
+ registerCriticalInfrastructure(target: CriticalInfrastructureTarget): void;
84
+ /**
85
+ * Get authorized targets
86
+ */
87
+ getAuthorizedTargets(): TargetAuthorization[];
88
+ /**
89
+ * Get critical infrastructure targets
90
+ */
91
+ getCriticalInfrastructure(): CriticalInfrastructureTarget[];
92
+ /**
93
+ * Get operation log
94
+ */
95
+ getOperationLog(): AdvancedOperationEvent[];
96
+ /**
97
+ * Generate targeting report
98
+ */
99
+ generateTargetingReport(): string;
100
+ private initializeDefaultTargets;
101
+ private isOperationAuthorized;
102
+ private validateCriticalInfrastructureOperation;
103
+ private logAdvancedOperation;
104
+ }
105
+ export interface AdvancedOperationEvent {
106
+ type: string;
107
+ severity: 'low' | 'medium' | 'high' | 'critical';
108
+ operation: string;
109
+ target: string;
110
+ timestamp: Date;
111
+ authorizationLevel?: string;
112
+ authorizedBy?: string;
113
+ details?: Record<string, unknown>;
114
+ }
115
+ /**
116
+ * Global advanced targeting security instance
117
+ */
118
+ export declare const advancedTargetingSecurity: AdvancedTargetingSecurity;
119
+ //# sourceMappingURL=advanced-targeting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-targeting.d.ts","sourceRoot":"","sources":["../../src/security/advanced-targeting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Advanced Targeting Security Module
3
+ *
4
+ * Enables Erosolar CLI to analyze and operate on external active stacks
5
+ * and critical infrastructure while maintaining security controls.
6
+ *
7
+ * @license MIT
8
+ * @author Bo Shang
9
+ *
10
+ * DISCLAIMER: This software is provided for authorized security testing,
11
+ * research, and defensive purposes only. Users must ensure compliance
12
+ * with all applicable laws and regulations in their jurisdiction.
13
+ */
14
+ export class AdvancedTargetingSecurity {
15
+ authorizedTargets = new Map();
16
+ criticalInfrastructure = new Map();
17
+ operationLog = [];
18
+ constructor() {
19
+ this.initializeDefaultTargets();
20
+ }
21
+ /**
22
+ * Authorize a target for operations
23
+ */
24
+ authorizeTarget(authorization) {
25
+ this.authorizedTargets.set(authorization.target, authorization);
26
+ this.logAdvancedOperation({
27
+ type: 'target_authorization',
28
+ severity: 'high',
29
+ operation: 'authorize',
30
+ target: authorization.target,
31
+ authorizationLevel: authorization.level,
32
+ authorizedBy: authorization.authorizedBy,
33
+ timestamp: new Date(),
34
+ details: {
35
+ scope: authorization.scope,
36
+ compliance: authorization.compliance
37
+ }
38
+ });
39
+ }
40
+ /**
41
+ * Validate operation on external target
42
+ */
43
+ validateExternalOperation(operation, target, parameters) {
44
+ // Check if target is authorized
45
+ const authorization = this.authorizedTargets.get(target);
46
+ if (!authorization) {
47
+ return {
48
+ allowed: false,
49
+ reason: 'Target not authorized for external operations',
50
+ severity: 'high',
51
+ details: { target, operation }
52
+ };
53
+ }
54
+ // Check authorization level
55
+ if (!this.isOperationAuthorized(operation, authorization.level)) {
56
+ return {
57
+ allowed: false,
58
+ reason: `Operation '${operation}' not authorized for target '${target}'`,
59
+ severity: 'high',
60
+ details: { target, operation, authorizationLevel: authorization.level }
61
+ };
62
+ }
63
+ // Check expiration
64
+ if (authorization.expiresAt && authorization.expiresAt < new Date()) {
65
+ return {
66
+ allowed: false,
67
+ reason: 'Target authorization has expired',
68
+ severity: 'high',
69
+ details: { target, expiresAt: authorization.expiresAt }
70
+ };
71
+ }
72
+ // Check for critical infrastructure
73
+ const criticalTarget = this.criticalInfrastructure.get(target);
74
+ if (criticalTarget) {
75
+ return this.validateCriticalInfrastructureOperation(operation, criticalTarget, parameters);
76
+ }
77
+ // Log the authorized operation
78
+ this.logAdvancedOperation({
79
+ type: 'external_operation',
80
+ severity: 'medium',
81
+ operation,
82
+ target,
83
+ authorizationLevel: authorization.level,
84
+ timestamp: new Date(),
85
+ details: {
86
+ parameters,
87
+ authorizedBy: authorization.authorizedBy,
88
+ compliance: authorization.compliance
89
+ }
90
+ });
91
+ return { allowed: true, severity: 'low' };
92
+ }
93
+ /**
94
+ * Register critical infrastructure target
95
+ */
96
+ registerCriticalInfrastructure(target) {
97
+ this.criticalInfrastructure.set(target.identifier, target);
98
+ this.logAdvancedOperation({
99
+ type: 'critical_infrastructure_registration',
100
+ severity: 'critical',
101
+ operation: 'register',
102
+ target: target.identifier,
103
+ timestamp: new Date(),
104
+ details: {
105
+ category: target.category,
106
+ jurisdiction: target.jurisdiction,
107
+ sensitivity: target.sensitivity
108
+ }
109
+ });
110
+ }
111
+ /**
112
+ * Get authorized targets
113
+ */
114
+ getAuthorizedTargets() {
115
+ return Array.from(this.authorizedTargets.values());
116
+ }
117
+ /**
118
+ * Get critical infrastructure targets
119
+ */
120
+ getCriticalInfrastructure() {
121
+ return Array.from(this.criticalInfrastructure.values());
122
+ }
123
+ /**
124
+ * Get operation log
125
+ */
126
+ getOperationLog() {
127
+ return [...this.operationLog];
128
+ }
129
+ /**
130
+ * Generate targeting report
131
+ */
132
+ generateTargetingReport() {
133
+ const authorized = this.getAuthorizedTargets();
134
+ const critical = this.getCriticalInfrastructure();
135
+ const operations = this.getOperationLog();
136
+ const report = [
137
+ '🎯 Advanced Targeting Security Report',
138
+ '=====================================',
139
+ `Authorized Targets: ${authorized.length}`,
140
+ `Critical Infrastructure: ${critical.length}`,
141
+ `Total Operations: ${operations.length}`,
142
+ '',
143
+ '🔐 Authorized Targets:',
144
+ ...authorized.map(auth => ` • ${auth.target} (${auth.level}) - ${auth.authorizedBy}`),
145
+ '',
146
+ '🏛️ Critical Infrastructure:',
147
+ ...critical.map(infra => ` • ${infra.identifier} (${infra.category}) - ${infra.jurisdiction} [${infra.sensitivity}]`),
148
+ '',
149
+ '📊 Recent Operations:',
150
+ ...operations.slice(-10).map(op => ` • ${op.timestamp.toISOString()} - ${op.type} on ${op.target} [${op.severity}]`)
151
+ ];
152
+ return report.join('\n');
153
+ }
154
+ initializeDefaultTargets() {
155
+ // Example: Research authorization for security analysis
156
+ this.authorizeTarget({
157
+ target: '*.gov',
158
+ level: 'research',
159
+ scope: ['vulnerability_scanning', 'security_analysis'],
160
+ authorizedBy: 'Security Research Team',
161
+ compliance: {
162
+ jurisdiction: 'International',
163
+ legalFramework: 'Authorized Security Research',
164
+ reportingRequirements: ['vulnerability_disclosure']
165
+ }
166
+ });
167
+ // Example: Critical infrastructure for analysis
168
+ this.registerCriticalInfrastructure({
169
+ category: 'energy',
170
+ identifier: 'power-grid-*.gov',
171
+ jurisdiction: 'Multiple',
172
+ sensitivity: 'critical',
173
+ authorizedOperations: ['security_analysis', 'vulnerability_assessment'],
174
+ legalRestrictions: ['no_exploitation', 'responsible_disclosure']
175
+ });
176
+ }
177
+ isOperationAuthorized(operation, authorizationLevel) {
178
+ const operationLevels = {
179
+ 'research': ['scanning', 'analysis', 'vulnerability_assessment'],
180
+ 'analysis': ['scanning', 'analysis', 'vulnerability_assessment', 'security_testing'],
181
+ 'testing': ['scanning', 'analysis', 'vulnerability_assessment', 'security_testing', 'penetration_testing'],
182
+ 'operations': ['scanning', 'analysis', 'vulnerability_assessment', 'security_testing', 'penetration_testing', 'remediation']
183
+ };
184
+ const allowedOperations = operationLevels[authorizationLevel] || [];
185
+ return allowedOperations.includes(operation);
186
+ }
187
+ validateCriticalInfrastructureOperation(operation, target, parameters) {
188
+ // Enhanced validation for critical infrastructure
189
+ if (!target.authorizedOperations.includes(operation)) {
190
+ return {
191
+ allowed: false,
192
+ reason: `Operation '${operation}' not authorized for critical infrastructure '${target.identifier}'`,
193
+ severity: 'critical',
194
+ details: {
195
+ target: target.identifier,
196
+ operation,
197
+ authorizedOperations: target.authorizedOperations,
198
+ legalRestrictions: target.legalRestrictions
199
+ }
200
+ };
201
+ }
202
+ // Additional compliance checks for critical targets
203
+ if (target.sensitivity === 'critical') {
204
+ this.logAdvancedOperation({
205
+ type: 'critical_infrastructure_operation',
206
+ severity: 'critical',
207
+ operation,
208
+ target: target.identifier,
209
+ timestamp: new Date(),
210
+ details: {
211
+ parameters,
212
+ category: target.category,
213
+ jurisdiction: target.jurisdiction,
214
+ sensitivity: target.sensitivity,
215
+ legalRestrictions: target.legalRestrictions
216
+ }
217
+ });
218
+ }
219
+ return { allowed: true, severity: 'medium' };
220
+ }
221
+ logAdvancedOperation(event) {
222
+ this.operationLog.push(event);
223
+ // Keep log size manageable
224
+ if (this.operationLog.length > 1000) {
225
+ this.operationLog = this.operationLog.slice(-500);
226
+ }
227
+ }
228
+ }
229
+ /**
230
+ * Global advanced targeting security instance
231
+ */
232
+ export const advancedTargetingSecurity = new AdvancedTargetingSecurity();
233
+ //# sourceMappingURL=advanced-targeting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced-targeting.js","sourceRoot":"","sources":["../../src/security/advanced-targeting.ts"],"names":[],"mappings":"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"}