@blueprintlabio/prompt-injector
Version:
Experimental TypeScript library for generating AI security test conversations
53 lines • 2.22 kB
TypeScript
/**
* 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