agentic-qe 1.4.3 → 1.5.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 (410) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +133 -27
  2. package/.claude/agents/qe-api-contract-validator.md.backup +1148 -0
  3. package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +1148 -0
  4. package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +1123 -0
  5. package/.claude/agents/qe-chaos-engineer.md +142 -23
  6. package/.claude/agents/qe-chaos-engineer.md.backup +808 -0
  7. package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +808 -0
  8. package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +787 -0
  9. package/.claude/agents/qe-code-complexity.md +111 -23
  10. package/.claude/agents/qe-code-complexity.md.backup +291 -0
  11. package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +291 -0
  12. package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +286 -0
  13. package/.claude/agents/qe-coverage-analyzer.md +306 -30
  14. package/.claude/agents/qe-coverage-analyzer.md.backup +467 -0
  15. package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +467 -0
  16. package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +438 -0
  17. package/.claude/agents/qe-deployment-readiness.md +84 -28
  18. package/.claude/agents/qe-deployment-readiness.md.backup +1166 -0
  19. package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +1166 -0
  20. package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +1140 -0
  21. package/.claude/agents/qe-flaky-test-hunter.md +277 -35
  22. package/.claude/agents/qe-flaky-test-hunter.md.backup +1195 -0
  23. package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +1195 -0
  24. package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +1162 -0
  25. package/.claude/agents/qe-fleet-commander.md +126 -23
  26. package/.claude/agents/qe-fleet-commander.md.backup +718 -0
  27. package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +718 -0
  28. package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +697 -0
  29. package/.claude/agents/qe-performance-tester.md +314 -57
  30. package/.claude/agents/qe-performance-tester.md.backup +428 -0
  31. package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +428 -0
  32. package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +372 -0
  33. package/.claude/agents/qe-production-intelligence.md +126 -27
  34. package/.claude/agents/qe-production-intelligence.md.backup +1219 -0
  35. package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +1219 -0
  36. package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +1194 -0
  37. package/.claude/agents/qe-quality-analyzer.md +127 -32
  38. package/.claude/agents/qe-quality-analyzer.md.backup +425 -0
  39. package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +425 -0
  40. package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +394 -0
  41. package/.claude/agents/qe-quality-gate.md +148 -33
  42. package/.claude/agents/qe-quality-gate.md.backup +446 -0
  43. package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +446 -0
  44. package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +415 -0
  45. package/.claude/agents/qe-regression-risk-analyzer.md +78 -27
  46. package/.claude/agents/qe-regression-risk-analyzer.md.backup +1009 -0
  47. package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +1009 -0
  48. package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +984 -0
  49. package/.claude/agents/qe-requirements-validator.md +131 -27
  50. package/.claude/agents/qe-requirements-validator.md.backup +748 -0
  51. package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +748 -0
  52. package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +723 -0
  53. package/.claude/agents/qe-security-scanner.md +137 -62
  54. package/.claude/agents/qe-security-scanner.md.backup +634 -0
  55. package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +634 -0
  56. package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +573 -0
  57. package/.claude/agents/qe-test-data-architect.md +129 -26
  58. package/.claude/agents/qe-test-data-architect.md.backup +1064 -0
  59. package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +1064 -0
  60. package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +1040 -0
  61. package/.claude/agents/qe-test-executor.md +165 -21
  62. package/.claude/agents/qe-test-executor.md.backup +389 -0
  63. package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +389 -0
  64. package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +369 -0
  65. package/.claude/agents/qe-test-generator.md +379 -34
  66. package/.claude/agents/qe-test-generator.md.backup +997 -0
  67. package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +997 -0
  68. package/.claude/agents/qe-visual-tester.md +236 -23
  69. package/.claude/agents/qe-visual-tester.md.backup +777 -0
  70. package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +777 -0
  71. package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +756 -0
  72. package/.claude/agents/subagents/qe-code-reviewer.md +59 -0
  73. package/.claude/agents/subagents/qe-data-generator.md +60 -0
  74. package/.claude/agents/subagents/qe-integration-tester.md +77 -0
  75. package/.claude/agents/subagents/qe-performance-validator.md +55 -0
  76. package/.claude/agents/subagents/qe-security-auditor.md +51 -0
  77. package/.claude/agents/subagents/qe-test-implementer.md +371 -0
  78. package/.claude/agents/subagents/qe-test-refactorer.md +510 -0
  79. package/.claude/agents/subagents/qe-test-writer.md +603 -0
  80. package/.claude/skills/accessibility-testing/SKILL.md +764 -777
  81. package/.claude/skills/agentic-quality-engineering/SKILL.md +0 -6
  82. package/.claude/skills/api-testing-patterns/SKILL.md +0 -12
  83. package/.claude/skills/bug-reporting-excellence/SKILL.md +0 -6
  84. package/.claude/skills/chaos-engineering-resilience/SKILL.md +0 -6
  85. package/.claude/skills/code-review-quality/SKILL.md +0 -6
  86. package/.claude/skills/compatibility-testing/SKILL.md +0 -6
  87. package/.claude/skills/compliance-testing/SKILL.md +0 -6
  88. package/.claude/skills/consultancy-practices/SKILL.md +0 -6
  89. package/.claude/skills/context-driven-testing/SKILL.md +0 -6
  90. package/.claude/skills/contract-testing/SKILL.md +0 -6
  91. package/.claude/skills/database-testing/SKILL.md +0 -6
  92. package/.claude/skills/exploratory-testing-advanced/SKILL.md +0 -6
  93. package/.claude/skills/holistic-testing-pact/SKILL.md +0 -6
  94. package/.claude/skills/localization-testing/SKILL.md +0 -6
  95. package/.claude/skills/mobile-testing/SKILL.md +535 -548
  96. package/.claude/skills/mutation-testing/SKILL.md +0 -6
  97. package/.claude/skills/performance-testing/SKILL.md +0 -6
  98. package/.claude/skills/quality-metrics/SKILL.md +0 -12
  99. package/.claude/skills/refactoring-patterns/SKILL.md +0 -6
  100. package/.claude/skills/regression-testing/SKILL.md +1033 -1045
  101. package/.claude/skills/risk-based-testing/SKILL.md +0 -12
  102. package/.claude/skills/security-testing/SKILL.md +0 -6
  103. package/.claude/skills/shift-left-testing/SKILL.md +529 -535
  104. package/.claude/skills/shift-right-testing/SKILL.md +585 -591
  105. package/.claude/skills/tdd-london-chicago/SKILL.md +0 -6
  106. package/.claude/skills/technical-writing/SKILL.md +0 -6
  107. package/.claude/skills/test-automation-strategy/SKILL.md +0 -6
  108. package/.claude/skills/test-data-management/SKILL.md +1054 -1067
  109. package/.claude/skills/test-design-techniques/SKILL.md +0 -6
  110. package/.claude/skills/test-environment-management/SKILL.md +0 -6
  111. package/.claude/skills/test-reporting-analytics/SKILL.md +0 -6
  112. package/.claude/skills/visual-testing-advanced/SKILL.md +0 -6
  113. package/.claude/skills/xp-practices/SKILL.md +0 -6
  114. package/CHANGELOG.md +504 -0
  115. package/README.md +24 -16
  116. package/dist/cli/commands/init.d.ts +4 -0
  117. package/dist/cli/commands/init.d.ts.map +1 -1
  118. package/dist/cli/commands/init.js +97 -44
  119. package/dist/cli/commands/init.js.map +1 -1
  120. package/dist/core/FleetManager.d.ts.map +1 -1
  121. package/dist/core/FleetManager.js +17 -5
  122. package/dist/core/FleetManager.js.map +1 -1
  123. package/dist/core/MemoryManager.d.ts +27 -0
  124. package/dist/core/MemoryManager.d.ts.map +1 -1
  125. package/dist/core/MemoryManager.js +69 -4
  126. package/dist/core/MemoryManager.js.map +1 -1
  127. package/dist/core/PatternDatabaseAdapter.d.ts.map +1 -1
  128. package/dist/core/PatternDatabaseAdapter.js +14 -4
  129. package/dist/core/PatternDatabaseAdapter.js.map +1 -1
  130. package/dist/learning/LearningEngine.d.ts.map +1 -1
  131. package/dist/learning/LearningEngine.js +18 -4
  132. package/dist/learning/LearningEngine.js.map +1 -1
  133. package/dist/mcp/handlers/coordination/index.d.ts +14 -14
  134. package/dist/mcp/handlers/coordination/index.d.ts.map +1 -1
  135. package/dist/mcp/handlers/coordination/index.js +14 -14
  136. package/dist/mcp/handlers/coordination/index.js.map +1 -1
  137. package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
  138. package/dist/mcp/handlers/coordination/task-status.js +3 -5
  139. package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
  140. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  141. package/dist/mcp/handlers/phase2/Phase2Tools.js +39 -10
  142. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  143. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +63 -0
  144. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -0
  145. package/dist/mcp/handlers/phase3/Phase3DomainTools.js +885 -0
  146. package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -0
  147. package/dist/mcp/handlers/phase3/index.d.ts +6 -0
  148. package/dist/mcp/handlers/phase3/index.d.ts.map +1 -0
  149. package/dist/mcp/handlers/phase3/index.js +10 -0
  150. package/dist/mcp/handlers/phase3/index.js.map +1 -0
  151. package/dist/mcp/handlers/prediction/index.d.ts +10 -10
  152. package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
  153. package/dist/mcp/handlers/prediction/index.js +10 -10
  154. package/dist/mcp/handlers/prediction/index.js.map +1 -1
  155. package/dist/mcp/handlers/security/check-authz.d.ts +152 -0
  156. package/dist/mcp/handlers/security/check-authz.d.ts.map +1 -0
  157. package/dist/mcp/handlers/security/check-authz.js +434 -0
  158. package/dist/mcp/handlers/security/check-authz.js.map +1 -0
  159. package/dist/mcp/handlers/security/generate-report.d.ts +156 -0
  160. package/dist/mcp/handlers/security/generate-report.d.ts.map +1 -0
  161. package/dist/mcp/handlers/security/generate-report.js +469 -0
  162. package/dist/mcp/handlers/security/generate-report.js.map +1 -0
  163. package/dist/mcp/handlers/security/index.d.ts +80 -0
  164. package/dist/mcp/handlers/security/index.d.ts.map +1 -0
  165. package/dist/mcp/handlers/security/index.js +91 -0
  166. package/dist/mcp/handlers/security/index.js.map +1 -0
  167. package/dist/mcp/handlers/security/scan-comprehensive.d.ts +66 -0
  168. package/dist/mcp/handlers/security/scan-comprehensive.d.ts.map +1 -0
  169. package/dist/mcp/handlers/security/scan-comprehensive.js +296 -0
  170. package/dist/mcp/handlers/security/scan-comprehensive.js.map +1 -0
  171. package/dist/mcp/handlers/security/scan-dependencies.d.ts +148 -0
  172. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +1 -0
  173. package/dist/mcp/handlers/security/scan-dependencies.js +354 -0
  174. package/dist/mcp/handlers/security/scan-dependencies.js.map +1 -0
  175. package/dist/mcp/handlers/security/validate-auth.d.ts +128 -0
  176. package/dist/mcp/handlers/security/validate-auth.d.ts.map +1 -0
  177. package/dist/mcp/handlers/security/validate-auth.js +294 -0
  178. package/dist/mcp/handlers/security/validate-auth.js.map +1 -0
  179. package/dist/mcp/handlers/task-orchestrate.d.ts +21 -1
  180. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  181. package/dist/mcp/handlers/task-orchestrate.js +32 -2
  182. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  183. package/dist/mcp/handlers/test/generate-integration-tests.d.ts +95 -0
  184. package/dist/mcp/handlers/test/generate-integration-tests.d.ts.map +1 -0
  185. package/dist/mcp/handlers/test/generate-integration-tests.js +286 -0
  186. package/dist/mcp/handlers/test/generate-integration-tests.js.map +1 -0
  187. package/dist/mcp/handlers/test/generate-unit-tests.d.ts +89 -0
  188. package/dist/mcp/handlers/test/generate-unit-tests.d.ts.map +1 -0
  189. package/dist/mcp/handlers/test/generate-unit-tests.js +273 -0
  190. package/dist/mcp/handlers/test/generate-unit-tests.js.map +1 -0
  191. package/dist/mcp/handlers/test/optimize-test-suite.d.ts +97 -0
  192. package/dist/mcp/handlers/test/optimize-test-suite.d.ts.map +1 -0
  193. package/dist/mcp/handlers/test/optimize-test-suite.js +282 -0
  194. package/dist/mcp/handlers/test/optimize-test-suite.js.map +1 -0
  195. package/dist/mcp/server.d.ts.map +1 -1
  196. package/dist/mcp/server.js +212 -1
  197. package/dist/mcp/server.js.map +1 -1
  198. package/dist/mcp/tools/deprecated.d.ts +1390 -0
  199. package/dist/mcp/tools/deprecated.d.ts.map +1 -0
  200. package/dist/mcp/tools/deprecated.js +859 -0
  201. package/dist/mcp/tools/deprecated.js.map +1 -0
  202. package/dist/mcp/tools/qe/api-contract/index.d.ts +138 -0
  203. package/dist/mcp/tools/qe/api-contract/index.d.ts.map +1 -0
  204. package/dist/mcp/tools/qe/api-contract/index.js +572 -0
  205. package/dist/mcp/tools/qe/api-contract/index.js.map +1 -0
  206. package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts +110 -0
  207. package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts.map +1 -0
  208. package/dist/mcp/tools/qe/code-quality/analyze-complexity.js +381 -0
  209. package/dist/mcp/tools/qe/code-quality/analyze-complexity.js.map +1 -0
  210. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts +115 -0
  211. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts.map +1 -0
  212. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js +461 -0
  213. package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js.map +1 -0
  214. package/dist/mcp/tools/qe/code-quality/index.d.ts +12 -0
  215. package/dist/mcp/tools/qe/code-quality/index.d.ts.map +1 -0
  216. package/dist/mcp/tools/qe/code-quality/index.js +30 -0
  217. package/dist/mcp/tools/qe/code-quality/index.js.map +1 -0
  218. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts +58 -0
  219. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts.map +1 -0
  220. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js +172 -0
  221. package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js.map +1 -0
  222. package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts +73 -0
  223. package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts.map +1 -0
  224. package/dist/mcp/tools/qe/coverage/calculate-trends.js +240 -0
  225. package/dist/mcp/tools/qe/coverage/calculate-trends.js.map +1 -0
  226. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts +38 -0
  227. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts.map +1 -0
  228. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js +204 -0
  229. package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js.map +1 -0
  230. package/dist/mcp/tools/qe/coverage/index.d.ts +12 -0
  231. package/dist/mcp/tools/qe/coverage/index.d.ts.map +1 -0
  232. package/dist/mcp/tools/qe/coverage/index.js +23 -0
  233. package/dist/mcp/tools/qe/coverage/index.js.map +1 -0
  234. package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts +46 -0
  235. package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts.map +1 -0
  236. package/dist/mcp/tools/qe/coverage/recommend-tests.js +248 -0
  237. package/dist/mcp/tools/qe/coverage/recommend-tests.js.map +1 -0
  238. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts +179 -0
  239. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts.map +1 -0
  240. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js +554 -0
  241. package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js.map +1 -0
  242. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts +172 -0
  243. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts.map +1 -0
  244. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js +498 -0
  245. package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js.map +1 -0
  246. package/dist/mcp/tools/qe/flaky-detection/index.d.ts +35 -0
  247. package/dist/mcp/tools/qe/flaky-detection/index.d.ts.map +1 -0
  248. package/dist/mcp/tools/qe/flaky-detection/index.js +66 -0
  249. package/dist/mcp/tools/qe/flaky-detection/index.js.map +1 -0
  250. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts +159 -0
  251. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -0
  252. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +462 -0
  253. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -0
  254. package/dist/mcp/tools/qe/fleet/index.d.ts +422 -0
  255. package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -0
  256. package/dist/mcp/tools/qe/fleet/index.js +652 -0
  257. package/dist/mcp/tools/qe/fleet/index.js.map +1 -0
  258. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts +180 -0
  259. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts.map +1 -0
  260. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js +347 -0
  261. package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js.map +1 -0
  262. package/dist/mcp/tools/qe/performance/generate-report.d.ts +146 -0
  263. package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -0
  264. package/dist/mcp/tools/qe/performance/generate-report.js +354 -0
  265. package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -0
  266. package/dist/mcp/tools/qe/performance/index.d.ts +13 -0
  267. package/dist/mcp/tools/qe/performance/index.d.ts.map +1 -0
  268. package/dist/mcp/tools/qe/performance/index.js +24 -0
  269. package/dist/mcp/tools/qe/performance/index.js.map +1 -0
  270. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts +120 -0
  271. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -0
  272. package/dist/mcp/tools/qe/performance/monitor-realtime.js +215 -0
  273. package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -0
  274. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts +68 -0
  275. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -0
  276. package/dist/mcp/tools/qe/performance/run-benchmark.js +120 -0
  277. package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -0
  278. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts +239 -0
  279. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -0
  280. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +671 -0
  281. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -0
  282. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +219 -0
  283. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -0
  284. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +732 -0
  285. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -0
  286. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts +447 -0
  287. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -0
  288. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +551 -0
  289. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -0
  290. package/dist/mcp/tools/qe/quality-gates/index.d.ts +40 -0
  291. package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -0
  292. package/dist/mcp/tools/qe/quality-gates/index.js +56 -0
  293. package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -0
  294. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts +226 -0
  295. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -0
  296. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +603 -0
  297. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -0
  298. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts +212 -0
  299. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -0
  300. package/dist/mcp/tools/qe/regression/analyze-risk.js +617 -0
  301. package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -0
  302. package/dist/mcp/tools/qe/regression/index.d.ts +36 -0
  303. package/dist/mcp/tools/qe/regression/index.d.ts.map +1 -0
  304. package/dist/mcp/tools/qe/regression/index.js +63 -0
  305. package/dist/mcp/tools/qe/regression/index.js.map +1 -0
  306. package/dist/mcp/tools/qe/regression/select-tests.d.ts +241 -0
  307. package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -0
  308. package/dist/mcp/tools/qe/regression/select-tests.js +601 -0
  309. package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -0
  310. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts +134 -0
  311. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -0
  312. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +737 -0
  313. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -0
  314. package/dist/mcp/tools/qe/requirements/index.d.ts +40 -0
  315. package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -0
  316. package/dist/mcp/tools/qe/requirements/index.js +84 -0
  317. package/dist/mcp/tools/qe/requirements/index.js.map +1 -0
  318. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts +196 -0
  319. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -0
  320. package/dist/mcp/tools/qe/requirements/validate-requirements.js +740 -0
  321. package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -0
  322. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts +300 -0
  323. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -0
  324. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +492 -0
  325. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -0
  326. package/dist/mcp/tools/qe/security/index.d.ts +34 -0
  327. package/dist/mcp/tools/qe/security/index.d.ts.map +1 -0
  328. package/dist/mcp/tools/qe/security/index.js +44 -0
  329. package/dist/mcp/tools/qe/security/index.js.map +1 -0
  330. package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts +240 -0
  331. package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts.map +1 -0
  332. package/dist/mcp/tools/qe/security/scan-comprehensive.js +535 -0
  333. package/dist/mcp/tools/qe/security/scan-comprehensive.js.map +1 -0
  334. package/dist/mcp/tools/qe/security/validate-compliance.d.ts +299 -0
  335. package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -0
  336. package/dist/mcp/tools/qe/security/validate-compliance.js +517 -0
  337. package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -0
  338. package/dist/mcp/tools/qe/shared/types.d.ts +840 -0
  339. package/dist/mcp/tools/qe/shared/types.d.ts.map +1 -0
  340. package/dist/mcp/tools/qe/shared/types.js +13 -0
  341. package/dist/mcp/tools/qe/shared/types.js.map +1 -0
  342. package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts +264 -0
  343. package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts.map +1 -0
  344. package/dist/mcp/tools/qe/test-data/analyze-schema.js +553 -0
  345. package/dist/mcp/tools/qe/test-data/analyze-schema.js.map +1 -0
  346. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +167 -0
  347. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -0
  348. package/dist/mcp/tools/qe/test-data/generate-test-data.js +336 -0
  349. package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -0
  350. package/dist/mcp/tools/qe/test-data/index.d.ts +44 -0
  351. package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -0
  352. package/dist/mcp/tools/qe/test-data/index.js +90 -0
  353. package/dist/mcp/tools/qe/test-data/index.js.map +1 -0
  354. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts +165 -0
  355. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -0
  356. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +342 -0
  357. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -0
  358. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts +144 -0
  359. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts.map +1 -0
  360. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js +432 -0
  361. package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js.map +1 -0
  362. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts +98 -0
  363. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts.map +1 -0
  364. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js +459 -0
  365. package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js.map +1 -0
  366. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts +83 -0
  367. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts.map +1 -0
  368. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js +483 -0
  369. package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js.map +1 -0
  370. package/dist/mcp/tools/qe/test-generation/index.d.ts +56 -0
  371. package/dist/mcp/tools/qe/test-generation/index.d.ts.map +1 -0
  372. package/dist/mcp/tools/qe/test-generation/index.js +97 -0
  373. package/dist/mcp/tools/qe/test-generation/index.js.map +1 -0
  374. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts +124 -0
  375. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts.map +1 -0
  376. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js +362 -0
  377. package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js.map +1 -0
  378. package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts +119 -0
  379. package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts.map +1 -0
  380. package/dist/mcp/tools/qe/visual/compare-screenshots.js +280 -0
  381. package/dist/mcp/tools/qe/visual/compare-screenshots.js.map +1 -0
  382. package/dist/mcp/tools/qe/visual/detect-regression.d.ts +138 -0
  383. package/dist/mcp/tools/qe/visual/detect-regression.d.ts.map +1 -0
  384. package/dist/mcp/tools/qe/visual/detect-regression.js +271 -0
  385. package/dist/mcp/tools/qe/visual/detect-regression.js.map +1 -0
  386. package/dist/mcp/tools/qe/visual/index.d.ts +16 -0
  387. package/dist/mcp/tools/qe/visual/index.d.ts.map +1 -0
  388. package/dist/mcp/tools/qe/visual/index.js +22 -0
  389. package/dist/mcp/tools/qe/visual/index.js.map +1 -0
  390. package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts +276 -0
  391. package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts.map +1 -0
  392. package/dist/mcp/tools/qe/visual/validate-accessibility.js +413 -0
  393. package/dist/mcp/tools/qe/visual/validate-accessibility.js.map +1 -0
  394. package/dist/mcp/tools.d.ts +44 -0
  395. package/dist/mcp/tools.d.ts.map +1 -1
  396. package/dist/mcp/tools.js +1980 -1
  397. package/dist/mcp/tools.js.map +1 -1
  398. package/package.json +2 -2
  399. package/dist/learning/__mocks__/LearningEngine.d.ts +0 -39
  400. package/dist/learning/__mocks__/LearningEngine.d.ts.map +0 -1
  401. package/dist/learning/__mocks__/LearningEngine.js +0 -116
  402. package/dist/learning/__mocks__/LearningEngine.js.map +0 -1
  403. package/dist/utils/__mocks__/Database.d.ts +0 -85
  404. package/dist/utils/__mocks__/Database.d.ts.map +0 -1
  405. package/dist/utils/__mocks__/Database.js +0 -125
  406. package/dist/utils/__mocks__/Database.js.map +0 -1
  407. package/dist/utils/__mocks__/Logger.d.ts +0 -26
  408. package/dist/utils/__mocks__/Logger.d.ts.map +0 -1
  409. package/dist/utils/__mocks__/Logger.js +0 -44
  410. package/dist/utils/__mocks__/Logger.js.map +0 -1
@@ -0,0 +1,573 @@
1
+ ---
2
+ name: qe-security-scanner
3
+ description: Multi-layer security scanning with SAST/DAST, vulnerability detection, and compliance validation
4
+ ---
5
+
6
+ # Security Scanner Agent
7
+
8
+ **Role**: Security validation specialist focused on SAST/DAST scanning, vulnerability detection, and compliance validation for comprehensive security testing.
9
+
10
+ ## Skills Available
11
+
12
+ ### Core Testing Skills (Phase 1)
13
+ - **agentic-quality-engineering**: Using AI agents as force multipliers in quality work
14
+ - **security-testing**: Test for security vulnerabilities using OWASP principles and security testing techniques
15
+ - **risk-based-testing**: Focus testing effort on highest-risk areas using risk assessment
16
+
17
+ ### Phase 2 Skills (NEW in v1.3.0)
18
+ - **compliance-testing**: Regulatory compliance testing for GDPR, CCPA, HIPAA, SOC2, and PCI-DSS
19
+ - **shift-left-testing**: Move testing activities earlier in development lifecycle with TDD, BDD, and design for testability
20
+
21
+ Use these skills via:
22
+ ```bash
23
+ # Via CLI
24
+ aqe skills show compliance-testing
25
+
26
+ # Via Skill tool in Claude Code
27
+ Skill("compliance-testing")
28
+ Skill("shift-left-testing")
29
+ ```
30
+
31
+ ## Core Capabilities
32
+
33
+ ### 🔒 Static Application Security Testing (SAST)
34
+ - **Code Analysis**: Deep static code analysis for security vulnerabilities
35
+ - **Dependency Scanning**: Third-party library vulnerability detection
36
+ - **Secret Detection**: API keys, passwords, and sensitive data identification
37
+ - **Policy Enforcement**: Custom security rules and coding standards
38
+ - **Language Support**: Multi-language security analysis (Java, Python, JavaScript, C#, etc.)
39
+
40
+ ### 🌐 Dynamic Application Security Testing (DAST)
41
+ - **Web Application Scanning**: Runtime vulnerability detection
42
+ - **API Security Testing**: REST/GraphQL endpoint security validation
43
+ - **Authentication Testing**: Session management and access control validation
44
+ - **Injection Testing**: SQL, XSS, XXE, and other injection attack detection
45
+ - **Business Logic Testing**: Application workflow security validation
46
+
47
+ ### 🛡️ Vulnerability Management
48
+ - **CVE Monitoring**: Real-time vulnerability database monitoring
49
+ - **Risk Assessment**: CVSS scoring and impact analysis
50
+ - **False Positive Filtering**: Intelligent vulnerability validation
51
+ - **Remediation Guidance**: Automated fix suggestions and documentation
52
+ - **Trend Analysis**: Security posture tracking over time
53
+
54
+ ## Workflow Orchestration
55
+
56
+ ### Pre-Execution Phase
57
+
58
+ **Native TypeScript Hooks:**
59
+ ```typescript
60
+ // Called automatically by BaseAgent
61
+ protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
62
+ // Retrieve security policies from memory
63
+ const policies = await this.memoryStore.retrieve('aqe/security/policies', {
64
+ partition: 'configuration'
65
+ });
66
+
67
+ // Retrieve security requirements
68
+ const requirements = await this.memoryStore.retrieve('aqe/test-plan/security-requirements', {
69
+ partition: 'test_plans'
70
+ });
71
+
72
+ // Retrieve security baseline for comparison
73
+ const baseline = await this.memoryStore.retrieve('aqe/security/baselines', {
74
+ partition: 'baselines'
75
+ });
76
+
77
+ // Verify environment for security scanning
78
+ const verification = await this.hookManager.executePreTaskVerification({
79
+ task: 'security-scan',
80
+ context: {
81
+ requiredVars: ['TARGET_URL', 'SCAN_TYPE', 'SECURITY_PROFILE'],
82
+ minMemoryMB: 1024,
83
+ requiredModules: ['snyk', 'eslint-plugin-security']
84
+ }
85
+ });
86
+
87
+ // Emit security scanning started event
88
+ this.eventBus.emit('security-scanner:starting', {
89
+ agentId: this.agentId,
90
+ policiesCount: policies?.length || 0,
91
+ scanType: data.assignment.task.metadata.scanType,
92
+ targetUrl: data.assignment.task.metadata.targetUrl
93
+ });
94
+
95
+ this.logger.info('Security scanning starting', {
96
+ policies: policies?.length || 0,
97
+ requirements,
98
+ verification: verification.passed
99
+ });
100
+ }
101
+
102
+ protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
103
+ // Store security vulnerabilities in swarm memory
104
+ await this.memoryStore.store('aqe/security/vulnerabilities', data.result.vulnerabilities, {
105
+ partition: 'scan_results',
106
+ ttl: 604800 // 7 days
107
+ });
108
+
109
+ // Store compliance status
110
+ await this.memoryStore.store('aqe/security/compliance', data.result.compliance, {
111
+ partition: 'compliance',
112
+ ttl: 2592000 // 30 days
113
+ });
114
+
115
+ // Store security metrics for trend analysis
116
+ await this.memoryStore.store('aqe/security/metrics', {
117
+ timestamp: Date.now(),
118
+ vulnerabilitiesFound: data.result.vulnerabilities.length,
119
+ criticalCount: data.result.vulnerabilities.filter(v => v.severity === 'critical').length,
120
+ highCount: data.result.vulnerabilities.filter(v => v.severity === 'high').length,
121
+ complianceScore: data.result.compliance.score
122
+ }, {
123
+ partition: 'metrics',
124
+ ttl: 604800 // 7 days
125
+ });
126
+
127
+ // Emit completion event with scan results
128
+ this.eventBus.emit('security-scanner:completed', {
129
+ agentId: this.agentId,
130
+ vulnerabilitiesFound: data.result.vulnerabilities.length,
131
+ complianceScore: data.result.compliance.score,
132
+ criticalVulnerabilities: data.result.vulnerabilities.filter(v => v.severity === 'critical').length
133
+ });
134
+
135
+ // Validate security scan results
136
+ const validation = await this.hookManager.executePostTaskValidation({
137
+ task: 'security-scan',
138
+ result: {
139
+ output: data.result,
140
+ coverage: data.result.coverage,
141
+ metrics: {
142
+ vulnerabilitiesFound: data.result.vulnerabilities.length,
143
+ complianceScore: data.result.compliance.score
144
+ }
145
+ }
146
+ });
147
+
148
+ this.logger.info('Security scanning completed', {
149
+ vulnerabilities: data.result.vulnerabilities.length,
150
+ compliance: data.result.compliance.score,
151
+ validated: validation.passed
152
+ });
153
+ }
154
+
155
+ protected async onTaskError(data: { assignment: TaskAssignment; error: Error }): Promise<void> {
156
+ // Store error for fleet analysis
157
+ await this.memoryStore.store(`aqe/errors/${data.assignment.task.id}`, {
158
+ error: data.error.message,
159
+ timestamp: Date.now(),
160
+ agent: this.agentId,
161
+ taskType: 'security-scan',
162
+ scanType: data.assignment.task.metadata.scanType
163
+ }, {
164
+ partition: 'errors',
165
+ ttl: 604800 // 7 days
166
+ });
167
+
168
+ // Emit error event for fleet coordination
169
+ this.eventBus.emit('security-scanner:error', {
170
+ agentId: this.agentId,
171
+ error: data.error.message,
172
+ taskId: data.assignment.task.id
173
+ });
174
+
175
+ this.logger.error('Security scanning failed', {
176
+ error: data.error.message,
177
+ stack: data.error.stack
178
+ });
179
+ }
180
+ ```
181
+
182
+ **Advanced Verification (Optional):**
183
+ ```typescript
184
+ // Use VerificationHookManager for comprehensive validation
185
+ const hookManager = new VerificationHookManager(this.memoryStore);
186
+
187
+ // Pre-task verification with security tool checks
188
+ const verification = await hookManager.executePreTaskVerification({
189
+ task: 'security-scan',
190
+ context: {
191
+ requiredVars: ['TARGET_URL', 'SCAN_TYPE', 'API_KEY'],
192
+ minMemoryMB: 1024,
193
+ requiredModules: ['snyk', '@snyk/cli', 'eslint-plugin-security', 'semgrep']
194
+ }
195
+ });
196
+
197
+ // Post-task validation with vulnerability threshold checks
198
+ const validation = await hookManager.executePostTaskValidation({
199
+ task: 'security-scan',
200
+ result: {
201
+ output: scanResults,
202
+ coverage: coverageData,
203
+ metrics: {
204
+ criticalVulnerabilities: 0,
205
+ highVulnerabilities: 2,
206
+ complianceScore: 0.95
207
+ }
208
+ }
209
+ });
210
+
211
+ // Pre-edit verification before updating security policies
212
+ const editCheck = await hookManager.executePreEditVerification({
213
+ filePath: 'config/security-policies.json',
214
+ operation: 'write',
215
+ content: JSON.stringify(newPolicies)
216
+ });
217
+
218
+ // Session finalization with security audit export
219
+ const finalization = await hookManager.executeSessionEndFinalization({
220
+ sessionId: 'security-scan-v2.0.0',
221
+ exportMetrics: true,
222
+ exportArtifacts: true
223
+ });
224
+ ```
225
+
226
+ ### Security Assessment Planning
227
+ 1. **Threat Modeling**
228
+ - Identify attack surfaces and threat vectors
229
+ - Define security test scenarios
230
+ - Prioritize critical security controls
231
+
232
+ 2. **Tool Selection**
233
+ - Choose appropriate SAST/DAST tools based on technology stack
234
+ - Configure scanning parameters and policies
235
+ - Set up integration with development workflows
236
+
237
+ 3. **Baseline Establishment**
238
+ - Execute initial security scans
239
+ - Establish security baseline metrics
240
+ - Define acceptable risk thresholds
241
+
242
+ ### SAST Execution
243
+ ```bash
244
+ # Snyk code analysis
245
+ snyk code test --severity-threshold=high --json > sast-results.json
246
+
247
+ # SonarQube analysis
248
+ sonar-scanner -Dsonar.projectKey=project -Dsonar.sources=src -Dsonar.host.url=$SONAR_URL
249
+
250
+ # Semgrep static analysis
251
+ semgrep --config=auto --json --output=semgrep-results.json src/
252
+
253
+ # CodeQL analysis
254
+ codeql database analyze ./codeql-db --format=json --output=codeql-results.json
255
+ ```
256
+
257
+ ### DAST Execution
258
+ ```bash
259
+ # OWASP ZAP scanning
260
+ zap-api-scan.py -t https://api.example.com/openapi.json -f openapi -J zap-report.json
261
+
262
+ # Custom DAST with authentication
263
+ zap-full-scan.py -t https://app.example.com -a -j -x zap-baseline-report.xml
264
+
265
+ # Nuclei vulnerability scanning
266
+ nuclei -u https://app.example.com -t vulnerabilities/ -json -o nuclei-results.json
267
+ ```
268
+
269
+ ### Compliance Validation
270
+ 1. **Policy Compliance**
271
+ - Validate against security policies (OWASP Top 10, CWE)
272
+ - Check coding standard compliance
273
+ - Verify security control implementation
274
+
275
+ 2. **Regulatory Compliance**
276
+ - PCI DSS compliance validation
277
+ - HIPAA security requirement verification
278
+ - SOC 2 control testing
279
+
280
+ 3. **Industry Standards**
281
+ - ISO 27001 security controls
282
+ - NIST Cybersecurity Framework
283
+ - CIS Controls validation
284
+
285
+ ### Post-Execution Coordination
286
+
287
+ **Native TypeScript Hooks (replaces bash commands):**
288
+
289
+ All post-execution coordination is handled automatically via the `onPostTask()` lifecycle hook shown above. The agent coordinates through:
290
+
291
+ - **Memory Store**: Results stored via `this.memoryStore.store()` with proper partitioning
292
+ - **Event Bus**: Real-time updates via `this.eventBus.emit()` for fleet coordination
293
+ - **Hook Manager**: Advanced validation via `VerificationHookManager`
294
+
295
+ No external bash commands needed - all coordination is built into the agent's lifecycle hooks with 100-500x faster performance.
296
+
297
+ ## Tool Integration
298
+
299
+ ### Snyk Configuration
300
+ ```yaml
301
+ # .snyk policy file
302
+ version: v1.0.0
303
+ ignore:
304
+ SNYK-JS-LODASH-567746:
305
+ - '*':
306
+ reason: False positive - not exploitable in our context
307
+ expires: '2024-12-31T23:59:59.999Z'
308
+ patch: {}
309
+ ```
310
+
311
+ ### OWASP ZAP Configuration
312
+ ```python
313
+ # ZAP automation script
314
+ from zapv2 import ZAPv2
315
+
316
+ zap = ZAPv2(apikey='your-api-key')
317
+
318
+ # Configure ZAP policies
319
+ zap.ascan.set_option_max_scan_duration_in_mins(30)
320
+ zap.ascan.set_option_max_alerts_per_rule(10)
321
+
322
+ # Start authenticated scan
323
+ zap.spider.scan_as_user(contextid='1', userid='1', url='https://app.example.com')
324
+ scan_id = zap.ascan.scan_as_user('https://app.example.com', contextid='1', userid='1')
325
+
326
+ # Generate report
327
+ report = zap.core.jsonreport()
328
+ with open('zap-report.json', 'w') as f:
329
+ f.write(report)
330
+ ```
331
+
332
+ ### SonarQube Quality Gate
333
+ ```bash
334
+ # SonarQube quality gate configuration
335
+ sonar.qualitygate.wait=true
336
+ sonar.security.enabled=true
337
+ sonar.security.vulnerabilities.threshold=0
338
+ sonar.security.hotspots.threshold=0
339
+ ```
340
+
341
+ ## Security Test Generation
342
+
343
+ ### API Security Tests
344
+ ```javascript
345
+ // Generated security test for API endpoints
346
+ const request = require('supertest');
347
+ const app = require('../app');
348
+
349
+ describe('API Security Tests', () => {
350
+ test('should reject SQL injection attempts', async () => {
351
+ const maliciousPayload = "'; DROP TABLE users; --";
352
+ const response = await request(app)
353
+ .get(`/api/users?search=${maliciousPayload}`)
354
+ .expect(400);
355
+
356
+ expect(response.body.error).toContain('Invalid input');
357
+ });
358
+
359
+ test('should prevent XSS attacks', async () => {
360
+ const xssPayload = '<script>alert("XSS")</script>';
361
+ const response = await request(app)
362
+ .post('/api/comments')
363
+ .send({ content: xssPayload })
364
+ .expect(400);
365
+
366
+ expect(response.body.error).toContain('Invalid content');
367
+ });
368
+
369
+ test('should enforce authentication on protected endpoints', async () => {
370
+ await request(app)
371
+ .get('/api/admin/users')
372
+ .expect(401);
373
+ });
374
+ });
375
+ ```
376
+
377
+ ### Web Application Security Tests
378
+ ```python
379
+ # Generated Selenium security tests
380
+ from selenium import webdriver
381
+ from selenium.webdriver.common.by import By
382
+ import pytest
383
+
384
+ class TestWebSecurity:
385
+ def setup_method(self):
386
+ self.driver = webdriver.Chrome()
387
+ self.driver.get("https://app.example.com")
388
+
389
+ def test_csrf_protection(self):
390
+ # Test CSRF token validation
391
+ form = self.driver.find_element(By.TAG_NAME, "form")
392
+ csrf_token = form.find_element(By.NAME, "_token")
393
+ assert csrf_token.get_attribute("value") is not None
394
+
395
+ def test_secure_headers(self):
396
+ # Check security headers
397
+ response = self.driver.execute_script(
398
+ "return fetch(window.location.href).then(r => r.headers)"
399
+ )
400
+ assert 'X-Frame-Options' in response
401
+ assert 'X-Content-Type-Options' in response
402
+
403
+ def teardown_method(self):
404
+ self.driver.quit()
405
+ ```
406
+
407
+ ## Memory Management
408
+
409
+ ### Security Baseline Storage
410
+
411
+ **Native TypeScript memory management:**
412
+
413
+ ```typescript
414
+ // Store security baseline metrics
415
+ await this.memoryStore.store('aqe/security/baselines', {
416
+ vulnerability_count: {
417
+ critical: 0,
418
+ high: 2,
419
+ medium: 5,
420
+ low: 10
421
+ },
422
+ security_score: 85,
423
+ compliance_percentage: 95,
424
+ last_scan_date: new Date().toISOString()
425
+ }, {
426
+ partition: 'baselines',
427
+ ttl: 2592000 // 30 days
428
+ });
429
+
430
+ // Emit baseline update event
431
+ this.eventBus.emit('security:baseline-updated', {
432
+ agentId: this.agentId,
433
+ securityScore: 85,
434
+ compliancePercentage: 95
435
+ });
436
+ ```
437
+
438
+ ### Policy Configuration
439
+
440
+ **Native TypeScript policy management:**
441
+
442
+ ```typescript
443
+ // Configure security policies
444
+ await this.memoryStore.store('aqe/security/policies', {
445
+ vulnerability_thresholds: {
446
+ critical: 0,
447
+ high: 5,
448
+ medium: 20
449
+ },
450
+ compliance_requirements: [
451
+ 'OWASP_Top_10',
452
+ 'PCI_DSS',
453
+ 'SOC_2'
454
+ ],
455
+ scan_frequency: 'daily',
456
+ auto_remediation: true
457
+ }, {
458
+ partition: 'configuration',
459
+ ttl: 0 // Never expire
460
+ });
461
+
462
+ // Emit policy update event
463
+ this.eventBus.emit('security:policy-updated', {
464
+ agentId: this.agentId,
465
+ policiesUpdated: true
466
+ });
467
+ ```
468
+
469
+ ## Agent Coordination
470
+
471
+ ### Integration with Test Planner
472
+ - Retrieve security requirements and test scenarios
473
+ - Coordinate security testing schedules
474
+ - Share security constraints and policies
475
+
476
+ ### Integration with Code Analyzer
477
+ - Receive code quality metrics
478
+ - Correlate security findings with code complexity
479
+ - Share static analysis results
480
+
481
+ ### Integration with CI/CD Pipeline
482
+ - Execute security gates in deployment pipeline
483
+ - Block deployments with critical vulnerabilities
484
+ - Provide security feedback for releases
485
+
486
+ ### Integration with Test Reporter
487
+ - Generate comprehensive security reports
488
+ - Provide vulnerability remediation guidance
489
+ - Track security posture trends
490
+
491
+ ## Commands & Operations
492
+
493
+ ### Initialization
494
+ ```bash
495
+ agentic-qe agent spawn --name qe-security-scanner --type security-scanner --config security-config.yaml
496
+ ```
497
+
498
+ ### Execution
499
+ ```bash
500
+ # Execute comprehensive security scan
501
+ agentic-qe agent execute --name qe-security-scanner --task "security-scan" --params '{
502
+ "target": "https://app.example.com",
503
+ "scan_types": ["sast", "dast", "dependency"],
504
+ "severity_threshold": "high",
505
+ "compliance_check": true
506
+ }'
507
+
508
+ # Execute compliance validation
509
+ agentic-qe agent execute --name qe-security-scanner --task "compliance-check" --params '{
510
+ "standards": ["OWASP", "PCI_DSS"],
511
+ "baseline_date": "2024-01-01"
512
+ }'
513
+
514
+ # Execute vulnerability assessment
515
+ agentic-qe agent execute --name qe-security-scanner --task "vulnerability-assessment" --params '{
516
+ "repository": "github.com/company/app",
517
+ "branch": "main",
518
+ "include_dependencies": true
519
+ }'
520
+ ```
521
+
522
+ ### Status & Monitoring
523
+ ```bash
524
+ agentic-qe agent status --name qe-security-scanner
525
+ agentic-qe agent logs --name qe-security-scanner --lines 100
526
+ agentic-qe agent metrics --name qe-security-scanner
527
+ ```
528
+
529
+ ## Error Handling & Recovery
530
+
531
+ ### Scan Failures
532
+ - Retry failed scans with adjusted parameters
533
+ - Fallback to alternative scanning tools
534
+ - Capture and analyze scan failure logs
535
+
536
+ ### False Positive Management
537
+ - Implement intelligent false positive filtering
538
+ - Maintain suppression lists for known false positives
539
+ - Continuous learning from manual validation
540
+
541
+ ### Tool Integration Issues
542
+ - Handle API rate limiting and timeouts
543
+ - Manage tool authentication and credentials
544
+ - Coordinate tool updates and configuration changes
545
+
546
+ ## Reporting & Analytics
547
+
548
+ ### Security Reports
549
+ - Generate comprehensive vulnerability reports
550
+ - Include remediation guidance and timelines
551
+ - Provide risk assessment and impact analysis
552
+
553
+ ### Compliance Reports
554
+ - Generate compliance status reports
555
+ - Track compliance metrics over time
556
+ - Provide evidence for audit requirements
557
+
558
+ ### Trend Analysis
559
+ - Security posture trending and forecasting
560
+ - Vulnerability discovery and resolution metrics
561
+ - Security debt tracking and management
562
+
563
+ ### Integration with SIEM
564
+ - Export security findings to SIEM platforms
565
+ - Correlate application security with infrastructure security
566
+ - Enable security incident response workflows
567
+
568
+
569
+ **Agent Type**: `security-scanner`
570
+ **Priority**: `high`
571
+ **Color**: `yellow`
572
+ **Memory Namespace**: `aqe/security`
573
+ **Coordination Protocol**: Claude Flow hooks with EventBus integration