/** * Security Testing Framework for LLMS SDK * Implements OWASP Top 10 for LLMs security checks */ import type { ChatClient, AskOptions } from "../types.js"; /** * OWASP Top 10 for LLMs Security Vulnerabilities */ export declare enum LLMSecurityRisk { PROMPT_INJECTION = "LLM01:2025 Prompt Injection", INSECURE_OUTPUT = "LLM02:2025 Insecure Output Handling", TRAINING_POISONING = "LLM03:2025 Training Data Poisoning", MODEL_DOS = "LLM04:2025 Model Denial of Service", SUPPLY_CHAIN = "LLM05:2025 Supply Chain Vulnerabilities", SENSITIVE_DISCLOSURE = "LLM06:2025 Sensitive Information Disclosure", INSECURE_PLUGIN = "LLM07:2025 Insecure Plugin Design", EXCESSIVE_AGENCY = "LLM08:2025 Excessive Agency", OVERRELIANCE = "LLM09:2025 Overreliance", MODEL_THEFT = "LLM10:2025 Model Theft" } /** * Security test result */ export interface SecurityTestResult { risk: LLMSecurityRisk; passed: boolean; severity: "critical" | "high" | "medium" | "low"; findings: string[]; recommendations: string[]; } /** * Prompt injection test vectors */ export declare class PromptInjectionTester { private static readonly TEST_VECTORS; static test(client: ChatClient, options?: AskOptions): Promise; private static detectInjectionSuccess; } /** * Output security tester */ export declare class OutputSecurityTester { private static readonly MALICIOUS_PATTERNS; static test(client: ChatClient, options?: AskOptions): Promise; } /** * Data leakage tester */ export declare class DataLeakageTester { private static readonly SENSITIVE_PROBES; static test(client: ChatClient, options?: AskOptions): Promise; } /** * Comprehensive security test suite */ export declare class LLMSecurityTestSuite { private client; constructor(client: ChatClient); runAllTests(options?: AskOptions): Promise<{ passed: boolean; critical: number; high: number; medium: number; low: number; results: SecurityTestResult[]; }>; testPromptInjection(options?: AskOptions): Promise; testOutputSecurity(options?: AskOptions): Promise; testDataLeakage(options?: AskOptions): Promise; } /** * Vitest integration */ export declare function createSecurityTest(client: ChatClient): LLMSecurityTestSuite; export declare function expectSecure(suite: LLMSecurityTestSuite, options?: AskOptions): { againstAllRisks(): Promise; againstPromptInjection(): Promise; againstDataLeakage(): Promise; }; //# sourceMappingURL=security.d.ts.map