/** * Crescendo Mutation - OWASP LLM01 (Prompt Injection) * * Multi-turn gradual escalation attack that starts with completely benign requests * and incrementally increases the harm level. Each turn builds trust and context * that makes the next request seem more reasonable. * * This is distinct from the general multi-turn mutation in that it specifically * follows the escalation pattern rather than using other strategies. * * Reference: OWASP LLM Top 10 2025 - LLM01 Prompt Injection */ import { type CvssScore } from '../severity'; import type { Mutation } from './index'; import type { ConversationTurn } from './multi-turn'; export type EscalationTopic = 'security_research' | 'academic_writing' | 'fiction_writing' | 'educational_content' | 'technical_documentation' | 'safety_testing'; export interface CrescendoOptions { /** Preferred escalation topic (random if not specified) */ topic?: EscalationTopic; /** Number of escalation turns (2-5, default 4) */ turns?: number; } export declare class CrescendoMutation implements Mutation { readonly name = "crescendo"; readonly description = "Multi-turn gradual escalation attack building trust before harmful request (OWASP LLM01)"; readonly severity: "critical"; readonly cvssScore: CvssScore; /** OWASP category */ readonly owaspCategory = "LLM01"; private topic?; private turns; constructor(options?: CrescendoOptions); /** * Get a random item from an array */ private random; /** * Get escalation topic */ private getTopic; /** * For single-prompt use, generates a prompt that includes the conversation context */ mutate(prompt: string): string; /** * Generate the full conversation sequence for multi-turn execution */ generateConversation(targetPrompt: string): ConversationTurn[]; } //# sourceMappingURL=crescendo.d.ts.map