Module: Promptmenot
- Defined in:
- lib/promptmenot.rb,
lib/promptmenot/match.rb,
lib/promptmenot/errors.rb,
lib/promptmenot/result.rb,
lib/promptmenot/pattern.rb,
lib/promptmenot/railtie.rb,
lib/promptmenot/version.rb,
lib/promptmenot/detector.rb,
lib/promptmenot/sanitizer.rb,
lib/promptmenot/configuration.rb,
lib/promptmenot/patterns/base.rb,
lib/promptmenot/pattern_registry.rb,
lib/promptmenot/patterns/role_manipulation.rb,
lib/promptmenot/patterns/indirect_injection.rb,
lib/generators/promptmenot/install_generator.rb,
lib/promptmenot/patterns/delimiter_injection.rb,
lib/promptmenot/patterns/resource_extraction.rb,
lib/promptmenot/patterns/context_manipulation.rb,
lib/promptmenot/patterns/encoding_obfuscation.rb,
lib/promptmenot/patterns/direct_instruction_override.rb
Defined Under Namespace
Modules: Generators, Patterns
Classes: Configuration, ConfigurationError, Detector, Error, Match, Pattern, PatternError, PatternRegistry, Railtie, Result, Sanitizer
Constant Summary
collapse
- VERSION =
"0.2.1"
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
29
30
31
|
# File 'lib/promptmenot.rb', line 29
def configuration
@monitor.synchronize { @configuration ||= Configuration.new }
end
|
33
34
35
36
37
38
|
# File 'lib/promptmenot.rb', line 33
def configure
@monitor.synchronize do
yield(configuration)
register_custom_patterns
end
end
|
.detect(text, sensitivity: nil) ⇒ Object
61
62
63
|
# File 'lib/promptmenot.rb', line 61
def detect(text, sensitivity: nil)
Detector.new(sensitivity: sensitivity).detect(text)
end
|
.registry ⇒ Object
40
41
42
|
# File 'lib/promptmenot.rb', line 40
def registry
@monitor.synchronize { @registry ||= build_registry }
end
|
.reset! ⇒ Object
44
45
46
47
48
49
|
# File 'lib/promptmenot.rb', line 44
def reset!
@monitor.synchronize do
@configuration = Configuration.new
@registry = nil
end
end
|
.root ⇒ Object
51
52
53
|
# File 'lib/promptmenot.rb', line 51
def root
File.expand_path("..", __dir__)
end
|
.safe?(text, sensitivity: nil) ⇒ Boolean
57
58
59
|
# File 'lib/promptmenot.rb', line 57
def safe?(text, sensitivity: nil)
detect(text, sensitivity: sensitivity).safe?
end
|
.sanitize(text, sensitivity: nil, replacement: nil) ⇒ Object
65
66
67
|
# File 'lib/promptmenot.rb', line 65
def sanitize(text, sensitivity: nil, replacement: nil)
Sanitizer.new(sensitivity: sensitivity, replacement: replacement).sanitize(text)
end
|