vibe-guard
Version:
🛡️ Vibe-Guard Security Scanner - 25 essential security rules to catch vulnerabilities before they catch you! Zero dependencies, instant setup, works everywhere, optimized performance. Detects SQL injection, XSS, exposed secrets, CSRF, CORS issues, and mo
72 lines • 1.98 kB
TypeScript
export type SeverityLevel = 'critical' | 'high' | 'medium' | 'low';
export interface SecurityIssue {
rule: string;
severity: SeverityLevel;
message: string;
file: string;
line: number;
column: number;
code: string;
suggestion: string;
}
export interface ScanOptions {
target: string;
format: 'table' | 'json' | 'sarif' | 'html';
verbose: boolean;
exclude?: string[];
include?: string[];
}
export interface RuleMatch {
pattern: RegExp;
message: string;
severity: SeverityLevel;
suggestion: string;
}
export interface FileContent {
path: string;
content: string;
lines: string[];
}
export interface ScanResult {
issues: SecurityIssue[];
filesScanned: number;
issuesFound: number;
summary: {
critical: number;
high: number;
medium: number;
low: number;
};
}
export interface RuleConfig {
enabled: boolean;
severity?: SeverityLevel;
patterns?: string[];
excludePatterns?: string[];
}
export interface VibeGuardConfig {
rules?: Record<string, RuleConfig>;
exclude?: string[];
include?: string[];
outputFormat?: 'table' | 'json' | 'sarif' | 'html';
outputFile?: string;
verbose?: boolean;
severity?: SeverityLevel;
maxFileSize?: string;
parallel?: boolean;
maxWorkers?: number;
}
export declare abstract class BaseRule {
abstract readonly name: string;
abstract readonly description: string;
abstract readonly severity: SeverityLevel;
abstract check(fileContent: FileContent): SecurityIssue[];
protected createIssue(file: string, line: number, column: number, code: string, message: string, suggestion: string, severity?: SeverityLevel): SecurityIssue;
protected findMatches(content: string, pattern: RegExp): Array<{
match: RegExpMatchArray;
line: number;
column: number;
lineContent: string;
}>;
}
//# sourceMappingURL=index.d.ts.map