UNPKG

@bhupesh123/security

Version:

Security vulnerability analysis microservice for GitHub repositories

83 lines 2.09 kB
export interface SecurityIssue { file: string; line: number; severity: 'critical' | 'high' | 'medium' | 'low' | 'info'; category: string; title: string; description: string; cwe?: string; cve?: string; recommendation: string; source?: string; } export interface DependencyVulnerability { package: string; version: string; severity: 'critical' | 'high' | 'medium' | 'low'; cve: string; description: string; patchedVersions: string[]; recommendation: string; } export interface SecurityAnalysisResult { totalIssues: number; criticalIssues: number; highIssues: number; mediumIssues: number; lowIssues: number; issues: SecurityIssue[]; dependencies: DependencyVulnerability[]; summary: { bySeverity: Record<string, number>; byCategory: Record<string, number>; byFile: Record<string, number>; }; securityScore: number; timestamp: string; } export declare class SecurityAnalyzer { private octokit; constructor(githubToken: string); /** * Analyze security vulnerabilities in a GitHub repository */ analyzeRepository(owner: string, repo: string, branch?: string): Promise<SecurityAnalysisResult>; /** * Get security advisories from GitHub */ private getSecurityAdvisories; /** * Check dependencies for vulnerabilities */ private checkDependencies; /** * Check if a package has known vulnerabilities */ private checkPackageVulnerability; /** * Analyze a single file for security issues */ private analyzeFile; /** * Scan content for security issues */ private scanContent; /** * Scan for exposed secrets */ private scanForSecrets; /** * Calculate security score (0-100) */ private calculateSecurityScore; /** * Get file content */ private getFile; /** * Get all source files */ private getSourceFiles; } export default SecurityAnalyzer; //# sourceMappingURL=index.d.ts.map