input

package
v1.16.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultInjectionPatterns = []string{

	`(?i)ignore\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?|rules?)`,
	`(?i)disregard\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?|rules?)`,
	`(?i)forget\s+(all\s+)?(previous|prior|above)\s+(instructions?|prompts?|rules?)`,

	`(?i)you\s+are\s+now\s+`,
	`(?i)pretend\s+(to\s+be|you\s+are)\s+`,
	`(?i)act\s+as\s+(if\s+you\s+are\s+)?`,
	`(?i)roleplay\s+as\s+`,

	`(?i)^system\s*:`,
	`(?i)^assistant\s*:`,
	`(?i)\[system\]`,
	`(?i)\[assistant\]`,

	`(?i)jailbreak`,
	`(?i)dan\s+mode`,
	`(?i)developer\s+mode`,

	`(?i)<\s*system\s*>`,
	`(?i)<\s*/\s*system\s*>`,
	`(?i)\[\[system\]\]`,

	`(?i)base64\s*:`,
}

DefaultInjectionPatterns contains common prompt injection patterns.

Functions

func BuildInjectionDetector

func BuildInjectionDetector(cfg *guardrails.InjectionConfig) guardrails.InputGuardrail

BuildInjectionDetector creates an InjectionDetector from config.

func BuildLengthValidator

func BuildLengthValidator(cfg *guardrails.LengthConfig) guardrails.InputGuardrail

BuildLengthValidator creates a LengthValidator from config.

func BuildSanitizer

BuildSanitizer creates a Sanitizer from config.

func DefaultBuilders

func DefaultBuilders() guardrails.InputChainBuilders

DefaultBuilders returns the standard input guardrail builders. Use with Config.BuildInputChain(input.DefaultBuilders()).

Types

type InjectionDetector

type InjectionDetector struct {
	// contains filtered or unexported fields
}

InjectionDetector detects prompt injection attempts.

func NewInjectionDetector

func NewInjectionDetector() *InjectionDetector

NewInjectionDetector creates a new injection detector with default patterns.

func (*InjectionDetector) AddPatterns

func (d *InjectionDetector) AddPatterns(patterns ...string) *InjectionDetector

AddPatterns adds additional patterns to the existing ones.

func (*InjectionDetector) CaseSensitive

func (d *InjectionDetector) CaseSensitive(sensitive bool) *InjectionDetector

CaseSensitive sets whether pattern matching is case-sensitive.

func (*InjectionDetector) Check

Check detects prompt injection in the input.

func (*InjectionDetector) Name

func (d *InjectionDetector) Name() string

Name returns the guardrail name.

func (*InjectionDetector) WithAction

func (d *InjectionDetector) WithAction(action guardrails.Action) *InjectionDetector

WithAction sets the action to take on detection.

func (*InjectionDetector) WithPatterns

func (d *InjectionDetector) WithPatterns(patterns []string) *InjectionDetector

WithPatterns adds custom patterns (replaces defaults if called).

func (*InjectionDetector) WithSeverity

func (d *InjectionDetector) WithSeverity(severity guardrails.Severity) *InjectionDetector

WithSeverity sets the severity of detections.

type LengthValidator

type LengthValidator struct {
	// contains filtered or unexported fields
}

LengthValidator validates input length.

func NewLengthValidator

func NewLengthValidator(minLength, maxLength int) *LengthValidator

NewLengthValidator creates a new length validator.

func (*LengthValidator) Check

func (v *LengthValidator) Check(_ context.Context, input string) (*guardrails.Result, error)

Check validates the input length.

func (*LengthValidator) Name

func (v *LengthValidator) Name() string

Name returns the guardrail name.

func (*LengthValidator) WithAction

func (v *LengthValidator) WithAction(action guardrails.Action) *LengthValidator

WithAction sets the action to take on violation.

func (*LengthValidator) WithSeverity

func (v *LengthValidator) WithSeverity(severity guardrails.Severity) *LengthValidator

WithSeverity sets the severity of violations.

type PatternValidator

type PatternValidator struct {
	// contains filtered or unexported fields
}

PatternValidator validates input against regex patterns.

func NewPatternValidator

func NewPatternValidator() *PatternValidator

NewPatternValidator creates a new pattern validator.

func (*PatternValidator) AllowPatterns

func (v *PatternValidator) AllowPatterns(patterns ...string) *PatternValidator

AllowPatterns sets patterns that input must match (at least one).

func (*PatternValidator) BlockPatterns

func (v *PatternValidator) BlockPatterns(patterns ...string) *PatternValidator

BlockPatterns sets patterns that input must NOT match.

func (*PatternValidator) Check

func (v *PatternValidator) Check(_ context.Context, input string) (*guardrails.Result, error)

Check validates the input against patterns.

func (*PatternValidator) Name

func (v *PatternValidator) Name() string

Name returns the guardrail name.

func (*PatternValidator) WithAction

func (v *PatternValidator) WithAction(action guardrails.Action) *PatternValidator

WithAction sets the action to take on violation.

func (*PatternValidator) WithSeverity

func (v *PatternValidator) WithSeverity(severity guardrails.Severity) *PatternValidator

WithSeverity sets the severity of violations.

type Sanitizer

type Sanitizer struct {
	// contains filtered or unexported fields
}

Sanitizer cleans and normalizes user input.

func NewSanitizer

func NewSanitizer() *Sanitizer

NewSanitizer creates a new input sanitizer with sensible defaults.

func (*Sanitizer) Check

func (s *Sanitizer) Check(_ context.Context, input string) (*guardrails.Result, error)

Check sanitizes the input and returns a modified result if changes were made.

func (*Sanitizer) MaxLength

func (s *Sanitizer) MaxLength(length int) *Sanitizer

MaxLength sets the maximum length (truncates if exceeded).

func (*Sanitizer) Name

func (s *Sanitizer) Name() string

Name returns the guardrail name.

func (*Sanitizer) NormalizeUnicode

func (s *Sanitizer) NormalizeUnicode(normalize bool) *Sanitizer

NormalizeUnicode enables/disables Unicode normalization (NFC).

func (*Sanitizer) StripHTML

func (s *Sanitizer) StripHTML(strip bool) *Sanitizer

StripHTML enables/disables HTML tag stripping.

func (*Sanitizer) TrimWhitespace

func (s *Sanitizer) TrimWhitespace(trim bool) *Sanitizer

TrimWhitespace enables/disables whitespace trimming.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL