CHANGES 6.3 KB
Newer Older
J
Justin Collins 已提交
1 2 3 4 5 6
# 1.3.0

 * Add file paths to HTML report
 * Add caching of filters
 * Add --skip-files option
 * Add support for attr_protected
J
Justin Collins 已提交
7
 * Add detection of request.env as user input
J
Justin Collins 已提交
8 9
 * Descriptions of checks in -k output
 * Improved processing of named scopes
J
Justin Collins 已提交
10
 * Check for mass assignment in ActiveRecord::Associations::AssociationCollection#build
J
Justin Collins 已提交
11
 * Better variable substitution
J
Justin Collins 已提交
12 13
 * Table output option for rescan reports

J
Justin Collins 已提交
14 15 16 17 18 19 20 21
# 1.2.2

 * --no-progress works again
 * Make CheckLinkTo a separate check
 * Don't fail on unknown options to resource(s)
 * Handle empty resource(s) blocks
 * Add RescanReport#existing_warnings

J
Justin Collins 已提交
22 23 24 25 26 27 28 29 30 31 32 33
## 1.2.1

 * Remove link_to warning for Rails 3.x or when using rails_xss
 * Don't warn if first argument to link_to is escaped
 * Detect usage of attr_accessible with no arguments
 * Fix error when rendering a partial from a view but not through a controller
 * Fix some issues with rails_xss, CheckCrossSiteScripting, and CheckTranslateBug
 * Simplify Brakeman Rake task
 * Avoid modifying $VERBOSE
 * Add Brakeman::RescanReport#to_s
 * Add Brakeman::Warning#to_s

J
Justin Collins 已提交
34 35 36
## 1.2.0

 * Speed improvements for CheckExecute and CheckRender
J
Justin Collins 已提交
37
 * Check named_scope() and scope() for SQL injection
J
Justin Collins 已提交
38 39
 * Add --rake option to create rake task to run Brakeman
 * Add experimental support for rescanning a subset of files
J
Justin Collins 已提交
40
 * Add --summary option to only output summary
J
Justin Collins 已提交
41 42
 * Fix a problem with Rails 3 routes

J
Justin 已提交
43 44 45 46 47 48 49 50 51 52 53
## 1.1.0

 * Relax required versions for dependencies
 * Performance improvements for source processing
 * Better progress reporting
 * Handle basic operators like << + - * /
 * Rescue more errors to prevent complete crashes
 * Compatibility with newer Haml versions
 * Fix some warnings

## 1.0.0
J
Justin Collins 已提交
54 55

 * Better handling of assignments inside ifs
J
Justin Collins 已提交
56 57 58
 * Check more expressions for SQL injection
 * Use latest ruby_parser for better 1.9 syntax support
 * Better behavior for Brakeman as a library
J
Justin Collins 已提交
59

J
Justin Collins 已提交
60 61 62 63 64 65 66 67 68 69 70
## 1.0.0rc1

 * Brakeman can now be used as a library
 * Faster call search
 * Add option to return error code if warnings are found (tw-ngreen)
 * Allow truncated messages to be expanded in HTML
 * Fix summary when using warning thresholds
 * Better support for Rails 3 routes
 * Reduce SQL injection duplicate warnings
 * Lower confidence on mass assignment with no user input
 * Ignore mass assignment using all literal arguments
J
Justin Collins 已提交
71
 * Keep expanded context in view with HTML output
J
Justin Collins 已提交
72

J
Justin Collins 已提交
73 74 75 76 77
## 0.9.2

 * Fix Rails 3 configuration parsing
 * Add t() helper to check for translate XSS bug

J
Justin Collins 已提交
78 79
## 0.9.1

J
Justin Collins 已提交
80
 * Add warning for translator helper XSS vulnerability
J
Justin Collins 已提交
81

J
Justin Collins 已提交
82 83 84 85 86 87 88
## 0.9.0

 * Process Rails 3 configuration files
 * Fix CSV output
 * Check for config.active_record.whitelist_attributes = true
 * Always produce a warning for without_protection => true

J
Justin Collins 已提交
89 90 91 92 93 94 95 96 97
## 0.8.4

 * Option for separate attr_accessible warnings
 * Option to set CSS file for HTML output
 * Add file names for version-specific warnings
 * Add line number for default routes in a controller
 * Fix hash_insert()
 * Remove use of Queue from threaded checks

J
Justin Collins 已提交
98 99 100 101 102 103
## 0.8.3
 
 * Respect -w flag in .tabs format (tw-ngreen)
 * Escape HTML output of error messages
 * Add --skip-libs option

J
Justin Collins 已提交
104 105 106
## 0.8.2

 * Run checks in parallel threads by default
J
Justin Collins 已提交
107
 * Fix compatibility with ruby_parser 2.3.1
J
Justin Collins 已提交
108

J
Justin Collins 已提交
109 110 111 112 113
## 0.8.1

 * Add option to assume all controller methods are actions
 * Recover from errors when parsing routes

J
Justin Collins 已提交
114 115 116 117 118 119 120 121 122 123 124
## 0.8.0

 * Add check for mass assignment using without_protection
 * Add check for password in http_basic_authenticate_with
 * Warn on user input in hash argument with mass assignment
 * auto_link is now considered safe for Rails >= 3.0.6
 * Output detected Rails version in report
 * Keep track of methods called in class definition
 * Add ruby_parser hack for Ruby 1.9 hash syntax
 * Add a few Rails 3.1 tests

J
Justin Collins 已提交
125 126 127 128 129
## 0.7.2

 * Fix handling of params and cookies with nested access
 * Add CVEs for checks added in 0.7.0

J
Justin Collins 已提交
130 131 132 133
## 0.7.1

 * Require BaseProcessor for GemProcessor

J
Justin Collins 已提交
134 135 136 137 138 139 140
## 0.7.0

 * Allow local variable as a class name
 * Add checks for vulnerabilities fixed in Rails 2.3.14 and 3.0.10
 * Check for default routes in Rails 3 apps
 * Look in Gemfile or Gemfile.lock for Rails version

J
Justin Collins 已提交
141 142 143 144 145 146 147
## 0.6.1

 * Fix XSS check for cookies as parameters in output
 * Don't bother calling super in CheckSessionSettings
 * Add escape_once as a safe method
 * Accept '\Z' or '\z' in model validations

J
Justin Collins 已提交
148 149 150 151 152 153 154 155 156 157 158 159 160
## 0.6.0

 * Tests are in place and fully functional
 * Hide errors by default in HTML output
 * Warn if routes.rb cannot be found
 * Narrow methods assumed to be file access
 * Increase confidence for methods known to not escape output
 * Fixes to output processing for Erubis
 * Fixes for Rails 3 XSS checks
 * Fixes to line numbers with Erubis
 * Fixes to escaped output scanning
 * Update CSRF CVE-2011-0447 message to be less assertive

J
Justin Collins 已提交
161
## 0.5.2
J
Justin Collins 已提交
162

J
Justin Collins 已提交
163
 * Output report file name when finished
J
Justin Collins 已提交
164 165 166
 * Add initial tests for Rails 2.x
 * Fix ERB line numbers when using Ruby 1.9

J
Justin Collins 已提交
167 168 169 170
## 0.5.1

 * Fix issue with 'has_one' => in routes

J
Justin Collins 已提交
171 172 173 174
## 0.5.0

  * Add support for routes like get 'x/y', :to => 'ctrlr#whatever'
  * Allow empty blocks in Rails 3 routes
175
  * Check initializer for session settings
176
  * Add line numbers to session setting warnings
177 178
  * Add --checks option to list checks

J
Justin Collins 已提交
179 180 181 182 183
## 0.4.1
  
  * Fix reported line numbers when using new Erubis parser
    (Mostly affects Rails 3 apps)

184 185 186 187 188 189
## 0.4.0

  * Handle Rails XSS protection properly
  * More detection options for rails_xss
  * Add --escape-html option 

J
Justin Collins 已提交
190 191
## 0.3.2  

192
  * Autodetect Rails 3 applications
J
Justin Collins 已提交
193 194
  * Turn on auto-escaping for Rails 3 apps
  * Check Model.create() for mass assignment
195

J
Justin Collins 已提交
196 197 198 199 200 201
## 0.3.1

  * Always output a line number in tabbed output format
  * Restrict characters in category name in tabbed output format to
    word characters and spaces, for Hudson/Jenkins plugin

J
Justin Collins 已提交
202 203 204 205 206
## 0.3.0

  * Check for SQL injection in calls using constantize()
  * Check for SQL injection in calls to count_by_sql()

J
Justin Collins 已提交
207 208 209 210 211 212 213 214
## 0.2.2

  * Fix version_between? when no Rails version is specified

## 0.2.1

  * Add code snippet to tab output messages

J
Justin Collins 已提交
215 216 217 218 219
## 0.2.0

  * Add check for mail_to vulnerability - CVE-2011-0446
  * Add check for CSRF weakness - CVE-2011-0447

220 221 222 223
## 0.1.1

  * Be more permissive with ActiveSupport version

J
Justin Collins 已提交
224 225 226 227 228 229 230
## 0.1.0

  * Check link_to for XSS (because arguments are not escaped)
  * Process layouts better (although not perfectly yet)
  * Load custom Haml filters if they are in lib/
  * Tab separated output via .tabs output extension
  * Switch to normal versioning scheme