agentic-qe 1.4.4 → 1.5.1
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/.claude/agents/qe-api-contract-validator.md +133 -27
- package/.claude/agents/qe-api-contract-validator.md.backup +1148 -0
- package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +1148 -0
- package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +1123 -0
- package/.claude/agents/qe-chaos-engineer.md +142 -23
- package/.claude/agents/qe-chaos-engineer.md.backup +808 -0
- package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +808 -0
- package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +787 -0
- package/.claude/agents/qe-code-complexity.md +111 -23
- package/.claude/agents/qe-code-complexity.md.backup +291 -0
- package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +291 -0
- package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +286 -0
- package/.claude/agents/qe-coverage-analyzer.md +306 -30
- package/.claude/agents/qe-coverage-analyzer.md.backup +467 -0
- package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +467 -0
- package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +438 -0
- package/.claude/agents/qe-deployment-readiness.md +84 -28
- package/.claude/agents/qe-deployment-readiness.md.backup +1166 -0
- package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +1166 -0
- package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +1140 -0
- package/.claude/agents/qe-flaky-test-hunter.md +277 -35
- package/.claude/agents/qe-flaky-test-hunter.md.backup +1195 -0
- package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +1195 -0
- package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +1162 -0
- package/.claude/agents/qe-fleet-commander.md +126 -23
- package/.claude/agents/qe-fleet-commander.md.backup +718 -0
- package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +718 -0
- package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +697 -0
- package/.claude/agents/qe-performance-tester.md +314 -57
- package/.claude/agents/qe-performance-tester.md.backup +428 -0
- package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +428 -0
- package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +372 -0
- package/.claude/agents/qe-production-intelligence.md +126 -27
- package/.claude/agents/qe-production-intelligence.md.backup +1219 -0
- package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +1219 -0
- package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +1194 -0
- package/.claude/agents/qe-quality-analyzer.md +127 -32
- package/.claude/agents/qe-quality-analyzer.md.backup +425 -0
- package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +425 -0
- package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +394 -0
- package/.claude/agents/qe-quality-gate.md +148 -33
- package/.claude/agents/qe-quality-gate.md.backup +446 -0
- package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +446 -0
- package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +415 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +78 -27
- package/.claude/agents/qe-regression-risk-analyzer.md.backup +1009 -0
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +1009 -0
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +984 -0
- package/.claude/agents/qe-requirements-validator.md +131 -27
- package/.claude/agents/qe-requirements-validator.md.backup +748 -0
- package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +748 -0
- package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +723 -0
- package/.claude/agents/qe-security-scanner.md +137 -62
- package/.claude/agents/qe-security-scanner.md.backup +634 -0
- package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +634 -0
- package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +573 -0
- package/.claude/agents/qe-test-data-architect.md +129 -26
- package/.claude/agents/qe-test-data-architect.md.backup +1064 -0
- package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +1064 -0
- package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +1040 -0
- package/.claude/agents/qe-test-executor.md +165 -21
- package/.claude/agents/qe-test-executor.md.backup +389 -0
- package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +389 -0
- package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +369 -0
- package/.claude/agents/qe-test-generator.md +379 -34
- package/.claude/agents/qe-test-generator.md.backup +997 -0
- package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +997 -0
- package/.claude/agents/qe-visual-tester.md +236 -23
- package/.claude/agents/qe-visual-tester.md.backup +777 -0
- package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +777 -0
- package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +756 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +59 -0
- package/.claude/agents/subagents/qe-data-generator.md +60 -0
- package/.claude/agents/subagents/qe-integration-tester.md +77 -0
- package/.claude/agents/subagents/qe-performance-validator.md +55 -0
- package/.claude/agents/subagents/qe-security-auditor.md +51 -0
- package/.claude/agents/subagents/qe-test-implementer.md +371 -0
- package/.claude/agents/subagents/qe-test-refactorer.md +510 -0
- package/.claude/agents/subagents/qe-test-writer.md +603 -0
- package/.claude/skills/accessibility-testing/SKILL.md +764 -777
- package/.claude/skills/agentic-quality-engineering/SKILL.md +0 -6
- package/.claude/skills/api-testing-patterns/SKILL.md +0 -12
- package/.claude/skills/bug-reporting-excellence/SKILL.md +0 -6
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +0 -6
- package/.claude/skills/code-review-quality/SKILL.md +0 -6
- package/.claude/skills/compatibility-testing/SKILL.md +0 -6
- package/.claude/skills/compliance-testing/SKILL.md +0 -6
- package/.claude/skills/consultancy-practices/SKILL.md +0 -6
- package/.claude/skills/context-driven-testing/SKILL.md +0 -6
- package/.claude/skills/contract-testing/SKILL.md +0 -6
- package/.claude/skills/database-testing/SKILL.md +0 -6
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +0 -6
- package/.claude/skills/holistic-testing-pact/SKILL.md +0 -6
- package/.claude/skills/localization-testing/SKILL.md +0 -6
- package/.claude/skills/mobile-testing/SKILL.md +535 -548
- package/.claude/skills/mutation-testing/SKILL.md +0 -6
- package/.claude/skills/performance-testing/SKILL.md +0 -6
- package/.claude/skills/quality-metrics/SKILL.md +0 -12
- package/.claude/skills/refactoring-patterns/SKILL.md +0 -6
- package/.claude/skills/regression-testing/SKILL.md +1033 -1045
- package/.claude/skills/risk-based-testing/SKILL.md +0 -12
- package/.claude/skills/security-testing/SKILL.md +0 -6
- package/.claude/skills/shift-left-testing/SKILL.md +529 -535
- package/.claude/skills/shift-right-testing/SKILL.md +585 -591
- package/.claude/skills/tdd-london-chicago/SKILL.md +0 -6
- package/.claude/skills/technical-writing/SKILL.md +0 -6
- package/.claude/skills/test-automation-strategy/SKILL.md +0 -6
- package/.claude/skills/test-data-management/SKILL.md +1054 -1067
- package/.claude/skills/test-design-techniques/SKILL.md +0 -6
- package/.claude/skills/test-environment-management/SKILL.md +0 -6
- package/.claude/skills/test-reporting-analytics/SKILL.md +0 -6
- package/.claude/skills/visual-testing-advanced/SKILL.md +0 -6
- package/.claude/skills/xp-practices/SKILL.md +0 -6
- package/CHANGELOG.md +426 -5
- package/README.md +24 -19
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +97 -44
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/mcp/handlers/coordination/index.d.ts +14 -14
- package/dist/mcp/handlers/coordination/index.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/index.js +14 -14
- package/dist/mcp/handlers/coordination/index.js.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.js +39 -10
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
- package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +63 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.js +885 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -0
- package/dist/mcp/handlers/phase3/index.d.ts +6 -0
- package/dist/mcp/handlers/phase3/index.d.ts.map +1 -0
- package/dist/mcp/handlers/phase3/index.js +10 -0
- package/dist/mcp/handlers/phase3/index.js.map +1 -0
- package/dist/mcp/handlers/prediction/index.d.ts +10 -10
- package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/index.js +10 -10
- package/dist/mcp/handlers/prediction/index.js.map +1 -1
- package/dist/mcp/handlers/security/check-authz.d.ts +152 -0
- package/dist/mcp/handlers/security/check-authz.d.ts.map +1 -0
- package/dist/mcp/handlers/security/check-authz.js +434 -0
- package/dist/mcp/handlers/security/check-authz.js.map +1 -0
- package/dist/mcp/handlers/security/generate-report.d.ts +156 -0
- package/dist/mcp/handlers/security/generate-report.d.ts.map +1 -0
- package/dist/mcp/handlers/security/generate-report.js +469 -0
- package/dist/mcp/handlers/security/generate-report.js.map +1 -0
- package/dist/mcp/handlers/security/index.d.ts +80 -0
- package/dist/mcp/handlers/security/index.d.ts.map +1 -0
- package/dist/mcp/handlers/security/index.js +91 -0
- package/dist/mcp/handlers/security/index.js.map +1 -0
- package/dist/mcp/handlers/security/scan-comprehensive.d.ts +66 -0
- package/dist/mcp/handlers/security/scan-comprehensive.d.ts.map +1 -0
- package/dist/mcp/handlers/security/scan-comprehensive.js +296 -0
- package/dist/mcp/handlers/security/scan-comprehensive.js.map +1 -0
- package/dist/mcp/handlers/security/scan-dependencies.d.ts +148 -0
- package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +1 -0
- package/dist/mcp/handlers/security/scan-dependencies.js +354 -0
- package/dist/mcp/handlers/security/scan-dependencies.js.map +1 -0
- package/dist/mcp/handlers/security/validate-auth.d.ts +128 -0
- package/dist/mcp/handlers/security/validate-auth.d.ts.map +1 -0
- package/dist/mcp/handlers/security/validate-auth.js +294 -0
- package/dist/mcp/handlers/security/validate-auth.js.map +1 -0
- package/dist/mcp/handlers/test/generate-integration-tests.d.ts +95 -0
- package/dist/mcp/handlers/test/generate-integration-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/test/generate-integration-tests.js +286 -0
- package/dist/mcp/handlers/test/generate-integration-tests.js.map +1 -0
- package/dist/mcp/handlers/test/generate-unit-tests.d.ts +89 -0
- package/dist/mcp/handlers/test/generate-unit-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/test/generate-unit-tests.js +273 -0
- package/dist/mcp/handlers/test/generate-unit-tests.js.map +1 -0
- package/dist/mcp/handlers/test/optimize-test-suite.d.ts +97 -0
- package/dist/mcp/handlers/test/optimize-test-suite.d.ts.map +1 -0
- package/dist/mcp/handlers/test/optimize-test-suite.js +282 -0
- package/dist/mcp/handlers/test/optimize-test-suite.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +211 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/deprecated.d.ts +1390 -0
- package/dist/mcp/tools/deprecated.d.ts.map +1 -0
- package/dist/mcp/tools/deprecated.js +859 -0
- package/dist/mcp/tools/deprecated.js.map +1 -0
- package/dist/mcp/tools/qe/api-contract/index.d.ts +138 -0
- package/dist/mcp/tools/qe/api-contract/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/api-contract/index.js +572 -0
- package/dist/mcp/tools/qe/api-contract/index.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts +110 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.js +381 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts +115 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js +461 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/index.d.ts +12 -0
- package/dist/mcp/tools/qe/code-quality/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/index.js +30 -0
- package/dist/mcp/tools/qe/code-quality/index.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts +58 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js +172 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts +73 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.js +240 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts +38 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js +204 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/index.d.ts +12 -0
- package/dist/mcp/tools/qe/coverage/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/index.js +23 -0
- package/dist/mcp/tools/qe/coverage/index.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts +46 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.js +248 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts +179 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js +554 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts +172 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js +498 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/index.d.ts +35 -0
- package/dist/mcp/tools/qe/flaky-detection/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/index.js +66 -0
- package/dist/mcp/tools/qe/flaky-detection/index.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts +159 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +462 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -0
- package/dist/mcp/tools/qe/fleet/index.d.ts +422 -0
- package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/fleet/index.js +652 -0
- package/dist/mcp/tools/qe/fleet/index.js.map +1 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts +180 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js +347 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js.map +1 -0
- package/dist/mcp/tools/qe/performance/generate-report.d.ts +146 -0
- package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/generate-report.js +354 -0
- package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -0
- package/dist/mcp/tools/qe/performance/index.d.ts +13 -0
- package/dist/mcp/tools/qe/performance/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/index.js +24 -0
- package/dist/mcp/tools/qe/performance/index.js.map +1 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts +120 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.js +215 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.d.ts +68 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.js +120 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts +239 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +671 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +219 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +732 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts +447 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +551 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/index.d.ts +40 -0
- package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/index.js +56 -0
- package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts +226 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +603 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.d.ts +212 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.js +617 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -0
- package/dist/mcp/tools/qe/regression/index.d.ts +36 -0
- package/dist/mcp/tools/qe/regression/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/index.js +63 -0
- package/dist/mcp/tools/qe/regression/index.js.map +1 -0
- package/dist/mcp/tools/qe/regression/select-tests.d.ts +241 -0
- package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/select-tests.js +601 -0
- package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts +134 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +737 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/index.d.ts +40 -0
- package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/index.js +84 -0
- package/dist/mcp/tools/qe/requirements/index.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts +196 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.js +740 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts +300 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +492 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -0
- package/dist/mcp/tools/qe/security/index.d.ts +34 -0
- package/dist/mcp/tools/qe/security/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/index.js +44 -0
- package/dist/mcp/tools/qe/security/index.js.map +1 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts +240 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.js +557 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.js.map +1 -0
- package/dist/mcp/tools/qe/security/validate-compliance.d.ts +299 -0
- package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/validate-compliance.js +517 -0
- package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -0
- package/dist/mcp/tools/qe/shared/types.d.ts +840 -0
- package/dist/mcp/tools/qe/shared/types.d.ts.map +1 -0
- package/dist/mcp/tools/qe/shared/types.js +13 -0
- package/dist/mcp/tools/qe/shared/types.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts +264 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.js +553 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +167 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.js +336 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/index.d.ts +44 -0
- package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/index.js +90 -0
- package/dist/mcp/tools/qe/test-data/index.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts +165 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +342 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts +144 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js +432 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts +98 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js +459 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts +83 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js +483 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/index.d.ts +56 -0
- package/dist/mcp/tools/qe/test-generation/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/index.js +97 -0
- package/dist/mcp/tools/qe/test-generation/index.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts +124 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js +362 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js.map +1 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts +119 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.js +280 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.js.map +1 -0
- package/dist/mcp/tools/qe/visual/detect-regression.d.ts +138 -0
- package/dist/mcp/tools/qe/visual/detect-regression.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/detect-regression.js +271 -0
- package/dist/mcp/tools/qe/visual/detect-regression.js.map +1 -0
- package/dist/mcp/tools/qe/visual/index.d.ts +16 -0
- package/dist/mcp/tools/qe/visual/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/index.js +22 -0
- package/dist/mcp/tools/qe/visual/index.js.map +1 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts +276 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.js +413 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.js.map +1 -0
- package/dist/mcp/tools.d.ts +44 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1980 -1
- package/dist/mcp/tools.js.map +1 -1
- package/package.json +2 -2
- package/dist/learning/__mocks__/LearningEngine.d.ts +0 -39
- package/dist/learning/__mocks__/LearningEngine.d.ts.map +0 -1
- package/dist/learning/__mocks__/LearningEngine.js +0 -116
- package/dist/learning/__mocks__/LearningEngine.js.map +0 -1
- package/dist/utils/__mocks__/Database.d.ts +0 -85
- package/dist/utils/__mocks__/Database.d.ts.map +0 -1
- package/dist/utils/__mocks__/Database.js +0 -125
- package/dist/utils/__mocks__/Database.js.map +0 -1
- package/dist/utils/__mocks__/Logger.d.ts +0 -26
- package/dist/utils/__mocks__/Logger.d.ts.map +0 -1
- package/dist/utils/__mocks__/Logger.js +0 -44
- 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
|