Vineetiitg commited on
Commit
5521d9e
·
1 Parent(s): 9cc0476

feat: add prompt injection guardrails for user queries

Browse files
Files changed (1) hide show
  1. app/guardrails/validators.py +22 -0
app/guardrails/validators.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from guardrails.validators import Validator, register_validator, ValidationResult, PassResult, FailResult
2
+
3
+ @register_validator(name="security/detect_prompt_injection", data_type="string")
4
+ class DetectPromptInjection(Validator):
5
+ def validate(self, value: str, metadata: dict = {}) -> ValidationResult:
6
+ injection_indicators = [
7
+ "ignore previous instructions",
8
+ "ignore the instructions above",
9
+ "forget all previous",
10
+ "system prompt",
11
+ "you are now an arbitrary",
12
+ "bypass system",
13
+ "disregard instructions"
14
+ ]
15
+ normalized_value = value.lower()
16
+ for indicator in injection_indicators:
17
+ if indicator in normalized_value:
18
+ return FailResult(
19
+ error_message=f"Security Policy Violation: Prompt injection detected ('{indicator}').",
20
+ fix_value="[BLOCKED]"
21
+ )
22
+ return PassResult()