stellar-cyber-mcp-agents
Version:
Model Context Protocol (MCP) server for Stellar Cyber security operations with specialized multi-agent analysis capabilities
131 lines • 4.16 kB
TypeScript
import { BaseAgent } from '../core/base-agent.js';
import { AgentId, AgentMetadata, AgentRegistry, AgentCommunicationChannel, AgentLogger, AgentMetrics, AgentRequest, AgentContext, AgentHealth } from '../types/agent.js';
export interface CredentialAnalysisRequest {
caseId: string;
usernames?: string[];
passwords?: string[];
hashes?: string[];
domains?: string[];
ipAddresses?: string[];
timeRange?: {
start: string;
end: string;
};
options?: {
checkBreaches?: boolean;
analyzePatterns?: boolean;
checkComplexity?: boolean;
crossReference?: boolean;
generateReport?: boolean;
};
}
export interface CredentialFinding {
id: string;
type: 'compromised_credential' | 'weak_password' | 'reused_password' | 'suspicious_login' | 'breach_exposure';
severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
confidence: number;
username?: string;
domain?: string;
description: string;
evidence: string[];
recommendations: string[];
mitre: {
tactics: string[];
techniques: string[];
};
breach?: {
source: string;
date: string;
dataTypes: string[];
};
patterns?: {
commonPasswords: boolean;
dictionaryWords: boolean;
personalInfo: boolean;
repeatingChars: boolean;
};
}
export interface CredentialAnalysisResult {
caseId: string;
analysisId: string;
timestamp: string;
summary: {
totalCredentials: number;
compromisedCount: number;
weakPasswords: number;
breachExposures: number;
riskScore: number;
severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
status: 'ANALYZED' | 'FAILED' | 'PARTIAL';
};
findings: CredentialFinding[];
patterns: {
commonDomains: Array<{
domain: string;
count: number;
}>;
passwordPatterns: Array<{
pattern: string;
count: number;
risk: string;
}>;
timeDistribution: Array<{
hour: number;
count: number;
}>;
geographicDistribution: Array<{
country: string;
count: number;
}>;
};
recommendations: Array<{
id: string;
priority: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW';
category: string;
description: string;
rationale: string;
actions: string[];
impact: string;
effort: string;
}>;
metadata: {
analysisTime: string;
dataPoints: number;
rulesApplied: string[];
breachSources: string[];
};
}
export declare class CredentialAnalysisAgent extends BaseAgent {
protected readonly agentId: AgentId;
private accessToken;
private tokenExpiresAt;
private readonly config;
constructor(metadata: AgentMetadata, registry: AgentRegistry, channel: AgentCommunicationChannel, logger: AgentLogger, metrics: AgentMetrics, config: any);
getAgentId(): AgentId;
protected performHealthCheck(): Promise<boolean>;
private performTokenRefresh;
analyzeCredentials(request: CredentialAnalysisRequest): Promise<CredentialAnalysisResult>;
private getAuthenticationEvents;
private analyzeAuthenticationEvents;
private analyzeUsernames;
private analyzePasswords;
private checkBreachExposures;
private analyzePasswordStrength;
private containsPersonalInfo;
private isEmailFormat;
private analyzeCredentialPatterns;
private extractDomainPatterns;
private extractPasswordPatterns;
private extractTimePatterns;
private extractGeoPatterns;
private generateRecommendations;
private calculateCredentialRiskScore;
private determineSeverity;
protected onInitialize(): Promise<void>;
protected onStart(): Promise<void>;
protected onStop(): Promise<void>;
protected onDestroy(): Promise<void>;
protected onHealthCheck(): Promise<AgentHealth>;
protected handleRequest(request: AgentRequest, context: AgentContext): Promise<any>;
}
//# sourceMappingURL=credential-agent.d.ts.map