UNPKG

@blueprintlabio/prompt-injector

Version:

Experimental TypeScript library for generating AI security test conversations

53 lines 2.22 kB
/** * Encoding-based attack primitives * Base64, Hexadecimal, and other encoding techniques */ import { BasePrimitive } from './base.js'; import { ConversationContext, Turn, AttackIntent, ObfuscationLevel, Timing } from '../types.js'; /** * Base64 Obfuscation Primitive * Encodes requests in Base64 to potentially bypass filters */ export declare class Base64ObfuscationPrimitive extends BasePrimitive { readonly id = "base64-obfuscation"; readonly name = "Base64 Encoding"; readonly description = "Encodes requests in Base64 to potentially bypass filters"; readonly timing: Timing[]; readonly researchNotes = "Base64 encoding observed as attack vector in security research"; readonly obfuscationLevel: ObfuscationLevel; readonly targetIntents: AttackIntent[]; readonly canFollow: string[]; generate(goal: string, context: ConversationContext): Turn; } /** * Hexadecimal Encoding Primitive * Hex encoding bypass based on Mozilla 0Din research */ export declare class HexadecimalEncodingPrimitive extends BasePrimitive { readonly id = "hexadecimal-encoding"; readonly name = "Hexadecimal Encoding"; readonly description = "Hex encoding bypass based on Mozilla 0Din research"; readonly timing: Timing[]; readonly researchNotes = "Mozilla 0Din research by Figueroa (2024) on hex encoding bypasses"; readonly obfuscationLevel: ObfuscationLevel; readonly targetIntents: AttackIntent[]; readonly canFollow: string[]; generate(goal: string, context: ConversationContext): Turn; } /** * Caesar Cipher Primitive * Caesar cipher encoding for obfuscation */ export declare class CaesarCipherPrimitive extends BasePrimitive { readonly id = "caesar-cipher"; readonly name = "Caesar Cipher"; readonly description = "Caesar cipher encoding for obfuscation"; readonly timing: Timing[]; readonly researchNotes = "Caesar cipher as part of multi-encoding defense bypass strategy"; readonly obfuscationLevel: ObfuscationLevel; readonly targetIntents: AttackIntent[]; readonly canFollow: string[]; generate(goal: string, context: ConversationContext): Turn; private caesarEncode; } //# sourceMappingURL=encoding.d.ts.map