An open API service indexing awesome lists of open source software.

awesome-rails-security

A curated list of security resources for a Ruby on Rails application
https://github.com/0xedward/awesome-rails-security

Last synced: 28 days ago
JSON representation

Gems

Authentication and OAuth

  • Devise Security - A Devise extension to add additional security features required by modern web applications
  • Warden - General Rack Authentication Framework
  • AuthLogic - An unobtrusive ruby authentication library based on ActiveRecord
  • OmniAuth - A library that standardizes multi-provider authentication for web applications
  • JWT - A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard
  • Knock - Seamless JWT authentication for Rails API
  • Devise - Flexible authentication solution for Rails with Warden

Authorization

  • CanCanCan - An authorization library for Ruby and Ruby on Rails which restricts what resources a given user is allowed to access.
  • Pundit - Pundit provides a set of helpers which guide you in leveraging regular Ruby classes and object oriented design patterns to build a simple, robust and scaleable authorization system

File Upload

  • CarrierWave - A gem that provides a simple and extremely flexible way to upload files from Ruby applications

Logging and Monitoring

  • Exception Notification - A gem that provides a set of notifiers for sending notifications when errors occur in a Rack/Rails application

Password Strength

  • zxcvbn-ruby - Ruby port of zxcvbn.js (Low-Budget Password Strength Estimation)

Request Management

  • ssrf_filter - A ruby gem for defending against Server Side Request Forgery (SSRF) attacks
  • Secure Headers - Manages application of security headers with many safe defaults
  • Rack::Attack - Rack middleware for blocking & throttling

Static Code Analysis

  • Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications
  • bundler-audit - Patch-level verification for Bundler
  • Ruby Advisory Database - A database of vulnerable Ruby Gems. You can check your own Gemfile.locks against this database by using bundler-audit.
  • dawnscanner - A source code scanner designed to review your ruby code for security issues
  • RoboCop - A Ruby static code analyzer and formatter, based on the community Ruby style guide

Reporting Bugs

Additional Reading

Resources

Additional Reading

Anti-Patterns

Best Practices

Labs - Vulnerable Applications

  • OWASP RailsGoat - A vulnerable version of the Ruby on Rails Framework from versions 3 to 5. It includes vulnerabilities from the OWASP Top 10, as well as some "extras" that the initial project contributors felt worthwhile to share. This project is designed to educate both developers, as well as security professionals.
  • DeleteMe - Educational insecure Rails application
  • PentesterLab - Provides some vulnerable Rails environments to learn about security vulnerabilities, such as CVE-2019-5420

Official Resources

Security Vulnerability Advisories

Logging and Monitoring

Tools

Logging and Monitoring

  • Report URI
  • Sqreen - Unified security monitoring and protection for modern cloud & on-prem environments

Static Code Analysis

  • GuardRails - Continuous security feedback for your GitHub repositories
  • Hakiri - Hakiri monitors Ruby apps for dependency and code security vulnerabilities
  • rails_best_practices - A code metric tool to check the quality of Rails code
  • Hawkeye scanner-cli - A project security, vulnerability and general risk highlighting tool
  • git-secrets - Prevents you from committing passwords and other sensitive information to a git repository
  • Snyk - A developer-first solution that automates finding & fixing vulnerabilities in your dependencies