erosolar-cli 1.7.356 → 1.7.358

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 (328) hide show
  1. package/README.md +24 -148
  2. package/dist/bin/erosolar.js +5 -21
  3. package/dist/bin/erosolar.js.map +1 -1
  4. package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -1
  5. package/dist/capabilities/agentSpawningCapability.js +56 -31
  6. package/dist/capabilities/agentSpawningCapability.js.map +1 -1
  7. package/dist/contracts/agent-schemas.json +0 -15
  8. package/dist/contracts/tools.schema.json +0 -9
  9. package/dist/core/agent.d.ts +2 -2
  10. package/dist/core/agent.d.ts.map +1 -1
  11. package/dist/core/agent.js.map +1 -1
  12. package/dist/core/customCommands.d.ts +1 -0
  13. package/dist/core/customCommands.d.ts.map +1 -1
  14. package/dist/core/customCommands.js +3 -0
  15. package/dist/core/customCommands.js.map +1 -1
  16. package/dist/core/hooks.d.ts +113 -0
  17. package/dist/core/hooks.d.ts.map +1 -0
  18. package/dist/core/hooks.js +267 -0
  19. package/dist/core/hooks.js.map +1 -0
  20. package/dist/core/metricsTracker.d.ts +122 -0
  21. package/dist/core/metricsTracker.d.ts.map +1 -0
  22. package/dist/{alpha-zero → core}/metricsTracker.js +2 -5
  23. package/dist/core/metricsTracker.js.map +1 -0
  24. package/dist/core/securityAssessment.d.ts +91 -0
  25. package/dist/core/securityAssessment.d.ts.map +1 -0
  26. package/dist/core/securityAssessment.js +580 -0
  27. package/dist/core/securityAssessment.js.map +1 -0
  28. package/dist/core/sessionStore.d.ts +2 -0
  29. package/dist/core/sessionStore.d.ts.map +1 -1
  30. package/dist/core/sessionStore.js +1 -0
  31. package/dist/core/sessionStore.js.map +1 -1
  32. package/dist/core/toolPreconditions.d.ts.map +1 -1
  33. package/dist/core/toolPreconditions.js +0 -14
  34. package/dist/core/toolPreconditions.js.map +1 -1
  35. package/dist/core/toolRuntime.d.ts +22 -1
  36. package/dist/core/toolRuntime.d.ts.map +1 -1
  37. package/dist/core/toolRuntime.js +0 -5
  38. package/dist/core/toolRuntime.js.map +1 -1
  39. package/dist/core/toolValidation.d.ts.map +1 -1
  40. package/dist/core/toolValidation.js +14 -3
  41. package/dist/core/toolValidation.js.map +1 -1
  42. package/dist/core/validationRunner.d.ts +1 -3
  43. package/dist/core/validationRunner.d.ts.map +1 -1
  44. package/dist/core/validationRunner.js.map +1 -1
  45. package/dist/core/verification.d.ts +137 -0
  46. package/dist/core/verification.d.ts.map +1 -0
  47. package/dist/core/verification.js +323 -0
  48. package/dist/core/verification.js.map +1 -0
  49. package/dist/headless/headlessApp.d.ts.map +1 -1
  50. package/dist/headless/headlessApp.js +21 -0
  51. package/dist/headless/headlessApp.js.map +1 -1
  52. package/dist/mcp/sseClient.d.ts.map +1 -1
  53. package/dist/mcp/sseClient.js +9 -18
  54. package/dist/mcp/sseClient.js.map +1 -1
  55. package/dist/plugins/tools/build/buildPlugin.d.ts +0 -6
  56. package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
  57. package/dist/plugins/tools/build/buildPlugin.js +4 -10
  58. package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
  59. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  60. package/dist/plugins/tools/nodeDefaults.js +0 -2
  61. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  62. package/dist/runtime/agentSession.d.ts +2 -2
  63. package/dist/runtime/agentSession.d.ts.map +1 -1
  64. package/dist/runtime/agentSession.js +2 -2
  65. package/dist/runtime/agentSession.js.map +1 -1
  66. package/dist/shell/interactiveShell.d.ts +41 -7
  67. package/dist/shell/interactiveShell.d.ts.map +1 -1
  68. package/dist/shell/interactiveShell.js +399 -166
  69. package/dist/shell/interactiveShell.js.map +1 -1
  70. package/dist/shell/shellApp.d.ts +2 -0
  71. package/dist/shell/shellApp.d.ts.map +1 -1
  72. package/dist/shell/shellApp.js +82 -9
  73. package/dist/shell/shellApp.js.map +1 -1
  74. package/dist/shell/systemPrompt.d.ts.map +1 -1
  75. package/dist/shell/systemPrompt.js +1 -4
  76. package/dist/shell/systemPrompt.js.map +1 -1
  77. package/dist/shell/terminalInput.d.ts +250 -125
  78. package/dist/shell/terminalInput.d.ts.map +1 -1
  79. package/dist/shell/terminalInput.js +1061 -612
  80. package/dist/shell/terminalInput.js.map +1 -1
  81. package/dist/shell/terminalInputAdapter.d.ts +106 -24
  82. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  83. package/dist/shell/terminalInputAdapter.js +137 -30
  84. package/dist/shell/terminalInputAdapter.js.map +1 -1
  85. package/dist/subagents/agentConfig.d.ts +27 -0
  86. package/dist/subagents/agentConfig.d.ts.map +1 -0
  87. package/dist/subagents/agentConfig.js +89 -0
  88. package/dist/subagents/agentConfig.js.map +1 -0
  89. package/dist/subagents/agentRegistry.d.ts +33 -0
  90. package/dist/subagents/agentRegistry.d.ts.map +1 -0
  91. package/dist/subagents/agentRegistry.js +162 -0
  92. package/dist/subagents/agentRegistry.js.map +1 -0
  93. package/dist/subagents/taskRunner.d.ts +7 -1
  94. package/dist/subagents/taskRunner.d.ts.map +1 -1
  95. package/dist/subagents/taskRunner.js +200 -49
  96. package/dist/subagents/taskRunner.js.map +1 -1
  97. package/dist/ui/ShellUIAdapter.d.ts +7 -1
  98. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  99. package/dist/ui/ShellUIAdapter.js +42 -18
  100. package/dist/ui/ShellUIAdapter.js.map +1 -1
  101. package/dist/ui/display.d.ts +24 -45
  102. package/dist/ui/display.d.ts.map +1 -1
  103. package/dist/ui/display.js +148 -274
  104. package/dist/ui/display.js.map +1 -1
  105. package/dist/ui/theme.d.ts.map +1 -1
  106. package/dist/ui/theme.js +6 -8
  107. package/dist/ui/theme.js.map +1 -1
  108. package/dist/ui/toolDisplay.d.ts +0 -158
  109. package/dist/ui/toolDisplay.d.ts.map +1 -1
  110. package/dist/ui/toolDisplay.js +0 -348
  111. package/dist/ui/toolDisplay.js.map +1 -1
  112. package/dist/ui/unified/layout.d.ts +20 -0
  113. package/dist/ui/unified/layout.d.ts.map +1 -1
  114. package/dist/ui/unified/layout.js +105 -216
  115. package/dist/ui/unified/layout.js.map +1 -1
  116. package/dist/utils/frontmatter.d.ts +10 -0
  117. package/dist/utils/frontmatter.d.ts.map +1 -0
  118. package/dist/utils/frontmatter.js +78 -0
  119. package/dist/utils/frontmatter.js.map +1 -0
  120. package/package.json +4 -4
  121. package/dist/alpha-zero/agentWrapper.d.ts +0 -84
  122. package/dist/alpha-zero/agentWrapper.d.ts.map +0 -1
  123. package/dist/alpha-zero/agentWrapper.js +0 -171
  124. package/dist/alpha-zero/agentWrapper.js.map +0 -1
  125. package/dist/alpha-zero/codeEvaluator.d.ts +0 -25
  126. package/dist/alpha-zero/codeEvaluator.d.ts.map +0 -1
  127. package/dist/alpha-zero/codeEvaluator.js +0 -273
  128. package/dist/alpha-zero/codeEvaluator.js.map +0 -1
  129. package/dist/alpha-zero/competitiveRunner.d.ts +0 -66
  130. package/dist/alpha-zero/competitiveRunner.d.ts.map +0 -1
  131. package/dist/alpha-zero/competitiveRunner.js +0 -224
  132. package/dist/alpha-zero/competitiveRunner.js.map +0 -1
  133. package/dist/alpha-zero/index.d.ts +0 -67
  134. package/dist/alpha-zero/index.d.ts.map +0 -1
  135. package/dist/alpha-zero/index.js +0 -99
  136. package/dist/alpha-zero/index.js.map +0 -1
  137. package/dist/alpha-zero/introspection.d.ts +0 -128
  138. package/dist/alpha-zero/introspection.d.ts.map +0 -1
  139. package/dist/alpha-zero/introspection.js +0 -300
  140. package/dist/alpha-zero/introspection.js.map +0 -1
  141. package/dist/alpha-zero/metricsTracker.d.ts +0 -71
  142. package/dist/alpha-zero/metricsTracker.d.ts.map +0 -1
  143. package/dist/alpha-zero/metricsTracker.js.map +0 -1
  144. package/dist/alpha-zero/security/core.d.ts +0 -125
  145. package/dist/alpha-zero/security/core.d.ts.map +0 -1
  146. package/dist/alpha-zero/security/core.js +0 -271
  147. package/dist/alpha-zero/security/core.js.map +0 -1
  148. package/dist/alpha-zero/security/google.d.ts +0 -125
  149. package/dist/alpha-zero/security/google.d.ts.map +0 -1
  150. package/dist/alpha-zero/security/google.js +0 -311
  151. package/dist/alpha-zero/security/google.js.map +0 -1
  152. package/dist/alpha-zero/security/googleLoader.d.ts +0 -17
  153. package/dist/alpha-zero/security/googleLoader.d.ts.map +0 -1
  154. package/dist/alpha-zero/security/googleLoader.js +0 -41
  155. package/dist/alpha-zero/security/googleLoader.js.map +0 -1
  156. package/dist/alpha-zero/security/index.d.ts +0 -29
  157. package/dist/alpha-zero/security/index.d.ts.map +0 -1
  158. package/dist/alpha-zero/security/index.js +0 -32
  159. package/dist/alpha-zero/security/index.js.map +0 -1
  160. package/dist/alpha-zero/security/simulation.d.ts +0 -124
  161. package/dist/alpha-zero/security/simulation.d.ts.map +0 -1
  162. package/dist/alpha-zero/security/simulation.js +0 -277
  163. package/dist/alpha-zero/security/simulation.js.map +0 -1
  164. package/dist/alpha-zero/selfModification.d.ts +0 -109
  165. package/dist/alpha-zero/selfModification.d.ts.map +0 -1
  166. package/dist/alpha-zero/selfModification.js +0 -233
  167. package/dist/alpha-zero/selfModification.js.map +0 -1
  168. package/dist/alpha-zero/types.d.ts +0 -170
  169. package/dist/alpha-zero/types.d.ts.map +0 -1
  170. package/dist/alpha-zero/types.js +0 -31
  171. package/dist/alpha-zero/types.js.map +0 -1
  172. package/dist/capabilities/securityTestingCapability.d.ts +0 -13
  173. package/dist/capabilities/securityTestingCapability.d.ts.map +0 -1
  174. package/dist/capabilities/securityTestingCapability.js +0 -25
  175. package/dist/capabilities/securityTestingCapability.js.map +0 -1
  176. package/dist/core/aiFlowOptimizer.d.ts +0 -26
  177. package/dist/core/aiFlowOptimizer.d.ts.map +0 -1
  178. package/dist/core/aiFlowOptimizer.js +0 -31
  179. package/dist/core/aiFlowOptimizer.js.map +0 -1
  180. package/dist/core/aiOptimizationEngine.d.ts +0 -158
  181. package/dist/core/aiOptimizationEngine.d.ts.map +0 -1
  182. package/dist/core/aiOptimizationEngine.js +0 -428
  183. package/dist/core/aiOptimizationEngine.js.map +0 -1
  184. package/dist/core/aiOptimizationIntegration.d.ts +0 -93
  185. package/dist/core/aiOptimizationIntegration.d.ts.map +0 -1
  186. package/dist/core/aiOptimizationIntegration.js +0 -250
  187. package/dist/core/aiOptimizationIntegration.js.map +0 -1
  188. package/dist/core/enhancedErrorRecovery.d.ts +0 -100
  189. package/dist/core/enhancedErrorRecovery.d.ts.map +0 -1
  190. package/dist/core/enhancedErrorRecovery.js +0 -345
  191. package/dist/core/enhancedErrorRecovery.js.map +0 -1
  192. package/dist/core/hooksSystem.d.ts +0 -65
  193. package/dist/core/hooksSystem.d.ts.map +0 -1
  194. package/dist/core/hooksSystem.js +0 -273
  195. package/dist/core/hooksSystem.js.map +0 -1
  196. package/dist/core/memorySystem.d.ts +0 -48
  197. package/dist/core/memorySystem.d.ts.map +0 -1
  198. package/dist/core/memorySystem.js +0 -271
  199. package/dist/core/memorySystem.js.map +0 -1
  200. package/dist/core/unified/errors.d.ts +0 -189
  201. package/dist/core/unified/errors.d.ts.map +0 -1
  202. package/dist/core/unified/errors.js +0 -497
  203. package/dist/core/unified/errors.js.map +0 -1
  204. package/dist/core/unified/index.d.ts +0 -19
  205. package/dist/core/unified/index.d.ts.map +0 -1
  206. package/dist/core/unified/index.js +0 -68
  207. package/dist/core/unified/index.js.map +0 -1
  208. package/dist/core/unified/schema.d.ts +0 -101
  209. package/dist/core/unified/schema.d.ts.map +0 -1
  210. package/dist/core/unified/schema.js +0 -350
  211. package/dist/core/unified/schema.js.map +0 -1
  212. package/dist/core/unified/toolRuntime.d.ts +0 -179
  213. package/dist/core/unified/toolRuntime.d.ts.map +0 -1
  214. package/dist/core/unified/toolRuntime.js +0 -517
  215. package/dist/core/unified/toolRuntime.js.map +0 -1
  216. package/dist/core/unified/tools.d.ts +0 -127
  217. package/dist/core/unified/tools.d.ts.map +0 -1
  218. package/dist/core/unified/tools.js +0 -1333
  219. package/dist/core/unified/tools.js.map +0 -1
  220. package/dist/core/unified/types.d.ts +0 -352
  221. package/dist/core/unified/types.d.ts.map +0 -1
  222. package/dist/core/unified/types.js +0 -12
  223. package/dist/core/unified/types.js.map +0 -1
  224. package/dist/core/unified/version.d.ts +0 -209
  225. package/dist/core/unified/version.d.ts.map +0 -1
  226. package/dist/core/unified/version.js +0 -454
  227. package/dist/core/unified/version.js.map +0 -1
  228. package/dist/plugins/tools/security/securityPlugin.d.ts +0 -3
  229. package/dist/plugins/tools/security/securityPlugin.d.ts.map +0 -1
  230. package/dist/plugins/tools/security/securityPlugin.js +0 -12
  231. package/dist/plugins/tools/security/securityPlugin.js.map +0 -1
  232. package/dist/security/active-stack-security.d.ts +0 -112
  233. package/dist/security/active-stack-security.d.ts.map +0 -1
  234. package/dist/security/active-stack-security.js +0 -296
  235. package/dist/security/active-stack-security.js.map +0 -1
  236. package/dist/security/advanced-persistence-research.d.ts +0 -92
  237. package/dist/security/advanced-persistence-research.d.ts.map +0 -1
  238. package/dist/security/advanced-persistence-research.js +0 -195
  239. package/dist/security/advanced-persistence-research.js.map +0 -1
  240. package/dist/security/advanced-targeting.d.ts +0 -119
  241. package/dist/security/advanced-targeting.d.ts.map +0 -1
  242. package/dist/security/advanced-targeting.js +0 -233
  243. package/dist/security/advanced-targeting.js.map +0 -1
  244. package/dist/security/assessment/vulnerabilityAssessment.d.ts +0 -104
  245. package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +0 -1
  246. package/dist/security/assessment/vulnerabilityAssessment.js +0 -315
  247. package/dist/security/assessment/vulnerabilityAssessment.js.map +0 -1
  248. package/dist/security/authorization/securityAuthorization.d.ts +0 -88
  249. package/dist/security/authorization/securityAuthorization.d.ts.map +0 -1
  250. package/dist/security/authorization/securityAuthorization.js +0 -172
  251. package/dist/security/authorization/securityAuthorization.js.map +0 -1
  252. package/dist/security/comprehensive-targeting.d.ts +0 -85
  253. package/dist/security/comprehensive-targeting.d.ts.map +0 -1
  254. package/dist/security/comprehensive-targeting.js +0 -438
  255. package/dist/security/comprehensive-targeting.js.map +0 -1
  256. package/dist/security/global-security-integration.d.ts +0 -91
  257. package/dist/security/global-security-integration.d.ts.map +0 -1
  258. package/dist/security/global-security-integration.js +0 -218
  259. package/dist/security/global-security-integration.js.map +0 -1
  260. package/dist/security/index.d.ts +0 -38
  261. package/dist/security/index.d.ts.map +0 -1
  262. package/dist/security/index.js +0 -47
  263. package/dist/security/index.js.map +0 -1
  264. package/dist/security/persistence-analyzer.d.ts +0 -56
  265. package/dist/security/persistence-analyzer.d.ts.map +0 -1
  266. package/dist/security/persistence-analyzer.js +0 -187
  267. package/dist/security/persistence-analyzer.js.map +0 -1
  268. package/dist/security/persistence-cli.d.ts +0 -36
  269. package/dist/security/persistence-cli.d.ts.map +0 -1
  270. package/dist/security/persistence-cli.js +0 -160
  271. package/dist/security/persistence-cli.js.map +0 -1
  272. package/dist/security/persistence-research.d.ts +0 -92
  273. package/dist/security/persistence-research.d.ts.map +0 -1
  274. package/dist/security/persistence-research.js +0 -364
  275. package/dist/security/persistence-research.js.map +0 -1
  276. package/dist/security/research/persistenceResearch.d.ts +0 -97
  277. package/dist/security/research/persistenceResearch.d.ts.map +0 -1
  278. package/dist/security/research/persistenceResearch.js +0 -282
  279. package/dist/security/research/persistenceResearch.js.map +0 -1
  280. package/dist/security/security-integration.d.ts +0 -74
  281. package/dist/security/security-integration.d.ts.map +0 -1
  282. package/dist/security/security-integration.js +0 -137
  283. package/dist/security/security-integration.js.map +0 -1
  284. package/dist/security/security-testing-framework.d.ts +0 -112
  285. package/dist/security/security-testing-framework.d.ts.map +0 -1
  286. package/dist/security/security-testing-framework.js +0 -364
  287. package/dist/security/security-testing-framework.js.map +0 -1
  288. package/dist/security/simulation/attackSimulation.d.ts +0 -93
  289. package/dist/security/simulation/attackSimulation.d.ts.map +0 -1
  290. package/dist/security/simulation/attackSimulation.js +0 -341
  291. package/dist/security/simulation/attackSimulation.js.map +0 -1
  292. package/dist/security/strategic-operations.d.ts +0 -100
  293. package/dist/security/strategic-operations.d.ts.map +0 -1
  294. package/dist/security/strategic-operations.js +0 -276
  295. package/dist/security/strategic-operations.js.map +0 -1
  296. package/dist/security/tool-security-wrapper.d.ts +0 -58
  297. package/dist/security/tool-security-wrapper.d.ts.map +0 -1
  298. package/dist/security/tool-security-wrapper.js +0 -156
  299. package/dist/security/tool-security-wrapper.js.map +0 -1
  300. package/dist/shell/claudeCodeStreamHandler.d.ts +0 -145
  301. package/dist/shell/claudeCodeStreamHandler.d.ts.map +0 -1
  302. package/dist/shell/claudeCodeStreamHandler.js +0 -322
  303. package/dist/shell/claudeCodeStreamHandler.js.map +0 -1
  304. package/dist/shell/inputQueueManager.d.ts +0 -144
  305. package/dist/shell/inputQueueManager.d.ts.map +0 -1
  306. package/dist/shell/inputQueueManager.js +0 -290
  307. package/dist/shell/inputQueueManager.js.map +0 -1
  308. package/dist/shell/metricsTracker.d.ts +0 -60
  309. package/dist/shell/metricsTracker.d.ts.map +0 -1
  310. package/dist/shell/metricsTracker.js +0 -119
  311. package/dist/shell/metricsTracker.js.map +0 -1
  312. package/dist/shell/streamingOutputManager.d.ts +0 -115
  313. package/dist/shell/streamingOutputManager.d.ts.map +0 -1
  314. package/dist/shell/streamingOutputManager.js +0 -225
  315. package/dist/shell/streamingOutputManager.js.map +0 -1
  316. package/dist/tools/securityTools.d.ts +0 -22
  317. package/dist/tools/securityTools.d.ts.map +0 -1
  318. package/dist/tools/securityTools.js +0 -448
  319. package/dist/tools/securityTools.js.map +0 -1
  320. package/dist/ui/persistentPrompt.d.ts +0 -50
  321. package/dist/ui/persistentPrompt.d.ts.map +0 -1
  322. package/dist/ui/persistentPrompt.js +0 -92
  323. package/dist/ui/persistentPrompt.js.map +0 -1
  324. package/dist/ui/terminalUISchema.d.ts +0 -195
  325. package/dist/ui/terminalUISchema.d.ts.map +0 -1
  326. package/dist/ui/terminalUISchema.js +0 -113
  327. package/dist/ui/terminalUISchema.js.map +0 -1
  328. package/scripts/deploy-security-capabilities.js +0 -178
@@ -1,315 +0,0 @@
1
- /**
2
- * Vulnerability Assessment Engine
3
- *
4
- * Provides vulnerability scanning and risk assessment capabilities
5
- * for authorized security research and testing.
6
- *
7
- * LEGAL NOTICE:
8
- * For authorized security research, penetration testing, and red team exercises only.
9
- */
10
- /**
11
- * Vulnerability Assessment Engine
12
- */
13
- export class VulnerabilityAssessmentEngine {
14
- vulnerabilityDatabase;
15
- constructor() {
16
- this.vulnerabilityDatabase = new Map();
17
- this.initializeVulnerabilityDatabase();
18
- }
19
- /**
20
- * Scan for vulnerabilities
21
- */
22
- async scanVulnerabilities(request) {
23
- // In a real implementation, this would perform actual scanning
24
- // For demonstration, we return simulated results
25
- const vulnerabilities = this.generateSimulatedVulnerabilities(request);
26
- const summary = this.calculateVulnerabilitySummary(vulnerabilities);
27
- return {
28
- targetType: request.targetType,
29
- targetUrl: request.targetUrl,
30
- scanDepth: request.scanDepth,
31
- scanDate: new Date().toISOString(),
32
- vulnerabilities,
33
- summary
34
- };
35
- }
36
- /**
37
- * Assess security risks
38
- */
39
- async assessRisk(request) {
40
- const riskScore = this.calculateRiskScore(request.findings, request.context);
41
- const riskLevel = this.determineRiskLevel(riskScore);
42
- const recommendations = this.generateRiskRecommendations(request.findings, riskLevel);
43
- const priorityActions = this.generatePriorityActions(riskLevel);
44
- return {
45
- findings: request.findings,
46
- context: request.context,
47
- riskScore,
48
- riskLevel,
49
- recommendations,
50
- priorityActions
51
- };
52
- }
53
- /**
54
- * Get vulnerability by ID
55
- */
56
- getVulnerability(vulnerabilityId) {
57
- return this.vulnerabilityDatabase.get(vulnerabilityId);
58
- }
59
- /**
60
- * List all vulnerabilities
61
- */
62
- listVulnerabilities() {
63
- return Array.from(this.vulnerabilityDatabase.values());
64
- }
65
- /**
66
- * Generate simulated vulnerabilities for demonstration
67
- */
68
- generateSimulatedVulnerabilities(request) {
69
- const vulnerabilities = [];
70
- // Common web application vulnerabilities
71
- if (request.targetType === 'web_application') {
72
- vulnerabilities.push({
73
- id: 'sql-injection',
74
- name: 'SQL Injection',
75
- severity: 'high',
76
- category: 'injection',
77
- description: 'Application is vulnerable to SQL injection attacks',
78
- impact: 'Potential database compromise and data exfiltration',
79
- remediation: 'Implement parameterized queries and input validation',
80
- cvssScore: 8.5,
81
- references: ['https://owasp.org/www-community/attacks/SQL_Injection']
82
- }, {
83
- id: 'xss',
84
- name: 'Cross-Site Scripting',
85
- severity: 'medium',
86
- category: 'client-side',
87
- description: 'Application does not properly sanitize user input',
88
- impact: 'Session hijacking and client-side code execution',
89
- remediation: 'Implement proper input sanitization and output encoding',
90
- cvssScore: 6.1,
91
- references: ['https://owasp.org/www-community/attacks/xss/']
92
- });
93
- }
94
- // API vulnerabilities
95
- if (request.targetType === 'api') {
96
- vulnerabilities.push({
97
- id: 'broken-auth',
98
- name: 'Broken Authentication',
99
- severity: 'high',
100
- category: 'authentication',
101
- description: 'API authentication mechanisms are weak or broken',
102
- impact: 'Unauthorized access to sensitive data and functionality',
103
- remediation: 'Implement strong authentication and session management',
104
- cvssScore: 8.2,
105
- references: ['https://owasp.org/www-project-api-security/']
106
- });
107
- }
108
- // Infrastructure vulnerabilities
109
- if (request.targetType === 'infrastructure') {
110
- vulnerabilities.push({
111
- id: 'weak-ssh',
112
- name: 'Weak SSH Configuration',
113
- severity: 'medium',
114
- category: 'configuration',
115
- description: 'SSH service allows weak authentication methods',
116
- impact: 'Potential unauthorized system access',
117
- remediation: 'Disable weak ciphers and enforce key-based authentication',
118
- cvssScore: 5.9
119
- });
120
- }
121
- // Adjust based on scan depth
122
- if (request.scanDepth === 'quick') {
123
- return vulnerabilities.slice(0, 2);
124
- }
125
- else if (request.scanDepth === 'standard') {
126
- return vulnerabilities;
127
- }
128
- else {
129
- // Deep scan - add more vulnerabilities
130
- vulnerabilities.push({
131
- id: 'info-leak',
132
- name: 'Information Disclosure',
133
- severity: 'low',
134
- category: 'information',
135
- description: 'Application discloses sensitive information in error messages',
136
- impact: 'Information leakage that could aid attackers',
137
- remediation: 'Implement proper error handling and information disclosure controls',
138
- cvssScore: 3.5
139
- });
140
- return vulnerabilities;
141
- }
142
- }
143
- /**
144
- * Calculate vulnerability summary
145
- */
146
- calculateVulnerabilitySummary(vulnerabilities) {
147
- const severityWeights = {
148
- critical: 10,
149
- high: 7,
150
- medium: 4,
151
- low: 1,
152
- info: 0
153
- };
154
- let criticalCount = 0;
155
- let highCount = 0;
156
- let mediumCount = 0;
157
- let lowCount = 0;
158
- let totalWeight = 0;
159
- for (const vuln of vulnerabilities) {
160
- switch (vuln.severity) {
161
- case 'critical':
162
- criticalCount++;
163
- totalWeight += severityWeights.critical;
164
- break;
165
- case 'high':
166
- highCount++;
167
- totalWeight += severityWeights.high;
168
- break;
169
- case 'medium':
170
- mediumCount++;
171
- totalWeight += severityWeights.medium;
172
- break;
173
- case 'low':
174
- lowCount++;
175
- totalWeight += severityWeights.low;
176
- break;
177
- }
178
- }
179
- const maxPossibleWeight = vulnerabilities.length * severityWeights.critical;
180
- const riskScore = maxPossibleWeight > 0 ? (totalWeight / maxPossibleWeight) * 10 : 0;
181
- return {
182
- totalVulnerabilities: vulnerabilities.length,
183
- criticalCount,
184
- highCount,
185
- mediumCount,
186
- lowCount,
187
- riskScore: Math.round(riskScore * 10) / 10
188
- };
189
- }
190
- /**
191
- * Calculate risk score
192
- */
193
- calculateRiskScore(findings, context) {
194
- let baseScore = 0;
195
- // Context multiplier
196
- const contextMultipliers = {
197
- 'production': 1.5,
198
- 'staging': 1.0,
199
- 'development': 0.5,
200
- 'test': 0.3
201
- };
202
- const contextMultiplier = contextMultipliers[context] || 1.0;
203
- // Analyze findings
204
- for (const finding of findings) {
205
- const findingLower = finding.toLowerCase();
206
- if (findingLower.includes('critical') || findingLower.includes('high risk')) {
207
- baseScore += 8;
208
- }
209
- else if (findingLower.includes('medium') || findingLower.includes('moderate')) {
210
- baseScore += 5;
211
- }
212
- else if (findingLower.includes('low')) {
213
- baseScore += 2;
214
- }
215
- else {
216
- baseScore += 1;
217
- }
218
- // Additional risk factors
219
- if (findingLower.includes('data') && findingLower.includes('exposure')) {
220
- baseScore += 3;
221
- }
222
- if (findingLower.includes('authentication') && findingLower.includes('bypass')) {
223
- baseScore += 4;
224
- }
225
- if (findingLower.includes('remote') && findingLower.includes('code')) {
226
- baseScore += 6;
227
- }
228
- }
229
- return Math.min(10, (baseScore / Math.max(1, findings.length)) * contextMultiplier);
230
- }
231
- /**
232
- * Determine risk level
233
- */
234
- determineRiskLevel(riskScore) {
235
- if (riskScore >= 8)
236
- return 'critical';
237
- if (riskScore >= 6)
238
- return 'high';
239
- if (riskScore >= 4)
240
- return 'medium';
241
- return 'low';
242
- }
243
- /**
244
- * Generate risk recommendations
245
- */
246
- generateRiskRecommendations(findings, riskLevel) {
247
- const recommendations = [];
248
- recommendations.push(`Address ${riskLevel} risk findings immediately`);
249
- if (findings.some(f => f.toLowerCase().includes('injection'))) {
250
- recommendations.push('Implement input validation and parameterized queries');
251
- }
252
- if (findings.some(f => f.toLowerCase().includes('authentication'))) {
253
- recommendations.push('Strengthen authentication mechanisms and session management');
254
- }
255
- if (findings.some(f => f.toLowerCase().includes('data'))) {
256
- recommendations.push('Implement data protection and encryption controls');
257
- }
258
- recommendations.push('Conduct regular security assessments', 'Implement security monitoring and alerting', 'Provide security awareness training');
259
- return recommendations;
260
- }
261
- /**
262
- * Generate priority actions
263
- */
264
- generatePriorityActions(riskLevel) {
265
- const actions = [];
266
- switch (riskLevel) {
267
- case 'critical':
268
- actions.push('Immediate remediation required', 'Consider temporary service suspension', 'Engage incident response team');
269
- break;
270
- case 'high':
271
- actions.push('Remediate within 24-48 hours', 'Implement compensating controls', 'Increase monitoring and alerting');
272
- break;
273
- case 'medium':
274
- actions.push('Remediate within 1-2 weeks', 'Schedule security review', 'Update risk assessment');
275
- break;
276
- case 'low':
277
- actions.push('Address in next development cycle', 'Document for future reference', 'Monitor for changes in risk level');
278
- break;
279
- }
280
- return actions;
281
- }
282
- /**
283
- * Initialize vulnerability database
284
- */
285
- initializeVulnerabilityDatabase() {
286
- // This would be populated with real vulnerability data
287
- // For demonstration, we use a minimal set
288
- const vulnerabilities = [
289
- {
290
- id: 'sql-injection',
291
- name: 'SQL Injection',
292
- severity: 'high',
293
- category: 'injection',
294
- description: 'Application is vulnerable to SQL injection attacks',
295
- impact: 'Potential database compromise and data exfiltration',
296
- remediation: 'Implement parameterized queries and input validation',
297
- cvssScore: 8.5
298
- },
299
- {
300
- id: 'xss',
301
- name: 'Cross-Site Scripting',
302
- severity: 'medium',
303
- category: 'client-side',
304
- description: 'Application does not properly sanitize user input',
305
- impact: 'Session hijacking and client-side code execution',
306
- remediation: 'Implement proper input sanitization and output encoding',
307
- cvssScore: 6.1
308
- }
309
- ];
310
- for (const vuln of vulnerabilities) {
311
- this.vulnerabilityDatabase.set(vuln.id, vuln);
312
- }
313
- }
314
- }
315
- //# sourceMappingURL=vulnerabilityAssessment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vulnerabilityAssessment.js","sourceRoot":"","sources":["../../../src/security/assessment/vulnerabilityAssessment.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- /**
2
- * Security Authorization Engine
3
- *
4
- * Manages authorization and scope validation for security research activities.
5
- * Ensures all security testing is properly authorized and within defined scope.
6
- *
7
- * LEGAL NOTICE:
8
- * All security research must be properly authorized and scoped.
9
- * Unauthorized security testing is illegal and unethical.
10
- */
11
- export interface AuthorizationRequest {
12
- authorizationType: 'bug_bounty' | 'pentest' | 'red_team' | 'ctf' | 'educational';
13
- targetDomain: string;
14
- authorizedBy: string;
15
- scopeLimitations?: string[];
16
- outOfScope?: string[];
17
- expirationDate?: string;
18
- }
19
- export interface AuthorizationRecord {
20
- authorizationType: string;
21
- targetDomain: string;
22
- authorizedBy: string;
23
- scopeLimitations: string[];
24
- outOfScope: string[];
25
- authorizationDate: string;
26
- expirationDate?: string;
27
- status: 'authorized' | 'pending' | 'revoked';
28
- authorizationId: string;
29
- }
30
- export interface ScopeValidationRequest {
31
- activity: string;
32
- target: string;
33
- }
34
- export interface ScopeValidationResult {
35
- activity: string;
36
- target: string;
37
- valid: boolean;
38
- reason?: string;
39
- scopeCheck: string;
40
- }
41
- /**
42
- * Security Authorization Engine
43
- */
44
- export declare class SecurityAuthorizationEngine {
45
- private authorizations;
46
- constructor();
47
- /**
48
- * Create security research authorization
49
- */
50
- createAuthorization(request: AuthorizationRequest): Promise<AuthorizationRecord>;
51
- /**
52
- * Validate if an activity is within authorized scope
53
- */
54
- validateScope(request: ScopeValidationRequest): Promise<ScopeValidationResult>;
55
- /**
56
- * Get authorization by ID
57
- */
58
- getAuthorization(authorizationId: string): AuthorizationRecord | undefined;
59
- /**
60
- * List all authorizations
61
- */
62
- listAuthorizations(): AuthorizationRecord[];
63
- /**
64
- * Revoke authorization
65
- */
66
- revokeAuthorization(authorizationId: string): boolean;
67
- /**
68
- * Generate unique authorization ID
69
- */
70
- private generateAuthorizationId;
71
- /**
72
- * Find relevant authorization for target
73
- */
74
- private findRelevantAuthorization;
75
- /**
76
- * Check if activity is out of scope
77
- */
78
- private isActivityOutOfScope;
79
- /**
80
- * Check scope limitations
81
- */
82
- private checkScopeLimitations;
83
- /**
84
- * Check if activity is potentially destructive
85
- */
86
- private isDestructiveActivity;
87
- }
88
- //# sourceMappingURL=securityAuthorization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"securityAuthorization.d.ts","sourceRoot":"","sources":["../../../src/security/authorization/securityAuthorization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,cAAc,CAAmC;;IAMzD;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkBtF;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyDpF;;OAEG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI1E;;OAEG;IACH,kBAAkB,IAAI,mBAAmB,EAAE;IAI3C;;OAEG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;IASrD;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAQ9B"}
@@ -1,172 +0,0 @@
1
- /**
2
- * Security Authorization Engine
3
- *
4
- * Manages authorization and scope validation for security research activities.
5
- * Ensures all security testing is properly authorized and within defined scope.
6
- *
7
- * LEGAL NOTICE:
8
- * All security research must be properly authorized and scoped.
9
- * Unauthorized security testing is illegal and unethical.
10
- */
11
- /**
12
- * Security Authorization Engine
13
- */
14
- export class SecurityAuthorizationEngine {
15
- authorizations;
16
- constructor() {
17
- this.authorizations = new Map();
18
- }
19
- /**
20
- * Create security research authorization
21
- */
22
- async createAuthorization(request) {
23
- const authorization = {
24
- authorizationType: request.authorizationType,
25
- targetDomain: request.targetDomain,
26
- authorizedBy: request.authorizedBy,
27
- scopeLimitations: request.scopeLimitations || [],
28
- outOfScope: request.outOfScope || [],
29
- authorizationDate: new Date().toISOString(),
30
- expirationDate: request.expirationDate,
31
- status: 'authorized',
32
- authorizationId: this.generateAuthorizationId()
33
- };
34
- this.authorizations.set(authorization.authorizationId, authorization);
35
- return authorization;
36
- }
37
- /**
38
- * Validate if an activity is within authorized scope
39
- */
40
- async validateScope(request) {
41
- // Find relevant authorization
42
- const authorization = this.findRelevantAuthorization(request.target);
43
- if (!authorization) {
44
- return {
45
- activity: request.activity,
46
- target: request.target,
47
- valid: false,
48
- reason: 'No authorization found for target',
49
- scopeCheck: 'Manual validation required - no authorization record found'
50
- };
51
- }
52
- // Check if authorization is still valid
53
- if (authorization.expirationDate && new Date(authorization.expirationDate) < new Date()) {
54
- return {
55
- activity: request.activity,
56
- target: request.target,
57
- valid: false,
58
- reason: 'Authorization has expired',
59
- scopeCheck: 'Authorization expired - renew authorization before proceeding'
60
- };
61
- }
62
- // Check if activity is explicitly out of scope
63
- const isOutOfScope = this.isActivityOutOfScope(request.activity, authorization.outOfScope);
64
- if (isOutOfScope) {
65
- return {
66
- activity: request.activity,
67
- target: request.target,
68
- valid: false,
69
- reason: 'Activity is explicitly out of scope',
70
- scopeCheck: 'Activity prohibited - explicitly listed as out of scope'
71
- };
72
- }
73
- // Check scope limitations
74
- const scopeViolation = this.checkScopeLimitations(request.activity, authorization.scopeLimitations);
75
- if (scopeViolation) {
76
- return {
77
- activity: request.activity,
78
- target: request.target,
79
- valid: false,
80
- reason: scopeViolation,
81
- scopeCheck: 'Scope limitation violation - review authorization scope'
82
- };
83
- }
84
- return {
85
- activity: request.activity,
86
- target: request.target,
87
- valid: true,
88
- scopeCheck: 'Activity appears to be within authorized scope - proceed with caution'
89
- };
90
- }
91
- /**
92
- * Get authorization by ID
93
- */
94
- getAuthorization(authorizationId) {
95
- return this.authorizations.get(authorizationId);
96
- }
97
- /**
98
- * List all authorizations
99
- */
100
- listAuthorizations() {
101
- return Array.from(this.authorizations.values());
102
- }
103
- /**
104
- * Revoke authorization
105
- */
106
- revokeAuthorization(authorizationId) {
107
- const authorization = this.authorizations.get(authorizationId);
108
- if (authorization) {
109
- authorization.status = 'revoked';
110
- return true;
111
- }
112
- return false;
113
- }
114
- /**
115
- * Generate unique authorization ID
116
- */
117
- generateAuthorizationId() {
118
- return `auth_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
119
- }
120
- /**
121
- * Find relevant authorization for target
122
- */
123
- findRelevantAuthorization(target) {
124
- for (const authorization of this.authorizations.values()) {
125
- if (authorization.status !== 'authorized')
126
- continue;
127
- // Simple domain matching - in real implementation, use proper domain matching
128
- if (target.includes(authorization.targetDomain) || authorization.targetDomain === '*') {
129
- return authorization;
130
- }
131
- }
132
- return undefined;
133
- }
134
- /**
135
- * Check if activity is out of scope
136
- */
137
- isActivityOutOfScope(activity, outOfScope) {
138
- const activityLower = activity.toLowerCase();
139
- return outOfScope.some(scope => activityLower.includes(scope.toLowerCase()) || scope.toLowerCase().includes(activityLower));
140
- }
141
- /**
142
- * Check scope limitations
143
- */
144
- checkScopeLimitations(activity, scopeLimitations) {
145
- for (const limitation of scopeLimitations) {
146
- const limitationLower = limitation.toLowerCase();
147
- const activityLower = activity.toLowerCase();
148
- // Check for common limitation patterns
149
- if (limitationLower.includes('read-only') && activityLower.includes('write')) {
150
- return 'Write operations prohibited in read-only scope';
151
- }
152
- if (limitationLower.includes('non-destructive') && this.isDestructiveActivity(activityLower)) {
153
- return 'Destructive activities prohibited in non-destructive scope';
154
- }
155
- if (limitationLower.includes('production') && activityLower.includes('staging')) {
156
- return 'Staging environment activities prohibited in production-only scope';
157
- }
158
- }
159
- return null;
160
- }
161
- /**
162
- * Check if activity is potentially destructive
163
- */
164
- isDestructiveActivity(activity) {
165
- const destructiveKeywords = [
166
- 'delete', 'drop', 'remove', 'truncate', 'wipe', 'erase',
167
- 'destroy', 'overwrite', 'format', 'shutdown', 'reboot'
168
- ];
169
- return destructiveKeywords.some(keyword => activity.includes(keyword));
170
- }
171
- }
172
- //# sourceMappingURL=securityAuthorization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"securityAuthorization.js","sourceRoot":"","sources":["../../../src/security/authorization/securityAuthorization.ts"],"names":[],"mappings":"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"}