blockmine 1.21.0 → 1.23.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 (492) 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 +59 -0
  55. package/.claude/settings.local.json +36 -14
  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 +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  454. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
@@ -0,0 +1,204 @@
1
+ # CI/CD Security
2
+
3
+ Securing pipelines, artifact validation, signing workflows, secure deployment practices, and CI/CD hardening.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Pipeline Security](#pipeline-security)
8
+ - [Secrets in CI/CD](#secrets-in-cicd)
9
+ - [Artifact Validation](#artifact-validation)
10
+ - [Secure Workflows](#secure-workflows)
11
+ - [Best Practices](#best-practices)
12
+
13
+ ## Pipeline Security
14
+
15
+ ### GitHub Actions Security
16
+
17
+ **Workflow Permissions:**
18
+ ```yaml
19
+ name: Secure Workflow
20
+
21
+ on: [push]
22
+
23
+ permissions:
24
+ contents: read # Minimal permissions
25
+ packages: write # Only what's needed
26
+
27
+ jobs:
28
+ build:
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - uses: actions/checkout@v3
32
+ with:
33
+ persist-credentials: false # Don't persist token
34
+ ```
35
+
36
+ **Pin Actions:**
37
+ ```yaml
38
+ # ❌ Bad: Using tags
39
+ - uses: actions/checkout@v3
40
+
41
+ # ✅ Good: Using commit SHAs
42
+ - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
43
+ ```
44
+
45
+ ### Secrets in CI/CD
46
+
47
+ **GitHub Secrets:**
48
+ ```yaml
49
+ jobs:
50
+ deploy:
51
+ runs-on: ubuntu-latest
52
+ steps:
53
+ - name: Deploy
54
+ env:
55
+ API_KEY: ${{ secrets.API_KEY }}
56
+ DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
57
+ run: ./deploy.sh
58
+ ```
59
+
60
+ **Vault in CI/CD:**
61
+ ```yaml
62
+ jobs:
63
+ build:
64
+ runs-on: ubuntu-latest
65
+ steps:
66
+ - uses: hashicorp/vault-action@v2
67
+ with:
68
+ url: https://vault.example.com
69
+ token: ${{ secrets.VAULT_TOKEN }}
70
+ secrets: |
71
+ secret/data/production api_key | API_KEY ;
72
+ secret/data/production db_pass | DB_PASSWORD
73
+ ```
74
+
75
+ ## Artifact Validation
76
+
77
+ **Checksum Verification:**
78
+ ```yaml
79
+ - name: Download artifact
80
+ run: curl -O https://example.com/app.tar.gz
81
+
82
+ - name: Verify checksum
83
+ run: |
84
+ echo "${{ secrets.ARTIFACT_SHA256 }} app.tar.gz" | sha256sum -c -
85
+ ```
86
+
87
+ **Signature Verification:**
88
+ ```yaml
89
+ - name: Verify artifact signature
90
+ run: |
91
+ cosign verify --key cosign.pub artifact.tar.gz
92
+ ```
93
+
94
+ ## Secure Workflows
95
+
96
+ **Complete Secure Pipeline:**
97
+ ```yaml
98
+ name: Secure Build and Deploy
99
+
100
+ on:
101
+ push:
102
+ branches: [main]
103
+
104
+ permissions:
105
+ contents: read
106
+ packages: write
107
+ id-token: write
108
+ security-events: write
109
+
110
+ jobs:
111
+ security-scan:
112
+ runs-on: ubuntu-latest
113
+ steps:
114
+ - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
115
+
116
+ - name: Secret Scan
117
+ uses: trufflesecurity/trufflehog@main
118
+ with:
119
+ path: ./
120
+ base: main
121
+ head: HEAD
122
+
123
+ - name: SAST Scan
124
+ uses: returntocorp/semgrep-action@v1
125
+ with:
126
+ config: p/security-audit
127
+
128
+ build:
129
+ needs: security-scan
130
+ runs-on: ubuntu-latest
131
+ outputs:
132
+ digest: ${{ steps.build.outputs.digest }}
133
+ steps:
134
+ - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
135
+
136
+ - name: Build image
137
+ id: build
138
+ run: |
139
+ docker build -t myapp:${{ github.sha }} .
140
+ digest=$(docker inspect --format='{{index .RepoDigests 0}}' | cut -d@ -f2)
141
+ echo "digest=$digest" >> $GITHUB_OUTPUT
142
+
143
+ - name: Scan image
144
+ uses: aquasecurity/trivy-action@master
145
+ with:
146
+ image-ref: myapp:${{ github.sha }}
147
+ severity: CRITICAL,HIGH
148
+ exit-code: 1
149
+
150
+ - name: Sign image
151
+ run: |
152
+ cosign sign --yes myapp:${{ github.sha }}
153
+
154
+ deploy:
155
+ needs: build
156
+ runs-on: ubuntu-latest
157
+ environment: production
158
+ steps:
159
+ - name: Verify signature
160
+ run: |
161
+ cosign verify --key cosign.pub myapp:${{ github.sha }}
162
+
163
+ - name: Deploy
164
+ run: kubectl set image deployment/myapp app=myapp:${{ github.sha }}
165
+ ```
166
+
167
+ ## Best Practices
168
+
169
+ ### 1. Minimal Permissions
170
+
171
+ ```yaml
172
+ permissions:
173
+ contents: read # Only what's needed
174
+ ```
175
+
176
+ ### 2. Pin Dependencies
177
+
178
+ ```yaml
179
+ - uses: actions/checkout@8e5e7e5 # Pin to SHA
180
+ ```
181
+
182
+ ### 3. No Secrets in Logs
183
+
184
+ ```bash
185
+ echo "::add-mask::$SECRET_VALUE"
186
+ ```
187
+
188
+ ### 4. Separate Environments
189
+
190
+ ```yaml
191
+ environment: production # Requires approval
192
+ ```
193
+
194
+ ### 5. Sign Artifacts
195
+
196
+ ```bash
197
+ cosign sign --key cosign.key artifact
198
+ ```
199
+
200
+ ---
201
+
202
+ **Related Resources:**
203
+ - [secrets-management.md](secrets-management.md)
204
+ - [supply-chain-security.md](supply-chain-security.md)
@@ -0,0 +1,530 @@
1
+ # Compliance Automation
2
+
3
+ Automated compliance monitoring, audit automation, and adherence to frameworks including CIS Benchmarks, SOC 2, PCI-DSS, HIPAA, and GDPR.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Overview](#overview)
8
+ - [CIS Benchmarks](#cis-benchmarks)
9
+ - [SOC 2 Compliance](#soc-2-compliance)
10
+ - [PCI-DSS](#pci-dss)
11
+ - [HIPAA](#hipaa)
12
+ - [Compliance Tools](#compliance-tools)
13
+ - [Automated Auditing](#automated-auditing)
14
+ - [Best Practices](#best-practices)
15
+
16
+ ## Overview
17
+
18
+ **Compliance Frameworks:**
19
+
20
+ ```
21
+ ┌──────────────────────────────────────────────────┐
22
+ │ Compliance Pyramid │
23
+ ├──────────────────────────────────────────────────┤
24
+ │ Frameworks: SOC 2, PCI-DSS, HIPAA, GDPR │
25
+ ├──────────────────────────────────────────────────┤
26
+ │ Standards: CIS Benchmarks, NIST, ISO 27001 │
27
+ ├──────────────────────────────────────────────────┤
28
+ │ Controls: Technical, Administrative, Physical │
29
+ ├──────────────────────────────────────────────────┤
30
+ │ Evidence: Logs, Scans, Tests, Documentation │
31
+ └──────────────────────────────────────────────────┘
32
+ ```
33
+
34
+ ## CIS Benchmarks
35
+
36
+ ### Docker CIS Benchmark
37
+
38
+ **Scan with Docker Bench:**
39
+ ```bash
40
+ docker run --rm --net host --pid host --userns host --cap-add audit_control \
41
+ -v /etc:/etc:ro \
42
+ -v /usr/bin/containerd:/usr/bin/containerd:ro \
43
+ -v /usr/bin/runc:/usr/bin/runc:ro \
44
+ -v /usr/lib/systemd:/usr/lib/systemd:ro \
45
+ -v /var/lib:/var/lib:ro \
46
+ -v /var/run/docker.sock:/var/run/docker.sock:ro \
47
+ docker/docker-bench-security
48
+ ```
49
+
50
+ ### Kubernetes CIS Benchmark
51
+
52
+ **Using kube-bench:**
53
+ ```bash
54
+ kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
55
+
56
+ # View results
57
+ kubectl logs job/kube-bench
58
+ ```
59
+
60
+ **Sample Report:**
61
+ ```
62
+ [INFO] 1 Master Node Security Configuration
63
+ [PASS] 1.1.1 Ensure that the API server pod specification file permissions are set to 644 or more restrictive
64
+ [PASS] 1.1.2 Ensure that the API server pod specification file ownership is set to root:root
65
+ [FAIL] 1.2.1 Ensure that the --anonymous-auth argument is set to false
66
+ [WARN] 1.2.5 Ensure that the --kubelet-certificate-authority argument is set as appropriate
67
+ ```
68
+
69
+ **Remediation Script:**
70
+ ```bash
71
+ #!/bin/bash
72
+ # Fix CIS benchmark failures
73
+
74
+ # 1.2.1 Disable anonymous auth
75
+ sed -i 's/--anonymous-auth=true/--anonymous-auth=false/' /etc/kubernetes/manifests/kube-apiserver.yaml
76
+
77
+ # 1.2.5 Set certificate authority
78
+ echo " - --kubelet-certificate-authority=/etc/kubernetes/pki/ca.crt" >> /etc/kubernetes/manifests/kube-apiserver.yaml
79
+
80
+ systemctl restart kubelet
81
+ ```
82
+
83
+ ## SOC 2 Compliance
84
+
85
+ ### Type I vs Type II
86
+
87
+ **Type I:** Point-in-time assessment
88
+ **Type II:** Controls over period (typically 3-12 months)
89
+
90
+ ### Trust Service Criteria
91
+
92
+ 1. **Security:** Protection against unauthorized access
93
+ 2. **Availability:** System available for operation and use
94
+ 3. **Processing Integrity:** System processing is complete, valid, accurate, timely
95
+ 4. **Confidentiality:** Information designated as confidential is protected
96
+ 5. **Privacy:** Personal information is collected, used, retained, disclosed, and disposed properly
97
+
98
+ ### Implementation Example
99
+
100
+ **Access Control Policy:**
101
+ ```yaml
102
+ # Kyverno policy for SOC 2 access control
103
+ apiVersion: kyverno.io/v1
104
+ kind: ClusterPolicy
105
+ metadata:
106
+ name: soc2-access-control
107
+ annotations:
108
+ compliance: SOC2
109
+ control: CC6.1
110
+ spec:
111
+ validationFailureAction: enforce
112
+ rules:
113
+ - name: require-rbac
114
+ match:
115
+ any:
116
+ - resources:
117
+ kinds: [ServiceAccount]
118
+ validate:
119
+ message: "SOC 2 requires RBAC for all service accounts"
120
+ pattern:
121
+ metadata:
122
+ annotations:
123
+ rbac-configured: "true"
124
+ ```
125
+
126
+ **Audit Logging:**
127
+ ```yaml
128
+ # Enable Kubernetes audit logging (SOC 2 requirement)
129
+ apiVersion: v1
130
+ kind: Pod
131
+ metadata:
132
+ name: kube-apiserver
133
+ spec:
134
+ containers:
135
+ - command:
136
+ - kube-apiserver
137
+ - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
138
+ - --audit-log-path=/var/log/kubernetes/audit.log
139
+ - --audit-log-maxage=30
140
+ - --audit-log-maxbackup=10
141
+ - --audit-log-maxsize=100
142
+ ```
143
+
144
+ **Audit Policy:**
145
+ ```yaml
146
+ apiVersion: audit.k8s.io/v1
147
+ kind: Policy
148
+ rules:
149
+ - level: Metadata
150
+ resources:
151
+ - group: ""
152
+ resources: ["secrets", "configmaps"]
153
+
154
+ - level: RequestResponse
155
+ verbs: ["create", "update", "patch", "delete"]
156
+
157
+ - level: Metadata
158
+ omitStages: ["RequestReceived"]
159
+ ```
160
+
161
+ ## PCI-DSS
162
+
163
+ ### Requirements
164
+
165
+ **PCI-DSS 12 Requirements:**
166
+ 1. Install and maintain firewall configuration
167
+ 2. Do not use vendor-supplied defaults
168
+ 3. Protect stored cardholder data
169
+ 4. Encrypt transmission of cardholder data
170
+ 5. Protect all systems against malware
171
+ 6. Develop and maintain secure systems
172
+ 7. Restrict access to cardholder data
173
+ 8. Identify and authenticate access
174
+ 9. Restrict physical access
175
+ 10. Track and monitor all access
176
+ 11. Regularly test security systems
177
+ 12. Maintain information security policy
178
+
179
+ ### Network Segmentation
180
+
181
+ ```yaml
182
+ # Isolate PCI environment with NetworkPolicy
183
+ apiVersion: networking.k8s.io/v1
184
+ kind: NetworkPolicy
185
+ metadata:
186
+ name: pci-isolation
187
+ namespace: payment-processing
188
+ spec:
189
+ podSelector:
190
+ matchLabels:
191
+ pci-scope: in-scope
192
+ policyTypes:
193
+ - Ingress
194
+ - Egress
195
+
196
+ ingress:
197
+ - from:
198
+ - namespaceSelector:
199
+ matchLabels:
200
+ pci-zone: trusted
201
+ ports:
202
+ - protocol: TCP
203
+ port: 443
204
+
205
+ egress:
206
+ - to:
207
+ - namespaceSelector:
208
+ matchLabels:
209
+ pci-zone: database
210
+ ports:
211
+ - protocol: TCP
212
+ port: 5432
213
+ ```
214
+
215
+ ### Encryption
216
+
217
+ ```yaml
218
+ # Require TLS for PCI workloads
219
+ apiVersion: kyverno.io/v1
220
+ kind: ClusterPolicy
221
+ metadata:
222
+ name: pci-require-tls
223
+ spec:
224
+ validationFailureAction: enforce
225
+ rules:
226
+ - name: ingress-must-use-tls
227
+ match:
228
+ any:
229
+ - resources:
230
+ kinds: [Ingress]
231
+ namespaces: [payment-processing]
232
+ validate:
233
+ message: "PCI-DSS requires TLS encryption"
234
+ pattern:
235
+ spec:
236
+ tls:
237
+ - hosts:
238
+ - "?*"
239
+ ```
240
+
241
+ ### Access Logging
242
+
243
+ ```yaml
244
+ # Falco rule for PCI access monitoring
245
+ - rule: Unauthorized Access to Cardholder Data
246
+ desc: Detect unauthorized access to PCI data
247
+ condition: >
248
+ open_read and
249
+ fd.name startswith "/data/cardholder/" and
250
+ not proc.name in (authorized_processes)
251
+ output: >
252
+ Unauthorized access to cardholder data
253
+ (user=%user.name process=%proc.name file=%fd.name)
254
+ priority: CRITICAL
255
+ tags: [pci-dss, requirement-10]
256
+ ```
257
+
258
+ ## HIPAA
259
+
260
+ ### Technical Safeguards
261
+
262
+ **Access Control (164.312(a)(1)):**
263
+ ```yaml
264
+ apiVersion: kyverno.io/v1
265
+ kind: ClusterPolicy
266
+ metadata:
267
+ name: hipaa-access-control
268
+ spec:
269
+ validationFailureAction: enforce
270
+ rules:
271
+ - name: require-unique-user-id
272
+ match:
273
+ any:
274
+ - resources:
275
+ kinds: [ServiceAccount]
276
+ namespaces: [healthcare]
277
+ validate:
278
+ message: "HIPAA requires unique user identification"
279
+ pattern:
280
+ metadata:
281
+ annotations:
282
+ hipaa-uid: "?*"
283
+ ```
284
+
285
+ **Audit Controls (164.312(b)):**
286
+ ```yaml
287
+ # Audit all access to PHI
288
+ apiVersion: audit.k8s.io/v1
289
+ kind: Policy
290
+ rules:
291
+ - level: RequestResponse
292
+ namespaces: [healthcare]
293
+ verbs: ["get", "list", "create", "update", "patch", "delete"]
294
+ resources:
295
+ - group: ""
296
+ resources: ["secrets"]
297
+ resourceNames: ["phi-*"]
298
+ ```
299
+
300
+ **Integrity (164.312(c)(1)):**
301
+ ```yaml
302
+ # Ensure data integrity with admission control
303
+ apiVersion: kyverno.io/v1
304
+ kind: ClusterPolicy
305
+ metadata:
306
+ name: hipaa-data-integrity
307
+ spec:
308
+ rules:
309
+ - name: require-checksums
310
+ match:
311
+ any:
312
+ - resources:
313
+ kinds: [ConfigMap]
314
+ selector:
315
+ matchLabels:
316
+ data-type: phi
317
+ validate:
318
+ message: "HIPAA requires data integrity controls"
319
+ pattern:
320
+ metadata:
321
+ annotations:
322
+ checksum: "?*"
323
+ ```
324
+
325
+ **Encryption (164.312(a)(2)(iv)):**
326
+ ```yaml
327
+ # Require encryption at rest
328
+ apiVersion: kyverno.io/v1
329
+ kind: ClusterPolicy
330
+ metadata:
331
+ name: hipaa-encryption-at-rest
332
+ spec:
333
+ validationFailureAction: enforce
334
+ rules:
335
+ - name: pvc-must-be-encrypted
336
+ match:
337
+ any:
338
+ - resources:
339
+ kinds: [PersistentVolumeClaim]
340
+ namespaces: [healthcare]
341
+ validate:
342
+ message: "HIPAA requires encryption at rest for PHI"
343
+ pattern:
344
+ metadata:
345
+ annotations:
346
+ encrypted: "true"
347
+ ```
348
+
349
+ ## Compliance Tools
350
+
351
+ ### Prowler (AWS)
352
+
353
+ ```bash
354
+ # Install
355
+ pip install prowler
356
+
357
+ # Run full scan
358
+ prowler -M csv json html
359
+
360
+ # Specific compliance
361
+ prowler -c cis_1.5_aws
362
+ prowler -c hipaa
363
+ prowler -c pci_3.2.1_aws
364
+
365
+ # Custom checks
366
+ prowler -f us-east-1 -c check11,check12
367
+ ```
368
+
369
+ ### Prowler Kubernetes
370
+
371
+ ```bash
372
+ prowler kubernetes --kubeconfig ~/.kube/config
373
+
374
+ # CIS Kubernetes Benchmark
375
+ prowler kubernetes -c cis_eks
376
+ ```
377
+
378
+ ### CloudSploit (Multi-Cloud)
379
+
380
+ ```bash
381
+ npm install -g cloudsploit-scanner
382
+
383
+ # Run scan
384
+ cloudsploit scan --cloud aws \
385
+ --compliance pci \
386
+ --format json
387
+ ```
388
+
389
+ ### Chef InSpec
390
+
391
+ ```ruby
392
+ # CIS Docker benchmark profile
393
+ describe docker_container('myapp') do
394
+ it { should exist }
395
+ it { should be_running }
396
+ its('image') { should_not match /latest/ }
397
+ its('user') { should_not eq 'root' }
398
+ end
399
+
400
+ describe file('/var/lib/docker') do
401
+ it { should be_directory }
402
+ its('mode') { should cmp '0700' }
403
+ its('owner') { should eq 'root' }
404
+ end
405
+ ```
406
+
407
+ ```bash
408
+ # Run InSpec profile
409
+ inspec exec https://github.com/dev-sec/cis-docker-benchmark
410
+ ```
411
+
412
+ ## Automated Auditing
413
+
414
+ ### Continuous Compliance Monitoring
415
+
416
+ **GitHub Actions:**
417
+ ```yaml
418
+ name: Compliance Audit
419
+
420
+ on:
421
+ schedule:
422
+ - cron: '0 2 * * *' # Daily at 2 AM
423
+ workflow_dispatch:
424
+
425
+ jobs:
426
+ compliance-scan:
427
+ runs-on: ubuntu-latest
428
+ steps:
429
+ - uses: actions/checkout@v3
430
+
431
+ - name: CIS Docker Benchmark
432
+ run: |
433
+ docker run --rm \
434
+ -v /var/run/docker.sock:/var/run/docker.sock \
435
+ docker/docker-bench-security > docker-cis.txt
436
+
437
+ - name: Kubernetes CIS Benchmark
438
+ run: |
439
+ kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
440
+ sleep 30
441
+ kubectl logs job/kube-bench > k8s-cis.txt
442
+
443
+ - name: Upload Results
444
+ uses: actions/upload-artifact@v3
445
+ with:
446
+ name: compliance-reports
447
+ path: |
448
+ docker-cis.txt
449
+ k8s-cis.txt
450
+
451
+ - name: Check for Failures
452
+ run: |
453
+ if grep -q "\[FAIL\]" docker-cis.txt k8s-cis.txt; then
454
+ echo "Compliance failures detected"
455
+ exit 1
456
+ fi
457
+ ```
458
+
459
+ ### Policy-as-Code Testing
460
+
461
+ ```yaml
462
+ # test-policies.yaml
463
+ name: Policy Tests
464
+
465
+ on: [push, pull_request]
466
+
467
+ jobs:
468
+ test-policies:
469
+ runs-on: ubuntu-latest
470
+ steps:
471
+ - uses: actions/checkout@v3
472
+
473
+ - name: Test OPA Policies
474
+ run: |
475
+ opa test policies/ -v
476
+
477
+ - name: Test Kyverno Policies
478
+ uses: kyverno/action-cli@v0.1.0
479
+ with:
480
+ command: test policies/
481
+
482
+ - name: Validate Against Resources
483
+ run: |
484
+ kyverno apply policies/ --resource test-resources/
485
+ ```
486
+
487
+ ## Best Practices
488
+
489
+ ### 1. Compliance as Code
490
+
491
+ Store all compliance policies in version control.
492
+
493
+ ### 2. Continuous Monitoring
494
+
495
+ ```yaml
496
+ # Daily compliance checks
497
+ schedule:
498
+ - cron: '0 0 * * *'
499
+ ```
500
+
501
+ ### 3. Evidence Collection
502
+
503
+ ```bash
504
+ # Automated evidence gathering
505
+ collect-evidence.sh:
506
+ - Audit logs
507
+ - Policy violations
508
+ - Scan results
509
+ - Configuration state
510
+ ```
511
+
512
+ ### 4. Remediation Tracking
513
+
514
+ ```yaml
515
+ # Track remediation in issue tracker
516
+ - Issue: CIS-1.2.1-failure
517
+ Control: Disable anonymous auth
518
+ Status: In Progress
519
+ DueDate: 2024-02-15
520
+ ```
521
+
522
+ ### 5. Regular Training
523
+
524
+ Document compliance requirements for developers.
525
+
526
+ ---
527
+
528
+ **Related Resources:**
529
+ - [policy-enforcement.md](policy-enforcement.md) - OPA, Gatekeeper, Kyverno
530
+ - [security-monitoring.md](security-monitoring.md) - SIEM and detection