Class: GuardrailsRuby::Checks::Encoding
- Inherits:
-
GuardrailsRuby::Check
- Object
- GuardrailsRuby::Check
- GuardrailsRuby::Checks::Encoding
- Defined in:
- lib/guardrails_ruby/checks/encoding.rb
Instance Attribute Summary
Attributes inherited from GuardrailsRuby::Check
Instance Method Summary collapse
Methods inherited from GuardrailsRuby::Check
check_name, direction, #initialize, lookup
Constructor Details
This class inherits a constructor from GuardrailsRuby::Check
Instance Method Details
#call(text, context: {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/guardrails_ruby/checks/encoding.rb', line 9 def call(text, context: {}) issues = [] unless text.valid_encoding? issues << "Invalid encoding detected" end if text.include?("\x00") issues << "Null bytes detected" end # Check for suspicious unicode characters (e.g., zero-width spaces, RTL overrides) if text.match?(/[\u200B\u200C\u200D\u2060\u202A-\u202E\uFEFF]/) issues << "Suspicious unicode characters detected" end if issues.any? fail! issues.join("; ") else pass! end end |