Class: Rails::Guarddog::Checkers::RateLimitChecker
- Inherits:
-
BaseChecker
- Object
- BaseChecker
- Rails::Guarddog::Checkers::RateLimitChecker
- Defined in:
- lib/rails/guarddog/checkers/rate_limit_checker.rb
Instance Attribute Summary
Attributes inherited from BaseChecker
Instance Method Summary collapse
Methods inherited from BaseChecker
Constructor Details
This class inherits a constructor from Rails::Guarddog::Checkers::BaseChecker
Instance Method Details
#run ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rails/guarddog/checkers/rate_limit_checker.rb', line 5 def run config_file = File.join(@root, 'config/initializers/rack_attack.rb') if !File.exist?(config_file) add_finding( severity: :medium, message: "Rate limiting not configured: rack_attack.rb missing", file: config_file, line: 1, remediation: "Create config/initializers/rack_attack.rb with rate limiting rules" ) else content = File.read(config_file) unless content.include?('throttle') && (content.include?('login') || content.include?('api')) add_finding( severity: :medium, message: "Rate limiting rules not configured for critical endpoints", file: config_file, line: 1, remediation: "Add throttle rules for /login, /api/auth, /password_reset" ) end end findings end |