Recent Releases of https://github.com/presidentbeef/brakeman
https://github.com/presidentbeef/brakeman - 8.0.2
- Reline console control should use
stderr - Fix logger cleanup based method (Imran Iqbal)
- Ruby
Published by presidentbeef 28 days ago
https://github.com/presidentbeef/brakeman - 8.0.1
- Fix for disappearing cursor when no warnings are reported
- Ruby
Published by presidentbeef about 1 month ago
https://github.com/presidentbeef/brakeman - 8.0.0
- Complete revamp of scan progress output and logging
--skip-libsremoved (#1839--index-libsremoved- Fix qualified constant lookup to respect module/class context (Mike Dalessio)
- Fix singleton method prefixes (viralpraxis)
- Faster file globbing for templates (Mikael Henriksson)
- No longer produce weak dynamic render path warnings
- Replace Erubis with Erubi (#1970)
- Ruby
Published by presidentbeef about 1 month ago
https://github.com/presidentbeef/brakeman - 7.1.2
This was released on December 25, 2025
- Update
ruby_parserto remove max version restriction (Chedli Bourguiba) - Increase minimum Ruby version to 3.2.0
- Reduce SQL injection false positives from
count(and other) calls (#1936) - Remove more XSS false positives related to Haml attribute builder
- Update Minitest version to 6.0
- Ruby
Published by presidentbeef about 1 month ago
https://github.com/presidentbeef/brakeman - 7.1.1
- Exclude directories before searching for files (#1925)
- Check for unsafe SQL when two arguments are passed to AR methods (Patrick Brinich-Langlois)
- Fix SQL injection check for
calculatemethod (Rohan Sharma) - Check each side of
orSQL arguments (#1935) - Consider
Tempfile.create.pathas safe input (Ali Ismayilov) - Fix false positive when calling
with_contenton ViewComponents (Peer Allan) - Add
FilePath#to_pathfor Ruby 3.5 compatibility (S.H.) - Ignore attribute builder in Haml 6 (#1952)
- Word wrap text report output in pager
- Ruby
Published by presidentbeef 4 months ago
https://github.com/presidentbeef/brakeman - 7.1.0
- Add Haml 6.x support (#1914, #1841, etc.)
- Support render model shortcut (#959, #1940, etc.)
- Add
--ensure-no-obsolete-config-entriesoption (viralpraxis) - Update JUnit report for CircleCI (Philippe Bernery)
- Improve ignored warnings layout in HTML report (Sebastien Savater)
- Only load escape functionality from cgi library (Earlopain)
- Add EOL dates for Rails 8.0 and Ruby 3.4
- Use lazy file lists for AppTree
- Ruby
Published by presidentbeef 8 months ago
https://github.com/presidentbeef/brakeman - 7.0.2
- Fix error with empty
BUNDLE_GEMFILEenv variable
- Ruby
Published by presidentbeef 11 months ago
https://github.com/presidentbeef/brakeman - 7.0.1
- Avoid warning on evaluation of plain strings (#1919)
- Enable use of custom/alternative Gemfiles (#1840, #1907)
- Fix error on directory with
rbextension (viralpraxis) - Support
terminal-table4.0 (Chedli Bourguiba) - Better support Prism 1.4.0 (#1927)
- Only output timing for each file when using
--debug
- Ruby
Published by presidentbeef 11 months ago
https://github.com/presidentbeef/brakeman - 7.0.0
- Default to using Prism parser if available (disable with
--no-prism) - Disable following symbolic links by default (re-enable with
--follow-symlinks) - Remove updated entry in Brakeman ignore files (Toby Hsieh)
- Major changes to how rescanning works
- Fix hardcoded globally excluded paths (#1830)
- Always warn about deserializing from
Marshal - Update
evalcheck to be a little noisier - Output
originalBaseUriIdsfor SARIF format report (#1889) - Add step (and timing) for finding files
- Fix recursion when handling multiple assignment expressions (#1877)
- Fix array/hash unknown index handling
- Update
terminal-tableversion - Add CSV library as explicit dependency for Ruby 3.4 support
- Raise minimum Ruby version to 3.1
- Ruby
Published by presidentbeef about 1 year ago
https://github.com/presidentbeef/brakeman - 6.2.2
- New end-of-support dates for Rails
- Revamp command injection detection in
pipeline*calls (#1862) - Exclude more native gems from vendored gems in
brakemangem (#1869)
- Ruby
Published by presidentbeef over 1 year ago
https://github.com/presidentbeef/brakeman - 6.2.1
- Add optional support for Prism parser (use
--prism) - Handle parallel assignment with splats (#1833)
- Warn about unscoped finds with
find_by!(#1786) - Add initial Rails 8 support (Ron Shinall)
- Add support for symbolic links (Lu Zhu)
- Support YAML aliases in secret configs (Chedli Bourguiba)
- Add
--show-ignoredoption (Gabriel Arcangel Zayas) - Treat
::XandXthe same, for now (Jill Klang) - Remediation advice for command injection Nicholas Barone
- Fix compatibility with default frozen string literals (Jean Boussier)
- Fix Ruby warnings in test suite (Jean Boussier)
- Ruby
Published by presidentbeef over 1 year ago
https://github.com/presidentbeef/brakeman - 6.1.2
- Avoid detecting Phlex components as dynamic render paths (Máximo Mussini)
- Avoid detecting
ViewComponentContrib::Baseas dynamic render paths (vividmuimui) - Avoid copying Sexps that are too large (#1818, #1546)
- Add EOL date for Ruby 3.3.0
- Remove deprecated use of
Kernel#open("|...") - Remove
safe_yamlgem dependency - Update Highline to 3.0 (#1812)
- Ruby
Published by presidentbeef about 2 years ago
https://github.com/presidentbeef/brakeman - 6.1.1
- Handle racc as a default gem in Ruby 3.3.0
- Ruby
Published by presidentbeef about 2 years ago
https://github.com/presidentbeef/brakeman - 6.1.0
- Add check for unfiltered search with Ransack
- Add
--timingto add timing duration for scan steps - Add
PG::Connection.escape_stringas a SQL sanitization method (Joévin Soulenq) - Handle
class << self - Fix class method lookup in parent classes
- Fix keyword splats in filter arguments
- Ruby
Published by presidentbeef about 2 years ago
https://github.com/presidentbeef/brakeman - 6.0.0.1 - Docker only
This release is to fix the Ruby version used in the Docker image.
No other changes.
- Ruby
Published by presidentbeef almost 3 years ago
https://github.com/presidentbeef/brakeman - 6.0.0
- Drop support for Ruby 1.8/1.9 syntax
- Raise minimum Ruby version to 3.0
- Add obsolete fingerprints to comparison report (#1758)
- Warn about missing CSRF protection when defaults are not loaded (Chris Kruger)
- Fix false positive with
content_tagin newer Rails (#1778) - Scan directories that include the word
public - Fix end-of-life dates for Ruby
- Ruby
Published by presidentbeef almost 3 years ago
https://github.com/presidentbeef/brakeman - 5.4.1
- Add Rails 6.1 and 7.0 default configuration values
- Support Rails 7 redirect options
- Add
redirect_backandredirect_back_or_toto open redirect check - Revise checking for
request.envto only consider request headers - Prevent redirects using
url_frombeing marked as unsafe (Lachlan Sylvester) - Warn about unscoped find for
find_by(id: ...) - Support
presence,presence_inandin?(#1569) - Fix issue with
ifexpressions inwhenclauses (#1743) - Fix file/line location for EOL software warnings
- Ruby
Published by presidentbeef about 3 years ago
https://github.com/presidentbeef/brakeman - 5.4.0
- Add check for weak RSA key sizes and padding modes (#1736)
- Add check for absolute paths issue with Pathname (#1721)
- Handle multiple values and splats in case/when (#1730)
- Ignore more model methods in redirects (#1723)
- Fix
load_rails_defaultsoverwriting settings in the Rails application (James Gregory-Monk) - Use relative paths for CodeClimate report format (Mike Poage)
- Ruby
Published by presidentbeef over 3 years ago
https://github.com/presidentbeef/brakeman - 5.3.1
- Fix version range for CVE-2022-32209
- Ruby
Published by presidentbeef over 3 years ago
https://github.com/presidentbeef/brakeman - 5.3.0
- Add CWE information to warnings (Stephen Aghaulor)
- Include explicit engine or lib paths in
vendor/(Joe Rafaniello) - Add check for CVE-2022-32209
- Load rexml as a Brakeman dependency
- Fix "full call" information propagating unnecessarily
- Ruby
Published by presidentbeef over 3 years ago
https://github.com/presidentbeef/brakeman - 5.2.3
- Fix error with hash shorthand syntax (#1700)
- Match order of interactive options with help message (@roryokane)
- Ruby
Published by presidentbeef over 3 years ago
https://github.com/presidentbeef/brakeman - 5.2.2
- Respect equality in
ifconditions (#1683) - Update message for unsafe reflection (Pedro Baracho)
- Handle
nilwhen joining values (Dan Buettner) - Add additional String methods for SQL injection check (#1669)
- Update
ruby_parserfor Ruby 3.1 support (Merek Skubela)
- Ruby
Published by presidentbeef almost 4 years ago
https://github.com/presidentbeef/brakeman - 5.2.1
- Add warning codes for EOL software warnings (#1671)
- Ruby
Published by presidentbeef about 4 years ago
https://github.com/presidentbeef/brakeman - 5.2.0
- Initial Rails 7 support (#1653)
- Require Ruby 2.5.0+ (#1649)
- Fix issue with calls to
foo.rootin routes (#1640) - Ignore
I18n.localein SQL queries (#1597) - Do not treat
sanitize_sql_likeas safe - Add new checks for unsupported Ruby and Rails version
- Bundled version of ruby_parser updated to 3.18.1
- Ruby
Published by presidentbeef about 4 years ago
https://github.com/presidentbeef/brakeman - 5.1.2
- Updated
ruby_parser(Ryan Davis) - Fix issue where the previous output is still visible (Jason Frey)
- Handle cases where enums are not symbols (#1627)
- Support newer Haml with
::Haml::AttributeBuilder.build - Fix sorting with
nilline numbers
- Ruby
Published by presidentbeef over 4 years ago
https://github.com/presidentbeef/brakeman - 5.1.1
- Unrefactor
IgnoreConfig's use ofBrakeman::FilePath
(Fixes bugs with -I and also relative paths for -i.)
- Ruby
Published by presidentbeef over 4 years ago
https://github.com/presidentbeef/brakeman - 5.1.0
- Report Formats
- Add GitHub Actions format (Klaus Badelt)
- Add ignored warnings to SARIF report (Eli Block)
- Fix SARIF report when checks have no description (Eli Block)
- Adjust copy of
--interactivemenu (Elia Schito)
- Performance
- Read and parse files in parallel
- Ruby Interpretation
- SQL Injection
- Update SQL injection check for Rails 6.0/6.1
- Add
--sql-safe-methodsoption (Esty Scheiner) - Ignore dates in SQL
- Ignore
sanitize_sql_likein SQL (#1571) - Ignore method calls on numbers in SQL (#1571)
- Other Fixes
- Ignore renderables in dynamic render path check (Brad Parker)
- Fix false positive in command injection with
Open3.capture(Richard Fitzgerald) - Fix infinite loop on mixin self-includes (Andrew Szczepanski)
- Check for user-controlled evaluation even if it's a call target (#1590)
- Refactoring
- Refactor
cookie?/param?methods (Keenan Brock) - Better method definition tracking and lookup
- Refactor
- Ruby
Published by presidentbeef over 4 years ago
https://github.com/presidentbeef/brakeman - 5.0.4
- Update bundled ruby_parser to include argument forwarding support (brakeman gem only)
- Ruby
Published by presidentbeef over 4 years ago
https://github.com/presidentbeef/brakeman - 5.0.2
- Fix Loofah version check
- Ruby
Published by presidentbeef over 4 years ago
https://github.com/presidentbeef/brakeman - 5.0.1
- Support loading
slim/smart(#1570) - Set more line numbers on Sexps (#1579)
- Detect
::Rails.application.configuretoo (#1584) - Always ignore
slice/onlycalls for mass assignment - Don't fail if $HOME/$USER are not defined
- Convert splat array arguments to arguments
- Bundle unreleased RubyParser changes
- Ruby
Published by presidentbeef almost 5 years ago
https://github.com/presidentbeef/brakeman - 5.0.0
- Scan (almost) all Ruby files in project
- Revamp CSV report to a CSV list of warnings
- Add Sonarqube report format (Adam England)
- Add check for (more) unsafe method reflection (#1488, #1507, and #1508)
- Add check for potential HTTP verb confusion (#1432)
- Add
--[no-]skip-vendoroption - Ignore
uuidas a safe attribute - Ignore
Tempfile#pathin shell commands - Ignore development environment
- Collapse
__send__calls - Set Rails configuration defaults based on
load_defaultsversion - Update Ruby requirement to version 2.4.0
- Suggest using
--forceif no Rails application is detected
- Ruby
Published by presidentbeef about 5 years ago
https://github.com/presidentbeef/brakeman - 4.10.1
- Declare REXML as a dependency (Ruby 3.0 compatibility)
- Use
Sexp#sexp_bodyinstead ofSexp#[..](Ruby 3.0 compatibility) - Prevent render loops when template names are absolute paths (#1536)
- Ensure RubyParser is passed file path as a String (#1534)
- Support new Haml 5.2.0 escaping method (#1517)
- Ruby
Published by presidentbeef about 5 years ago
https://github.com/presidentbeef/brakeman - 5.0.0.pre1
- Add check for (more) unsafe method reflection
- Suggest using
--forceif no Rails application is detected - Add Sonarqube report format (Adam England)
- Add check for potential HTTP verb confusion
- Add
--[no-]skip-vendoroption - Scan (almost) all Ruby files in project
- Add support for Haml 5.2.0
- Ruby
Published by presidentbeef over 5 years ago
https://github.com/presidentbeef/brakeman - 4.10.0
- Add SARIF report format (Steve Winton)
- Ruby
Published by presidentbeef over 5 years ago
https://github.com/presidentbeef/brakeman - 4.9.1
- Use version from
active_recordfor non-Rails apps (Ulysse Buonomo) - Check
chomped strings for SQL injection (#1509) - Always set line number for joined arrays (#1499)
- Avoid warning about missing
attr_accessibleifprotected_attributesgem is used (#1512) - Bundle latest ruby_parser (4.15.0)
- Ruby
Published by presidentbeef over 5 years ago
https://github.com/presidentbeef/brakeman - 4.9.0
- Add
--ensure-ignore-notes(Eli Block) - Add check for user input in
ERB.new(Matt Hickman) - Add check for CVE-2020-8166 (Jamie Finnigan)
- Always scan
environment.rb - Avoid warning when
safe_yamlis used viaYAML.load(..., safe: true) - Do not warn about mass assignment with
params.permit!.slice - Ignore
params.permit!in path helpers - Treat
Dir.globas safe source of values in guards - Remove whitelist/blacklist language, add clarifications
- Add "full call" information to call index results
- Updated Slim dependency (Jeremiah Church)
- Ruby
Published by presidentbeef over 5 years ago
https://github.com/presidentbeef/brakeman - 4.8.1
- Warn about global(!) mass assignment
- Check SQL query strings using
String#striporString.squish(#1459) - Handle non-symbol keys in
localshash forrender(#1465) - Index calls in render arguments (#1459)
- Ruby
Published by presidentbeef almost 6 years ago
https://github.com/presidentbeef/brakeman - 4.8.2
- Add
--text-fieldsoption - Add check for CVE-2020-8159
- Add check for escaping HTML entities in JSON configuration option
- Fix
authenticate_or_request_with_http_basiccheck for passed blocks (Hugo Corbucci)
- Ruby
Published by presidentbeef almost 6 years ago
https://github.com/presidentbeef/brakeman - 4.8.0
- Add JUnit XML report format (Naoki Kimurai)
- Sort ignore files by fingerprint and line (Ngan Pham)
- Catch dangerous concatenation in
CheckExecute(Jacob Evelyn) - User-friendly message when ignore config file has invalid JSON (D. Hicks)
- Freeze call index results, fix thread-safety issue
- Properly render confidence in Markdown report (#1446)
- Report old warnings as fixed if zero warnings reported
- Initialize Rails version with
nil(Carsten Wirth) - Fix output test when using newer Minitest
- Ruby
Published by presidentbeef about 6 years ago
https://github.com/presidentbeef/brakeman - 4.7.2
- Add
request.paramsas query parameters (#1398) - Handle more
permit!cases (#1426) - Remove version guard for
named_scopevs.scope - Find SQL injection in
String#strip_heredoctarget (#1433) - Ensure file name is set when processing models
- Bundle
ruby_parserversion 3.14.1 (#1429)
- Ruby
Published by presidentbeef over 6 years ago
https://github.com/presidentbeef/brakeman - 4.7.1
- Sort text report by file and line (Jacob Evelyn)
- Catch reverse tabnabbing with
:_blanksymbol (Jacob Evelyn) - Convert
s(:lambda)tos(:call)inSexp#block_call(#1410) - Check string length against limit before joining
- Fix flaky rails4 test (Adam Kiczula)
- Fix errors from frozen
Symbol#to_sin Ruby 2.7 - Add release dates to each version in CHANGES (TheSpartan1980)
- Ruby
Published by presidentbeef over 6 years ago
https://github.com/presidentbeef/brakeman - 4.7.0
- Update Haml support to Haml 5.x (#1044)
- Catch shell injection from
-cshell commands (Jacob Evelyn) - Correctly handle non-symbols in
CheckCookieSerialization(Phil Turnbull) - Refactor
Brakeman::Differ#second_pass(Benoit Côté-Jodoin) - Fix
version_between?(Andrey Glushkov) - Ignore interpolation in
%W[](#1399) - Ignore
form_forfor XSS check
- Ruby
Published by presidentbeef over 6 years ago
https://github.com/presidentbeef/brakeman - 4.6.1
- Fix Reverse Tabnabbing warning message (Steffen Schildknecht / Jörg Schiller)
- Ruby
Published by presidentbeef over 6 years ago
https://github.com/presidentbeef/brakeman - 4.6.0
- Add check for cookie serialization with Marshal (#1316)
- Add reverse tabnabbing check (Linos Giannopoulos)
- Avoid warning about file access with
ActiveStorage::Filename#sanitized(Tejas Bubane) - Update loofah version for fixing CVE-2018-8048 (Markus Nölle)
- Warn people that Haml 5 is not fully supported (Jared Beck)
- Index calls in initializers
- Improve template output handling in conditional branches
- Avoid assigning
nilline numbers toSexps - Add special warning code for custom checks
- Add call matching by regular expression
- Skip calls to
dup(#1374) - Restore
Warning#relative_path - Better handling of gems with no version declared
- Ruby
Published by presidentbeef over 6 years ago
https://github.com/presidentbeef/brakeman - 4.5.1
- Add initial Rails 6 support
- Add optional check for
config.force_ssl(#1181) - Add deserialization warning for
Oj.load/object_load - Add SQL injection checks for
destroy_by/delete_by - Add SQL injection checks for
find_or_create_byand friends - Check
link_towith block for href XSS (#1339) - Convert
!!calls to boolean value (#1343) - Use relative paths for
__FILE__ - Represent file paths internally as
Brakeman::FilePath - Handle empty partial names
- Handle trailing comma in block args
- Remove code for Ruby versions prior to 1.9
- Ruby
Published by presidentbeef almost 7 years ago
https://github.com/presidentbeef/brakeman - 4.5.0
- Officially drop support for running with older Ruby versions
- More thoroughly handle
Shellwordsescaping (#1323) - Handle non-integer version number comparisons (#1305)
- Better handling of splat/kwsplat arguments (#1204)
- Handle
**inside Hash literals - Add support for CoffeeScript in Slim templates
- Improve support for embedded template "filters"
- Remove Sass dependency
- Avoid joining strings with different encodings
- Improve "user input" reported for SQL injection
- Stop swallowing exceptions in
AliasProcessor - Add original exception to
Tracker#errorslist - Use
FileParserinScannerto parse files - Set location information in
CheckContentTag - Update RubyParser to 3.13.0
- Ruby
Published by presidentbeef almost 7 years ago
https://github.com/presidentbeef/brakeman - 4.4.0
- Add check for CVE-2018-3760
- Add
--enableoption to enable optional checks - Add Dockerfile to run Brakeman inside Docker (Ryan Kemper)
- Handle empty
secrets.ymlfiles (Naoki Kimura) - Ignore Tempfiles in FileAccess warnings (Christina Koller)
- Avoid warning about command injection when
String#shellescapeandShellwords.shelljoinare used (George Ogata) - Treat
if notlikeunless(#1225) - Fix Rails 4 configuration handling
- Set default encoding to UTF-8
- Support reading gem versions from gemspecs
- Support gem versions which are just major.minor (e.g. 3.0)
- Correctly set
rel="noreferrer"in HTML reports - Fix thread-safety issue in CallIndex
- Fix trim mode for ERb templates in old Rails versions
- Avoid
nilerrors when concatenating arrays - Add rendered template information to render paths
- Trim some unnecessary files from bundled gems
- Deadcode and typo fixes found via Coverity
- Complete overhaul of warning message construction
- Update to Slim 4.0.1 (Jake Peterson)
- Update to RubyParser 3.12.0
- Updated license
- Ruby
Published by presidentbeef about 7 years ago
https://github.com/presidentbeef/brakeman - 4.3.1
- Add
:BRAKEMAN_SAFE_LITERALto represent known-safe literals - Handle
Array#mapandArray#eachover literal arrays (#1208 / #1224) - Use safe literal when accessing literal hash with unknown key (#1213)
- Allow
symbolize_keysto be called onparamsin SQL (Jacob Evelyn) - Improve handling of conditionals in shell commands (Jacob Evelyn)
- Avoid deprecated use of ERB in Ruby 2.6 (Koichi ITO)
- Ignore
Object#freeze, use the target instead (#1211) - Ignore
foreign_keycalls in SQL (#1202) - Handle
includedcalls outside of classes/modules (#1209) - Fix error when setting line number in implicit renders (#1210)
- Ruby
Published by presidentbeef over 7 years ago
https://github.com/presidentbeef/brakeman - 4.3.0
- Add
--parser-timeoutoption - Improve timeout error messages
- Check exec-type calls even if they are targets (#1199)
- Index Kernel#` calls even if they are targets (#1183)
BaseCheck#include_interp?should return first string interpolation (#1189)- Ignore
Process.pidin system calls - Warn about dangerous
link_tohref withsanitize()(#1187) - Ignore
params#to_handparams#to_hashin SQL checks (#1180) - Convert
Array#jointo string interpolation (#1179) - Change
"".freezeto just""(#1182) --colorcan be used to force color output (#1175)- Track parent calls in call index
- Fix reported line numbers for CVE-2018-3741 and CVE-2018-8048
- Code Climate: omit leading dot from
only_files(Todd Mazierski)
- Ruby
Published by presidentbeef almost 8 years ago
https://github.com/presidentbeef/brakeman - 4.2.1
- Add warning for CVE-2018-3741
- Add warning for CVE-2018-8048
- Scan
app/jobs/directory - Handle
template_exists?in controllers (#1124)
- Ruby
Published by presidentbeef almost 8 years ago
https://github.com/presidentbeef/brakeman - 4.2.0
- Handle ERb use of
String#<<method for Ruby 2.5 (Pocke) - Exclude template folders in
lib/(kru0096) - Warn about SQL injection with
not - Avoid warning about symbol DoS on
Model#attributes(#1096) - Avoid warning about open redirects with model methods ending with
_path(#1117) - Avoid warning about command injection with
Shellwords.escape(#1159) - Use ivars from
initializein libraries - Fix multiple assignment of globals (#1155)
Sexp#body=can accept:rlistfromSexp#body_list- Update RubyParser to 3.11.0
- Ruby
Published by presidentbeef about 8 years ago
https://github.com/presidentbeef/brakeman - 4.1.1
- Remove check for use of
permitwith*_idkeys - Avoid duplicate warnings about permitted attributes
- Ruby
Published by presidentbeef about 8 years ago
https://github.com/presidentbeef/brakeman - 4.1.0
- Add check for dangerous keys in
permit - Add optional check for divide by zero
- Remove errors about divide by zero
- Warn about dynamic values in
Arel.sql - Show better location for Sass errors (Andrew Bromwich)
- Avoid warning about file access for temp files (#1110)
- Avoid CSRF warning in Rails 5.2 default config (#1132)
- Better processing of
op_asgn1(e.g.x[:y] += 1) (#1103) - Handle nested destructuring/multiple assignment
- Do not warn on
params.permitwith safe values (#1000) - Use HTTPS for warning links
- Try to guess options for
lesspager (#1118) - Do not page if results fit on screen
- Leave results on screen after paging
- Fix upgrade version for CVE-2016-6316
- Fix
include_pathsfor Code Climate engine (Will Fleming) - Support
app_pathconfiguration for Code Climate engine (Noah Davis) - Refactor Code Climate engine options parsing (Noah Davis)
- Ruby
Published by presidentbeef about 8 years ago
https://github.com/presidentbeef/brakeman - 4.0.1
- Disable pager when
CIenvironment variable is set - Fix output when pager fails
- Ruby
Published by presidentbeef over 8 years ago
https://github.com/presidentbeef/brakeman - 4.0.0
--exit-on-warnis now the default (#852)--exit-on-erroris now the default (#1083)- "Plain" report output is now the default
- Add simple pager for reports output to terminal
- Remove low confidence mass assignment warnings
- Reduce warnings about XSS in
link_to - Treat
request.cookieslikecookies(#1090) - Treat
fail/raiselike early returns (#754) - Rename "Cross Site Scripting" to "Cross-Site Scripting" (Paul Tetreau)
- Remove reliance on
CONFIDENCEconstant in checks - Fix
--exit-on-errorand--exit-on-warnin config files
- Ruby
Published by presidentbeef over 8 years ago
https://github.com/presidentbeef/brakeman - 3.7.2
- Fix
--ensure-latest(David Guyon)
- Ruby
Published by presidentbeef over 8 years ago
https://github.com/presidentbeef/brakeman - 3.7.1
- Handle simple guard with
returnat end of branch (#1073) - Add more collection methods for iteration detection
- Modularize
bin/brakeman - Improve multi-value
Sexperror message - Update
ruby2rubyandruby_parserdependencies
- Ruby
Published by presidentbeef over 8 years ago
https://github.com/presidentbeef/brakeman - 3.7.0
- Avoid interpolating hashes/arrays on failed access (#921)
- Fix false positive for
redirect_toin Rails 4 (Mário Areias) - Show progress indicator in interactive mode (#1012)
- Handle simple conditional guards that use
return(#1057) - Improve support for
rails4/rails5options in config file (#1059) - Updated RubyParser to master
- Ruby
Published by presidentbeef over 8 years ago
https://github.com/presidentbeef/brakeman - 3.6.2
- Remove
--rakeoption - By default, do not honor additional check paths in config
- Properly handle template names without
.htmlor.js - Catch YAML parsing errors in session settings check (#1046)
- Better handling of
ifexpressions in HAML rendering (#1032) - Avoid warning about SQLi with
to_sinexists?(#1045) - Handle safe call operator in checks (#1031)
- Handle empty
ifexpressions when finding return values - Set template file names during rendering for better errors
- Limit Slim dependency to before 3.0.8
- Update RubyParser to 3.9.0
- Ruby
Published by presidentbeef almost 9 years ago
https://github.com/presidentbeef/brakeman - 3.6.1
- Fix error when using
--compare(Sean Gransee)
- Ruby
Published by presidentbeef almost 9 years ago
https://github.com/presidentbeef/brakeman - 3.6.0
- Branch inside of
caseexpressions (#944, #972, #1002) - Check targetless SQL calls outside of known models
- Fix issue with nested interpolation inside SQL strings (#1008)
- Add
--exit-on-error(Michael Grosser) - Only report CVE-2015-3227 when exact version is known (#933, #995)
- Print command line option errors without modification (#1010)
- Ignore GraphQL tags inside ERB templates
- Avoid recursive
Concerns
- Ruby
Published by presidentbeef almost 9 years ago
https://github.com/presidentbeef/brakeman - 3.5.0
- Warn about SQL injection even if target is not known ActiveRecord model
- Avoid warning about models as SQL injection (#655, #680, #833)
- Avoid warning about SQLi in
all,first, orlastafter Rails 4.0 - Treat templates without
.htmlas HTML anyway (#790) - Report check name in JSON and plain reports (#971)
- Add
--ensure-latestoption (tamgrosser / Michael Grosser) - Add
--no-summaryto hide summaries in HTML/text reports (#963) - Fail on invalid checks specified by
-xor-t(#970) - Handle
includedblock in concerns (#958) - Updated RubyParser/Ruby2Ruby dependencies
- Ruby
Published by presidentbeef about 9 years ago
https://github.com/presidentbeef/brakeman - 3.3.5
- Fix bug in reports when using
--debug
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.4.0
- Show obsolete ignore entries in reports (Jonathan Cheatham)
- Add option to prune ignore file with
-I - Add new
plainreport format (#914) - Support creating reports in non-existent paths (#924)
- Add
--no-exit-warn(#925) - Improved Slim template support
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.4.1
- Configurable engines path (Jason Yeo)
- Check CSRF setting in direct subclasses of
ActionController::Base(Jason Yeo) - Pull Ruby version from
.ruby-versionor Gemfile - Use Ruby version to turn off SymbolDoS check (#928)
- Fix ignoring link interpolation not at beginning of string (#939)
- Show action help at start of interactive ignore (#949)
- Avoid warning about
where_values_hashin SQLi (#942)
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.3.4
- Add generic warning for CVE-2016-6316
- Warn about dangerous use of
content_tagwith CVE-2016-6316 - Add warning for CVE-2016-6317
- Use Minitest
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.3.3
- Index calls in view helpers
- Process inline template renders (#672)
- Show path when no Rails app found (Neil Matatall)
- Avoid warning about hashes in
link_tohrefs (#897) - Improve return value guesses
- Ignore boolean methods in render paths
- Reduce open redirect duplicates
- Fix SymbolDoS error with unknown Rails version
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.2.0.pre1
Preview of 3.2.0
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.3.2
- Fix performance regression in global constant tracking
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.3.1
- Improved line number accuracy in ERB templates (Patrick Toomey)
- Allow multiple line regex in
validates_format_of(Dmitrij Fedorenko) - Avoid overwriting instance/class methods with same name (Tim Wade)
- Add
--force-scanoption (Neil Matatall) - Only consider
ifbranches in templates - Support more safe
&.operations - Avoid warning about SQL injection with
quoted_primary_key(#884) - Delay loading vendored gems and modifying load path
- Added brakeman-lib gem
- Ruby
Published by presidentbeef over 9 years ago
https://github.com/presidentbeef/brakeman - 3.3.0
- Bundle all dependencies in gem
- Return exit code
4if no Rails application is detected (#869) - Add optional check for secrets in source code (#201)
- Track constants globally
- Skip if branches with
Rails.env.test?(#862) - Skip processing obviously false if branches (more broadly)
- Handle HAML
find_and_preservewith a block (#837) - Process
Array#first - Allow non-Hash arguments in
protect_from_forgery(Jason Yeo) - Avoid warning about
uhelper (Chad Dollins) - Avoid warning about mass assignment and SQL injection with
params.slice(#866) - Avoid warning about
sliceinredirect_toandlink_to(#832) - Avoid warning on
popenwith array (#851) - [Code Climate engine] When possible, output to /dev/stdout (Gordon Diggs)
- [Code Climate engine] Remove nil entries from
include_paths(Gordon Diggs) - [Code Climate engine] Report end lines for issues (Gordon Diggs)
- Ruby
Published by presidentbeef almost 10 years ago
https://github.com/presidentbeef/brakeman - 3.2.0
- Support calls using
&.operator (#796) - Handle CoffeeScript in HAML (#813)
- Avoid render warnings about
params[:action]/params[:controller](#812) - Only update ignore config file on changes (#824)
- Sort ignore config file
- Index calls in class bodies but outside methods (#814)
- Skip Symbol DoS check on Rails 5
- Fix finding calls with
targets: nil - Remove
fastercsvdependency - Remove
multi-jsondependency
- Ruby
Published by presidentbeef about 10 years ago
https://github.com/presidentbeef/brakeman - 3.2.1
- Remove multi_json from bin/brakeman
- Ruby
Published by presidentbeef about 10 years ago
https://github.com/presidentbeef/brakeman - 3.1.5
- Support directories better in
--only-filesand--skip-files(Patrick Toomey) - Fix CodeClimate construction of
--only-files(Will Fleming) - Avoid warning about
permitin SQL (669) - Handle guards using
detect(376) - Handle module names with self methods (#785)
- Add session manipulation documentation (#791)
- Check for implicit integer comparison in dynamic finders
- Avoid warning on user input in comparisons
- Add check for denial of service via routes (CVE-2015-7581)
- Warn about RCE with
render params(CVE-2016-0752) - Add check for
strip_tagsXSS (CVE-2015-7579) - Add check for
sanitizeXSS (CVE-2015-7578/80) - Add check for
reject_ifproc bypass (CVE-2015-7577) - Add check for mime-type denial of service (CVE-2016-0751)
- Add check for basic auth timing attack (CVE-2015-7576)
- Add initial Rails 5 support
- Ruby
Published by presidentbeef about 10 years ago
https://github.com/presidentbeef/brakeman - 3.1.4
- Emit Brakeman's native fingerprints for Code Climate engine (Noah Davis)
- Ignore
secrets.ymlif in .gitignore (#777) - Work around
safe_yamlerror (#778) - Increase test coverage for option parsing (Zander Mackie)
- Clean up Ruby warnings (Andy Waite)
- Ruby
Published by presidentbeef about 10 years ago
https://github.com/presidentbeef/brakeman - 3.1.3
- Add Code Climate output format (Ashley Baldwin-Hunter / Devon Blandin / John Pignata / Michael Bernstein)
- Restore minimum Highline version (Kevin Glowacz)
- Depend on safe_yaml 1.0 or later (#753)
- Check for session secret in secrets.yml (#760)
- Avoid warning on
without_protection: truewith hash literal (#769) - Respect
exit_on_warnin config file (#771) - Avoid outputting false for
user_inputin JSON - Iteratively replace variables
- CallIndex improvements
- Improved tests for the Brakeman module (Bethany Rentz)
- Make sure a
before_filterwith block is a call (#763)
- Ruby
Published by presidentbeef about 10 years ago
https://github.com/presidentbeef/brakeman - 3.1.2
- Sortable tables in HTML report (David Lanner)
- Add line numbers to class-level warnings
- Warn on SQL query keys, not values in hashes (#738)
- Set user input value for inline renders
- Avoid warning on inline renders with safe content types
- Treat
current_userlike a model (#744) - Avoid warning about model
find/find_by*in hrefs - Handle
private def ... - Handle empty interpolation in HAML filters (#732)
- Catch divide-by-zero in alias processing (#729)
- Ignore filters that are not method names
- Search for config file relative to application root
- Use SafeYAML to load configuration files
- Allow inspection of recursive Sexps
- Reduce string allocations in
Warning#initialize
- Ruby
Published by presidentbeef over 10 years ago
https://github.com/presidentbeef/brakeman -
- Update dependencies to Ruby 1.8 incompatible versions
- Update render path information in JSON reports
- Remove renaming of several
Sexpnodes - Treat
html_safelikeraw - Use railties version if rails gem is missing (Lucas Mazza)
- Warn about unverified SSL mode in
Net::HTTP.start - Expand XSS safe methods
- Avoid warning on path creation methods in
link_to - Add support for
gems.rb/gems.locked(#705) - Fix low confidence XSS warning code
- Avoid duplicate
evalwarnings - Convert YAML config keys to symbols (Karl Glaser)
- Ruby
Published by presidentbeef over 10 years ago
https://github.com/presidentbeef/brakeman - 3.1.1
- Add check for user input in session keys
- Add optional check for use of MD5 and SHA1
- Fix absolute paths for Windows (Cody Frederick)
- Allow searching call index methods by regex (Alex Ianus)
- Consider
j/escape_javascriptsafe inside Haml JavaScript blocks (#708) - Better Haml processing of
find_and_preservecalls - Fix chained assignment
- Treat
a.try(&:b)likea.b() - Add more Arel methods to be ignored in SQL (#711)
- Avoid warning when linking to decorated models (#683)
- Support newer terminal-table releases (#709)
- Ruby
Published by presidentbeef over 10 years ago
https://github.com/presidentbeef/brakeman - 3.0.5
- Fix check for CVE-2015-3227
- Ruby
Published by presidentbeef over 10 years ago
https://github.com/presidentbeef/brakeman - 3.0.4
- Add check for CVE-2015-3226 (XSS via JSON keys)
- Add check for CVE-2015-3227 (XML DoS)
- Treat
<%==as unescaped output (#661) - Update
ruby_parserdependency to 3.7.0
- Ruby
Published by presidentbeef over 10 years ago
https://github.com/presidentbeef/brakeman - 3.0.3
- Warn about
protect_from_forgerywithout exceptions (Neil Matatall) - Add Rake task to exit with error code on warnings (masarakki)
- Ignore
quoted_table_namein SQL (Gabriel Sobhrinho) - Ignore more Arel methods in SQL (#604)
- Warn about RCE and file access with
open - Handle
Array#include?guard conditionals (#604) - Handle lambdas as filters
- Do not ignore targets of
to_sin SQL (#638)
- Ruby
Published by presidentbeef almost 11 years ago
https://github.com/presidentbeef/brakeman - 3.0.2
- Fix HTML reports with GitHub repos (#624)
- Handle processing of explictly shadowed block arguments (#612)
- Fix CSV output when there are no warnings (#615)
- Update
ruby_parserto ~> 3.6.2 - Treat
primary_key,table_name_prefix,table_name_suffixas safe in SQL - Fix using
--compareand--add-checks-pathtogether - Alias process methods called in class scope on models
- Avoid warning about mass assignment with string literals
- Only report original regex DoS locations
- Report correct file for
simple_formatusage CVE warning - Ignore case value in XSS checks
- Formatting newlines removed from HAML templates
- Improved render path information tracking
- Ruby
Published by presidentbeef almost 11 years ago
https://github.com/presidentbeef/brakeman - 3.0.1
- Remove Slim dependency (Casey West)
- Properly process libraries (Patrick Toomey)
- Add
--add-libs-pathfor additional libraries (Patrick Toomey) - Allow for controllers/models/templates in directories under
app/(Neal Harris) - Avoid
protect_from_forgerywarning unlessApplicationControllerinherits fromActionController::Base(#573) - Properly format command interpolation (again)
- Ruby
Published by presidentbeef almost 11 years ago
https://github.com/presidentbeef/brakeman - 3.0.0
--exit-on-warn --compareonly returns error code on new warnings (Jeff Yip)- Sort warnings by fingerprint in JSON report (Jeff Yip)
- CVEs report correct line and file name (Gemfile/Gemfile.lock) (Rob Fletcher)
- Change
--separate-modelsto be the default - Local variables are no longer formatted as
(local var) - Actually skip skipped before filters
- Remove "fake filters" from warning fingerpints
- Index calls in
lib/files - Handle symmetric multiple assignment
- Do not branch for self attribute assignment
x = x.y(#552) - Move Symbol DoS to optional checks
- Add check for cross site scripting via inline renders
- Add check for CVE-2014-7829
- Fix parsing of
<%==in ERB - Fix output format of command interpolation
- Fix CVE for CVE-2011-2932
- Ruby
Published by presidentbeef about 11 years ago
https://github.com/presidentbeef/brakeman - 2.6.3
- Whitelist
existsarel method from SQL injection check - Avoid warning about Symbol DoS on safe parameters as method targets
- Fix stack overflow in ProcessHelper#class_name
- Add optional check for unscoped find queries (Ben Toews)
- Add framework for optional checks
- Fix stack overflow for cycles in class ancestors (Jeff Rafter)
- Ruby
Published by presidentbeef over 11 years ago
https://github.com/presidentbeef/brakeman - 2.6.2
- Add check for CVE-2014-3514
- Add
--add-checks-pathoption for external checks (Clint Gibler) - Add
-4option to force Rails 4 mode - Fix SQL injection detection in deep nested string building
- Check entire call for
send(#523) - Check for .gitignore of secrets in subdirectories (#519)
- Avoid warning about symbolizing safe parameters (#536)
- Fix block statment endings in Erubis (#518)
- Update ruby2ruby dependency to 2.1.1
- Expand app path in one place instead of all over (Jeff Rafter)
- Fix undefined variable in controller processing error (Jason Barnabe)
- Ruby
Published by presidentbeef over 11 years ago
https://github.com/presidentbeef/brakeman - 2.6.1
- Add check for CVE-2014-3482 and CVE-2014-3483
- Add support for keyword arguments in blocks (#511)
- Remove unused warning codes (Bill Fischer)
- Ruby
Published by presidentbeef over 11 years ago
https://github.com/presidentbeef/brakeman - 2.6.0
- Fix detection of
:hostsetting in redirects with chained calls - Add check for CVE-2014-0130
- Add
find_by/find_by!to SQLi check for Rails 4 - Parse most files upfront instead of on demand
- Do not branch values for
+= - Update to use RubyParser 3.5.0 (Patrick Toomey)
- Improve default route detection in Rails 3/4 (Jeff Jarmoc)
- Handle controllers and models split across files (Patrick Toomey)
- Fix handling of
protected_attributesgem in Rails 4 (Geoffrey Hichborn) - Ignore more model methods in redirects
- Fix CheckRender with nested render calls
- Ruby
Published by presidentbeef over 11 years ago
https://github.com/presidentbeef/brakeman - 2.4.2
- Remove
rescue Exception - Fix duplicate warnings about sanitize CVE
- Reuse duplicate call location information
- Only track original template output locations
- Skip identically rendered templates
- Fix HAML template processing
- Ruby
Published by presidentbeef almost 12 years ago
https://github.com/presidentbeef/brakeman - 2.4.3
Signed gem, same as 2.4.2 otherwise.
- Ruby
Published by presidentbeef almost 12 years ago
https://github.com/presidentbeef/brakeman - 2.5.0
- Add support for RailsLTS 2.3.18.7 and 2.3.18.8
- Add support for Rails 4
before_actionsand friends - Move SQLi CVE checks to
CheckSQLCVEs - Check for protected_attributes gem
- Fix SQLi detection in chain calls in scopes
- Add GitHub-flavored Markdown output format (Greg Ose)
- Fix false positives when sanitize() is used in SQL (Jeff Yip)
- Add String#intern and Hash#symbolize_keys DoS check (Jan Rusnacko)
- Check all arguments in Model.select for SQLi
- Fix false positive when :host is specified in redirect
- Handle more non-literals in routes
- Add check for regex denial of service (Ben Toews)
- Ruby
Published by presidentbeef almost 12 years ago
https://github.com/presidentbeef/brakeman - 2.4.1
- Add check for CVE-2014-0082
- Add check for CVE-2014-0081, replaces CVE-2013-6415
- Add check for CVE-2014-0080
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 0.2.0
- Add check for mail_to vulnerability - CVE-2011-0446
- Add check for CSRF weakness - CVE-2011-0447
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 0.0.3
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 2.4.0
- Detect Rails LTS versions
- Reduce false positives for SQL injection in string building
- More accurate user input marking for SQL injection warnings
- Detect SQL injection in
delete_all/destroy_all - Detect SQL injection raw SQL queries using
connection - Parse exact versions from Gemfile.lock for all gems
- Ignore generators
- Update to RubyParser 3.4.0
- Fix false positives when SQL methods are not called on AR models (Aaron Bedra)
- Add check for uses of OpenSSL::SSL::VERIFY_NONE (Aaron Bedra)
- No longer raise exceptions if a class name cannot be determined
- Fingerprint attribute warnings individually (Case Taintor)
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 2.3.1
- Fix check for CVE-2013-4491 (i18n XSS) to detect workaround
- Fix link for CVE-2013-6415 (number_to_currency)
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 2.3.0
- Add check for Parameters#permit!
- Add check for CVE-2013-4491 (i18n XSS)
- Add check for CVE-2013-6414 (header DoS)
- Add check for CVE-2013-6415 (number_to_currency)
- Add check for CVE-2013-6416 (simple_format XSS)
- Add check for CVE-2013-6417 (query generation)
- Fix typos in reflection and translate bug messages
- Collapse send/try calls
- Fix Slim XSS false positives (Noah Davis)
- Whitelist
Model#createfor redirects - Fix scoping issues with instance variables and blocks
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 2.2.0
- Reduce command injection false positives
- Use Rails version from Gemfile if it is available
- Only add routes with actual names
- Ignore redirects to models using friendly_id (AJ Ostrow)
- Support scanning Rails engines (Geoffrey Hichborn)
- Add check for detailed exceptions in production
- Ruby
Published by presidentbeef about 12 years ago
https://github.com/presidentbeef/brakeman - 2.1.2
- Do not attempt to load custom Haml filters
- Do not warn about
to_jsonXSS in Rails 4 - Add --table-width option to set width of text reports (ssendev)
- Remove fuzzy matching on dangerous attr_accessible values
- Ruby
Published by presidentbeef about 12 years ago