ubon
Version:
Security scanner for AI-generated apps (Cursor, Lovable, Windsurf, v0). Catches hardcoded secrets, prompt injection, hallucinated imports, Server Actions / Edge runtime mistakes, and the vibe-coded vulnerabilities traditional linters miss.
24 lines • 1.16 kB
TypeScript
import { Scanner, ScanOptions, ScanResult } from '../types';
import { ResultCache } from '../utils/result-cache';
export interface FileContext {
file: string;
content: string;
lines: string[];
contentHash: string;
}
export declare abstract class BaseScanner implements Scanner {
abstract name: string;
abstract scan(options: ScanOptions): Promise<ScanResult[]>;
protected resultCache: ResultCache | null;
protected initCache(options: ScanOptions, signature: string): void;
protected getCached(file: string, contentHash: string): ScanResult[] | null;
protected setCached(file: string, contentHash: string, results: ScanResult[]): void;
protected saveCache(): void;
protected iterateFiles(options: ScanOptions, pattern: string, ignore: string[]): AsyncGenerator<FileContext>;
protected hasFileSuppression(lines: string[]): boolean;
protected isSuppressed(lines: string[], lineIndex: number, ruleId: string): boolean;
protected createResult(partial: Omit<ScanResult, 'range'> & {
range?: ScanResult['range'];
}, lineText?: string): ScanResult;
}
//# sourceMappingURL=base-scanner.d.ts.map