claude-flow-novice 2.2.4 → 2.2.5

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 (288) hide show
  1. package/package.json +9 -8
  2. package/scripts/.claude-flow/metrics/agent-metrics.json +1 -0
  3. package/scripts/.claude-flow/metrics/performance.json +9 -0
  4. package/scripts/.claude-flow/metrics/task-metrics.json +10 -0
  5. package/scripts/CLEANUP_OPTIMIZATION_REPORT.json +312 -0
  6. package/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +387 -0
  7. package/scripts/CLEANUP_QUICK_START.md +268 -0
  8. package/scripts/CLEANUP_TEST_RESULTS.md +205 -0
  9. package/scripts/README.md +339 -0
  10. package/scripts/ace-query.sh +384 -0
  11. package/scripts/agent-token-analysis.js +430 -0
  12. package/scripts/auto-setup.js +332 -0
  13. package/scripts/build/README.md +167 -0
  14. package/scripts/build/build-config.js +27 -0
  15. package/scripts/build/build-prompt-copier.sh +30 -0
  16. package/scripts/build/performance-monitor.js +869 -0
  17. package/scripts/build/prepare-publish.js +150 -0
  18. package/scripts/build/typescript-fixer.js +621 -0
  19. package/scripts/build/unified-builder.sh +428 -0
  20. package/scripts/build/update-bin-version.js +32 -0
  21. package/scripts/build/validate-agents.js +238 -0
  22. package/scripts/build-index.js +43 -0
  23. package/scripts/build-orchestrator.js +320 -0
  24. package/scripts/check-routing-stats.cjs +122 -0
  25. package/scripts/ci-validation.js +375 -0
  26. package/scripts/cleanup-blocking-coordination.sh +420 -0
  27. package/scripts/cleanup-idle-sessions.sh +59 -0
  28. package/scripts/collect-build-metrics.js +65 -0
  29. package/scripts/demo/README.md +79 -0
  30. package/scripts/demo/autoscaling-demo-simplified.js +963 -0
  31. package/scripts/demo/comprehensive-dashboard-test.js +693 -0
  32. package/scripts/demo/confidence-log.js +87 -0
  33. package/scripts/demo/confidence-report.js +82 -0
  34. package/scripts/demo/demo-multi-swarm-coordination.js +325 -0
  35. package/scripts/demo/demo-production-deployment.js +399 -0
  36. package/scripts/demo/demo-visualization-system.js +149 -0
  37. package/scripts/demo/performance-analysis.cjs +71 -0
  38. package/scripts/demo/performance-analysis.js +71 -0
  39. package/scripts/demo/test-autoscaling-demo.js +314 -0
  40. package/scripts/dependency-optimizer.js +349 -0
  41. package/scripts/dependency-security-assessment.js +331 -0
  42. package/scripts/deploy-sdk.sh +176 -0
  43. package/scripts/deployment-readiness-report.json +179 -0
  44. package/scripts/dev/README.md +264 -0
  45. package/scripts/dev/claude-flow-wrapper.sh +35 -0
  46. package/scripts/dev/claude-monitor.py +419 -0
  47. package/scripts/dev/claude-sparc.sh +562 -0
  48. package/scripts/dev/claude-wrapper.sh +17 -0
  49. package/scripts/dev/demo-phase3-compliance.js +172 -0
  50. package/scripts/dev/demo-task-system.ts +224 -0
  51. package/scripts/dev/deployment-validator.js +315 -0
  52. package/scripts/dev/spawn-claude-terminal.sh +32 -0
  53. package/scripts/dev/start-portal.sh +506 -0
  54. package/scripts/dev/start-web-ui.js +15 -0
  55. package/scripts/dev/stop-portal.sh +311 -0
  56. package/scripts/dev/validate-examples.ts +288 -0
  57. package/scripts/dev/validate-phase2.cjs +451 -0
  58. package/scripts/dev/validate-phase2.js +785 -0
  59. package/scripts/dev/validate-phase3.cjs +208 -0
  60. package/scripts/dev/validate-security-remediation.js +1 -0
  61. package/scripts/ecosystem.config.cjs +90 -0
  62. package/scripts/fix-js-extensions.js +167 -0
  63. package/scripts/generate-basic-types.js +73 -0
  64. package/scripts/generate-changelog.js +318 -0
  65. package/scripts/git-hooks/pre-commit.sh +143 -0
  66. package/scripts/health-checks.js +634 -0
  67. package/scripts/hook-wrapper.sh +54 -0
  68. package/scripts/install/README.md +375 -0
  69. package/scripts/install/REDIS_SETUP_VALIDATION.json +245 -0
  70. package/scripts/install/check-prerequisites.js +303 -0
  71. package/scripts/install/config-wizard.js +606 -0
  72. package/scripts/install/dependency-checker.js +385 -0
  73. package/scripts/install/health-check.js +765 -0
  74. package/scripts/install/install.js +256 -0
  75. package/scripts/install/installation-benchmark.js +461 -0
  76. package/scripts/install/quick-install.js +720 -0
  77. package/scripts/install/quick-start-wizard.js +295 -0
  78. package/scripts/install/redis-cli.js +289 -0
  79. package/scripts/install/redis-install-guides.md +407 -0
  80. package/scripts/install/redis-setup.js +559 -0
  81. package/scripts/install/redis-test.js +278 -0
  82. package/scripts/install/service-manager.js +672 -0
  83. package/scripts/install/setup.js +832 -0
  84. package/scripts/install/uninstall.js +526 -0
  85. package/scripts/install/update.js +461 -0
  86. package/scripts/install-pre-commit-hook.sh +127 -0
  87. package/scripts/legacy/README.md +272 -0
  88. package/scripts/legacy/batch-fix-ts.sh +54 -0
  89. package/scripts/legacy/build-migration.sh +105 -0
  90. package/scripts/legacy/build-monitor.js +209 -0
  91. package/scripts/legacy/build-with-filter.sh +84 -0
  92. package/scripts/legacy/build-workaround.sh +71 -0
  93. package/scripts/legacy/fix-ts-advanced.js +358 -0
  94. package/scripts/legacy/fix-ts-final.sh +50 -0
  95. package/scripts/legacy/fix-ts-targeted.sh +49 -0
  96. package/scripts/legacy/fix-typescript-errors.js +305 -0
  97. package/scripts/legacy/force-build.sh +63 -0
  98. package/scripts/legacy/optimize-performance.js +400 -0
  99. package/scripts/legacy/performance-monitor.js +263 -0
  100. package/scripts/legacy/performance-monitoring.js +532 -0
  101. package/scripts/legacy/performance-test-runner.js +645 -0
  102. package/scripts/legacy/quick-fix-ts.js +281 -0
  103. package/scripts/legacy/safe-build.sh +63 -0
  104. package/scripts/memory-monitor-coordinator.js +322 -0
  105. package/scripts/migrate-to-sdk.sh +520 -0
  106. package/scripts/migration/QUICK-START.md +189 -0
  107. package/scripts/migration/QUICK-START.md.backup-1760135091363 +189 -0
  108. package/scripts/migration/README.md +464 -0
  109. package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +500 -0
  110. package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +500 -0
  111. package/scripts/migration/UPDATE-PATHS-README.md +464 -0
  112. package/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +464 -0
  113. package/scripts/migration/example-patterns.json +19 -0
  114. package/scripts/migration/install-arm64.js +78 -0
  115. package/scripts/migration/install.js +83 -0
  116. package/scripts/migration/migrate-hooks.js +173 -0
  117. package/scripts/migration/migration-examples.ts +318 -0
  118. package/scripts/migration/reorganize-workspace.js +504 -0
  119. package/scripts/migration/test-update-paths.js +359 -0
  120. package/scripts/migration/update-paths.js +664 -0
  121. package/scripts/migration/validate-migration.js +647 -0
  122. package/scripts/monitor-loop.sh +65 -0
  123. package/scripts/monitor-memory.sh +47 -0
  124. package/scripts/monitor-migration.js +339 -0
  125. package/scripts/monitor.py +43 -0
  126. package/scripts/monitoring/README.md +178 -0
  127. package/scripts/monitoring/alert-monitor.sh +220 -0
  128. package/scripts/monitoring/analyze-resources.sh +199 -0
  129. package/scripts/monitoring/dashboards/rate-limiting-dashboard.json +211 -0
  130. package/scripts/monitoring/dynamic-monitor.sh +85 -0
  131. package/scripts/monitoring/launch-stability-test.sh +184 -0
  132. package/scripts/monitoring/monitor-test.sh +93 -0
  133. package/scripts/monitoring/pre-test-validation.sh +208 -0
  134. package/scripts/monitoring/quick-test-alerting.sh +118 -0
  135. package/scripts/monitoring/quick-test-rate-limiting.sh +206 -0
  136. package/scripts/monitoring/rate-limiting-monitor.sh +380 -0
  137. package/scripts/monitoring/resource-monitor.sh +126 -0
  138. package/scripts/monitoring/stability-monitor.js +429 -0
  139. package/scripts/monitoring/test-monitor-quick.sh +54 -0
  140. package/scripts/monitoring/view-alerts.sh +307 -0
  141. package/scripts/npm-metrics-collector.js +482 -0
  142. package/scripts/npm-package-validation.cjs +299 -0
  143. package/scripts/optimization/build-optimizer.js +438 -0
  144. package/scripts/optimization/config-validator.js +761 -0
  145. package/scripts/optimization/test-optimization.js +432 -0
  146. package/scripts/optimization/unified-activation.js +839 -0
  147. package/scripts/optimize-package-swarm.js +54 -0
  148. package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
  149. package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
  150. package/scripts/performance/test-enhanced-backend.sh +504 -0
  151. package/scripts/performance-monitor.js +644 -0
  152. package/scripts/performance-test-runner.js +698 -0
  153. package/scripts/post-deployment-monitoring.js +350 -0
  154. package/scripts/post-edit-pipeline.js +2091 -0
  155. package/scripts/post-install-claude-md.js +78 -0
  156. package/scripts/postinstall.js +79 -0
  157. package/scripts/pre-publish-validation.cjs +212 -0
  158. package/scripts/pre-publish-validation.js +429 -0
  159. package/scripts/redis-lua/cleanup-blocking-coordination.lua +198 -0
  160. package/scripts/release-announcement.js +425 -0
  161. package/scripts/release-notification.js +248 -0
  162. package/scripts/release-rollback.js +376 -0
  163. package/scripts/release-validation.js +460 -0
  164. package/scripts/rollback-sdk.sh +66 -0
  165. package/scripts/run-production-validation.ts +590 -0
  166. package/scripts/run-stability-validation.sh +687 -0
  167. package/scripts/security/README.md +339 -0
  168. package/scripts/security/deployment-validation.cjs +279 -0
  169. package/scripts/security/envelope-encryption-confidence-report.cjs +422 -0
  170. package/scripts/security/install-git-hooks.sh +132 -0
  171. package/scripts/security/install-git-secrets.sh +295 -0
  172. package/scripts/security/rotate-api-keys.js +469 -0
  173. package/scripts/security/ruv-swarm-safe.js +74 -0
  174. package/scripts/security/security-audit.cjs +538 -0
  175. package/scripts/security/setup-redis-auth.sh +397 -0
  176. package/scripts/security/validate-envelope-encryption.cjs +340 -0
  177. package/scripts/security-scan.js +492 -0
  178. package/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +1 -0
  179. package/scripts/src/web/frontend/.claude-flow/metrics/performance.json +9 -0
  180. package/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +10 -0
  181. package/scripts/switch-api.sh +158 -0
  182. package/scripts/sync-agents.js +290 -0
  183. package/scripts/test/50-agent-test.js +625 -0
  184. package/scripts/test/NEW_STABILITY_TEST_GUIDE.md +407 -0
  185. package/scripts/test/README.md +236 -0
  186. package/scripts/test/STABILITY_TEST_EXAMPLE.md +347 -0
  187. package/scripts/test/STABILITY_TEST_README.md +480 -0
  188. package/scripts/test/agent-worker.js +309 -0
  189. package/scripts/test/ai-coordination-test.js +650 -0
  190. package/scripts/test/ai-mesh-coordination-test.js +416 -0
  191. package/scripts/test/check-links.ts +274 -0
  192. package/scripts/test/check-performance-regression.ts +168 -0
  193. package/scripts/test/cli-agent-coordination-test.js +313 -0
  194. package/scripts/test/coordinator-multilingual-test.js +396 -0
  195. package/scripts/test/coordinator-transparency-demo.js +585 -0
  196. package/scripts/test/coverage-report.ts +692 -0
  197. package/scripts/test/generate-swarm-tests.js +633 -0
  198. package/scripts/test/integration-test-validation.cjs +253 -0
  199. package/scripts/test/load-test-swarm.js +576 -0
  200. package/scripts/test/mesh-coordination-zero-overlap-test.js +740 -0
  201. package/scripts/test/multilingual-hello-world-test.js +390 -0
  202. package/scripts/test/quick-multilingual-demo.js +464 -0
  203. package/scripts/test/real-agent-test.js +312 -0
  204. package/scripts/test/run-phase3-compliance-tests.js +427 -0
  205. package/scripts/test/run-stability-test-examples.sh +292 -0
  206. package/scripts/test/stability-results/stability-metrics.jsonl +83 -0
  207. package/scripts/test/stability-results/stability-test-report.json +128 -0
  208. package/scripts/test/stability-results/stability-test.log +1827 -0
  209. package/scripts/test/stability-test-50-agents.js +734 -0
  210. package/scripts/test/test-batch-tasks.ts +29 -0
  211. package/scripts/test/test-byzantine-resolution.js +246 -0
  212. package/scripts/test/test-claude-spawn-options.sh +63 -0
  213. package/scripts/test/test-cli-wizard.js +331 -0
  214. package/scripts/test/test-comprehensive.js +401 -0
  215. package/scripts/test/test-coordination-features.ts +238 -0
  216. package/scripts/test/test-fallback-systems.js +276 -0
  217. package/scripts/test/test-init-command.ts +302 -0
  218. package/scripts/test/test-mcp.ts +251 -0
  219. package/scripts/test/test-runner.ts +568 -0
  220. package/scripts/test/test-swarm-integration.sh +92 -0
  221. package/scripts/test/test-swarm.ts +142 -0
  222. package/scripts/test/validation-summary.ts +408 -0
  223. package/scripts/test-cleanup-performance.sh +416 -0
  224. package/scripts/test-dashboard-auth.cjs +203 -0
  225. package/scripts/test-docker-deployment.sh +207 -0
  226. package/scripts/test-npm-package.cjs +167 -0
  227. package/scripts/test-provider-routing.cjs +226 -0
  228. package/scripts/test-routing-telemetry.cjs +147 -0
  229. package/scripts/test-runner.cjs +154 -0
  230. package/scripts/test-zai-10k.cjs +81 -0
  231. package/scripts/test-zai-api.cjs +191 -0
  232. package/scripts/test-zai-diagnostic.cjs +151 -0
  233. package/scripts/test-zai-final.cjs +128 -0
  234. package/scripts/test-zai-with-env.cjs +85 -0
  235. package/scripts/utils/README.md +261 -0
  236. package/scripts/utils/clean-build-artifacts.sh +94 -0
  237. package/scripts/utils/cleanup-root.sh +69 -0
  238. package/scripts/utils/fix-cliffy-imports.js +307 -0
  239. package/scripts/utils/fix-duplicate-imports.js +114 -0
  240. package/scripts/utils/fix-error-handling.cjs +70 -0
  241. package/scripts/utils/fix-import-paths.js +104 -0
  242. package/scripts/utils/fix-imports.js +116 -0
  243. package/scripts/utils/fix-shebang.js +78 -0
  244. package/scripts/utils/fix-test-modules.js +27 -0
  245. package/scripts/utils/fix-timezone-issue-246.js +200 -0
  246. package/scripts/utils/fix-ts-comprehensive.py +182 -0
  247. package/scripts/utils/fix-ts-targeted-batch.js +250 -0
  248. package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
  249. package/scripts/utils/simple-test-fixer.js +190 -0
  250. package/scripts/utils/validate-metrics-structure.cjs +144 -0
  251. package/scripts/validate-agent-hooks.js +506 -0
  252. package/scripts/validate-changelog.js +241 -0
  253. package/scripts/validate-coordination-cli.js +69 -0
  254. package/scripts/validate-coordination-toggle-integration.cjs +501 -0
  255. package/scripts/validate-docker-infrastructure.sh +502 -0
  256. package/scripts/validate-entry-points.js +300 -0
  257. package/scripts/validate-stage3-performance.ts +377 -0
  258. package/scripts/validate-template-bundling.js +180 -0
  259. package/scripts/validation/README.md +33 -0
  260. package/scripts/validation/acl-security-validation.cjs +214 -0
  261. package/scripts/validation/acl-security-validation.js +402 -0
  262. package/scripts/validation/byzantine-verification.js +407 -0
  263. package/scripts/validation/final-phase-2-consensus.cjs +219 -0
  264. package/scripts/validation/final-security-validation.js +791 -0
  265. package/scripts/validation/final-wasm-validation.cjs +840 -0
  266. package/scripts/validation/integration-test-analysis.js +105 -0
  267. package/scripts/validation/phase-0-comprehensive-validation.js +474 -0
  268. package/scripts/validation/phase-0-consensus-report.js +139 -0
  269. package/scripts/validation/phase-0-final-report.js +112 -0
  270. package/scripts/validation/phase-0-redis-consensus-report.js +129 -0
  271. package/scripts/validation/phase-0-validation-improved.js +490 -0
  272. package/scripts/validation/phase-0-validation-test.js +65 -0
  273. package/scripts/validation/phase-1-consensus-report.cjs +342 -0
  274. package/scripts/validation/phase-1-consensus-validation.cjs +551 -0
  275. package/scripts/validation/phase-1-consensus-validation.js +551 -0
  276. package/scripts/validation/phase-2-consensus-report.cjs +186 -0
  277. package/scripts/validation/phase-2-validation.cjs +171 -0
  278. package/scripts/validation/phase-2-validation.js +171 -0
  279. package/scripts/validation/phase-4-consensus-report.js +181 -0
  280. package/scripts/validation/phase-4-final-validation.js +351 -0
  281. package/scripts/validation/phase-5-consensus-report.cjs +113 -0
  282. package/scripts/validation/phase-5-consensus-report.js +113 -0
  283. package/scripts/validation/security-analysis.js +49 -0
  284. package/scripts/validation/security-validation.js +492 -0
  285. package/scripts/validation/simple-security-validation.js +464 -0
  286. package/scripts/verify-installation.js +112 -0
  287. package/scripts/verify-mcp-server.js +86 -0
  288. package/scripts/verify-sdk-phase1.cjs +293 -0
@@ -0,0 +1,339 @@
1
+ # Security Scripts
2
+
3
+ This directory contains security-related scripts for the Claude Flow project, including security validation, audit tools, and safety mechanisms.
4
+
5
+ ## Scripts
6
+
7
+ ### Security Validation
8
+
9
+ #### `ruv-swarm-safe.js` - Swarm Safety Validator
10
+ Validates swarm operations for security compliance and safe execution patterns.
11
+
12
+ ```bash
13
+ # Basic security validation
14
+ node scripts/security/ruv-swarm-safe.js
15
+
16
+ # Comprehensive security audit
17
+ node scripts/security/ruv-swarm-safe.js --audit
18
+
19
+ # Check specific swarm configuration
20
+ node scripts/security/ruv-swarm-safe.js --config path/to/swarm-config.json
21
+ ```
22
+
23
+ **Features:**
24
+ - Validates swarm configuration security
25
+ - Checks for unsafe agent spawn patterns
26
+ - Audits coordination protocol security
27
+ - Verifies authentication mechanisms
28
+ - Validates input sanitization
29
+
30
+ ## Security Categories
31
+
32
+ ### 1. Swarm Security
33
+ Scripts that ensure secure swarm operations and agent coordination.
34
+
35
+ **Security Checks:**
36
+ - Agent authentication validation
37
+ - Secure communication protocols
38
+ - Resource access controls
39
+ - Execution boundary validation
40
+ - Inter-agent communication security
41
+
42
+ ### 2. Input Validation
43
+ Scripts that validate and sanitize inputs across the system.
44
+
45
+ **Validation Areas:**
46
+ - User input sanitization
47
+ - Configuration file validation
48
+ - API parameter validation
49
+ - File path sanitization
50
+ - Command injection prevention
51
+
52
+ ### 3. Access Control
53
+ Scripts that manage and validate access controls.
54
+
55
+ **Access Control Features:**
56
+ - Permission validation
57
+ - Role-based access control
58
+ - Resource access auditing
59
+ - Privilege escalation detection
60
+ - Unauthorized access prevention
61
+
62
+ ### 4. Cryptographic Security
63
+ Scripts that handle cryptographic operations and validation.
64
+
65
+ **Cryptographic Features:**
66
+ - Key management validation
67
+ - Encryption/decryption verification
68
+ - Digital signature validation
69
+ - Hash function verification
70
+ - Secure random generation
71
+
72
+ ## Usage Patterns
73
+
74
+ ### Security Audit Workflow
75
+ ```bash
76
+ # 1. Run basic security validation
77
+ node scripts/security/ruv-swarm-safe.js
78
+
79
+ # 2. Comprehensive security audit
80
+ node scripts/security/ruv-swarm-safe.js --audit --verbose
81
+
82
+ # 3. Generate security report
83
+ node scripts/security/ruv-swarm-safe.js --report --output security-audit.json
84
+
85
+ # 4. Validate specific components
86
+ node scripts/security/ruv-swarm-safe.js --component swarm-coordination
87
+ ```
88
+
89
+ ### Continuous Security Monitoring
90
+ ```bash
91
+ # Monitor swarm operations
92
+ node scripts/security/ruv-swarm-safe.js --monitor --interval 30s
93
+
94
+ # Real-time security alerts
95
+ node scripts/security/ruv-swarm-safe.js --alerts --webhook https://alerts.example.com
96
+ ```
97
+
98
+ ### Pre-deployment Security Checks
99
+ ```bash
100
+ # Validate deployment security
101
+ node scripts/security/ruv-swarm-safe.js --deployment --environment production
102
+
103
+ # Check configuration security
104
+ node scripts/security/ruv-swarm-safe.js --config-audit --strict
105
+ ```
106
+
107
+ ## Security Standards
108
+
109
+ ### Compliance Requirements
110
+ - **OWASP Top 10** - Protection against common vulnerabilities
111
+ - **Zero Trust** - Never trust, always verify principle
112
+ - **Least Privilege** - Minimal access rights for components
113
+ - **Defense in Depth** - Multiple layers of security controls
114
+ - **Secure by Default** - Default configurations prioritize security
115
+
116
+ ### Security Validation Criteria
117
+
118
+ #### 1. Authentication & Authorization
119
+ - Multi-factor authentication support
120
+ - Role-based access control (RBAC)
121
+ - Session management security
122
+ - Token validation and expiration
123
+ - Privilege escalation prevention
124
+
125
+ #### 2. Input Validation & Sanitization
126
+ - SQL injection prevention
127
+ - Cross-site scripting (XSS) protection
128
+ - Command injection prevention
129
+ - Path traversal protection
130
+ - Input length and format validation
131
+
132
+ #### 3. Data Protection
133
+ - Data encryption at rest and in transit
134
+ - Secure key management
135
+ - Personal data protection (GDPR compliance)
136
+ - Data integrity verification
137
+ - Secure data disposal
138
+
139
+ #### 4. Communication Security
140
+ - TLS/SSL encryption enforcement
141
+ - Certificate validation
142
+ - Secure protocol selection
143
+ - Message integrity verification
144
+ - Replay attack prevention
145
+
146
+ #### 5. Error Handling & Logging
147
+ - Secure error message handling
148
+ - Comprehensive security logging
149
+ - Log integrity protection
150
+ - Sensitive data masking
151
+ - Audit trail maintenance
152
+
153
+ ## Integration with CI/CD
154
+
155
+ Security scripts integrate with the CI/CD pipeline:
156
+
157
+ ```yaml
158
+ # .github/workflows/security.yml
159
+ name: Security Validation
160
+ on: [push, pull_request]
161
+
162
+ jobs:
163
+ security-audit:
164
+ runs-on: ubuntu-latest
165
+ steps:
166
+ - uses: actions/checkout@v3
167
+ - name: Security Validation
168
+ run: |
169
+ node scripts/security/ruv-swarm-safe.js --audit
170
+ node scripts/security/ruv-swarm-safe.js --report --format junit
171
+ ```
172
+
173
+ ### Package.json Integration
174
+ ```json
175
+ {
176
+ "scripts": {
177
+ "security:audit": "node scripts/security/ruv-swarm-safe.js --audit",
178
+ "security:validate": "node scripts/security/ruv-swarm-safe.js",
179
+ "security:report": "node scripts/security/ruv-swarm-safe.js --report",
180
+ "presecurity": "npm audit",
181
+ "postsecurity": "npm run security:validate"
182
+ }
183
+ }
184
+ ```
185
+
186
+ ## Security Configuration
187
+
188
+ ### Default Security Settings
189
+ ```javascript
190
+ // Security configuration example
191
+ const securityConfig = {
192
+ swarm: {
193
+ maxAgents: 50,
194
+ authenticationRequired: true,
195
+ encryptCommunication: true,
196
+ validateAgentCode: true,
197
+ resourceLimits: {
198
+ memory: "512MB",
199
+ cpu: "50%",
200
+ diskSpace: "1GB"
201
+ }
202
+ },
203
+ validation: {
204
+ strictMode: true,
205
+ validateInputs: true,
206
+ sanitizeOutputs: true,
207
+ auditTrail: true
208
+ }
209
+ };
210
+ ```
211
+
212
+ ### Environment-Specific Security
213
+ ```bash
214
+ # Development environment
215
+ export CLAUDE_FLOW_SECURITY_LEVEL=development
216
+ export CLAUDE_FLOW_AUDIT_ENABLED=false
217
+
218
+ # Staging environment
219
+ export CLAUDE_FLOW_SECURITY_LEVEL=staging
220
+ export CLAUDE_FLOW_AUDIT_ENABLED=true
221
+
222
+ # Production environment
223
+ export CLAUDE_FLOW_SECURITY_LEVEL=production
224
+ export CLAUDE_FLOW_AUDIT_ENABLED=true
225
+ export CLAUDE_FLOW_STRICT_MODE=true
226
+ ```
227
+
228
+ ## Security Incident Response
229
+
230
+ ### Incident Detection
231
+ ```bash
232
+ # Check for security incidents
233
+ node scripts/security/ruv-swarm-safe.js --incident-check
234
+
235
+ # Monitor for suspicious activity
236
+ node scripts/security/ruv-swarm-safe.js --monitor --alerts
237
+ ```
238
+
239
+ ### Incident Response Workflow
240
+ 1. **Immediate containment** - Isolate affected components
241
+ 2. **Evidence collection** - Gather logs and audit data
242
+ 3. **Impact assessment** - Determine scope and severity
243
+ 4. **Remediation** - Fix vulnerabilities and restore service
244
+ 5. **Post-incident review** - Learn and improve security measures
245
+
246
+ ### Security Logging
247
+ ```bash
248
+ # Security event logging
249
+ tail -f /var/log/claude-flow-security.log
250
+
251
+ # Audit trail review
252
+ node scripts/security/ruv-swarm-safe.js --audit-trail --since "2024-01-01"
253
+ ```
254
+
255
+ ## Best Practices
256
+
257
+ ### Development Security
258
+ 1. **Security-first design** - Consider security from the beginning
259
+ 2. **Regular security reviews** - Code and configuration audits
260
+ 3. **Automated security testing** - Integration with CI/CD
261
+ 4. **Security training** - Keep team updated on security practices
262
+ 5. **Incident preparedness** - Have response procedures ready
263
+
264
+ ### Operational Security
265
+ 1. **Regular updates** - Keep dependencies and systems updated
266
+ 2. **Access monitoring** - Monitor and audit access patterns
267
+ 3. **Backup security** - Secure backup and recovery procedures
268
+ 4. **Network security** - Implement network-level protections
269
+ 5. **Compliance monitoring** - Regular compliance assessments
270
+
271
+ ### Secure Coding Practices
272
+ 1. **Input validation** - Validate all inputs rigorously
273
+ 2. **Output encoding** - Encode outputs appropriately
274
+ 3. **Error handling** - Handle errors securely without information leakage
275
+ 4. **Authentication** - Implement strong authentication mechanisms
276
+ 5. **Authorization** - Enforce proper access controls
277
+
278
+ ## Troubleshooting
279
+
280
+ ### Security Validation Failures
281
+ ```bash
282
+ # Debug security validation
283
+ node scripts/security/ruv-swarm-safe.js --debug --verbose
284
+
285
+ # Check specific security rules
286
+ node scripts/security/ruv-swarm-safe.js --rule authentication --test
287
+ ```
288
+
289
+ ### Performance Impact
290
+ ```bash
291
+ # Monitor security overhead
292
+ node scripts/security/ruv-swarm-safe.js --performance-monitor
293
+
294
+ # Optimize security checks
295
+ node scripts/security/ruv-swarm-safe.js --optimize
296
+ ```
297
+
298
+ ### False Positives
299
+ ```bash
300
+ # Configure security exceptions
301
+ node scripts/security/ruv-swarm-safe.js --configure-exceptions
302
+
303
+ # Whitelist known good patterns
304
+ node scripts/security/ruv-swarm-safe.js --whitelist path/to/whitelist.json
305
+ ```
306
+
307
+ ## Contributing Security Scripts
308
+
309
+ When adding new security scripts:
310
+
311
+ 1. **Follow security-first principles**
312
+ 2. **Include comprehensive validation**
313
+ 3. **Implement proper error handling**
314
+ 4. **Add detailed logging and auditing**
315
+ 5. **Write security-focused documentation**
316
+ 6. **Test with security scenarios**
317
+ 7. **Review with security team**
318
+
319
+ ## Security Resources
320
+
321
+ ### Documentation
322
+ - OWASP Security Guidelines
323
+ - Claude Flow Security Architecture
324
+ - Threat Modeling Documentation
325
+ - Security Incident Response Procedures
326
+
327
+ ### Tools & Libraries
328
+ - Security scanning tools
329
+ - Vulnerability databases
330
+ - Security testing frameworks
331
+ - Compliance checking tools
332
+
333
+ ### Monitoring & Alerting
334
+ - Security information and event management (SIEM)
335
+ - Intrusion detection systems (IDS)
336
+ - Security metrics and dashboards
337
+ - Automated security alerting
338
+
339
+ For legacy security scripts, see `../legacy/` directory.
@@ -0,0 +1,279 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Security Deployment Validation
5
+ * Phase 0 Security Debt Resolution - Loop 3 Retry
6
+ *
7
+ * Validates that all security tools are properly deployed and functional
8
+ */
9
+
10
+ const { execSync } = require('child_process');
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+
14
+ // ANSI colors
15
+ const colors = {
16
+ reset: '\x1b[0m',
17
+ green: '\x1b[32m',
18
+ red: '\x1b[31m',
19
+ yellow: '\x1b[33m',
20
+ blue: '\x1b[34m',
21
+ cyan: '\x1b[36m'
22
+ };
23
+
24
+ const results = {
25
+ passed: [],
26
+ failed: [],
27
+ warnings: [],
28
+ score: 0
29
+ };
30
+
31
+ function log(message, color = 'reset') {
32
+ console.log(`${colors[color]}${message}${colors.reset}`);
33
+ }
34
+
35
+ function testSection(name) {
36
+ log(`\n🔍 Testing ${name}...`, 'cyan');
37
+ }
38
+
39
+ function testPass(message) {
40
+ log(`✅ ${message}`, 'green');
41
+ results.passed.push(message);
42
+ }
43
+
44
+ function testFail(message) {
45
+ log(`❌ ${message}`, 'red');
46
+ results.failed.push(message);
47
+ }
48
+
49
+ function testWarn(message) {
50
+ log(`⚠️ ${message}`, 'yellow');
51
+ results.warnings.push(message);
52
+ }
53
+
54
+ // Test 1: git-secrets installation
55
+ testSection('git-secrets Installation');
56
+ try {
57
+ const gitSecretsPath = path.join(process.env.HOME, '.local', 'bin', 'git-secrets');
58
+ if (fs.existsSync(gitSecretsPath)) {
59
+ testPass('git-secrets binary found');
60
+
61
+ // Test git hooks
62
+ const hooksDir = path.join(process.cwd(), '.git', 'hooks');
63
+ const requiredHooks = ['pre-commit', 'commit-msg', 'prepare-commit-msg'];
64
+ let hooksInstalled = true;
65
+
66
+ for (const hook of requiredHooks) {
67
+ const hookPath = path.join(hooksDir, hook);
68
+ if (fs.existsSync(hookPath)) {
69
+ const content = fs.readFileSync(hookPath, 'utf8');
70
+ if (content.includes('git-secrets') || content.includes('git secrets')) {
71
+ testPass(`git-secrets ${hook} hook installed`);
72
+ } else {
73
+ testWarn(`${hook} hook exists but may not include git-secrets`);
74
+ hooksInstalled = false;
75
+ }
76
+ } else {
77
+ testFail(`git-secrets ${hook} hook not found`);
78
+ hooksInstalled = false;
79
+ }
80
+ }
81
+
82
+ // Test patterns
83
+ try {
84
+ const patterns = execSync(`${gitSecretsPath} --list`, { encoding: 'utf8' });
85
+ if (patterns.includes('sk-ant-api03')) {
86
+ testPass('Anthropic API key pattern configured');
87
+ } else {
88
+ testWarn('Anthropic API key pattern not found');
89
+ }
90
+
91
+ if (patterns.includes('AWS')) {
92
+ testPass('AWS patterns configured');
93
+ } else {
94
+ testWarn('AWS patterns not configured');
95
+ }
96
+ } catch (err) {
97
+ testWarn('Could not verify git-secrets patterns');
98
+ }
99
+ } else {
100
+ testFail('git-secrets not found in ~/.local/bin');
101
+ }
102
+ } catch (err) {
103
+ testFail(`git-secrets test failed: ${err.message}`);
104
+ }
105
+
106
+ // Test 2: Redis Authentication
107
+ testSection('Redis Authentication');
108
+ try {
109
+ // Check .env for REDIS_PASSWORD
110
+ const envPath = path.join(process.cwd(), '.env');
111
+ if (fs.existsSync(envPath)) {
112
+ const envContent = fs.readFileSync(envPath, 'utf8');
113
+ const redisPasswordMatch = envContent.match(/^REDIS_PASSWORD=(.+)$/m);
114
+
115
+ if (redisPasswordMatch && redisPasswordMatch[1].trim().length >= 32) {
116
+ testPass(`REDIS_PASSWORD configured (${redisPasswordMatch[1].trim().length} chars)`);
117
+
118
+ // Test Redis connection with auth
119
+ try {
120
+ const redisPassword = redisPasswordMatch[1].trim();
121
+ execSync(`redis-cli -a "${redisPassword}" ping`, { encoding: 'utf8', stdio: 'pipe' });
122
+ testPass('Redis authentication working');
123
+ } catch (err) {
124
+ testFail('Redis authentication failed - password may not be set in Redis');
125
+ }
126
+ } else if (redisPasswordMatch) {
127
+ testFail(`REDIS_PASSWORD too weak (${redisPasswordMatch[1].trim().length} chars, need ≥32)`);
128
+ } else {
129
+ testFail('REDIS_PASSWORD not found in .env');
130
+ }
131
+ } else {
132
+ testFail('.env file not found');
133
+ }
134
+ } catch (err) {
135
+ testFail(`Redis authentication test failed: ${err.message}`);
136
+ }
137
+
138
+ // Test 3: File Permissions (WSL-aware)
139
+ testSection('File Permissions');
140
+ try {
141
+ const sensitiveFiles = ['.env', '.env.keys'];
142
+
143
+ // Detect WSL
144
+ let isWSL = false;
145
+ try {
146
+ const unameResult = execSync('uname -r', { encoding: 'utf8' });
147
+ isWSL = unameResult.toLowerCase().includes('microsoft') || unameResult.toLowerCase().includes('wsl');
148
+ } catch (err) {
149
+ // Not WSL
150
+ }
151
+
152
+ if (isWSL) {
153
+ testWarn('Running on WSL - file permissions may be limited by Windows');
154
+ testWarn('Ensure .env files are not in version control instead');
155
+ }
156
+
157
+ for (const file of sensitiveFiles) {
158
+ const filePath = path.join(process.cwd(), file);
159
+ if (fs.existsSync(filePath)) {
160
+ try {
161
+ const stats = fs.statSync(filePath);
162
+ const mode = (stats.mode & parseInt('777', 8)).toString(8);
163
+
164
+ if (isWSL) {
165
+ // On WSL, just check it exists and warn
166
+ testWarn(`${file} permissions: ${mode} (WSL limitation - ensure not in git)`);
167
+
168
+ // Check .gitignore
169
+ const gitignorePath = path.join(process.cwd(), '.gitignore');
170
+ if (fs.existsSync(gitignorePath)) {
171
+ const gitignore = fs.readFileSync(gitignorePath, 'utf8');
172
+ if (gitignore.includes(file)) {
173
+ testPass(`${file} is in .gitignore`);
174
+ } else {
175
+ testFail(`${file} NOT in .gitignore - CRITICAL`);
176
+ }
177
+ }
178
+ } else {
179
+ // On native Linux/macOS, enforce permissions
180
+ if (mode === '600') {
181
+ testPass(`${file} has secure permissions (600)`);
182
+ } else {
183
+ testFail(`${file} has insecure permissions: ${mode} (expected 600)`);
184
+ }
185
+ }
186
+ } catch (err) {
187
+ testWarn(`Could not check permissions for ${file}`);
188
+ }
189
+ }
190
+ }
191
+ } catch (err) {
192
+ testFail(`File permissions test failed: ${err.message}`);
193
+ }
194
+
195
+ // Test 4: Security Audit Script
196
+ testSection('Security Audit Script');
197
+ try {
198
+ const auditScriptPath = path.join(process.cwd(), 'scripts', 'security', 'security-audit.cjs');
199
+ if (fs.existsSync(auditScriptPath)) {
200
+ testPass('security-audit.cjs exists');
201
+
202
+ // Try to run it
203
+ try {
204
+ execSync('node scripts/security/security-audit.cjs --json', {
205
+ encoding: 'utf8',
206
+ stdio: 'pipe',
207
+ timeout: 30000
208
+ });
209
+ testPass('security-audit.cjs executes successfully');
210
+ } catch (err) {
211
+ testWarn('security-audit.cjs runs but may report issues (expected)');
212
+ }
213
+ } else {
214
+ testFail('security-audit.cjs not found');
215
+ }
216
+ } catch (err) {
217
+ testFail(`Security audit script test failed: ${err.message}`);
218
+ }
219
+
220
+ // Test 5: Documentation
221
+ testSection('Security Documentation');
222
+ const docs = [
223
+ 'docs/security/GIT_SECRETS_SETUP.md',
224
+ 'docs/security/REDIS_AUTHENTICATION.md'
225
+ ];
226
+
227
+ for (const doc of docs) {
228
+ const docPath = path.join(process.cwd(), doc);
229
+ if (fs.existsSync(docPath)) {
230
+ testPass(`${doc} exists`);
231
+ } else {
232
+ testWarn(`${doc} not found`);
233
+ }
234
+ }
235
+
236
+ // Calculate Score
237
+ const totalTests = results.passed.length + results.failed.length;
238
+ const passedTests = results.passed.length;
239
+ results.score = totalTests > 0 ? (passedTests / totalTests) : 0;
240
+
241
+ // Summary Report
242
+ log('\n' + '═'.repeat(60), 'blue');
243
+ log('SECURITY DEPLOYMENT VALIDATION REPORT', 'blue');
244
+ log('═'.repeat(60), 'blue');
245
+
246
+ log(`\n📊 Results:`, 'cyan');
247
+ log(` ✅ Passed: ${results.passed.length}`, 'green');
248
+ log(` ❌ Failed: ${results.failed.length}`, 'red');
249
+ log(` ⚠️ Warnings: ${results.warnings.length}`, 'yellow');
250
+ log(` 📈 Score: ${(results.score * 100).toFixed(0)}%`, results.score >= 0.9 ? 'green' : results.score >= 0.75 ? 'yellow' : 'red');
251
+
252
+ if (results.failed.length > 0) {
253
+ log(`\n❌ Failed Tests:`, 'red');
254
+ results.failed.forEach((fail, i) => log(` ${i + 1}. ${fail}`, 'red'));
255
+ }
256
+
257
+ if (results.warnings.length > 0) {
258
+ log(`\n⚠️ Warnings:`, 'yellow');
259
+ results.warnings.forEach((warn, i) => log(` ${i + 1}. ${warn}`, 'yellow'));
260
+ }
261
+
262
+ // Recommendations
263
+ log(`\n💡 Next Steps:`, 'cyan');
264
+ if (results.score >= 0.9) {
265
+ log(' ✅ Security deployment complete - ready for production', 'green');
266
+ log(' 🔄 Run npm run security:full-audit for comprehensive check', 'blue');
267
+ } else if (results.score >= 0.75) {
268
+ log(' ⚠️ Security deployment mostly complete - address warnings', 'yellow');
269
+ log(' 🔍 Review failed tests and warnings above', 'yellow');
270
+ } else {
271
+ log(' ❌ Security deployment incomplete - address failures', 'red');
272
+ log(' 📚 Review security documentation', 'red');
273
+ log(' 🔧 Re-run deployment scripts', 'red');
274
+ }
275
+
276
+ log('\n' + '═'.repeat(60), 'blue');
277
+
278
+ // Exit with appropriate code
279
+ process.exit(results.score >= 0.75 ? 0 : 1);