blockmine 1.20.0 → 1.22.0

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 (434) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +55 -0
  55. package/.claude/settings.local.json +28 -3
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +90 -39
  255. package/README.md +94 -0
  256. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  257. package/backend/jest.config.js +59 -0
  258. package/backend/package-lock.json +6129 -0
  259. package/backend/package.json +16 -4
  260. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  261. package/backend/prisma/schema.prisma +33 -0
  262. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  263. package/backend/src/__tests__/core/UserService.test.js +875 -0
  264. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  265. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  266. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  267. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  268. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  269. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  270. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  271. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  272. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  273. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  274. package/backend/src/__tests__/services/BotLifecycleService.test.js +411 -0
  275. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  276. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  277. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  278. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  279. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  280. package/backend/src/__tests__/setup.js +25 -0
  281. package/backend/src/api/routes/apiKeys.js +181 -0
  282. package/backend/src/api/routes/bots.js +49 -7
  283. package/backend/src/api/routes/plugins.js +2 -1
  284. package/backend/src/api/routes/system.js +174 -0
  285. package/backend/src/container.js +82 -0
  286. package/backend/src/core/BotManager.js +142 -871
  287. package/backend/src/core/BotManager.old.js +1093 -0
  288. package/backend/src/core/BotProcess.js +1092 -850
  289. package/backend/src/core/BreakLoopSignal.js +8 -0
  290. package/backend/src/core/EventGraphManager.js +280 -193
  291. package/backend/src/core/GraphExecutionEngine.js +321 -928
  292. package/backend/src/core/MessageQueue.js +27 -6
  293. package/backend/src/core/NodeRegistry.js +37 -991
  294. package/backend/src/core/PluginManager.js +62 -12
  295. package/backend/src/core/PrismaService.js +32 -0
  296. package/backend/src/core/UserService.js +3 -3
  297. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  298. package/backend/src/core/commands/README.md +305 -0
  299. package/backend/src/core/commands/dev.js +13 -7
  300. package/backend/src/core/commands/ping.js +10 -4
  301. package/backend/src/core/commands/whois.js +63 -0
  302. package/backend/src/core/config/validation.js +27 -0
  303. package/backend/src/core/constants/graphTypes.js +21 -0
  304. package/backend/src/core/node-registries/actions.js +132 -0
  305. package/backend/src/core/node-registries/arrays.js +137 -0
  306. package/backend/src/core/node-registries/bot.js +23 -0
  307. package/backend/src/core/node-registries/data.js +290 -0
  308. package/backend/src/core/node-registries/debug.js +26 -0
  309. package/backend/src/core/node-registries/events.js +187 -0
  310. package/backend/src/core/node-registries/flow.js +139 -0
  311. package/backend/src/core/node-registries/logic.js +45 -0
  312. package/backend/src/core/node-registries/math.js +42 -0
  313. package/backend/src/core/node-registries/objects.js +98 -0
  314. package/backend/src/core/node-registries/strings.js +153 -0
  315. package/backend/src/core/node-registries/time.js +113 -0
  316. package/backend/src/core/node-registries/users.js +79 -0
  317. package/backend/src/core/nodes/actions/bot_look_at.js +36 -0
  318. package/backend/src/core/nodes/actions/bot_set_variable.js +32 -0
  319. package/backend/src/core/nodes/actions/http_request.js +98 -0
  320. package/backend/src/core/nodes/actions/send_log.js +28 -0
  321. package/backend/src/core/nodes/actions/send_message.js +32 -0
  322. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  323. package/backend/src/core/nodes/arrays/add_element.js +23 -0
  324. package/backend/src/core/nodes/arrays/contains.js +40 -0
  325. package/backend/src/core/nodes/arrays/find_index.js +23 -0
  326. package/backend/src/core/nodes/arrays/get_by_index.js +23 -0
  327. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  328. package/backend/src/core/nodes/arrays/get_random_element.js +32 -0
  329. package/backend/src/core/nodes/arrays/remove_by_index.js +30 -0
  330. package/backend/src/core/nodes/bot/get_position.js +20 -0
  331. package/backend/src/core/nodes/data/array_literal.js +31 -0
  332. package/backend/src/core/nodes/data/boolean_literal.js +21 -0
  333. package/backend/src/core/nodes/data/cast.js +42 -0
  334. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  335. package/backend/src/core/nodes/data/entity_info.js +69 -0
  336. package/backend/src/core/nodes/data/get_argument.js +23 -0
  337. package/backend/src/core/nodes/data/get_bot_look.js +14 -0
  338. package/backend/src/core/nodes/data/get_entity_field.js +18 -0
  339. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  340. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  341. package/backend/src/core/nodes/data/get_server_players.js +18 -0
  342. package/backend/src/core/nodes/data/get_user_field.js +40 -0
  343. package/backend/src/core/nodes/data/get_variable.js +23 -0
  344. package/backend/src/core/nodes/data/length.js +25 -0
  345. package/backend/src/core/nodes/data/make_object.js +31 -0
  346. package/backend/src/core/nodes/data/number_literal.js +21 -0
  347. package/backend/src/core/nodes/data/string_literal.js +34 -0
  348. package/backend/src/core/nodes/data/type_check.js +53 -0
  349. package/backend/src/core/nodes/debug/log.js +16 -0
  350. package/backend/src/core/nodes/flow/branch.js +15 -0
  351. package/backend/src/core/nodes/flow/break.js +14 -0
  352. package/backend/src/core/nodes/flow/delay.js +43 -0
  353. package/backend/src/core/nodes/flow/for_each.js +39 -0
  354. package/backend/src/core/nodes/flow/sequence.js +16 -0
  355. package/backend/src/core/nodes/flow/switch.js +47 -0
  356. package/backend/src/core/nodes/flow/while.js +64 -0
  357. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  358. package/backend/src/core/nodes/logic/compare.js +33 -0
  359. package/backend/src/core/nodes/logic/operation.js +35 -0
  360. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  361. package/backend/src/core/nodes/math/operation.js +31 -0
  362. package/backend/src/core/nodes/math/random_number.js +43 -0
  363. package/backend/src/core/nodes/objects/create.js +40 -0
  364. package/backend/src/core/nodes/objects/delete.js +26 -0
  365. package/backend/src/core/nodes/objects/get.js +23 -0
  366. package/backend/src/core/nodes/objects/has_key.js +30 -0
  367. package/backend/src/core/nodes/objects/set.js +27 -0
  368. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  369. package/backend/src/core/nodes/strings/concat.js +27 -0
  370. package/backend/src/core/nodes/strings/contains.js +41 -0
  371. package/backend/src/core/nodes/strings/ends_with.js +43 -0
  372. package/backend/src/core/nodes/strings/equals.js +36 -0
  373. package/backend/src/core/nodes/strings/length.js +36 -0
  374. package/backend/src/core/nodes/strings/matches.js +39 -0
  375. package/backend/src/core/nodes/strings/split.js +37 -0
  376. package/backend/src/core/nodes/strings/starts_with.js +43 -0
  377. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  378. package/backend/src/core/nodes/time/add.js +33 -0
  379. package/backend/src/core/nodes/time/compare.js +35 -0
  380. package/backend/src/core/nodes/time/diff.js +29 -0
  381. package/backend/src/core/nodes/time/format.js +32 -0
  382. package/backend/src/core/nodes/time/now.js +18 -0
  383. package/backend/src/core/nodes/users/check_blacklist.js +37 -0
  384. package/backend/src/core/nodes/users/get_groups.js +36 -0
  385. package/backend/src/core/nodes/users/get_permissions.js +36 -0
  386. package/backend/src/core/nodes/users/set_blacklist.js +37 -0
  387. package/backend/src/core/services/BotLifecycleService.js +596 -0
  388. package/backend/src/core/services/BotProcessManager.js +163 -0
  389. package/backend/src/core/services/CacheManager.js +111 -0
  390. package/backend/src/core/services/CommandExecutionService.js +351 -0
  391. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  392. package/backend/src/core/services/TelemetryService.js +124 -0
  393. package/backend/src/core/services/ValidationService.js +132 -0
  394. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  395. package/backend/src/core/services.js +20 -5
  396. package/backend/src/core/system/CommandContext.js +84 -0
  397. package/backend/src/core/system/Transport.js +78 -0
  398. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  399. package/backend/src/core/utils/jsonParser.js +18 -0
  400. package/backend/src/core/utils/secretsFilter.js +262 -0
  401. package/backend/src/core/utils/variableParser.js +89 -0
  402. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  403. package/backend/src/core/validation/nodeSchemas.js +112 -0
  404. package/backend/src/lib/prisma.js +2 -4
  405. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  406. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  407. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  408. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  409. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  410. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  411. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  412. package/backend/src/real-time/botApi/index.js +40 -0
  413. package/backend/src/real-time/botApi/middleware.js +79 -0
  414. package/backend/src/real-time/botApi/utils.js +54 -0
  415. package/backend/src/real-time/socketHandler.js +6 -2
  416. package/backend/src/repositories/BaseRepository.js +43 -0
  417. package/backend/src/repositories/BotRepository.js +42 -0
  418. package/backend/src/repositories/CommandRepository.js +53 -0
  419. package/backend/src/repositories/EventGraphRepository.js +40 -0
  420. package/backend/src/repositories/GroupRepository.js +69 -0
  421. package/backend/src/repositories/PermissionRepository.js +48 -0
  422. package/backend/src/repositories/PluginRepository.js +42 -0
  423. package/backend/src/repositories/ServerRepository.js +27 -0
  424. package/backend/src/repositories/UserRepository.js +48 -0
  425. package/backend/src/server.js +3 -0
  426. package/backend/src/test-refactor.js +85 -0
  427. package/frontend/dist/assets/index-CfTo92bP.css +1 -0
  428. package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
  429. package/frontend/dist/index.html +2 -2
  430. package/frontend/package.json +1 -5
  431. package/package.json +2 -1
  432. package/frontend/dist/assets/index-BFd7YoAj.css +0 -1
  433. package/frontend/dist/assets/index-CMMutadc.js +0 -8352
  434. package/nul +0 -0
@@ -0,0 +1,773 @@
1
+ # Cleared Environment Architecture
2
+
3
+ Architectural patterns, design principles, and reference architectures for classified and controlled environments supporting Secret, Top Secret/SCI, CUI, and ITAR workloads.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Overview](#overview)
8
+ - [Reference Architectures](#reference-architectures)
9
+ - [Security Zones](#security-zones)
10
+ - [Cross-Domain Solutions](#cross-domain-solutions)
11
+ - [High Availability Patterns](#high-availability-patterns)
12
+ - [Disaster Recovery](#disaster-recovery)
13
+ - [Best Practices](#best-practices)
14
+
15
+ ---
16
+
17
+ ## Overview
18
+
19
+ **Cleared Environment Architecture** addresses unique challenges of classified systems: physical separation, strict access controls, limited connectivity, and compliance with security directives.
20
+
21
+ **Key Design Principles:**
22
+
23
+ ```
24
+ Cleared Environment Principles:
25
+ ┌─────────────────────────────────────────────────────┐
26
+ │ 1. Defense in Depth │
27
+ │ - Multiple security layers │
28
+ │ - No single point of failure │
29
+ │ - Redundant controls │
30
+ ├─────────────────────────────────────────────────────┤
31
+ │ 2. Least Privilege │
32
+ │ - Minimal access rights │
33
+ │ - Need-to-know enforcement │
34
+ │ - Compartmentalization │
35
+ ├─────────────────────────────────────────────────────┤
36
+ │ 3. Air-Gap Isolation │
37
+ │ - Physical network separation │
38
+ │ - Controlled data transfer │
39
+ │ - One-way data flows │
40
+ ├─────────────────────────────────────────────────────┤
41
+ │ 4. Audit Everything │
42
+ │ - Comprehensive logging │
43
+ │ - Immutable audit trails │
44
+ │ - Real-time monitoring │
45
+ ├─────────────────────────────────────────────────────┤
46
+ │ 5. Assume Breach │
47
+ │ - Continuous validation │
48
+ │ - Threat detection │
49
+ │ - Rapid response capability │
50
+ └─────────────────────────────────────────────────────┘
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Reference Architectures
56
+
57
+ ### Architecture 1: CUI Cloud Architecture (NIST 800-171)
58
+
59
+ ```
60
+ CUI Cloud Reference Architecture (AWS GovCloud):
61
+ ┌──────────────────────────────────────────────────────────────────┐
62
+ │ AWS GOVCLOUD (US) │
63
+ │ │
64
+ │ ┌────────────────────────────────────────────────────────────┐ │
65
+ │ │ VPC (10.0.0.0/16) - CUI Network │ │
66
+ │ │ │ │
67
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
68
+ │ │ │ Public Subnet (10.0.1.0/24) - DMZ │ │ │
69
+ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │
70
+ │ │ │ │ ALB │ │ NAT GW │ │ │ │
71
+ │ │ │ └──────────┘ └──────────┘ │ │ │
72
+ │ │ └──────────────────────────────────────────────────────┘ │ │
73
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
74
+ │ │ │ Private Subnet (10.0.10.0/24) - Application Tier │ │ │
75
+ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
76
+ │ │ │ │ EKS Node │ │ EKS Node │ │ EKS Node │ │ │ │
77
+ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
78
+ │ │ │ - Encrypted EBS volumes (FIPS 140-2) │ │ │
79
+ │ │ │ - MFA-protected access │ │ │
80
+ │ │ │ - Audit logging to CloudWatch │ │ │
81
+ │ │ └──────────────────────────────────────────────────────┘ │ │
82
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
83
+ │ │ │ Data Subnet (10.0.20.0/24) - Data Tier │ │ │
84
+ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │
85
+ │ │ │ │ RDS │ │ S3 VPC │ │ │ │
86
+ │ │ │ │ (KMS) │ │ Endpoint │ │ │ │
87
+ │ │ │ └──────────┘ └──────────┘ │ │ │
88
+ │ │ │ - Encryption at rest (FIPS validated KMS) │ │ │
89
+ │ │ │ - No internet access │ │ │
90
+ │ │ │ - Backup to separate account │ │ │
91
+ │ │ └──────────────────────────────────────────────────────┘ │ │
92
+ │ └────────────────────────────────────────────────────────────┘ │
93
+ │ │
94
+ │ Security Services: │
95
+ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌─────────────┐ │
96
+ │ │ CloudTrail │ │ Config │ │ GuardDuty │ │ Security Hub│ │
97
+ │ │ (all API) │ │ (compliance│ │ (threats) │ │ (findings) │ │
98
+ │ └────────────┘ └────────────┘ └────────────┘ └─────────────┘ │
99
+ │ │
100
+ │ Direct Connect (FIPS 140-2 encrypted): │
101
+ │ ┌────────────────────────────────────────────────────────────┐ │
102
+ │ │ On-Premises Cleared Facility ←→ AWS Direct Connect │ │
103
+ │ └────────────────────────────────────────────────────────────┘ │
104
+ └──────────────────────────────────────────────────────────────────┘
105
+
106
+ Compliance Controls:
107
+ - NIST 800-171: 110 controls
108
+ - Access: MFA required, U.S. persons only
109
+ - Encryption: FIPS 140-2 validated
110
+ - Monitoring: Real-time SIEM integration
111
+ - Backup: Daily encrypted backups, 7-year retention
112
+ ```
113
+
114
+ ### Architecture 2: Secret / DoD IL6 Architecture
115
+
116
+ ```
117
+ Secret Workload Architecture (Azure Government DoD):
118
+ ┌──────────────────────────────────────────────────────────────────┐
119
+ │ AZURE GOVERNMENT DOD EAST (SECRET - IL6) │
120
+ │ │
121
+ │ ┌────────────────────────────────────────────────────────────┐ │
122
+ │ │ Virtual Network (10.100.0.0/16) │ │
123
+ │ │ │ │
124
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
125
+ │ │ │ Management Subnet (10.100.0.0/24) │ │ │
126
+ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │
127
+ │ │ │ │ Bastion │ │ Jump Box │ │ │ │
128
+ │ │ │ │ (CAC) │ │ (Secret │ │ │ │
129
+ │ │ │ │ │ │ cleared) │ │ │ │
130
+ │ │ │ └──────────┘ └──────────┘ │ │ │
131
+ │ │ │ - CAC/PIV authentication required │ │ │
132
+ │ │ │ - All sessions logged │ │ │
133
+ │ │ └──────────────────────────────────────────────────────┘ │ │
134
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
135
+ │ │ │ Application Subnet (10.100.10.0/24) │ │ │
136
+ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
137
+ │ │ │ │ AKS Node │ │ AKS Node │ │ AKS Node │ │ │ │
138
+ │ │ │ │ (IL6) │ │ (IL6) │ │ (IL6) │ │ │ │
139
+ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
140
+ │ │ │ - Kubernetes RBAC with CAC integration │ │ │
141
+ │ │ │ - Encrypted persistent volumes (FIPS 140-2 L3+) │ │ │
142
+ │ │ │ - Pod Security Standards: Restricted │ │ │
143
+ │ │ └──────────────────────────────────────────────────────┘ │ │
144
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
145
+ │ │ │ Data Subnet (10.100.20.0/24) │ │ │
146
+ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
147
+ │ │ │ │ SQL MI │ │ Cosmos DB│ │ Key Vault│ │ │ │
148
+ │ │ │ │ (TDE) │ │ (CMK) │ │ (HSM) │ │ │ │
149
+ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
150
+ │ │ │ - Transparent Data Encryption │ │ │
151
+ │ │ │ - Customer-managed keys (CMK) │ │ │
152
+ │ │ │ - FIPS 140-2 Level 3 HSM │ │ │
153
+ │ │ └──────────────────────────────────────────────────────┘ │ │
154
+ │ └────────────────────────────────────────────────────────────┘ │
155
+ │ │
156
+ │ Security: │
157
+ │ ┌────────────────────────────────────────────────────────────┐ │
158
+ │ │ Microsoft Defender for Cloud (IL6) │ │
159
+ │ │ - Just-In-Time VM Access │ │
160
+ │ │ - File Integrity Monitoring │ │
161
+ │ │ - Adaptive Application Controls │ │
162
+ │ │ - Network Security Groups (default deny) │ │
163
+ │ └────────────────────────────────────────────────────────────┘ │
164
+ │ │
165
+ │ Connectivity: │
166
+ │ ┌────────────────────────────────────────────────────────────┐ │
167
+ │ │ ExpressRoute (IL6-approved) ←→ SIPRNET │ │
168
+ │ │ - Dedicated connection │ │
169
+ │ │ - Suite B cryptography │ │
170
+ │ │ - No internet breakout │ │
171
+ │ └────────────────────────────────────────────────────────────┘ │
172
+ └──────────────────────────────────────────────────────────────────┘
173
+
174
+ Personnel Requirements:
175
+ - Secret clearance: All operators and developers
176
+ - Two-person integrity: Database access
177
+ - Continuous monitoring: SIEM + SOC
178
+ ```
179
+
180
+ ### Architecture 3: Air-Gapped TS/SCI Architecture
181
+
182
+ ```
183
+ Top Secret/SCI Air-Gapped Architecture:
184
+ ┌──────────────────────────────────────────────────────────────────┐
185
+ │ SCIF FACILITY - TS/SCI PROCESSING │
186
+ │ │
187
+ │ ┌────────────────────────────────────────────────────────────┐ │
188
+ │ │ PHYSICAL SECURITY PERIMETER │ │
189
+ │ │ - Cipher locks on all entry points │ │
190
+ │ │ - Continuous CCTV monitoring │ │
191
+ │ │ - Two-person integrity zones │ │
192
+ │ │ - No personal devices allowed │ │
193
+ │ └────────────────────────────────────────────────────────────┘ │
194
+ │ │
195
+ │ ┌────────────────────────────────────────────────────────────┐ │
196
+ │ │ AIR-GAPPED KUBERNETES CLUSTER │ │
197
+ │ │ │ │
198
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
199
+ │ │ │ Control Plane (10.200.0.0/24) │ │ │
200
+ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
201
+ │ │ │ │ Master 1 │ │ Master 2 │ │ Master 3 │ │ │ │
202
+ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
203
+ │ │ │ - etcd encryption with Type 1 crypto │ │ │
204
+ │ │ │ - RBAC with CAC + biometric │ │ │
205
+ │ │ │ - Audit logs to WORM storage │ │ │
206
+ │ │ └──────────────────────────────────────────────────────┘ │ │
207
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
208
+ │ │ │ Worker Nodes (10.200.10.0/24) │ │ │
209
+ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
210
+ │ │ │ │ Worker 1 │ │ Worker 2 │ │ Worker N │ │ │ │
211
+ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │
212
+ │ │ │ - TPM 2.0 for secrets │ │ │
213
+ │ │ │ - Encrypted volumes (Type 1) │ │ │
214
+ │ │ │ - IDS/IPS on each node │ │ │
215
+ │ │ └──────────────────────────────────────────────────────┘ │ │
216
+ │ │ ┌──────────────────────────────────────────────────────┐ │ │
217
+ │ │ │ Storage Layer │ │ │
218
+ │ │ │ ┌──────────┐ ┌──────────┐ │ │ │
219
+ │ │ │ │ Ceph │ │ Backup │ │ │ │
220
+ │ │ │ │ Cluster │ │ System │ │ │ │
221
+ │ │ │ └──────────┘ └──────────┘ │ │ │
222
+ │ │ │ - Triple replication │ │ │
223
+ │ │ │ - Encryption at rest (NSA-approved) │ │ │
224
+ │ │ │ - Offline backups (tape) │ │ │
225
+ │ │ └──────────────────────────────────────────────────────┘ │ │
226
+ │ └────────────────────────────────────────────────────────────┘ │
227
+ │ │
228
+ │ ┌────────────────────────────────────────────────────────────┐ │
229
+ │ │ DATA DIODE (One-Way Transfer) │ │
230
+ │ │ │ │
231
+ │ │ [Secret Network] ──────ONE-WAY─────→ [TS/SCI Network] │ │
232
+ │ │ │ │
233
+ │ │ - Hardware-enforced │ │
234
+ │ │ - Content inspection │
235
+ │ │ - Malware scanning │
236
+ │ │ - Data sanitization │
237
+ │ └────────────────────────────────────────────────────────────┘ │
238
+ │ │
239
+ │ ┌────────────────────────────────────────────────────────────┐ │
240
+ │ │ MONITORING & SECURITY │ │
241
+ │ │ - 24/7 Security Operations Center │ │
242
+ │ │ - Real-time anomaly detection (AI/ML) │ │
243
+ │ │ - Insider threat detection │ │
244
+ │ │ - All actions logged to WORM │ │
245
+ │ │ - 25-year retention │ │
246
+ │ └────────────────────────────────────────────────────────────┘ │
247
+ │ │
248
+ │ ┌────────────────────────────────────────────────────────────┐ │
249
+ │ │ PHYSICAL CONNECTIVITY │ │
250
+ │ │ ✅ JWICS (TS/SCI network) - Approved terminal │ │
251
+ │ │ ❌ NO internet connectivity │ │
252
+ │ │ ❌ NO wireless networks │ │
253
+ │ │ ❌ NO external USB devices │ │
254
+ │ └────────────────────────────────────────────────────────────┘ │
255
+ └──────────────────────────────────────────────────────────────────┘
256
+
257
+ Access Requirements:
258
+ - TS/SCI clearance with polygraph
259
+ - Compartment access approval
260
+ - Continuous monitoring
261
+ - Biometric + CAC authentication
262
+ ```
263
+
264
+ ---
265
+
266
+ ## Security Zones
267
+
268
+ ### Zone Model
269
+
270
+ ```
271
+ Security Zone Architecture:
272
+ ┌─────────────────────────────────────────────────────┐
273
+ │ ZONE 0: Public/Internet │
274
+ │ - No sensitive data │
275
+ │ - WAF protection │
276
+ │ - DDoS mitigation │
277
+ └───────────┬─────────────────────────────────────────┘
278
+ │ Firewall + IDS/IPS
279
+ ┌───────────▼─────────────────────────────────────────┐
280
+ │ ZONE 1: DMZ (Unclassified) │
281
+ │ - Public-facing services │
282
+ │ - Reverse proxies │
283
+ │ - Certificate termination │
284
+ └───────────┬─────────────────────────────────────────┘
285
+ │ Firewall + Deep Packet Inspection
286
+ ┌───────────▼─────────────────────────────────────────┐
287
+ │ ZONE 2: Internal Applications (Unclassified) │
288
+ │ - Business applications │
289
+ │ - Internal APIs │
290
+ │ - Standard security controls │
291
+ └───────────┬─────────────────────────────────────────┘
292
+ │ CDS (Cross-Domain Solution)
293
+ ┌───────────▼─────────────────────────────────────────┐
294
+ │ ZONE 3: CUI Processing │
295
+ │ - NIST 800-171 controls │
296
+ │ - MFA required │
297
+ │ - Enhanced logging │
298
+ └───────────┬─────────────────────────────────────────┘
299
+ │ Trusted Guard
300
+ ┌───────────▼─────────────────────────────────────────┐
301
+ │ ZONE 4: Secret Processing │
302
+ │ - Secret clearance required │
303
+ │ - CAC/PIV authentication │
304
+ │ - Real-time monitoring │
305
+ └───────────┬─────────────────────────────────────────┘
306
+ │ Data Diode (One-Way)
307
+ ┌───────────▼─────────────────────────────────────────┐
308
+ │ ZONE 5: TS/SCI Processing (Air-Gapped) │
309
+ │ - TS/SCI clearance required │
310
+ │ - SCIF environment │
311
+ │ - Biometric authentication │
312
+ │ - 24/7 monitoring │
313
+ └─────────────────────────────────────────────────────┘
314
+ ```
315
+
316
+ ---
317
+
318
+ ## Cross-Domain Solutions
319
+
320
+ ### CDS Architecture
321
+
322
+ ```yaml
323
+ # Cross-Domain Solution configuration
324
+
325
+ cross_domain_solution:
326
+ type: "Trusted Guard"
327
+ model: "Owl Computing DualDiode"
328
+
329
+ source_network:
330
+ classification: "UNCLASSIFIED"
331
+ ip_range: "10.0.0.0/16"
332
+ allowed_protocols: ["HTTPS", "SFTP"]
333
+
334
+ destination_network:
335
+ classification: "SECRET"
336
+ ip_range: "10.100.0.0/16"
337
+ allowed_protocols: ["HTTPS"]
338
+
339
+ security_features:
340
+ content_inspection:
341
+ - malware_scanning: "Enabled"
342
+ - data_loss_prevention: "Enabled"
343
+ - file_type_validation: "Whitelist only"
344
+ - size_limits: "100MB per transfer"
345
+
346
+ data_sanitization:
347
+ - metadata_stripping: "Enabled"
348
+ - embedded_object_extraction: "Enabled"
349
+ - macro_removal: "Enabled"
350
+
351
+ approval_workflow:
352
+ - automatic_transfer: ["System logs", "Performance metrics"]
353
+ - manual_approval_required: ["User data", "Reports", "Documents"]
354
+ - two_person_approval: ["Bulk transfers > 1GB", "Database exports"]
355
+
356
+ audit_logging:
357
+ - log_all_transfers: true
358
+ - log_approval_decisions: true
359
+ - log_retention_years: 7
360
+ - immutable_logs: true
361
+
362
+ transfer_rules:
363
+ - name: "System Logs"
364
+ direction: "low_to_high" # Unclass → Secret
365
+ automatic: true
366
+ file_types: [".log", ".json"]
367
+ max_size: "10MB"
368
+
369
+ - name: "Reports"
370
+ direction: "high_to_low" # Secret → Unclass
371
+ automatic: false
372
+ requires_approval: true
373
+ requires_declassification: true
374
+ file_types: [".pdf", ".docx"]
375
+
376
+ monitoring:
377
+ alerts:
378
+ - failed_transfers
379
+ - policy_violations
380
+ - anomalous_patterns
381
+ notification_recipients:
382
+ - "security-team@agency.gov"
383
+ - "isso@agency.gov"
384
+ ```
385
+
386
+ ---
387
+
388
+ ## High Availability Patterns
389
+
390
+ ### Multi-Region HA (CUI)
391
+
392
+ ```
393
+ High Availability CUI Architecture:
394
+ ┌──────────────────────────────────────────────────────────────────┐
395
+ │ AWS GOVCLOUD WEST-1 (Primary) │
396
+ │ ┌────────────────────────────────────────────────────────────┐ │
397
+ │ │ VPC-West (10.0.0.0/16) │ │
398
+ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
399
+ │ │ │ EKS AZ-A │ │ EKS AZ-B │ │ EKS AZ-C │ │ │
400
+ │ │ └──────────┘ └──────────┘ └──────────┘ │ │
401
+ │ │ ┌──────────┐ ┌──────────┐ │ │
402
+ │ │ │ RDS │ │ RDS │ │ │
403
+ │ │ │ Primary │──│ Standby │ │ │
404
+ │ │ └──────────┘ └──────────┘ │ │
405
+ │ └────────────────────────────────────────────────────────────┘ │
406
+ │ │ │
407
+ │ │ Cross-Region Replication (encrypted) │
408
+ │ ↓ │
409
+ └──────────────────────────────────────────────────────────────────┘
410
+ ┌──────────────────────────────────────────────────────────────────┐
411
+ │ AWS GOVCLOUD EAST-1 (Disaster Recovery) │
412
+ │ ┌────────────────────────────────────────────────────────────┐ │
413
+ │ │ VPC-East (10.1.0.0/16) │ │
414
+ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
415
+ │ │ │ EKS AZ-A │ │ EKS AZ-B │ │ EKS AZ-C │ │ │
416
+ │ │ │ (standby)│ │ (standby)│ │ (standby)│ │ │
417
+ │ │ └──────────┘ └──────────┘ └──────────┘ │ │
418
+ │ │ ┌──────────┐ │ │
419
+ │ │ │ RDS │ │ │
420
+ │ │ │ Read │ │ │
421
+ │ │ │ Replica │ │ │
422
+ │ │ └──────────┘ │ │
423
+ │ └────────────────────────────────────────────────────────────┘ │
424
+ └──────────────────────────────────────────────────────────────────┘
425
+
426
+ Failover:
427
+ - Automatic: RDS replica promotion (< 2 minutes)
428
+ - Manual: DNS switch to DR region
429
+ - RPO: < 5 minutes
430
+ - RTO: < 15 minutes
431
+ ```
432
+
433
+ ---
434
+
435
+ ## Disaster Recovery
436
+
437
+ ### DR Strategy for Classified Environments
438
+
439
+ ```yaml
440
+ disaster_recovery:
441
+ tier_1_critical: # TS/SCI systems
442
+ rpo: "0 minutes (synchronous replication)"
443
+ rto: "< 5 minutes (hot standby)"
444
+ strategy: "Active-Active with data diode"
445
+ backup:
446
+ frequency: "Continuous"
447
+ retention: "25 years"
448
+ media: "Tape in geographically separated SCIF"
449
+ encryption: "Type 1"
450
+
451
+ tier_2_essential: # Secret systems
452
+ rpo: "< 5 minutes"
453
+ rto: "< 15 minutes"
454
+ strategy: "Active-Passive with warm standby"
455
+ backup:
456
+ frequency: "Hourly incremental, daily full"
457
+ retention: "7 years"
458
+ media: "Encrypted disk + offsite tape"
459
+ encryption: "FIPS 140-2 Level 3"
460
+
461
+ tier_3_important: # CUI systems
462
+ rpo: "< 1 hour"
463
+ rto: "< 4 hours"
464
+ strategy: "Pilot light in DR region"
465
+ backup:
466
+ frequency: "Daily"
467
+ retention: "1 year"
468
+ media: "Cross-region replication"
469
+ encryption: "FIPS 140-2 validated KMS"
470
+
471
+ testing:
472
+ frequency: "Quarterly"
473
+ scope: "Full failover test"
474
+ documentation: "Test report required"
475
+ compliance: "ICD 503 Annex A"
476
+ ```
477
+
478
+ ### Backup Architecture
479
+
480
+ ```
481
+ Backup Strategy for Cleared Environments:
482
+ ┌─────────────────────────────────────────────────────┐
483
+ │ PRODUCTION ENVIRONMENT │
484
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
485
+ │ │ Databases│ │ Files │ │ Configs │ │
486
+ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
487
+ └───────┼─────────────┼─────────────┼────────────────┘
488
+ │ │ │
489
+ ↓ ↓ ↓
490
+ ┌───────┴─────────────┴─────────────┴────────────────┐
491
+ │ BACKUP TIER 1: Online (WORM Storage) │
492
+ │ - Continuous backup │
493
+ │ - Immutable for audit compliance │
494
+ │ - 90-day retention online │
495
+ │ - Same classification zone │
496
+ └───────┬─────────────────────────────────────────────┘
497
+ │ Daily full backup
498
+
499
+ ┌───────┴─────────────────────────────────────────────┐
500
+ │ BACKUP TIER 2: Near-line (Tape Library) │
501
+ │ - Daily encrypted full backups │
502
+ │ - Separate physical location (same facility) │
503
+ │ - 1-year retention │
504
+ │ - Robotic tape library │
505
+ └───────┬─────────────────────────────────────────────┘
506
+ │ Weekly archival
507
+
508
+ ┌───────┴─────────────────────────────────────────────┐
509
+ │ BACKUP TIER 3: Offline (Iron Mountain) │
510
+ │ - Weekly encrypted full backups │
511
+ │ - Geographically separated facility │
512
+ │ - 7-year retention (compliance) │
513
+ │ - Certificate of destruction after retention │
514
+ │ - Two-person integrity for access │
515
+ └─────────────────────────────────────────────────────┘
516
+ ```
517
+
518
+ ---
519
+
520
+ ## Best Practices
521
+
522
+ ### 1. Defense in Depth Implementation
523
+
524
+ ```yaml
525
+ defense_in_depth_layers:
526
+ layer_1_perimeter:
527
+ - "Physical security (guards, gates, guns)"
528
+ - "SCIF accreditation"
529
+ - "Visitor escort requirements"
530
+
531
+ layer_2_network:
532
+ - "Network segmentation (VLANs, subnets)"
533
+ - "Firewalls between zones"
534
+ - "IDS/IPS on all boundaries"
535
+ - "Zero trust network access"
536
+
537
+ layer_3_host:
538
+ - "Hardened OS (DISA STIGs)"
539
+ - "Host-based firewall"
540
+ - "Endpoint detection and response (EDR)"
541
+ - "Application whitelisting"
542
+
543
+ layer_4_application:
544
+ - "Secure coding practices"
545
+ - "Input validation"
546
+ - "Output encoding"
547
+ - "OWASP Top 10 mitigation"
548
+
549
+ layer_5_data:
550
+ - "Encryption at rest (FIPS 140-2)"
551
+ - "Encryption in transit (TLS 1.3)"
552
+ - "Data loss prevention (DLP)"
553
+ - "Rights management"
554
+
555
+ layer_6_identity:
556
+ - "CAC/PIV authentication"
557
+ - "MFA enforcement"
558
+ - "Privilege access management (PAM)"
559
+ - "Just-in-time access"
560
+
561
+ layer_7_monitoring:
562
+ - "SIEM correlation"
563
+ - "24/7 SOC monitoring"
564
+ - "Threat hunting"
565
+ - "Incident response"
566
+ ```
567
+
568
+ ### 2. Operational Security (OPSEC)
569
+
570
+ ```python
571
+ # opsec_checks.py
572
+ """Operational security validation"""
573
+
574
+ class OPSECValidator:
575
+ def __init__(self):
576
+ self.findings = []
577
+
578
+ def validate_configuration(self, environment):
579
+ """Validate OPSEC configuration"""
580
+
581
+ # Check 1: No classified data in logs
582
+ self.check_log_sanitization()
583
+
584
+ # Check 2: No PII in hostnames
585
+ self.check_hostname_opsec()
586
+
587
+ # Check 3: Error messages don't leak information
588
+ self.check_error_messages()
589
+
590
+ # Check 4: No version disclosure
591
+ self.check_version_disclosure()
592
+
593
+ # Check 5: Metadata stripped from documents
594
+ self.check_metadata_leakage()
595
+
596
+ return self.findings
597
+
598
+ def check_log_sanitization(self):
599
+ """Ensure logs don't contain classified markings"""
600
+ # Search for classification markings in logs
601
+ classified_markers = [
602
+ 'TOP SECRET', 'SECRET', 'CONFIDENTIAL',
603
+ '(U)', '(S)', '(TS)', '//SCI', '//NOFORN'
604
+ ]
605
+
606
+ # Implementation would scan log files
607
+ pass
608
+
609
+ def check_hostname_opsec(self):
610
+ """Validate hostnames don't reveal sensitive info"""
611
+ opsec_violations = [
612
+ 'secret', 'classified', 'scif', 'cia', 'nsa',
613
+ 'weapon', 'missile', 'nuclear'
614
+ ]
615
+
616
+ # Check against hostname patterns
617
+ pass
618
+
619
+ def check_error_messages(self):
620
+ """Ensure error messages don't leak information"""
621
+ # Check for overly descriptive errors
622
+ # Verify stack traces disabled in production
623
+ pass
624
+ ```
625
+
626
+ ### 3. Continuous Compliance Monitoring
627
+
628
+ ```bash
629
+ #!/bin/bash
630
+ # compliance-check.sh - Daily compliance validation
631
+
632
+ echo "Running compliance checks for cleared environment..."
633
+
634
+ # Check 1: Verify encryption
635
+ check_encryption() {
636
+ echo "Checking encryption status..."
637
+
638
+ # Check all EBS volumes encrypted
639
+ aws ec2 describe-volumes \
640
+ --region us-gov-west-1 \
641
+ --query 'Volumes[?Encrypted==`false`]' \
642
+ --output table
643
+
644
+ # Check RDS encryption
645
+ aws rds describe-db-instances \
646
+ --region us-gov-west-1 \
647
+ --query 'DBInstances[?StorageEncrypted==`false`]' \
648
+ --output table
649
+ }
650
+
651
+ # Check 2: Verify logging enabled
652
+ check_logging() {
653
+ echo "Checking audit logging..."
654
+
655
+ # Verify CloudTrail enabled
656
+ aws cloudtrail describe-trails \
657
+ --region us-gov-west-1
658
+
659
+ # Check VPC Flow Logs
660
+ aws ec2 describe-flow-logs \
661
+ --region us-gov-west-1
662
+ }
663
+
664
+ # Check 3: Verify MFA compliance
665
+ check_mfa() {
666
+ echo "Checking MFA compliance..."
667
+
668
+ # List users without MFA
669
+ aws iam get-credential-report \
670
+ | jq -r '.Content' \
671
+ | base64 -d \
672
+ | awk -F',' '$4=="false" {print $1}'
673
+ }
674
+
675
+ # Check 4: Verify geographic restrictions
676
+ check_geography() {
677
+ echo "Checking geographic compliance..."
678
+
679
+ # Verify no resources in non-compliant regions
680
+ for region in $(aws ec2 describe-regions --query 'Regions[].RegionName' --output text); do
681
+ if [[ ! "$region" =~ ^us-gov- ]]; then
682
+ instances=$(aws ec2 describe-instances --region $region --query 'Reservations[].Instances[].InstanceId' --output text)
683
+ if [ -n "$instances" ]; then
684
+ echo "WARNING: Instances found in non-GovCloud region: $region"
685
+ fi
686
+ fi
687
+ done
688
+ }
689
+
690
+ # Run all checks
691
+ check_encryption
692
+ check_logging
693
+ check_mfa
694
+ check_geography
695
+
696
+ echo "Compliance check complete."
697
+ ```
698
+
699
+ ### 4. Incident Response for Classified Environments
700
+
701
+ ```yaml
702
+ incident_response_plan:
703
+ phase_1_detection:
704
+ - "SIEM alert triggers"
705
+ - "EDR detection"
706
+ - "User report"
707
+ - "Audit finding"
708
+
709
+ phase_2_containment:
710
+ immediate_actions:
711
+ - "Isolate affected system (network disconnect)"
712
+ - "Preserve evidence (disk image, memory dump)"
713
+ - "Notify ISSO within 1 hour"
714
+ - "Activate incident response team"
715
+
716
+ short_term:
717
+ - "Identify scope of compromise"
718
+ - "Block malicious indicators (IPs, domains, hashes)"
719
+ - "Reset compromised credentials"
720
+ - "Increase monitoring"
721
+
722
+ phase_3_eradication:
723
+ - "Remove malware/backdoors"
724
+ - "Patch vulnerabilities"
725
+ - "Rebuild compromised systems"
726
+ - "Verify clean state"
727
+
728
+ phase_4_recovery:
729
+ - "Restore from clean backups"
730
+ - "Validate system integrity"
731
+ - "Return to operation"
732
+ - "Enhanced monitoring period"
733
+
734
+ phase_5_lessons_learned:
735
+ - "Root cause analysis"
736
+ - "Update security controls"
737
+ - "Revise procedures"
738
+ - "Training for personnel"
739
+
740
+ special_considerations_classified:
741
+ - "Classified spillage procedures (ICD 503)"
742
+ - "Counterintelligence notification"
743
+ - "Damage assessment"
744
+ - "Potential compromise reporting"
745
+ - "Security clearance implications"
746
+
747
+ reporting_requirements:
748
+ immediate:
749
+ - "ISSO/ISSM"
750
+ - "Authorizing Official"
751
+ - "Security Manager"
752
+
753
+ within_1_hour:
754
+ - "US-CERT"
755
+ - "DoD Cyber Crime Center (if DoD)"
756
+
757
+ within_24_hours:
758
+ - "Written incident report"
759
+ - "Preliminary damage assessment"
760
+
761
+ final_report:
762
+ - "Within 30 days"
763
+ - "Root cause analysis"
764
+ - "Corrective actions"
765
+ ```
766
+
767
+ ---
768
+
769
+ **Related Resources:**
770
+ - [workload-classification.md](workload-classification.md) - Classification levels and criteria
771
+ - [cleared-cloud-environments.md](../../cloud-engineering/resources/cleared-cloud-environments.md) - Cloud implementations
772
+ - [disaster-recovery.md](disaster-recovery.md) - DR patterns
773
+ - [security-architecture.md](security-architecture.md) - Security design patterns