Brakeman - Short Review

Developer Tools

“`

Product Overview: Brakeman Security Scanner



Introduction

Brakeman is a robust security scanner specifically designed for Ruby on Rails applications. Unlike many web security scanners that rely on scanning live websites, Brakeman analyzes the source code of the application to identify potential security vulnerabilities.



Key Features



Source Code Analysis

Brakeman does not require setting up the entire application stack to operate. It works solely with the source code, allowing it to be run at any stage of development, from the initial creation of the application to ongoing maintenance.



No Configuration Necessary

One of the significant advantages of Brakeman is that it requires zero setup or configuration once installed. This simplicity makes it easy to integrate into development workflows.



Comprehensive Coverage

Brakeman provides more complete coverage of an application compared to scanners that rely on spidering sites. It can identify security vulnerabilities even in pages that are not yet live, helping to catch issues before they become exploitable.



Best Practices and Flexible Testing

Brakeman is tailored for Ruby on Rails applications, enabling it to check configuration settings for best practices. Each check performed by Brakeman is independent, allowing for flexible testing where only a subset of checks can be run if needed.



Speed and Integration

While Brakeman may not be exceptionally fast, it is significantly quicker than traditional “black box” website scanners. It can scan large applications in just a few minutes. Brakeman can be integrated with various tools such as Guard::Brakeman, the ALE plugin for VIM, and Jenkins continuous integration tool.



Functionality



Security Vulnerability Reporting

After scanning the application code, Brakeman generates a detailed report of all identified security issues. This report includes warnings categorized by confidence levels (high, medium, weak) to help developers assess the severity of the vulnerabilities.



Confidence Levels

Brakeman assigns a confidence level to each warning, providing an estimate of how certain the tool is that a given warning is actually a problem. Developers can filter warnings based on these confidence levels to focus on the most critical issues.



Customization Options

Brakeman offers several customization options, such as forcing the tool into specific Rails versions, disabling certain behaviors (e.g., assuming all controller methods are actions), and adjusting the sensitivity of flow tracking in `if` expressions. These options allow developers to tailor the scanning process to their specific needs.



Limitations

While Brakeman is highly effective, it has some limitations. It can generate false positives, especially if the application has unusual configurations or if the developers need to understand the context of certain values. Additionally, Brakeman only analyzes the source code and does not test the entire application stack, including the web server and database.



Suggested Use

For comprehensive security scanning, it is recommended to use Brakeman in conjunction with a regular website security scanner. This approach ensures that both the source code and the live application are thoroughly checked for vulnerabilities.

“`

Scroll to Top