CHANGES 6.1 KB
Newer Older
J
Justin Collins 已提交
1 2 3 4 5 6 7 8 9 10
# 1.3.0

 * Add file paths to HTML report
 * Add caching of filters
 * Add --skip-files option
 * Add support for attr_protected
 * Descriptions of checks in -k output
 * Improved processing of named scopes
 * Table output option for rescan reports

J
Justin Collins 已提交
11 12 13 14 15 16 17 18
# 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 已提交
19 20 21 22 23 24 25 26 27 28 29 30
## 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 已提交
31 32 33
## 1.2.0

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

J
Justin 已提交
40 41 42 43 44 45 46 47 48 49 50
## 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 已提交
51 52

 * Better handling of assignments inside ifs
J
Justin Collins 已提交
53 54 55
 * 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 已提交
56

J
Justin Collins 已提交
57 58 59 60 61 62 63 64 65 66 67
## 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 已提交
68
 * Keep expanded context in view with HTML output
J
Justin Collins 已提交
69

J
Justin Collins 已提交
70 71 72 73 74
## 0.9.2

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

J
Justin Collins 已提交
75 76
## 0.9.1

J
Justin Collins 已提交
77
 * Add warning for translator helper XSS vulnerability
J
Justin Collins 已提交
78

J
Justin Collins 已提交
79 80 81 82 83 84 85
## 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 已提交
86 87 88 89 90 91 92 93 94
## 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 已提交
95 96 97 98 99 100
## 0.8.3
 
 * Respect -w flag in .tabs format (tw-ngreen)
 * Escape HTML output of error messages
 * Add --skip-libs option

J
Justin Collins 已提交
101 102 103
## 0.8.2

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

J
Justin Collins 已提交
106 107 108 109 110
## 0.8.1

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

J
Justin Collins 已提交
111 112 113 114 115 116 117 118 119 120 121
## 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 已提交
122 123 124 125 126
## 0.7.2

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

J
Justin Collins 已提交
127 128 129 130
## 0.7.1

 * Require BaseProcessor for GemProcessor

J
Justin Collins 已提交
131 132 133 134 135 136 137
## 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 已提交
138 139 140 141 142 143 144
## 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 已提交
145 146 147 148 149 150 151 152 153 154 155 156 157
## 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 已提交
158
## 0.5.2
J
Justin Collins 已提交
159

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

J
Justin Collins 已提交
164 165 166 167
## 0.5.1

 * Fix issue with 'has_one' => in routes

J
Justin Collins 已提交
168 169 170 171
## 0.5.0

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

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

181 182 183 184 185 186
## 0.4.0

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

J
Justin Collins 已提交
187 188
## 0.3.2  

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

J
Justin Collins 已提交
193 194 195 196 197 198
## 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 已提交
199 200 201 202 203
## 0.3.0

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

J
Justin Collins 已提交
204 205 206 207 208 209 210 211
## 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 已提交
212 213 214 215 216
## 0.2.0

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

217 218 219 220
## 0.1.1

  * Be more permissive with ActiveSupport version

J
Justin Collins 已提交
221 222 223 224 225 226 227
## 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