blockmine 1.24.0 → 1.27.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 (476) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/package.json +2 -2
  5. package/backend/prisma/migrations/20260328173000_add_plugin_source_ref/migration.sql +2 -0
  6. package/backend/prisma/migrations/migration_lock.toml +2 -2
  7. package/backend/prisma/schema.prisma +2 -0
  8. package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
  9. package/backend/src/api/routes/apiKeys.js +8 -0
  10. package/backend/src/api/routes/bots.js +271 -9
  11. package/backend/src/api/routes/eventGraphs.js +151 -1
  12. package/backend/src/api/routes/health.js +38 -0
  13. package/backend/src/api/routes/nodeRegistry.js +63 -0
  14. package/backend/src/api/routes/plugins.js +254 -29
  15. package/backend/src/api/routes/servers.js +14 -2
  16. package/backend/src/container.js +11 -8
  17. package/backend/src/core/BotCommandLoader.js +161 -0
  18. package/backend/src/core/BotConnection.js +125 -0
  19. package/backend/src/core/BotEventHandlers.js +234 -0
  20. package/backend/src/core/BotIPCHandler.js +445 -0
  21. package/backend/src/core/BotManager.js +15 -7
  22. package/backend/src/core/BotProcess.js +169 -140
  23. package/backend/src/core/EventGraphManager.js +7 -3
  24. package/backend/src/core/GraphDebugHandler.js +229 -0
  25. package/backend/src/core/GraphDebugIPC.js +117 -0
  26. package/backend/src/core/GraphExecutionEngine.js +545 -978
  27. package/backend/src/core/GraphTraversal.js +80 -0
  28. package/backend/src/core/GraphValidation.js +73 -0
  29. package/backend/src/core/NodeDefinition.js +138 -0
  30. package/backend/src/core/NodeRegistry.js +153 -141
  31. package/backend/src/core/PluginLoader.js +83 -3
  32. package/backend/src/core/PluginManager.js +346 -35
  33. package/backend/src/core/RewindSignal.js +9 -0
  34. package/backend/src/core/config/ConfigValidator.js +72 -0
  35. package/backend/src/core/config/FeatureFlags.js +52 -0
  36. package/backend/src/core/config/__tests__/ConfigValidator.test.js +232 -0
  37. package/backend/src/core/domain/entities/Bot.js +39 -0
  38. package/backend/src/core/domain/entities/Command.js +41 -0
  39. package/backend/src/core/domain/entities/EventGraph.js +39 -0
  40. package/backend/src/core/domain/entities/Plugin.js +45 -0
  41. package/backend/src/core/domain/entities/User.js +40 -0
  42. package/backend/src/core/domain/services/DependencyResolver.js +168 -0
  43. package/backend/src/core/domain/services/GraphValidator.js +117 -0
  44. package/backend/src/core/domain/services/PermissionChecker.js +34 -0
  45. package/backend/src/core/domain/services/__tests__/DependencyResolver.test.js +126 -0
  46. package/backend/src/core/domain/valueObjects/BotConfig.js +27 -0
  47. package/backend/src/core/domain/valueObjects/DependencyGraph.js +86 -0
  48. package/backend/src/core/domain/valueObjects/PluginManifest.js +36 -0
  49. package/backend/src/core/errors/BaseError.js +29 -0
  50. package/backend/src/core/errors/ErrorHandler.js +81 -0
  51. package/backend/src/core/errors/__tests__/ErrorHandler.test.js +188 -0
  52. package/backend/src/core/errors/index.js +68 -0
  53. package/backend/src/core/infrastructure/BatchingUtility.js +66 -0
  54. package/backend/src/core/infrastructure/CircuitBreaker.js +103 -0
  55. package/backend/src/core/infrastructure/ConnectionPool.js +81 -0
  56. package/backend/src/core/infrastructure/RateLimiter.js +64 -0
  57. package/backend/src/core/infrastructure/__tests__/BatchingUtility.test.js +86 -0
  58. package/backend/src/core/infrastructure/__tests__/CircuitBreaker.test.js +156 -0
  59. package/backend/src/core/infrastructure/__tests__/ConnectionPool.test.js +146 -0
  60. package/backend/src/core/infrastructure/__tests__/RateLimiter.test.js +171 -0
  61. package/backend/src/core/ipc/botApiFactory.js +72 -0
  62. package/backend/src/core/ipc/ipcMessageTypes.js +115 -0
  63. package/backend/src/core/logging/AuditLogger.js +61 -0
  64. package/backend/src/core/logging/StructuredLogger.js +80 -0
  65. package/backend/src/core/logging/__tests__/StructuredLogger.test.js +213 -0
  66. package/backend/src/core/logging/index.js +7 -0
  67. package/backend/src/core/metrics/MetricsCollector.js +104 -0
  68. package/backend/src/core/metrics/__tests__/MetricsCollector.test.js +131 -0
  69. package/backend/src/core/node-registries/actionsNodes.js +191 -0
  70. package/backend/src/core/node-registries/arraysNodes.js +152 -0
  71. package/backend/src/core/node-registries/botNodes.js +48 -0
  72. package/backend/src/core/node-registries/containerNodes.js +141 -0
  73. package/backend/src/core/node-registries/dataNodes.js +284 -0
  74. package/backend/src/core/node-registries/debugNodes.js +23 -0
  75. package/backend/src/core/node-registries/eventsNodes.js +223 -0
  76. package/backend/src/core/node-registries/flowNodes.js +151 -0
  77. package/backend/src/core/node-registries/furnaceNodes.js +123 -0
  78. package/backend/src/core/node-registries/index.js +108 -0
  79. package/backend/src/core/node-registries/inventory.js +102 -106
  80. package/backend/src/core/node-registries/logicNodes.js +54 -0
  81. package/backend/src/core/node-registries/mathNodes.js +38 -0
  82. package/backend/src/core/node-registries/navigationNodes.js +109 -0
  83. package/backend/src/core/node-registries/objectsNodes.js +90 -0
  84. package/backend/src/core/node-registries/stringsNodes.js +165 -0
  85. package/backend/src/core/node-registries/timeNodes.js +105 -0
  86. package/backend/src/core/node-registries/typeNodes.js +22 -0
  87. package/backend/src/core/node-registries/usersNodes.js +126 -0
  88. package/backend/src/core/nodes/arrays/shuffle.js +14 -0
  89. package/backend/src/core/nodes/bot/get_name.js +8 -0
  90. package/backend/src/core/nodes/bot/stop_bot.js +5 -0
  91. package/backend/src/core/nodes/container/open.js +101 -111
  92. package/backend/src/core/nodes/data/store_read.js +26 -0
  93. package/backend/src/core/nodes/data/store_write.js +23 -0
  94. package/backend/src/core/nodes/event/call_event.js +31 -0
  95. package/backend/src/core/nodes/event/custom_event.js +8 -0
  96. package/backend/src/core/nodes/flow/timer.js +35 -0
  97. package/backend/src/core/nodes/inventory/drop.js +73 -65
  98. package/backend/src/core/nodes/inventory/equip.js +54 -45
  99. package/backend/src/core/nodes/inventory/select_slot.js +48 -46
  100. package/backend/src/core/nodes/navigation/follow.js +54 -51
  101. package/backend/src/core/nodes/navigation/go_to.js +41 -53
  102. package/backend/src/core/nodes/navigation/go_to_entity.js +65 -69
  103. package/backend/src/core/nodes/navigation/go_to_player.js +65 -70
  104. package/backend/src/core/nodes/navigation/stop.js +17 -26
  105. package/backend/src/core/nodes/users/add_to_group.js +24 -0
  106. package/backend/src/core/nodes/users/check_permission.js +26 -0
  107. package/backend/src/core/nodes/users/remove_from_group.js +24 -0
  108. package/backend/src/core/services/BotIPCMessageRouter.js +337 -0
  109. package/backend/src/core/services/BotLifecycleService.js +43 -450
  110. package/backend/src/core/services/CacheManager.js +83 -23
  111. package/backend/src/core/services/CrashRestartManager.js +42 -0
  112. package/backend/src/core/services/DebugSessionManager.js +114 -12
  113. package/backend/src/core/services/EventGraphService.js +69 -0
  114. package/backend/src/core/services/MinecraftBotManager.js +9 -1
  115. package/backend/src/core/services/PluginManagementService.js +84 -0
  116. package/backend/src/core/services/TestModeContext.js +65 -0
  117. package/backend/src/core/services/__tests__/CacheManager.test.js +168 -0
  118. package/backend/src/core/services.js +1 -11
  119. package/backend/src/core/validation/InputValidator.js +167 -0
  120. package/backend/src/core/validation/__tests__/InputValidator.test.js +296 -0
  121. package/backend/src/real-time/botApi/index.js +1 -1
  122. package/backend/src/real-time/socketHandler.js +26 -0
  123. package/backend/src/server.js +21 -6
  124. package/frontend/dist/assets/browser-ponyfill-D8y0Ty7C.js +2 -0
  125. package/frontend/dist/assets/index-CFJLS0dk.css +32 -0
  126. package/frontend/dist/assets/index-D91UGNMG.js +11260 -0
  127. package/frontend/dist/flags/en.svg +32 -0
  128. package/frontend/dist/flags/ru.svg +5 -0
  129. package/frontend/dist/index.html +2 -2
  130. package/frontend/dist/locales/en/admin.json +100 -0
  131. package/frontend/dist/locales/en/api-keys.json +58 -0
  132. package/frontend/dist/locales/en/bots.json +113 -0
  133. package/frontend/dist/locales/en/common.json +53 -0
  134. package/frontend/dist/locales/en/configuration.json +22 -0
  135. package/frontend/dist/locales/en/console.json +10 -0
  136. package/frontend/dist/locales/en/dashboard.json +85 -0
  137. package/frontend/dist/locales/en/dialogs.json +70 -0
  138. package/frontend/dist/locales/en/event-graphs.json +50 -0
  139. package/frontend/dist/locales/en/graph-store.json +70 -0
  140. package/frontend/dist/locales/en/login.json +36 -0
  141. package/frontend/dist/locales/en/management.json +192 -0
  142. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  143. package/frontend/dist/locales/en/nodes.json +1132 -0
  144. package/frontend/dist/locales/en/permissions.json +50 -0
  145. package/frontend/dist/locales/en/plugin-detail.json +69 -0
  146. package/frontend/dist/locales/en/plugins.json +329 -0
  147. package/frontend/dist/locales/en/proxies.json +81 -0
  148. package/frontend/dist/locales/en/servers.json +39 -0
  149. package/frontend/dist/locales/en/setup.json +19 -0
  150. package/frontend/dist/locales/en/sidebar.json +195 -0
  151. package/frontend/dist/locales/en/tasks.json +62 -0
  152. package/frontend/dist/locales/en/visual-editor.json +418 -0
  153. package/frontend/dist/locales/en/websocket.json +86 -0
  154. package/frontend/dist/locales/ru/admin.json +100 -0
  155. package/frontend/dist/locales/ru/api-keys.json +58 -0
  156. package/frontend/dist/locales/ru/bots.json +113 -0
  157. package/frontend/dist/locales/ru/common.json +49 -0
  158. package/frontend/dist/locales/ru/configuration.json +22 -0
  159. package/frontend/dist/locales/ru/console.json +10 -0
  160. package/frontend/dist/locales/ru/dashboard.json +85 -0
  161. package/frontend/dist/locales/ru/dialogs.json +70 -0
  162. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  163. package/frontend/dist/locales/ru/graph-store.json +70 -0
  164. package/frontend/dist/locales/ru/login.json +36 -0
  165. package/frontend/dist/locales/ru/management.json +192 -0
  166. package/frontend/dist/locales/ru/minecraft-viewer.json +30 -0
  167. package/frontend/dist/locales/ru/nodes.json +1131 -0
  168. package/frontend/dist/locales/ru/permissions.json +50 -0
  169. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  170. package/frontend/dist/locales/ru/plugins.json +209 -0
  171. package/frontend/dist/locales/ru/proxies.json +81 -0
  172. package/frontend/dist/locales/ru/servers.json +39 -0
  173. package/frontend/dist/locales/ru/setup.json +19 -0
  174. package/frontend/dist/locales/ru/sidebar.json +195 -0
  175. package/frontend/dist/locales/ru/tasks.json +62 -0
  176. package/frontend/dist/locales/ru/visual-editor.json +420 -0
  177. package/frontend/dist/locales/ru/websocket.json +86 -0
  178. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  179. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  180. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  181. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  182. package/frontend/package.json +6 -0
  183. package/nul +12 -0
  184. package/package.json +3 -3
  185. package/screen/3dviewer.png +0 -0
  186. package/screen/console.png +0 -0
  187. package/screen/dashboard.png +0 -0
  188. package/screen/graph_collabe.png +0 -0
  189. package/screen/graph_live_debug.png +0 -0
  190. package/screen/language_selector.png +0 -0
  191. package/screen/management_command.png +0 -0
  192. package/screen/node_debug_trace.png +0 -0
  193. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  194. package/screen/websocket.png +0 -0
  195. 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
  196. 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
  197. package/.claude/agents/README.md +0 -469
  198. package/.claude/agents/auth-route-debugger.md +0 -118
  199. package/.claude/agents/auth-route-tester.md +0 -93
  200. package/.claude/agents/auto-error-resolver.md +0 -97
  201. package/.claude/agents/build-optimizer.md +0 -236
  202. package/.claude/agents/code-architect.md +0 -34
  203. package/.claude/agents/code-architecture-reviewer.md +0 -83
  204. package/.claude/agents/code-explorer.md +0 -51
  205. package/.claude/agents/code-refactor-master.md +0 -94
  206. package/.claude/agents/code-reviewer.md +0 -46
  207. package/.claude/agents/cost-optimizer.md +0 -134
  208. package/.claude/agents/deployment-orchestrator.md +0 -113
  209. package/.claude/agents/documentation-architect.md +0 -82
  210. package/.claude/agents/frontend-error-fixer.md +0 -77
  211. package/.claude/agents/iac-code-generator.md +0 -71
  212. package/.claude/agents/incident-responder.md +0 -346
  213. package/.claude/agents/infrastructure-architect.md +0 -31
  214. package/.claude/agents/kubernetes-specialist.md +0 -56
  215. package/.claude/agents/migration-planner.md +0 -181
  216. package/.claude/agents/network-architect.md +0 -196
  217. package/.claude/agents/plan-reviewer.md +0 -52
  218. package/.claude/agents/refactor-planner.md +0 -63
  219. package/.claude/agents/security-scanner.md +0 -102
  220. package/.claude/agents/web-research-specialist.md +0 -78
  221. package/.claude/commands/cost-analysis.md +0 -315
  222. package/.claude/commands/dev-docs-update.md +0 -55
  223. package/.claude/commands/dev-docs.md +0 -51
  224. package/.claude/commands/feature-dev.md +0 -125
  225. package/.claude/commands/incident-debug.md +0 -247
  226. package/.claude/commands/infra-plan.md +0 -81
  227. package/.claude/commands/migration-plan.md +0 -478
  228. package/.claude/commands/route-research-for-testing.md +0 -37
  229. package/.claude/commands/security-review.md +0 -66
  230. package/.claude/hooks/CONFIG.md +0 -448
  231. package/.claude/hooks/README.md +0 -163
  232. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  233. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  234. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  235. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  236. package/.claude/hooks/error-handling-reminder.sh +0 -12
  237. package/.claude/hooks/error-handling-reminder.ts +0 -222
  238. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  239. package/.claude/hooks/package-lock.json +0 -556
  240. package/.claude/hooks/package.json +0 -16
  241. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  242. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  243. package/.claude/hooks/security-policy-check.sh +0 -247
  244. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  245. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  246. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  247. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  248. package/.claude/hooks/terraform-validator.sh +0 -53
  249. package/.claude/hooks/test-input.json +0 -7
  250. package/.claude/hooks/test-skill-activation.ts +0 -427
  251. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  252. package/.claude/hooks/tsc-check.sh +0 -173
  253. package/.claude/hooks/tsconfig.json +0 -19
  254. package/.claude/settings.json +0 -59
  255. package/.claude/settings.local.json +0 -67
  256. package/.claude/skills/README.md +0 -507
  257. package/.claude/skills/api-engineering/SKILL.md +0 -63
  258. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  259. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  260. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  261. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  262. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  263. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  264. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  265. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  266. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  267. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  268. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  269. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  270. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  271. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  272. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  273. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  274. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  275. package/.claude/skills/build-engineering/SKILL.md +0 -431
  276. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  277. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  278. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  279. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  280. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  281. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  282. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  283. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  284. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  285. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  286. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  287. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  288. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  289. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  290. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  291. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  292. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  293. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  294. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  295. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  296. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  297. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  298. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  299. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  300. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  301. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  302. package/.claude/skills/database-engineering/SKILL.md +0 -61
  303. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  304. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  305. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  306. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  307. package/.claude/skills/devsecops/SKILL.md +0 -374
  308. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  309. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  310. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  311. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  312. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  313. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  314. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  315. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  316. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  317. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  318. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  319. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  320. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  321. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  322. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  323. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  324. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  325. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  326. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  327. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  328. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  329. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  330. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  331. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  332. package/.claude/skills/engineering-management/SKILL.md +0 -356
  333. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  334. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  335. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  336. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  337. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  338. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  339. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  340. package/.claude/skills/error-tracking/SKILL.md +0 -379
  341. package/.claude/skills/frontend-design/SKILL.md +0 -42
  342. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  343. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  344. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  345. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  346. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  347. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  348. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  349. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  350. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  351. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  352. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  353. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  354. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  355. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  356. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  357. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  358. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  359. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  360. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  361. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  362. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  363. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  364. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  365. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  366. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  367. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  368. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  369. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  370. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  371. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  372. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  373. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  374. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  375. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  376. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  377. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  378. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  379. package/.claude/skills/network-engineering/SKILL.md +0 -385
  380. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  381. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  382. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  383. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  384. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  385. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  386. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  387. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  388. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  389. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  390. package/.claude/skills/node-development/SKILL.md +0 -317
  391. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  392. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  393. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  394. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  395. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  396. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  397. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  398. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  399. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  400. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  401. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  402. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  403. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  404. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  405. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  406. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  407. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  408. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  409. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  410. package/.claude/skills/release-engineering/SKILL.md +0 -393
  411. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  412. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  413. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  414. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  415. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  416. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  417. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  418. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  419. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  420. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  421. package/.claude/skills/route-tester/SKILL.md +0 -392
  422. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  423. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  424. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  425. package/.claude/skills/skill-developer/SKILL.md +0 -430
  426. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  427. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  428. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  429. package/.claude/skills/skill-rules.json +0 -2989
  430. package/.claude/skills/sre/SKILL.md +0 -464
  431. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  432. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  433. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  434. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  435. package/.claude/skills/sre/resources/incident-management.md +0 -436
  436. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  437. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  438. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  439. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  440. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  441. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  442. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  443. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  444. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  445. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  446. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  447. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  448. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  449. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  450. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  451. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  452. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  453. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  454. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  455. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  456. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  457. package/backend/package-lock.json +0 -6801
  458. package/backend/src/core/node-registries/actions.js +0 -202
  459. package/backend/src/core/node-registries/arrays.js +0 -155
  460. package/backend/src/core/node-registries/bot.js +0 -23
  461. package/backend/src/core/node-registries/container.js +0 -162
  462. package/backend/src/core/node-registries/data.js +0 -290
  463. package/backend/src/core/node-registries/debug.js +0 -26
  464. package/backend/src/core/node-registries/events.js +0 -201
  465. package/backend/src/core/node-registries/flow.js +0 -139
  466. package/backend/src/core/node-registries/furnace.js +0 -143
  467. package/backend/src/core/node-registries/logic.js +0 -62
  468. package/backend/src/core/node-registries/math.js +0 -42
  469. package/backend/src/core/node-registries/navigation.js +0 -111
  470. package/backend/src/core/node-registries/objects.js +0 -98
  471. package/backend/src/core/node-registries/strings.js +0 -187
  472. package/backend/src/core/node-registries/time.js +0 -113
  473. package/backend/src/core/node-registries/type.js +0 -25
  474. package/backend/src/core/node-registries/users.js +0 -79
  475. package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
  476. package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
@@ -1,204 +0,0 @@
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)
@@ -1,530 +0,0 @@
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