/**
 * Prompt injection security scanner.
 *
 * Submits adversarial payloads to AI endpoints (via API or browser form)
 * and uses the judge engine to detect unsafe behaviors:
 * - System prompt leakage
 * - Compliance with injected instructions
 * - Sensitive data exfiltration
 * - Role override success
 *
 * OWASP LLM Top 10 #1 — prompt injection.
 */
import type { ScanResult } from "../../types/index.js";
import type { JudgeConfig } from "../judge.js";
export interface InjectionPayload {
    id: string;
    category: "extraction" | "role_override" | "jailbreak" | "data_exfil" | "indirect";
    payload: string;
    description: string;
    severity: "critical" | "high" | "medium";
}
export declare const INJECTION_PAYLOADS: InjectionPayload[];
export interface InjectionScanOptions {
    url: string;
    endpoint?: string;
    method?: string;
    inputField?: string;
    outputField?: string;
    headers?: Record<string, string>;
    payloadCategories?: InjectionPayload["category"][];
    judgeConfig?: JudgeConfig;
    timeoutMs?: number;
    browser?: boolean;
    headed?: boolean;
    formSelector?: string;
}
export interface InjectionFinding {
    payloadId: string;
    category: InjectionPayload["category"];
    severity: InjectionPayload["severity"];
    description: string;
    payload: string;
    response: string;
    vulnerabilityDetected: boolean;
    judgeScore: number;
    judgeReason: string;
}
export interface InjectionScanResult extends ScanResult {
    findings: InjectionFinding[];
    vulnerableCount: number;
    payloadsTested: number;
}
export declare function scanInjection(options: InjectionScanOptions): Promise<InjectionScanResult>;
//# sourceMappingURL=injection.d.ts.map