azureai-optimizer
Version:
AI-Powered Azure Infrastructure Optimization via Model Context Protocol
113 lines • 3.57 kB
TypeScript
/**
* Security Assessment Tool
* AI-powered Azure security compliance analysis
*/
import { AuthContext } from '../auth/azure-auth.js';
import { Tool, ToolConfig } from './registry.js';
export interface SecurityAssessmentArgs {
subscription_id: string;
resource_group?: string;
compliance_framework: 'SOC2' | 'ISO27001' | 'NIST' | 'CIS' | 'custom';
include_remediation?: boolean;
severity_filter?: 'low' | 'medium' | 'high' | 'critical';
}
export interface SecurityAssessmentResult {
success: boolean;
data: {
compliance_summary: {
framework: string;
overall_score: number;
total_controls: number;
passed_controls: number;
failed_controls: number;
not_applicable: number;
};
security_findings: Array<{
id: string;
title: string;
description: string;
severity: 'Low' | 'Medium' | 'High' | 'Critical';
category: string;
affected_resources: string[];
compliance_impact: string;
remediation_steps?: string[];
}>;
policy_compliance: {
total_policies: number;
compliant_policies: number;
non_compliant_policies: number;
policy_violations: Array<{
policy_name: string;
violation_count: number;
affected_resources: string[];
}>;
};
ai_insights: {
risk_assessment: string;
priority_recommendations: Array<{
title: string;
description: string;
impact: 'Low' | 'Medium' | 'High' | 'Critical';
effort: 'Low' | 'Medium' | 'High';
implementation_steps: string[];
}>;
compliance_gaps: string[];
security_trends: string;
};
};
metadata: {
execution_time?: number;
api_calls: number;
assessment_date: string;
framework_version?: string;
};
}
export declare class SecurityAssessmentTool implements Tool {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
subscription_id: {
type: string;
description: string;
};
resource_group: {
type: string;
description: string;
};
compliance_framework: {
type: string;
enum: string[];
description: string;
default: string;
};
include_remediation: {
type: string;
description: string;
default: boolean;
};
severity_filter: {
type: string;
enum: string[];
description: string;
};
};
required: string[];
};
private aiAnalyzer;
private logger;
constructor(config: ToolConfig);
execute(args: SecurityAssessmentArgs, _context: AuthContext): Promise<SecurityAssessmentResult>;
private fetchSecurityAssessments;
private fetchPolicyCompliance;
private processSecurityFindings;
private processPolicyCompliance;
private calculateComplianceScore;
private mapSeverity;
private getComplianceImpact;
private getFrameworkControls;
private mapFindingToControls;
private getFrameworkVersion;
}
//# sourceMappingURL=security-assessment.d.ts.map