""" UDora: A Unified Red Teaming Framework against LLM Agents This package provides a modular implementation of UDora, decomposed into specialized components for better maintainability and extensibility. Modules: - attack: Core UDora attack algorithm and main classes - scheduling: Weighted interval scheduling for optimal target placement - datasets: Dataset-specific success conditions and utilities - text_processing: Text analysis and target positioning utilities - loss: Specialized loss functions for adversarial optimization - readable: Readable adversarial string optimization with perplexity guidance - utils: General utility functions and helpers Main Classes: - UDora: Main attack class - UDoraConfig: Configuration for attack parameters - UDoraResult: Results from attack execution - AttackBuffer: Buffer for maintaining best candidates - ReadableOptimizer: Optimizer for natural language adversarial strings Main Functions: - run: Simplified API for executing attacks - create_readable_optimizer: Factory for readable optimization """ from .attack import UDora, UDoraConfig, UDoraResult, AttackBuffer, run from .utils import * from .scheduling import weighted_interval_scheduling from .datasets import check_success_condition from .text_processing import build_target_intervals from .loss import compute_udora_loss from .readable import ReadableOptimizer, create_readable_optimizer, create_injection_optimizer __all__ = [ # Core classes "UDora", "UDoraConfig", "UDoraResult", "AttackBuffer", # Main function "run", # Utility functions "weighted_interval_scheduling", "check_success_condition", "build_target_intervals", "compute_udora_loss", # Readable optimization "ReadableOptimizer", "create_readable_optimizer", "create_injection_optimizer" ] __version__ = "1.0.0"