Documentation
¶
Overview ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities ¶
Package validation provides methods to validate and detect OWASP LLM vulnerabilities
Index ¶
- Constants
- func MaxFloat64(a, b float64) float64
- func MaxInt(a, b int) int
- func MinFloat64(a, b float64) float64
- func MinInt(a, b int) int
- func RegisterAllValidators(registry *ValidatorRegistry)
- type BaseValidator
- func (v *BaseValidator) GetDescription() string
- func (v *BaseValidator) GetName() string
- func (v *BaseValidator) GetVulnerabilityType() types.VulnerabilityType
- func (v *BaseValidator) ValidateChatMessages(ctx context.Context, messages []core.Message, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *BaseValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *BaseValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type DataLeakageValidator
- type ExcessiveAgencyValidator
- func (v *ExcessiveAgencyValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *ExcessiveAgencyValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type IndirectPromptInjectionValidator
- func (v *IndirectPromptInjectionValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *IndirectPromptInjectionValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type InsecureOutputValidator
- func (v *InsecureOutputValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *InsecureOutputValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type InsecurePluginValidator
- func (v *InsecurePluginValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *InsecurePluginValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type ModelDOSValidator
- type ModelTheftValidator
- type OverrelianceValidator
- type PromptInjectionValidator
- func (v *PromptInjectionValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *PromptInjectionValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type PromptValidationOptions
- type ResponseValidationOptions
- type SupplyChainValidator
- type TrainingDataPoisoningValidator
- func (v *TrainingDataPoisoningValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
- func (v *TrainingDataPoisoningValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
- type ValidationLocation
- type ValidationResult
- type Validator
- type ValidatorFactory
- func (f *ValidatorFactory) CreateAndRegisterValidator(vulnerabilityType types.VulnerabilityType) Validator
- func (f *ValidatorFactory) CreateValidator(vulnerabilityType types.VulnerabilityType) Validator
- func (f *ValidatorFactory) GetRegistry() *ValidatorRegistry
- func (f *ValidatorFactory) RegisterAllValidators()
- func (f *ValidatorFactory) RegisterValidator(validator Validator)
- type ValidatorRegistry
- func (r *ValidatorRegistry) GetAllValidators() []Validator
- func (r *ValidatorRegistry) GetValidators(vulnerabilityType types.VulnerabilityType) []Validator
- func (r *ValidatorRegistry) RegisterValidator(validator Validator)
- func (r *ValidatorRegistry) ValidateChatMessages(ctx context.Context, messages []core.Message, options *PromptValidationOptions) (map[types.VulnerabilityType][]*ValidationResult, error)
- func (r *ValidatorRegistry) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) (map[types.VulnerabilityType][]*ValidationResult, error)
- func (r *ValidatorRegistry) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) (map[types.VulnerabilityType][]*ValidationResult, error)
Constants ¶
const IndirectPromptInjectionType types.VulnerabilityType = "indirect_prompt_injection"
IndirectPromptInjectionType is a custom vulnerability type for indirect prompt injection
Variables ¶
This section is empty.
Functions ¶
func MaxFloat64 ¶
MaxFloat64 returns the maximum of two float64 values
func MinFloat64 ¶
MinFloat64 returns the minimum of two float64 values
func RegisterAllValidators ¶
func RegisterAllValidators(registry *ValidatorRegistry)
RegisterAllValidators registers all available validators with the registry
Types ¶
type BaseValidator ¶
type BaseValidator struct {
// contains filtered or unexported fields
}
BaseValidator provides a base implementation of the Validator interface
func NewBaseValidator ¶
func NewBaseValidator(vulnerabilityType types.VulnerabilityType, name, description string) *BaseValidator
NewBaseValidator creates a new base validator
func (*BaseValidator) GetDescription ¶
func (v *BaseValidator) GetDescription() string
GetDescription returns a description of the validator
func (*BaseValidator) GetName ¶
func (v *BaseValidator) GetName() string
GetName returns the name of the validator
func (*BaseValidator) GetVulnerabilityType ¶
func (v *BaseValidator) GetVulnerabilityType() types.VulnerabilityType
GetVulnerabilityType returns the vulnerability type that this validator checks for
func (*BaseValidator) ValidateChatMessages ¶
func (v *BaseValidator) ValidateChatMessages(ctx context.Context, messages []core.Message, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidateChatMessages validates a list of chat messages for vulnerabilities This is a default implementation that can be overridden by specific validators
func (*BaseValidator) ValidatePrompt ¶
func (v *BaseValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for vulnerabilities This is a default implementation that should be overridden by specific validators
func (*BaseValidator) ValidateResponse ¶
func (v *BaseValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for vulnerabilities This is a default implementation that should be overridden by specific validators
type DataLeakageValidator ¶
type DataLeakageValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
DataLeakageValidator validates prompts and responses for data leakage vulnerabilities
func NewDataLeakageValidator ¶
func NewDataLeakageValidator() *DataLeakageValidator
NewDataLeakageValidator creates a new data leakage validator
func (*DataLeakageValidator) ValidatePrompt ¶
func (v *DataLeakageValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for data leakage vulnerabilities
func (*DataLeakageValidator) ValidateResponse ¶
func (v *DataLeakageValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for data leakage vulnerabilities
type ExcessiveAgencyValidator ¶
type ExcessiveAgencyValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
ExcessiveAgencyValidator validates prompts and responses for excessive agency vulnerabilities
func NewExcessiveAgencyValidator ¶
func NewExcessiveAgencyValidator() *ExcessiveAgencyValidator
NewExcessiveAgencyValidator creates a new excessive agency validator
func (*ExcessiveAgencyValidator) ValidatePrompt ¶
func (v *ExcessiveAgencyValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for excessive agency vulnerabilities
func (*ExcessiveAgencyValidator) ValidateResponse ¶
func (v *ExcessiveAgencyValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for excessive agency vulnerabilities
type IndirectPromptInjectionValidator ¶
type IndirectPromptInjectionValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
IndirectPromptInjectionValidator validates prompts and responses for indirect prompt injection vulnerabilities
func NewIndirectPromptInjectionValidator ¶
func NewIndirectPromptInjectionValidator() *IndirectPromptInjectionValidator
NewIndirectPromptInjectionValidator creates a new indirect prompt injection validator
func (*IndirectPromptInjectionValidator) ValidatePrompt ¶
func (v *IndirectPromptInjectionValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for indirect prompt injection vulnerabilities
func (*IndirectPromptInjectionValidator) ValidateResponse ¶
func (v *IndirectPromptInjectionValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for indirect prompt injection vulnerabilities
type InsecureOutputValidator ¶
type InsecureOutputValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
InsecureOutputValidator validates prompts and responses for insecure output handling vulnerabilities
func NewInsecureOutputValidator ¶
func NewInsecureOutputValidator() *InsecureOutputValidator
NewInsecureOutputValidator creates a new insecure output validator
func (*InsecureOutputValidator) ValidatePrompt ¶
func (v *InsecureOutputValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for insecure output handling vulnerabilities
func (*InsecureOutputValidator) ValidateResponse ¶
func (v *InsecureOutputValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for insecure output handling vulnerabilities
type InsecurePluginValidator ¶
type InsecurePluginValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
InsecurePluginValidator validates prompts and responses for insecure plugin design vulnerabilities
func NewInsecurePluginValidator ¶
func NewInsecurePluginValidator() *InsecurePluginValidator
NewInsecurePluginValidator creates a new insecure plugin validator
func (*InsecurePluginValidator) ValidatePrompt ¶
func (v *InsecurePluginValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for insecure plugin design vulnerabilities
func (*InsecurePluginValidator) ValidateResponse ¶
func (v *InsecurePluginValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for insecure plugin design vulnerabilities
type ModelDOSValidator ¶
type ModelDOSValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
ModelDOSValidator validates prompts and responses for model denial of service vulnerabilities
func NewModelDOSValidator ¶
func NewModelDOSValidator() *ModelDOSValidator
NewModelDOSValidator creates a new model DOS validator
func (*ModelDOSValidator) ValidatePrompt ¶
func (v *ModelDOSValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for model denial of service vulnerabilities
func (*ModelDOSValidator) ValidateResponse ¶
func (v *ModelDOSValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for model denial of service vulnerabilities
type ModelTheftValidator ¶
type ModelTheftValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
ModelTheftValidator validates prompts and responses for model theft vulnerabilities
func NewModelTheftValidator ¶
func NewModelTheftValidator() *ModelTheftValidator
NewModelTheftValidator creates a new model theft validator
func (*ModelTheftValidator) ValidatePrompt ¶
func (v *ModelTheftValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for model theft vulnerabilities
func (*ModelTheftValidator) ValidateResponse ¶
func (v *ModelTheftValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for model theft vulnerabilities
type OverrelianceValidator ¶
type OverrelianceValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
OverrelianceValidator validates prompts and responses for overreliance vulnerabilities
func NewOverrelianceValidator ¶
func NewOverrelianceValidator() *OverrelianceValidator
NewOverrelianceValidator creates a new overreliance validator
func (*OverrelianceValidator) ValidatePrompt ¶
func (v *OverrelianceValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for overreliance vulnerabilities
func (*OverrelianceValidator) ValidateResponse ¶
func (v *OverrelianceValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for overreliance vulnerabilities
type PromptInjectionValidator ¶
type PromptInjectionValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
PromptInjectionValidator validates prompts and responses for prompt injection vulnerabilities
func NewPromptInjectionValidator ¶
func NewPromptInjectionValidator() *PromptInjectionValidator
NewPromptInjectionValidator creates a new prompt injection validator
func (*PromptInjectionValidator) ValidatePrompt ¶
func (v *PromptInjectionValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for prompt injection vulnerabilities
func (*PromptInjectionValidator) ValidateResponse ¶
func (v *PromptInjectionValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for prompt injection vulnerabilities
type PromptValidationOptions ¶
type PromptValidationOptions struct {
// StrictMode enables more stringent validation
StrictMode bool
// IncludeMetadata indicates whether to include metadata in validation
IncludeMetadata bool
// CustomPatterns allows for additional patterns to check
CustomPatterns []string
// ExcludePatterns allows for patterns to exclude from validation
ExcludePatterns []string
// MaxScanDepth sets the maximum depth for recursive scanning
MaxScanDepth int
// ContextAware indicates whether to use context-aware validation
ContextAware bool
}
PromptValidationOptions represents options for validating prompts
func DefaultPromptValidationOptions ¶
func DefaultPromptValidationOptions() *PromptValidationOptions
DefaultPromptValidationOptions returns the default options for prompt validation
type ResponseValidationOptions ¶
type ResponseValidationOptions struct {
// StrictMode enables more stringent validation
StrictMode bool
// IncludeMetadata indicates whether to include metadata in validation
IncludeMetadata bool
// CustomPatterns allows for additional patterns to check
CustomPatterns []string
// ExcludePatterns allows for patterns to exclude from validation
ExcludePatterns []string
// OriginalPrompt is the prompt that generated the response
OriginalPrompt string
// ContextAware indicates whether to use context-aware validation
ContextAware bool
}
ResponseValidationOptions represents options for validating responses
func DefaultResponseValidationOptions ¶
func DefaultResponseValidationOptions() *ResponseValidationOptions
DefaultResponseValidationOptions returns the default options for response validation
type SupplyChainValidator ¶
type SupplyChainValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
SupplyChainValidator validates prompts and responses for supply chain vulnerabilities
func NewSupplyChainValidator ¶
func NewSupplyChainValidator() *SupplyChainValidator
NewSupplyChainValidator creates a new supply chain validator
func (*SupplyChainValidator) ValidatePrompt ¶
func (v *SupplyChainValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for supply chain vulnerabilities
func (*SupplyChainValidator) ValidateResponse ¶
func (v *SupplyChainValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for supply chain vulnerabilities
type TrainingDataPoisoningValidator ¶
type TrainingDataPoisoningValidator struct {
*BaseValidator
// contains filtered or unexported fields
}
TrainingDataPoisoningValidator validates prompts and responses for training data poisoning vulnerabilities
func NewTrainingDataPoisoningValidator ¶
func NewTrainingDataPoisoningValidator() *TrainingDataPoisoningValidator
NewTrainingDataPoisoningValidator creates a new training data poisoning validator
func (*TrainingDataPoisoningValidator) ValidatePrompt ¶
func (v *TrainingDataPoisoningValidator) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
ValidatePrompt validates a prompt for training data poisoning vulnerabilities
func (*TrainingDataPoisoningValidator) ValidateResponse ¶
func (v *TrainingDataPoisoningValidator) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
ValidateResponse validates a response for training data poisoning vulnerabilities
type ValidationLocation ¶
type ValidationLocation struct {
// StartIndex is the starting character index of the vulnerability
StartIndex int
// EndIndex is the ending character index of the vulnerability
EndIndex int
// Context is the surrounding text for context
Context string
}
ValidationLocation represents the location of a vulnerability in a prompt or response
type ValidationResult ¶
type ValidationResult struct {
// Vulnerable indicates if the prompt or response is vulnerable
Vulnerable bool
// VulnerabilityType is the type of vulnerability detected
VulnerabilityType types.VulnerabilityType
// Confidence is the confidence level of the detection (0.0 to 1.0)
Confidence float64
// Details provides additional information about the vulnerability
Details string
// Location indicates where in the prompt or response the vulnerability was detected
Location *ValidationLocation
// Severity indicates the severity of the vulnerability
Severity detection.SeverityLevel
// Remediation provides suggestions for fixing the vulnerability
Remediation string
// RawData contains additional data specific to the vulnerability type
RawData map[string]interface{}
}
ValidationResult represents the result of a validation check
func CreateValidationResult ¶
func CreateValidationResult(vulnerable bool, vulnerabilityType types.VulnerabilityType, confidence float64, details string, severity detection.SeverityLevel) *ValidationResult
CreateValidationResult creates a new validation result
func (*ValidationResult) AddRawData ¶
func (r *ValidationResult) AddRawData(key string, value interface{}) *ValidationResult
AddRawData adds raw data to the validation result
func (*ValidationResult) SetLocation ¶
func (r *ValidationResult) SetLocation(startIndex, endIndex int, context string) *ValidationResult
SetLocation sets the location of the vulnerability in the validation result
func (*ValidationResult) SetRemediation ¶
func (r *ValidationResult) SetRemediation(remediation string) *ValidationResult
SetRemediation sets the remediation suggestion in the validation result
type Validator ¶
type Validator interface {
// ValidatePrompt validates a prompt for vulnerabilities
ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) ([]*ValidationResult, error)
// ValidateResponse validates a response for vulnerabilities
ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) ([]*ValidationResult, error)
// ValidateChatMessages validates a list of chat messages for vulnerabilities
ValidateChatMessages(ctx context.Context, messages []core.Message, options *PromptValidationOptions) ([]*ValidationResult, error)
// GetVulnerabilityType returns the vulnerability type that this validator checks for
GetVulnerabilityType() types.VulnerabilityType
// GetName returns the name of the validator
GetName() string
// GetDescription returns a description of the validator
GetDescription() string
}
Validator is the interface that all vulnerability validators must implement
func CreateAllValidators ¶
func CreateAllValidators() []Validator
CreateAllValidators creates all available validators
func CreateValidator ¶
func CreateValidator(vulnerabilityType types.VulnerabilityType) Validator
CreateValidator creates a validator for the specified vulnerability type
type ValidatorFactory ¶
type ValidatorFactory struct {
// contains filtered or unexported fields
}
ValidatorFactory creates and registers validators for OWASP LLM vulnerabilities
func NewValidatorFactory ¶
func NewValidatorFactory() *ValidatorFactory
NewValidatorFactory creates a new validator factory
func (*ValidatorFactory) CreateAndRegisterValidator ¶
func (f *ValidatorFactory) CreateAndRegisterValidator(vulnerabilityType types.VulnerabilityType) Validator
CreateAndRegisterValidator creates a validator for a specific vulnerability type and registers it
func (*ValidatorFactory) CreateValidator ¶
func (f *ValidatorFactory) CreateValidator(vulnerabilityType types.VulnerabilityType) Validator
CreateValidator creates a validator for a specific vulnerability type
func (*ValidatorFactory) GetRegistry ¶
func (f *ValidatorFactory) GetRegistry() *ValidatorRegistry
GetRegistry returns the validator registry
func (*ValidatorFactory) RegisterAllValidators ¶
func (f *ValidatorFactory) RegisterAllValidators()
RegisterAllValidators registers all available validators with the registry
func (*ValidatorFactory) RegisterValidator ¶
func (f *ValidatorFactory) RegisterValidator(validator Validator)
RegisterValidator registers a validator with the registry
type ValidatorRegistry ¶
type ValidatorRegistry struct {
// contains filtered or unexported fields
}
ValidatorRegistry is a registry of all available validators
func NewValidatorRegistry ¶
func NewValidatorRegistry() *ValidatorRegistry
NewValidatorRegistry creates a new validator registry
func (*ValidatorRegistry) GetAllValidators ¶
func (r *ValidatorRegistry) GetAllValidators() []Validator
GetAllValidators returns all registered validators
func (*ValidatorRegistry) GetValidators ¶
func (r *ValidatorRegistry) GetValidators(vulnerabilityType types.VulnerabilityType) []Validator
GetValidators returns all validators for a specific vulnerability type
func (*ValidatorRegistry) RegisterValidator ¶
func (r *ValidatorRegistry) RegisterValidator(validator Validator)
RegisterValidator registers a validator with the registry
func (*ValidatorRegistry) ValidateChatMessages ¶
func (r *ValidatorRegistry) ValidateChatMessages(ctx context.Context, messages []core.Message, options *PromptValidationOptions) (map[types.VulnerabilityType][]*ValidationResult, error)
ValidateChatMessages validates chat messages using all registered validators
func (*ValidatorRegistry) ValidatePrompt ¶
func (r *ValidatorRegistry) ValidatePrompt(ctx context.Context, prompt string, options *PromptValidationOptions) (map[types.VulnerabilityType][]*ValidationResult, error)
ValidatePrompt validates a prompt using all registered validators
func (*ValidatorRegistry) ValidateResponse ¶
func (r *ValidatorRegistry) ValidateResponse(ctx context.Context, response string, options *ResponseValidationOptions) (map[types.VulnerabilityType][]*ValidationResult, error)
ValidateResponse validates a response using all registered validators
Source Files
¶
- data_leakage_validator.go
- excessive_agency_validator.go
- factory.go
- indirect_prompt_injection_validator.go
- insecure_output_validator.go
- insecure_plugin_validator.go
- model_dos_validator.go
- model_theft_validator.go
- overreliance_validator.go
- prompt_injection_validator.go
- supply_chain_validator.go
- training_data_poisoning_validator.go
- utils.go
- validator.go
- validator_factory.go