blockmine 1.24.0 → 1.25.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.
- package/CHANGELOG.md +32 -0
- package/README.en.md +427 -0
- package/README.md +40 -0
- package/backend/cli.js +1 -1
- package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
- package/backend/src/api/routes/bots.js +13 -0
- package/backend/src/api/routes/servers.js +14 -2
- package/backend/src/core/BotProcess.js +98 -2
- package/backend/src/core/PluginLoader.js +83 -3
- package/backend/src/core/PluginManager.js +75 -5
- package/backend/src/core/services/BotLifecycleService.js +186 -2
- package/backend/src/server.js +11 -1
- package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
- package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
- package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
- package/frontend/dist/flags/en.svg +32 -0
- package/frontend/dist/flags/ru.svg +5 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/locales/en/admin.json +100 -0
- package/frontend/dist/locales/en/api-keys.json +58 -0
- package/frontend/dist/locales/en/bots.json +110 -0
- package/frontend/dist/locales/en/common.json +47 -0
- package/frontend/dist/locales/en/configuration.json +22 -0
- package/frontend/dist/locales/en/console.json +10 -0
- package/frontend/dist/locales/en/dashboard.json +85 -0
- package/frontend/dist/locales/en/dialogs.json +70 -0
- package/frontend/dist/locales/en/event-graphs.json +50 -0
- package/frontend/dist/locales/en/graph-store.json +70 -0
- package/frontend/dist/locales/en/login.json +34 -0
- package/frontend/dist/locales/en/management.json +114 -0
- package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/en/nodes.json +1077 -0
- package/frontend/dist/locales/en/permissions.json +50 -0
- package/frontend/dist/locales/en/plugin-detail.json +49 -0
- package/frontend/dist/locales/en/plugins.json +110 -0
- package/frontend/dist/locales/en/proxies.json +81 -0
- package/frontend/dist/locales/en/servers.json +39 -0
- package/frontend/dist/locales/en/setup.json +17 -0
- package/frontend/dist/locales/en/sidebar.json +27 -0
- package/frontend/dist/locales/en/tasks.json +62 -0
- package/frontend/dist/locales/en/visual-editor.json +219 -0
- package/frontend/dist/locales/en/websocket.json +86 -0
- package/frontend/dist/locales/ru/admin.json +100 -0
- package/frontend/dist/locales/ru/api-keys.json +58 -0
- package/frontend/dist/locales/ru/bots.json +110 -0
- package/frontend/dist/locales/ru/common.json +49 -0
- package/frontend/dist/locales/ru/configuration.json +22 -0
- package/frontend/dist/locales/ru/console.json +10 -0
- package/frontend/dist/locales/ru/dashboard.json +85 -0
- package/frontend/dist/locales/ru/dialogs.json +70 -0
- package/frontend/dist/locales/ru/event-graphs.json +50 -0
- package/frontend/dist/locales/ru/graph-store.json +70 -0
- package/frontend/dist/locales/ru/login.json +34 -0
- package/frontend/dist/locales/ru/management.json +114 -0
- package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/ru/nodes.json +1077 -0
- package/frontend/dist/locales/ru/permissions.json +50 -0
- package/frontend/dist/locales/ru/plugin-detail.json +49 -0
- package/frontend/dist/locales/ru/plugins.json +110 -0
- package/frontend/dist/locales/ru/proxies.json +81 -0
- package/frontend/dist/locales/ru/servers.json +39 -0
- package/frontend/dist/locales/ru/setup.json +17 -0
- package/frontend/dist/locales/ru/sidebar.json +27 -0
- package/frontend/dist/locales/ru/tasks.json +62 -0
- package/frontend/dist/locales/ru/visual-editor.json +221 -0
- package/frontend/dist/locales/ru/websocket.json +86 -0
- package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
- package/frontend/package.json +4 -0
- package/package.json +1 -1
- package/screen/3dviewer.png +0 -0
- package/screen/console.png +0 -0
- package/screen/dashboard.png +0 -0
- package/screen/graph_collabe.png +0 -0
- package/screen/graph_live_debug.png +0 -0
- package/screen/language_selector.png +0 -0
- package/screen/management_command.png +0 -0
- package/screen/node_debug_trace.png +0 -0
- package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
- package/screen/websocket.png +0 -0
- 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
- 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
- package/.claude/agents/README.md +0 -469
- package/.claude/agents/auth-route-debugger.md +0 -118
- package/.claude/agents/auth-route-tester.md +0 -93
- package/.claude/agents/auto-error-resolver.md +0 -97
- package/.claude/agents/build-optimizer.md +0 -236
- package/.claude/agents/code-architect.md +0 -34
- package/.claude/agents/code-architecture-reviewer.md +0 -83
- package/.claude/agents/code-explorer.md +0 -51
- package/.claude/agents/code-refactor-master.md +0 -94
- package/.claude/agents/code-reviewer.md +0 -46
- package/.claude/agents/cost-optimizer.md +0 -134
- package/.claude/agents/deployment-orchestrator.md +0 -113
- package/.claude/agents/documentation-architect.md +0 -82
- package/.claude/agents/frontend-error-fixer.md +0 -77
- package/.claude/agents/iac-code-generator.md +0 -71
- package/.claude/agents/incident-responder.md +0 -346
- package/.claude/agents/infrastructure-architect.md +0 -31
- package/.claude/agents/kubernetes-specialist.md +0 -56
- package/.claude/agents/migration-planner.md +0 -181
- package/.claude/agents/network-architect.md +0 -196
- package/.claude/agents/plan-reviewer.md +0 -52
- package/.claude/agents/refactor-planner.md +0 -63
- package/.claude/agents/security-scanner.md +0 -102
- package/.claude/agents/web-research-specialist.md +0 -78
- package/.claude/commands/cost-analysis.md +0 -315
- package/.claude/commands/dev-docs-update.md +0 -55
- package/.claude/commands/dev-docs.md +0 -51
- package/.claude/commands/feature-dev.md +0 -125
- package/.claude/commands/incident-debug.md +0 -247
- package/.claude/commands/infra-plan.md +0 -81
- package/.claude/commands/migration-plan.md +0 -478
- package/.claude/commands/route-research-for-testing.md +0 -37
- package/.claude/commands/security-review.md +0 -66
- package/.claude/hooks/CONFIG.md +0 -448
- package/.claude/hooks/README.md +0 -163
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
- package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
- package/.claude/hooks/add-skill-activation-banners.ts +0 -132
- package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -222
- package/.claude/hooks/k8s-manifest-validator.sh +0 -56
- package/.claude/hooks/package-lock.json +0 -556
- package/.claude/hooks/package.json +0 -16
- package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
- package/.claude/hooks/post-tool-use-tracker.sh +0 -183
- package/.claude/hooks/security-policy-check.sh +0 -247
- package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
- package/.claude/hooks/skill-activation-prompt.sh +0 -10
- package/.claude/hooks/skill-activation-prompt.ts +0 -141
- package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
- package/.claude/hooks/terraform-validator.sh +0 -53
- package/.claude/hooks/test-input.json +0 -7
- package/.claude/hooks/test-skill-activation.ts +0 -427
- package/.claude/hooks/trigger-build-resolver.sh +0 -79
- package/.claude/hooks/tsc-check.sh +0 -173
- package/.claude/hooks/tsconfig.json +0 -19
- package/.claude/settings.json +0 -59
- package/.claude/settings.local.json +0 -67
- package/.claude/skills/README.md +0 -507
- package/.claude/skills/api-engineering/SKILL.md +0 -63
- package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
- package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
- package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
- package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
- package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
- package/.claude/skills/build-engineering/SKILL.md +0 -431
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
- package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
- package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
- package/.claude/skills/build-engineering/resources/build-security.md +0 -95
- package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
- package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
- package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
- package/.claude/skills/cloud-engineering/SKILL.md +0 -675
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
- package/.claude/skills/cybersecurity/SKILL.md +0 -409
- package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
- package/.claude/skills/database-engineering/SKILL.md +0 -61
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
- package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
- package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
- package/.claude/skills/devsecops/SKILL.md +0 -374
- package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
- package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
- package/.claude/skills/devsecops/resources/container-security.md +0 -915
- package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
- package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
- package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
- package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
- package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
- package/.claude/skills/devsecops/resources/security-testing.md +0 -203
- package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
- package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
- package/.claude/skills/documentation-as-code/SKILL.md +0 -323
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
- package/.claude/skills/engineering-management/SKILL.md +0 -356
- package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
- package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
- package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
- package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
- package/.claude/skills/error-tracking/SKILL.md +0 -379
- package/.claude/skills/frontend-design/SKILL.md +0 -42
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
- package/.claude/skills/general-it-engineering/SKILL.md +0 -393
- package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
- package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
- package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
- package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
- package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
- package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
- package/.claude/skills/network-engineering/SKILL.md +0 -385
- package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
- package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
- package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
- package/.claude/skills/network-engineering/resources/network-security.md +0 -921
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
- package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
- package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
- package/.claude/skills/node-development/SKILL.md +0 -317
- package/.claude/skills/observability-engineering/SKILL.md +0 -101
- package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
- package/.claude/skills/platform-engineering/SKILL.md +0 -555
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
- package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
- package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
- package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
- package/.claude/skills/release-engineering/SKILL.md +0 -393
- package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
- package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
- package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
- package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
- package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
- package/.claude/skills/route-tester/SKILL.md +0 -392
- package/.claude/skills/skill-developer/ADVANCED.md +0 -197
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
- package/.claude/skills/skill-developer/SKILL.md +0 -430
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
- package/.claude/skills/skill-rules.json +0 -2989
- package/.claude/skills/sre/SKILL.md +0 -464
- package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
- package/.claude/skills/sre/resources/capacity-planning.md +0 -226
- package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
- package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
- package/.claude/skills/sre/resources/incident-management.md +0 -436
- package/.claude/skills/sre/resources/observability-stack.md +0 -240
- package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
- package/.claude/skills/sre/resources/performance-optimization.md +0 -108
- package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
- package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
- package/.claude/skills/sre/resources/toil-reduction.md +0 -145
- package/.claude/skills/systems-engineering/SKILL.md +0 -648
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
- package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
- package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
- package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
- package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
- package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
- package/.claude/skills/technical-leadership/SKILL.md +0 -728
- package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
- package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
- 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
|