agentic-qe 2.3.2 → 2.3.3

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 (127) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +1 -1
  3. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  4. package/dist/agents/CoverageAnalyzerAgent.js +53 -27
  5. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  6. package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
  7. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  8. package/dist/agents/FlakyTestHunterAgent.js +20 -5
  9. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  10. package/dist/agents/QualityGateAgent.js +44 -6
  11. package/dist/agents/QualityGateAgent.js.map +1 -1
  12. package/dist/cli/index.js +0 -0
  13. package/dist/cli/init/database-init.js +5 -0
  14. package/dist/cli/init/database-init.js.map +1 -1
  15. package/dist/learning/PerformanceTracker.d.ts +9 -0
  16. package/dist/learning/PerformanceTracker.d.ts.map +1 -1
  17. package/dist/learning/PerformanceTracker.js +26 -2
  18. package/dist/learning/PerformanceTracker.js.map +1 -1
  19. package/dist/mcp/server-instructions.d.ts +1 -1
  20. package/dist/mcp/server-instructions.js +1 -1
  21. package/package.json +3 -1
  22. package/scripts/README.md +352 -0
  23. package/scripts/hooks/capture-task-learning.js +191 -0
  24. package/scripts/hooks/emit-task-complete.sh +35 -0
  25. package/scripts/hooks/emit-task-spawn.sh +27 -0
  26. package/.claude/agents/failing-agent.json +0 -9
  27. package/.claude/agents/test-agent.json +0 -9
  28. package/dist/App.d.ts +0 -5
  29. package/dist/App.d.ts.map +0 -1
  30. package/dist/App.js +0 -15
  31. package/dist/App.js.map +0 -1
  32. package/dist/cli/init/utils.d.ts +0 -183
  33. package/dist/cli/init/utils.d.ts.map +0 -1
  34. package/dist/cli/init/utils.js +0 -354
  35. package/dist/cli/init/utils.js.map +0 -1
  36. package/dist/components/Dashboard/Dashboard.d.ts +0 -4
  37. package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
  38. package/dist/components/Dashboard/Dashboard.js +0 -148
  39. package/dist/components/Dashboard/Dashboard.js.map +0 -1
  40. package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
  41. package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
  42. package/dist/components/Dashboard/DashboardHeader.js +0 -138
  43. package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
  44. package/dist/contexts/DashboardContext.d.ts +0 -41
  45. package/dist/contexts/DashboardContext.d.ts.map +0 -1
  46. package/dist/contexts/DashboardContext.js +0 -187
  47. package/dist/contexts/DashboardContext.js.map +0 -1
  48. package/dist/core/transport/QUICTransport.d.ts +0 -320
  49. package/dist/core/transport/QUICTransport.d.ts.map +0 -1
  50. package/dist/core/transport/QUICTransport.js +0 -711
  51. package/dist/core/transport/QUICTransport.js.map +0 -1
  52. package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
  53. package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
  54. package/dist/learning/LearningPersistenceAdapter.js +0 -202
  55. package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
  56. package/dist/learning/algorithms/QLearning.d.ts +0 -68
  57. package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
  58. package/dist/learning/algorithms/QLearning.js +0 -116
  59. package/dist/learning/algorithms/QLearning.js.map +0 -1
  60. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
  61. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
  62. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
  63. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
  64. package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
  65. package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
  66. package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
  67. package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
  68. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
  69. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
  70. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
  71. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
  72. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
  73. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
  74. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
  75. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
  76. package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
  77. package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
  78. package/dist/mcp/handlers/optimize-tests.js +0 -533
  79. package/dist/mcp/handlers/optimize-tests.js.map +0 -1
  80. package/dist/mcp/handlers/predict-defects.d.ts +0 -194
  81. package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
  82. package/dist/mcp/handlers/predict-defects.js +0 -722
  83. package/dist/mcp/handlers/predict-defects.js.map +0 -1
  84. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
  85. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
  86. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
  87. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
  88. package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
  89. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
  90. package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
  91. package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
  92. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
  93. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
  94. package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
  95. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
  96. package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
  97. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
  98. package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
  99. package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
  100. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
  101. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
  102. package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
  103. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
  104. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
  105. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
  106. package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
  107. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
  108. package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
  109. package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
  110. package/dist/mcp/handlers/quality-analyze.js +0 -720
  111. package/dist/mcp/handlers/quality-analyze.js.map +0 -1
  112. package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
  113. package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
  114. package/dist/mcp/handlers/security/check-authz.js +0 -434
  115. package/dist/mcp/handlers/security/check-authz.js.map +0 -1
  116. package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
  117. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
  118. package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
  119. package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
  120. package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
  121. package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
  122. package/dist/mcp/handlers/security/validate-auth.js +0 -294
  123. package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
  124. package/dist/mcp/handlers/test-generate.d.ts +0 -107
  125. package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
  126. package/dist/mcp/handlers/test-generate.js +0 -454
  127. package/dist/mcp/handlers/test-generate.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality-analyze.js","sourceRoot":"","sources":["../../../src/mcp/handlers/quality-analyze.ts"],"names":[],"mappings":"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"}
@@ -1,152 +0,0 @@
1
- /**
2
- * Authorization Rule Checking Tool
3
- *
4
- * Validates authorization rules, policy enforcement, and role-based access control
5
- * with comprehensive RBAC/ABAC testing and permission validation.
6
- *
7
- * @module security/check-authz
8
- * @version 1.0.0
9
- * @author Agentic QE Team
10
- *
11
- * @example
12
- * ```typescript
13
- * import { checkAuthorizationRules } from './check-authz';
14
- *
15
- * const result = await checkAuthorizationRules({
16
- * roles: ['admin', 'user', 'guest'],
17
- * resources: ['/api/users', '/api/admin', '/api/reports'],
18
- * policies: './security-policies.json'
19
- * });
20
- * ```
21
- */
22
- import { BaseHandler, HandlerResponse } from '../base-handler.js';
23
- export interface CheckAuthorizationRulesParams {
24
- /** Roles to test */
25
- roles: string[];
26
- /** Resources/endpoints to validate access */
27
- resources: string[];
28
- /** Path to authorization policy file (JSON, YAML, or Rego) */
29
- policies: string;
30
- /** Enable hierarchical role testing */
31
- testHierarchy?: boolean;
32
- /** Enable attribute-based access control (ABAC) testing */
33
- testABAC?: boolean;
34
- /** Enable permission inheritance testing */
35
- testInheritance?: boolean;
36
- /** Test for privilege escalation vulnerabilities */
37
- testPrivilegeEscalation?: boolean;
38
- }
39
- export interface AuthorizationPolicy {
40
- version: string;
41
- roles: Array<{
42
- name: string;
43
- permissions: string[];
44
- inherits?: string[];
45
- attributes?: Record<string, any>;
46
- }>;
47
- resources: Array<{
48
- path: string;
49
- allowedRoles: string[];
50
- requiredPermissions: string[];
51
- conditions?: Array<{
52
- attribute: string;
53
- operator: 'equals' | 'contains' | 'greaterThan' | 'lessThan';
54
- value: any;
55
- }>;
56
- }>;
57
- }
58
- export interface AuthzCheckResult {
59
- /** Role-based access results */
60
- roleAccessResults: Array<{
61
- role: string;
62
- allowedResources: string[];
63
- deniedResources: string[];
64
- permissions: string[];
65
- hierarchyLevel?: number;
66
- issues: AuthzFinding[];
67
- }>;
68
- /** Resource access matrix */
69
- accessMatrix: {
70
- resources: string[];
71
- roles: string[];
72
- matrix: boolean[][];
73
- };
74
- /** Policy validation results */
75
- policyValidation: {
76
- policiesLoaded: number;
77
- policiesValid: number;
78
- policiesInvalid: number;
79
- conflicts: Array<{
80
- type: 'role-conflict' | 'permission-conflict' | 'resource-conflict';
81
- description: string;
82
- affectedRoles: string[];
83
- affectedResources: string[];
84
- }>;
85
- };
86
- /** Privilege escalation findings */
87
- privilegeEscalation?: {
88
- vulnerabilitiesFound: number;
89
- vulnerabilities: Array<{
90
- severity: 'critical' | 'high' | 'medium' | 'low';
91
- role: string;
92
- escalationPath: string[];
93
- description: string;
94
- remediation: string;
95
- }>;
96
- };
97
- /** ABAC validation results */
98
- abacValidation?: {
99
- attributesValidated: number;
100
- attributesFailed: number;
101
- issues: string[];
102
- };
103
- /** Inheritance validation results */
104
- inheritanceValidation?: {
105
- inheritanceChains: Array<{
106
- role: string;
107
- inheritsFrom: string[];
108
- totalPermissions: number;
109
- inheritedPermissions: number;
110
- }>;
111
- circularDependencies: string[][];
112
- issues: string[];
113
- };
114
- /** Overall summary */
115
- summary: {
116
- overallStatus: 'secure' | 'vulnerable' | 'needs-review';
117
- totalRoles: number;
118
- totalResources: number;
119
- totalPermissions: number;
120
- criticalIssues: number;
121
- highIssues: number;
122
- mediumIssues: number;
123
- recommendations: string[];
124
- };
125
- /** Metadata */
126
- metadata: {
127
- policyFile: string;
128
- validationDuration: number;
129
- timestamp: string;
130
- };
131
- }
132
- export interface AuthzFinding {
133
- severity: 'critical' | 'high' | 'medium' | 'low';
134
- category: 'access-control' | 'privilege-escalation' | 'policy-violation' | 'misconfiguration';
135
- title: string;
136
- description: string;
137
- role: string;
138
- resource?: string;
139
- cwe?: string;
140
- remediation: string;
141
- }
142
- export declare class CheckAuthorizationRulesHandler extends BaseHandler {
143
- handle(args: CheckAuthorizationRulesParams): Promise<HandlerResponse>;
144
- }
145
- /**
146
- * Check authorization rules and validate RBAC/ABAC configuration
147
- *
148
- * @param params - Authorization check parameters
149
- * @returns Authorization validation results with security findings
150
- */
151
- export declare function checkAuthorizationRules(params: CheckAuthorizationRulesParams): Promise<AuthzCheckResult>;
152
- //# sourceMappingURL=check-authz.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-authz.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/check-authz.ts"],"names":[],"mappings":"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"}
@@ -1,434 +0,0 @@
1
- "use strict";
2
- /**
3
- * Authorization Rule Checking Tool
4
- *
5
- * Validates authorization rules, policy enforcement, and role-based access control
6
- * with comprehensive RBAC/ABAC testing and permission validation.
7
- *
8
- * @module security/check-authz
9
- * @version 1.0.0
10
- * @author Agentic QE Team
11
- *
12
- * @example
13
- * ```typescript
14
- * import { checkAuthorizationRules } from './check-authz';
15
- *
16
- * const result = await checkAuthorizationRules({
17
- * roles: ['admin', 'user', 'guest'],
18
- * resources: ['/api/users', '/api/admin', '/api/reports'],
19
- * policies: './security-policies.json'
20
- * });
21
- * ```
22
- */
23
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
- if (k2 === undefined) k2 = k;
25
- var desc = Object.getOwnPropertyDescriptor(m, k);
26
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
- desc = { enumerable: true, get: function() { return m[k]; } };
28
- }
29
- Object.defineProperty(o, k2, desc);
30
- }) : (function(o, m, k, k2) {
31
- if (k2 === undefined) k2 = k;
32
- o[k2] = m[k];
33
- }));
34
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
- Object.defineProperty(o, "default", { enumerable: true, value: v });
36
- }) : function(o, v) {
37
- o["default"] = v;
38
- });
39
- var __importStar = (this && this.__importStar) || (function () {
40
- var ownKeys = function(o) {
41
- ownKeys = Object.getOwnPropertyNames || function (o) {
42
- var ar = [];
43
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44
- return ar;
45
- };
46
- return ownKeys(o);
47
- };
48
- return function (mod) {
49
- if (mod && mod.__esModule) return mod;
50
- var result = {};
51
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52
- __setModuleDefault(result, mod);
53
- return result;
54
- };
55
- })();
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.CheckAuthorizationRulesHandler = void 0;
58
- exports.checkAuthorizationRules = checkAuthorizationRules;
59
- const base_handler_js_1 = require("../base-handler.js");
60
- const SecureRandom_js_1 = require("../../../utils/SecureRandom.js");
61
- const fs = __importStar(require("fs/promises"));
62
- class CheckAuthorizationRulesHandler extends base_handler_js_1.BaseHandler {
63
- async handle(args) {
64
- return this.safeHandle(async () => {
65
- const requestId = this.generateRequestId();
66
- this.log('info', 'Checking authorization rules', { requestId, roles: args.roles.length });
67
- // Validate required parameters
68
- this.validateRequired(args, ['roles', 'resources', 'policies']);
69
- const { result, executionTime } = await this.measureExecutionTime(async () => {
70
- return await checkAuthorizationRules(args);
71
- });
72
- this.log('info', `Authorization check completed in ${executionTime.toFixed(2)}ms`, {
73
- status: result.summary.overallStatus,
74
- criticalIssues: result.summary.criticalIssues
75
- });
76
- return this.createSuccessResponse(result, requestId);
77
- });
78
- }
79
- }
80
- exports.CheckAuthorizationRulesHandler = CheckAuthorizationRulesHandler;
81
- /**
82
- * Check authorization rules and validate RBAC/ABAC configuration
83
- *
84
- * @param params - Authorization check parameters
85
- * @returns Authorization validation results with security findings
86
- */
87
- async function checkAuthorizationRules(params) {
88
- const startTime = Date.now();
89
- const { roles, resources, policies: policyFile, testHierarchy = true, testABAC = false, testInheritance = true, testPrivilegeEscalation = true } = params;
90
- // Load and validate policies
91
- const policy = await loadAuthorizationPolicy(policyFile);
92
- const policyValidation = validatePolicies(policy, roles, resources);
93
- // Test role access to resources
94
- const roleAccessResults = await testRoleAccess(policy, roles, resources);
95
- // Build access matrix
96
- const accessMatrix = buildAccessMatrix(roleAccessResults, roles, resources);
97
- // Test privilege escalation if enabled
98
- let privilegeEscalation;
99
- if (testPrivilegeEscalation) {
100
- privilegeEscalation = await testPrivilegeEscalationVulnerabilities(policy, roles);
101
- }
102
- // Test ABAC if enabled
103
- let abacValidation;
104
- if (testABAC) {
105
- abacValidation = await validateABAC(policy, resources);
106
- }
107
- // Test inheritance if enabled
108
- let inheritanceValidation;
109
- if (testInheritance) {
110
- inheritanceValidation = await validateInheritance(policy);
111
- }
112
- // Calculate critical issues
113
- let criticalIssues = 0;
114
- let highIssues = 0;
115
- let mediumIssues = 0;
116
- roleAccessResults.forEach(result => {
117
- result.issues.forEach(issue => {
118
- if (issue.severity === 'critical')
119
- criticalIssues++;
120
- else if (issue.severity === 'high')
121
- highIssues++;
122
- else if (issue.severity === 'medium')
123
- mediumIssues++;
124
- });
125
- });
126
- if (privilegeEscalation) {
127
- privilegeEscalation.vulnerabilities.forEach(vuln => {
128
- if (vuln.severity === 'critical')
129
- criticalIssues++;
130
- else if (vuln.severity === 'high')
131
- highIssues++;
132
- else if (vuln.severity === 'medium')
133
- mediumIssues++;
134
- });
135
- }
136
- // Generate recommendations
137
- const recommendations = generateAuthzRecommendations({
138
- policyValidation,
139
- privilegeEscalation,
140
- abacValidation,
141
- inheritanceValidation,
142
- criticalIssues
143
- });
144
- // Determine overall status
145
- const overallStatus = criticalIssues > 0 ? 'vulnerable' :
146
- highIssues > 0 ? 'needs-review' : 'secure';
147
- return {
148
- roleAccessResults,
149
- accessMatrix,
150
- policyValidation,
151
- privilegeEscalation,
152
- abacValidation,
153
- inheritanceValidation,
154
- summary: {
155
- overallStatus,
156
- totalRoles: roles.length,
157
- totalResources: resources.length,
158
- totalPermissions: policy.roles.reduce((sum, role) => sum + role.permissions.length, 0),
159
- criticalIssues,
160
- highIssues,
161
- mediumIssues,
162
- recommendations
163
- },
164
- metadata: {
165
- policyFile,
166
- validationDuration: Date.now() - startTime,
167
- timestamp: new Date().toISOString()
168
- }
169
- };
170
- }
171
- async function loadAuthorizationPolicy(policyFile) {
172
- try {
173
- // Check if file exists
174
- const fileExists = await fs.access(policyFile).then(() => true).catch(() => false);
175
- if (!fileExists) {
176
- // Return mock policy for testing
177
- return createMockPolicy();
178
- }
179
- const content = await fs.readFile(policyFile, 'utf-8');
180
- const policy = JSON.parse(content);
181
- return policy;
182
- }
183
- catch (error) {
184
- // Return mock policy if file can't be loaded
185
- return createMockPolicy();
186
- }
187
- }
188
- function createMockPolicy() {
189
- return {
190
- version: '1.0.0',
191
- roles: [
192
- {
193
- name: 'admin',
194
- permissions: ['read', 'write', 'delete', 'admin'],
195
- attributes: { level: 'admin' }
196
- },
197
- {
198
- name: 'user',
199
- permissions: ['read', 'write'],
200
- inherits: [],
201
- attributes: { level: 'user' }
202
- },
203
- {
204
- name: 'guest',
205
- permissions: ['read'],
206
- inherits: [],
207
- attributes: { level: 'guest' }
208
- }
209
- ],
210
- resources: [
211
- {
212
- path: '/api/users',
213
- allowedRoles: ['admin', 'user'],
214
- requiredPermissions: ['read']
215
- },
216
- {
217
- path: '/api/admin',
218
- allowedRoles: ['admin'],
219
- requiredPermissions: ['admin']
220
- },
221
- {
222
- path: '/api/reports',
223
- allowedRoles: ['admin', 'user'],
224
- requiredPermissions: ['read']
225
- }
226
- ]
227
- };
228
- }
229
- function validatePolicies(policy, roles, resources) {
230
- const conflicts = [];
231
- // Check for role conflicts
232
- const policyRoles = policy.roles.map(r => r.name);
233
- const undefinedRoles = roles.filter(r => !policyRoles.includes(r));
234
- if (undefinedRoles.length > 0) {
235
- conflicts.push({
236
- type: 'role-conflict',
237
- description: `Roles not defined in policy: ${undefinedRoles.join(', ')}`,
238
- affectedRoles: undefinedRoles,
239
- affectedResources: []
240
- });
241
- }
242
- // Check for resource conflicts
243
- const policyResources = policy.resources.map(r => r.path);
244
- const undefinedResources = resources.filter(r => !policyResources.includes(r));
245
- if (undefinedResources.length > 0) {
246
- conflicts.push({
247
- type: 'resource-conflict',
248
- description: `Resources not defined in policy: ${undefinedResources.join(', ')}`,
249
- affectedRoles: [],
250
- affectedResources: undefinedResources
251
- });
252
- }
253
- return {
254
- policiesLoaded: policy.roles.length + policy.resources.length,
255
- policiesValid: policy.roles.length + policy.resources.length - conflicts.length,
256
- policiesInvalid: conflicts.length,
257
- conflicts
258
- };
259
- }
260
- async function testRoleAccess(policy, roles, resources) {
261
- const results = [];
262
- for (const roleName of roles) {
263
- const role = policy.roles.find(r => r.name === roleName);
264
- const allowedResources = [];
265
- const deniedResources = [];
266
- const issues = [];
267
- for (const resourcePath of resources) {
268
- const resource = policy.resources.find(r => r.path === resourcePath);
269
- if (!resource) {
270
- deniedResources.push(resourcePath);
271
- continue;
272
- }
273
- const hasAccess = resource.allowedRoles.includes(roleName);
274
- if (hasAccess) {
275
- allowedResources.push(resourcePath);
276
- // Check for over-permissive access
277
- if (roleName === 'guest' && resourcePath.includes('admin')) {
278
- issues.push({
279
- severity: 'critical',
280
- category: 'access-control',
281
- title: 'Over-permissive access for guest role',
282
- description: `Guest role has access to admin resource: ${resourcePath}`,
283
- role: roleName,
284
- resource: resourcePath,
285
- cwe: 'CWE-269',
286
- remediation: 'Restrict admin resources to admin role only'
287
- });
288
- }
289
- }
290
- else {
291
- deniedResources.push(resourcePath);
292
- }
293
- }
294
- results.push({
295
- role: roleName,
296
- allowedResources,
297
- deniedResources,
298
- permissions: role?.permissions || [],
299
- issues
300
- });
301
- }
302
- return results;
303
- }
304
- function buildAccessMatrix(roleAccessResults, roles, resources) {
305
- const matrix = [];
306
- for (let roleIdx = 0; roleIdx < roles.length; roleIdx++) {
307
- const roleResult = roleAccessResults.find(r => r.role === roles[roleIdx]);
308
- const row = [];
309
- for (const resource of resources) {
310
- const hasAccess = roleResult?.allowedResources.includes(resource) || false;
311
- row.push(hasAccess);
312
- }
313
- matrix.push(row);
314
- }
315
- return {
316
- resources,
317
- roles,
318
- matrix
319
- };
320
- }
321
- async function testPrivilegeEscalationVulnerabilities(policy, roles) {
322
- const vulnerabilities = [];
323
- // Test for privilege escalation through permission combination
324
- for (const roleName of roles) {
325
- const role = policy.roles.find(r => r.name === roleName);
326
- if (!role)
327
- continue;
328
- // Check if low-privilege role has admin permissions
329
- if (roleName !== 'admin' && role.permissions.includes('admin')) {
330
- vulnerabilities.push({
331
- severity: 'critical',
332
- role: roleName,
333
- escalationPath: [roleName, 'admin'],
334
- description: `Role "${roleName}" has admin permissions but is not an admin role`,
335
- remediation: 'Remove admin permissions from non-admin roles'
336
- });
337
- }
338
- // Check for dangerous permission combinations
339
- if (role.permissions.includes('write') && role.permissions.includes('delete') && roleName === 'guest') {
340
- vulnerabilities.push({
341
- severity: 'high',
342
- role: roleName,
343
- escalationPath: [roleName, 'write+delete'],
344
- description: `Guest role has dangerous permission combination: write and delete`,
345
- remediation: 'Restrict write and delete permissions to authenticated users'
346
- });
347
- }
348
- }
349
- return {
350
- vulnerabilitiesFound: vulnerabilities.length,
351
- vulnerabilities
352
- };
353
- }
354
- async function validateABAC(policy, resources) {
355
- let attributesValidated = 0;
356
- let attributesFailed = 0;
357
- const issues = [];
358
- for (const resource of policy.resources) {
359
- if (resource.conditions) {
360
- attributesValidated += resource.conditions.length;
361
- for (const condition of resource.conditions) {
362
- // Simulate ABAC validation
363
- if (SecureRandom_js_1.SecureRandom.randomFloat() > 0.8) {
364
- attributesFailed++;
365
- issues.push(`ABAC condition failed for ${resource.path}: ${condition.attribute} ${condition.operator} ${condition.value}`);
366
- }
367
- }
368
- }
369
- }
370
- return {
371
- attributesValidated,
372
- attributesFailed,
373
- issues
374
- };
375
- }
376
- async function validateInheritance(policy) {
377
- const inheritanceChains = [];
378
- const circularDependencies = [];
379
- const issues = [];
380
- for (const role of policy.roles) {
381
- const inheritsFrom = role.inherits || [];
382
- const totalPermissions = role.permissions.length;
383
- let inheritedPermissions = 0;
384
- // Calculate inherited permissions
385
- for (const parentRole of inheritsFrom) {
386
- const parent = policy.roles.find(r => r.name === parentRole);
387
- if (parent) {
388
- inheritedPermissions += parent.permissions.length;
389
- }
390
- else {
391
- issues.push(`Role "${role.name}" inherits from undefined role "${parentRole}"`);
392
- }
393
- }
394
- inheritanceChains.push({
395
- role: role.name,
396
- inheritsFrom,
397
- totalPermissions,
398
- inheritedPermissions
399
- });
400
- // Check for circular dependencies (simplified)
401
- if (inheritsFrom.includes(role.name)) {
402
- circularDependencies.push([role.name, role.name]);
403
- issues.push(`Circular inheritance detected in role "${role.name}"`);
404
- }
405
- }
406
- return {
407
- inheritanceChains,
408
- circularDependencies,
409
- issues
410
- };
411
- }
412
- function generateAuthzRecommendations(context) {
413
- const recommendations = [];
414
- if (context.criticalIssues > 0) {
415
- recommendations.push(`URGENT: ${context.criticalIssues} critical authorization vulnerabilities require immediate attention`);
416
- }
417
- if (context.policyValidation.conflicts.length > 0) {
418
- recommendations.push(`Resolve ${context.policyValidation.conflicts.length} policy conflicts`);
419
- }
420
- if (context.privilegeEscalation && context.privilegeEscalation.vulnerabilitiesFound > 0) {
421
- recommendations.push('Fix privilege escalation vulnerabilities by reviewing role permissions');
422
- }
423
- if (context.inheritanceValidation?.circularDependencies.length) {
424
- recommendations.push('Remove circular inheritance dependencies');
425
- }
426
- if (context.abacValidation && context.abacValidation.attributesFailed > 0) {
427
- recommendations.push('Review ABAC attribute conditions for accuracy');
428
- }
429
- if (recommendations.length === 0) {
430
- recommendations.push('Authorization configuration appears secure. Continue regular policy reviews');
431
- }
432
- return recommendations;
433
- }
434
- //# sourceMappingURL=check-authz.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-authz.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/security/check-authz.ts"],"names":[],"mappings":"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"}