brakeman-lib 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +872 -0
  3. data/FEATURES +16 -0
  4. data/README.md +169 -0
  5. data/WARNING_TYPES +95 -0
  6. data/bin/brakeman +89 -0
  7. data/lib/brakeman.rb +495 -0
  8. data/lib/brakeman/app_tree.rb +161 -0
  9. data/lib/brakeman/brakeman.rake +17 -0
  10. data/lib/brakeman/call_index.rb +219 -0
  11. data/lib/brakeman/checks.rb +191 -0
  12. data/lib/brakeman/checks/base_check.rb +518 -0
  13. data/lib/brakeman/checks/check_basic_auth.rb +88 -0
  14. data/lib/brakeman/checks/check_basic_auth_timing_attack.rb +33 -0
  15. data/lib/brakeman/checks/check_content_tag.rb +160 -0
  16. data/lib/brakeman/checks/check_create_with.rb +75 -0
  17. data/lib/brakeman/checks/check_cross_site_scripting.rb +385 -0
  18. data/lib/brakeman/checks/check_default_routes.rb +86 -0
  19. data/lib/brakeman/checks/check_deserialize.rb +57 -0
  20. data/lib/brakeman/checks/check_detailed_exceptions.rb +55 -0
  21. data/lib/brakeman/checks/check_digest_dos.rb +38 -0
  22. data/lib/brakeman/checks/check_dynamic_finders.rb +49 -0
  23. data/lib/brakeman/checks/check_escape_function.rb +21 -0
  24. data/lib/brakeman/checks/check_evaluation.rb +36 -0
  25. data/lib/brakeman/checks/check_execute.rb +167 -0
  26. data/lib/brakeman/checks/check_file_access.rb +63 -0
  27. data/lib/brakeman/checks/check_file_disclosure.rb +35 -0
  28. data/lib/brakeman/checks/check_filter_skipping.rb +31 -0
  29. data/lib/brakeman/checks/check_forgery_setting.rb +74 -0
  30. data/lib/brakeman/checks/check_header_dos.rb +31 -0
  31. data/lib/brakeman/checks/check_i18n_xss.rb +48 -0
  32. data/lib/brakeman/checks/check_jruby_xml.rb +38 -0
  33. data/lib/brakeman/checks/check_json_encoding.rb +47 -0
  34. data/lib/brakeman/checks/check_json_parsing.rb +107 -0
  35. data/lib/brakeman/checks/check_link_to.rb +132 -0
  36. data/lib/brakeman/checks/check_link_to_href.rb +115 -0
  37. data/lib/brakeman/checks/check_mail_to.rb +49 -0
  38. data/lib/brakeman/checks/check_mass_assignment.rb +198 -0
  39. data/lib/brakeman/checks/check_mime_type_dos.rb +39 -0
  40. data/lib/brakeman/checks/check_model_attr_accessible.rb +55 -0
  41. data/lib/brakeman/checks/check_model_attributes.rb +119 -0
  42. data/lib/brakeman/checks/check_model_serialize.rb +67 -0
  43. data/lib/brakeman/checks/check_nested_attributes.rb +38 -0
  44. data/lib/brakeman/checks/check_nested_attributes_bypass.rb +58 -0
  45. data/lib/brakeman/checks/check_number_to_currency.rb +74 -0
  46. data/lib/brakeman/checks/check_quote_table_name.rb +40 -0
  47. data/lib/brakeman/checks/check_redirect.rb +215 -0
  48. data/lib/brakeman/checks/check_regex_dos.rb +69 -0
  49. data/lib/brakeman/checks/check_render.rb +92 -0
  50. data/lib/brakeman/checks/check_render_dos.rb +37 -0
  51. data/lib/brakeman/checks/check_render_inline.rb +54 -0
  52. data/lib/brakeman/checks/check_response_splitting.rb +21 -0
  53. data/lib/brakeman/checks/check_route_dos.rb +42 -0
  54. data/lib/brakeman/checks/check_safe_buffer_manipulation.rb +31 -0
  55. data/lib/brakeman/checks/check_sanitize_methods.rb +79 -0
  56. data/lib/brakeman/checks/check_secrets.rb +40 -0
  57. data/lib/brakeman/checks/check_select_tag.rb +60 -0
  58. data/lib/brakeman/checks/check_select_vulnerability.rb +60 -0
  59. data/lib/brakeman/checks/check_send.rb +48 -0
  60. data/lib/brakeman/checks/check_send_file.rb +19 -0
  61. data/lib/brakeman/checks/check_session_manipulation.rb +36 -0
  62. data/lib/brakeman/checks/check_session_settings.rb +170 -0
  63. data/lib/brakeman/checks/check_simple_format.rb +59 -0
  64. data/lib/brakeman/checks/check_single_quotes.rb +101 -0
  65. data/lib/brakeman/checks/check_skip_before_filter.rb +60 -0
  66. data/lib/brakeman/checks/check_sql.rb +660 -0
  67. data/lib/brakeman/checks/check_sql_cves.rb +101 -0
  68. data/lib/brakeman/checks/check_ssl_verify.rb +49 -0
  69. data/lib/brakeman/checks/check_strip_tags.rb +89 -0
  70. data/lib/brakeman/checks/check_symbol_dos.rb +64 -0
  71. data/lib/brakeman/checks/check_symbol_dos_cve.rb +30 -0
  72. data/lib/brakeman/checks/check_translate_bug.rb +45 -0
  73. data/lib/brakeman/checks/check_unsafe_reflection.rb +51 -0
  74. data/lib/brakeman/checks/check_unscoped_find.rb +41 -0
  75. data/lib/brakeman/checks/check_validation_regex.rb +116 -0
  76. data/lib/brakeman/checks/check_weak_hash.rb +151 -0
  77. data/lib/brakeman/checks/check_without_protection.rb +80 -0
  78. data/lib/brakeman/checks/check_xml_dos.rb +51 -0
  79. data/lib/brakeman/checks/check_yaml_parsing.rb +121 -0
  80. data/lib/brakeman/differ.rb +66 -0
  81. data/lib/brakeman/file_parser.rb +50 -0
  82. data/lib/brakeman/format/style.css +133 -0
  83. data/lib/brakeman/options.rb +301 -0
  84. data/lib/brakeman/parsers/rails2_erubis.rb +6 -0
  85. data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +48 -0
  86. data/lib/brakeman/parsers/rails3_erubis.rb +74 -0
  87. data/lib/brakeman/parsers/template_parser.rb +89 -0
  88. data/lib/brakeman/processor.rb +102 -0
  89. data/lib/brakeman/processors/alias_processor.rb +1013 -0
  90. data/lib/brakeman/processors/base_processor.rb +277 -0
  91. data/lib/brakeman/processors/config_processor.rb +14 -0
  92. data/lib/brakeman/processors/controller_alias_processor.rb +273 -0
  93. data/lib/brakeman/processors/controller_processor.rb +326 -0
  94. data/lib/brakeman/processors/erb_template_processor.rb +80 -0
  95. data/lib/brakeman/processors/erubis_template_processor.rb +104 -0
  96. data/lib/brakeman/processors/gem_processor.rb +57 -0
  97. data/lib/brakeman/processors/haml_template_processor.rb +190 -0
  98. data/lib/brakeman/processors/lib/basic_processor.rb +37 -0
  99. data/lib/brakeman/processors/lib/find_all_calls.rb +223 -0
  100. data/lib/brakeman/processors/lib/find_call.rb +183 -0
  101. data/lib/brakeman/processors/lib/find_return_value.rb +134 -0
  102. data/lib/brakeman/processors/lib/processor_helper.rb +75 -0
  103. data/lib/brakeman/processors/lib/rails2_config_processor.rb +145 -0
  104. data/lib/brakeman/processors/lib/rails2_route_processor.rb +313 -0
  105. data/lib/brakeman/processors/lib/rails3_config_processor.rb +132 -0
  106. data/lib/brakeman/processors/lib/rails3_route_processor.rb +308 -0
  107. data/lib/brakeman/processors/lib/render_helper.rb +181 -0
  108. data/lib/brakeman/processors/lib/render_path.rb +107 -0
  109. data/lib/brakeman/processors/lib/route_helper.rb +68 -0
  110. data/lib/brakeman/processors/lib/safe_call_helper.rb +16 -0
  111. data/lib/brakeman/processors/library_processor.rb +119 -0
  112. data/lib/brakeman/processors/model_processor.rb +191 -0
  113. data/lib/brakeman/processors/output_processor.rb +171 -0
  114. data/lib/brakeman/processors/route_processor.rb +17 -0
  115. data/lib/brakeman/processors/slim_template_processor.rb +107 -0
  116. data/lib/brakeman/processors/template_alias_processor.rb +116 -0
  117. data/lib/brakeman/processors/template_processor.rb +74 -0
  118. data/lib/brakeman/report.rb +78 -0
  119. data/lib/brakeman/report/config/remediation.yml +71 -0
  120. data/lib/brakeman/report/ignore/config.rb +135 -0
  121. data/lib/brakeman/report/ignore/interactive.rb +311 -0
  122. data/lib/brakeman/report/renderer.rb +24 -0
  123. data/lib/brakeman/report/report_base.rb +286 -0
  124. data/lib/brakeman/report/report_codeclimate.rb +70 -0
  125. data/lib/brakeman/report/report_csv.rb +55 -0
  126. data/lib/brakeman/report/report_hash.rb +23 -0
  127. data/lib/brakeman/report/report_html.rb +216 -0
  128. data/lib/brakeman/report/report_json.rb +42 -0
  129. data/lib/brakeman/report/report_markdown.rb +156 -0
  130. data/lib/brakeman/report/report_table.rb +107 -0
  131. data/lib/brakeman/report/report_tabs.rb +17 -0
  132. data/lib/brakeman/report/templates/controller_overview.html.erb +22 -0
  133. data/lib/brakeman/report/templates/controller_warnings.html.erb +21 -0
  134. data/lib/brakeman/report/templates/error_overview.html.erb +29 -0
  135. data/lib/brakeman/report/templates/header.html.erb +58 -0
  136. data/lib/brakeman/report/templates/ignored_warnings.html.erb +25 -0
  137. data/lib/brakeman/report/templates/model_warnings.html.erb +21 -0
  138. data/lib/brakeman/report/templates/overview.html.erb +38 -0
  139. data/lib/brakeman/report/templates/security_warnings.html.erb +23 -0
  140. data/lib/brakeman/report/templates/template_overview.html.erb +21 -0
  141. data/lib/brakeman/report/templates/view_warnings.html.erb +34 -0
  142. data/lib/brakeman/report/templates/warning_overview.html.erb +17 -0
  143. data/lib/brakeman/rescanner.rb +483 -0
  144. data/lib/brakeman/scanner.rb +317 -0
  145. data/lib/brakeman/tracker.rb +347 -0
  146. data/lib/brakeman/tracker/collection.rb +93 -0
  147. data/lib/brakeman/tracker/config.rb +101 -0
  148. data/lib/brakeman/tracker/constants.rb +101 -0
  149. data/lib/brakeman/tracker/controller.rb +161 -0
  150. data/lib/brakeman/tracker/library.rb +17 -0
  151. data/lib/brakeman/tracker/model.rb +90 -0
  152. data/lib/brakeman/tracker/template.rb +33 -0
  153. data/lib/brakeman/util.rb +481 -0
  154. data/lib/brakeman/version.rb +3 -0
  155. data/lib/brakeman/warning.rb +255 -0
  156. data/lib/brakeman/warning_codes.rb +111 -0
  157. data/lib/ruby_parser/bm_sexp.rb +610 -0
  158. data/lib/ruby_parser/bm_sexp_processor.rb +116 -0
  159. metadata +362 -0
@@ -0,0 +1,116 @@
1
+ ##
2
+ # SexpProcessor provides a uniform interface to process Sexps.
3
+ #
4
+ # In order to create your own SexpProcessor subclass you'll need
5
+ # to call super in the initialize method, then set any of the
6
+ # Sexp flags you want to be different from the defaults.
7
+ #
8
+ # SexpProcessor uses a Sexp's type to determine which process method
9
+ # to call in the subclass. For Sexp <code>s(:lit, 1)</code>
10
+ # SexpProcessor will call #process_lit, if it is defined.
11
+ #
12
+
13
+ class Brakeman::SexpProcessor
14
+
15
+ VERSION = 'CUSTOM'
16
+
17
+ ##
18
+ # Return a stack of contexts. Most recent node is first.
19
+
20
+ attr_reader :context
21
+
22
+ ##
23
+ # Expected result class
24
+
25
+ attr_accessor :expected
26
+
27
+ ##
28
+ # A scoped environment to make you happy.
29
+
30
+ attr_reader :env
31
+
32
+ # Cache process methods per class
33
+
34
+ def self.processors
35
+ @processors ||= {}
36
+ end
37
+
38
+ ##
39
+ # Creates a new SexpProcessor. Use super to invoke this
40
+ # initializer from SexpProcessor subclasses, then use the
41
+ # attributes above to customize the functionality of the
42
+ # SexpProcessor
43
+
44
+ def initialize
45
+ @expected = Sexp
46
+ @processors = self.class.processors
47
+ @context = []
48
+
49
+ if @processors.empty?
50
+ public_methods.each do |name|
51
+ if name.to_s.start_with? "process_" then
52
+ @processors[name[8..-1].to_sym] = name.to_sym
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+ ##
59
+ # Default Sexp processor. Invokes process_<type> methods matching
60
+ # the Sexp type given. Performs additional checks as specified by
61
+ # the initializer.
62
+
63
+ def process(exp)
64
+ return nil if exp.nil?
65
+
66
+ result = nil
67
+
68
+ type = exp.first
69
+ raise "Type should be a Symbol, not: #{exp.first.inspect} in #{exp.inspect}" unless Symbol === type
70
+
71
+ in_context type do
72
+ # now do a pass with the real processor (or generic)
73
+ meth = @processors[type]
74
+ if meth then
75
+ result = self.send(meth, exp)
76
+ else
77
+ result = self.process_default(exp)
78
+ end
79
+ end
80
+
81
+ raise SexpTypeError, "Result must be a #{@expected}, was #{result.class}:#{result.inspect}" unless @expected === result
82
+
83
+ result
84
+ end
85
+
86
+ ##
87
+ # Add a scope level to the current env. Eg:
88
+ #
89
+ # def process_defn exp
90
+ # name = exp.shift
91
+ # args = process(exp.shift)
92
+ # scope do
93
+ # body = process(exp.shift)
94
+ # # ...
95
+ # end
96
+ # end
97
+ #
98
+ # env[:x] = 42
99
+ # scope do
100
+ # env[:x] # => 42
101
+ # env[:y] = 24
102
+ # end
103
+ # env[:y] # => nil
104
+
105
+ def scope &block
106
+ env.scope(&block)
107
+ end
108
+
109
+ def in_context type
110
+ self.context.unshift type
111
+
112
+ yield
113
+
114
+ self.context.shift
115
+ end
116
+ end
metadata ADDED
@@ -0,0 +1,362 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brakeman-lib
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.3.1
5
+ platform: ruby
6
+ authors:
7
+ - Justin Collins
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - brakeman-public_cert.pem
12
+ date: 2016-06-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: test-unit
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: ruby_parser
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 3.8.1
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 3.8.1
42
+ - !ruby/object:Gem::Dependency
43
+ name: ruby2ruby
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 2.3.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 2.3.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: safe_yaml
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '1.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '1.0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: terminal-table
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.4'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.4'
84
+ - !ruby/object:Gem::Dependency
85
+ name: highline
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 1.6.20
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '2.0'
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 1.6.20
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.0'
104
+ - !ruby/object:Gem::Dependency
105
+ name: erubis
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.6'
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.6'
118
+ - !ruby/object:Gem::Dependency
119
+ name: haml
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '3.0'
125
+ - - "<"
126
+ - !ruby/object:Gem::Version
127
+ version: '5.0'
128
+ type: :runtime
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '3.0'
135
+ - - "<"
136
+ - !ruby/object:Gem::Version
137
+ version: '5.0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: sass
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '3.0'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '3.0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: slim
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 1.3.6
159
+ - - "<"
160
+ - !ruby/object:Gem::Version
161
+ version: '4.0'
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 1.3.6
169
+ - - "<"
170
+ - !ruby/object:Gem::Version
171
+ version: '4.0'
172
+ description: Brakeman detects security vulnerabilities in Ruby on Rails applications
173
+ via static analysis. This package declares gem dependencies instead of bundling
174
+ them.
175
+ email: gem@brakeman.org
176
+ executables:
177
+ - brakeman
178
+ extensions: []
179
+ extra_rdoc_files: []
180
+ files:
181
+ - CHANGES
182
+ - FEATURES
183
+ - README.md
184
+ - WARNING_TYPES
185
+ - bin/brakeman
186
+ - lib/brakeman.rb
187
+ - lib/brakeman/app_tree.rb
188
+ - lib/brakeman/brakeman.rake
189
+ - lib/brakeman/call_index.rb
190
+ - lib/brakeman/checks.rb
191
+ - lib/brakeman/checks/base_check.rb
192
+ - lib/brakeman/checks/check_basic_auth.rb
193
+ - lib/brakeman/checks/check_basic_auth_timing_attack.rb
194
+ - lib/brakeman/checks/check_content_tag.rb
195
+ - lib/brakeman/checks/check_create_with.rb
196
+ - lib/brakeman/checks/check_cross_site_scripting.rb
197
+ - lib/brakeman/checks/check_default_routes.rb
198
+ - lib/brakeman/checks/check_deserialize.rb
199
+ - lib/brakeman/checks/check_detailed_exceptions.rb
200
+ - lib/brakeman/checks/check_digest_dos.rb
201
+ - lib/brakeman/checks/check_dynamic_finders.rb
202
+ - lib/brakeman/checks/check_escape_function.rb
203
+ - lib/brakeman/checks/check_evaluation.rb
204
+ - lib/brakeman/checks/check_execute.rb
205
+ - lib/brakeman/checks/check_file_access.rb
206
+ - lib/brakeman/checks/check_file_disclosure.rb
207
+ - lib/brakeman/checks/check_filter_skipping.rb
208
+ - lib/brakeman/checks/check_forgery_setting.rb
209
+ - lib/brakeman/checks/check_header_dos.rb
210
+ - lib/brakeman/checks/check_i18n_xss.rb
211
+ - lib/brakeman/checks/check_jruby_xml.rb
212
+ - lib/brakeman/checks/check_json_encoding.rb
213
+ - lib/brakeman/checks/check_json_parsing.rb
214
+ - lib/brakeman/checks/check_link_to.rb
215
+ - lib/brakeman/checks/check_link_to_href.rb
216
+ - lib/brakeman/checks/check_mail_to.rb
217
+ - lib/brakeman/checks/check_mass_assignment.rb
218
+ - lib/brakeman/checks/check_mime_type_dos.rb
219
+ - lib/brakeman/checks/check_model_attr_accessible.rb
220
+ - lib/brakeman/checks/check_model_attributes.rb
221
+ - lib/brakeman/checks/check_model_serialize.rb
222
+ - lib/brakeman/checks/check_nested_attributes.rb
223
+ - lib/brakeman/checks/check_nested_attributes_bypass.rb
224
+ - lib/brakeman/checks/check_number_to_currency.rb
225
+ - lib/brakeman/checks/check_quote_table_name.rb
226
+ - lib/brakeman/checks/check_redirect.rb
227
+ - lib/brakeman/checks/check_regex_dos.rb
228
+ - lib/brakeman/checks/check_render.rb
229
+ - lib/brakeman/checks/check_render_dos.rb
230
+ - lib/brakeman/checks/check_render_inline.rb
231
+ - lib/brakeman/checks/check_response_splitting.rb
232
+ - lib/brakeman/checks/check_route_dos.rb
233
+ - lib/brakeman/checks/check_safe_buffer_manipulation.rb
234
+ - lib/brakeman/checks/check_sanitize_methods.rb
235
+ - lib/brakeman/checks/check_secrets.rb
236
+ - lib/brakeman/checks/check_select_tag.rb
237
+ - lib/brakeman/checks/check_select_vulnerability.rb
238
+ - lib/brakeman/checks/check_send.rb
239
+ - lib/brakeman/checks/check_send_file.rb
240
+ - lib/brakeman/checks/check_session_manipulation.rb
241
+ - lib/brakeman/checks/check_session_settings.rb
242
+ - lib/brakeman/checks/check_simple_format.rb
243
+ - lib/brakeman/checks/check_single_quotes.rb
244
+ - lib/brakeman/checks/check_skip_before_filter.rb
245
+ - lib/brakeman/checks/check_sql.rb
246
+ - lib/brakeman/checks/check_sql_cves.rb
247
+ - lib/brakeman/checks/check_ssl_verify.rb
248
+ - lib/brakeman/checks/check_strip_tags.rb
249
+ - lib/brakeman/checks/check_symbol_dos.rb
250
+ - lib/brakeman/checks/check_symbol_dos_cve.rb
251
+ - lib/brakeman/checks/check_translate_bug.rb
252
+ - lib/brakeman/checks/check_unsafe_reflection.rb
253
+ - lib/brakeman/checks/check_unscoped_find.rb
254
+ - lib/brakeman/checks/check_validation_regex.rb
255
+ - lib/brakeman/checks/check_weak_hash.rb
256
+ - lib/brakeman/checks/check_without_protection.rb
257
+ - lib/brakeman/checks/check_xml_dos.rb
258
+ - lib/brakeman/checks/check_yaml_parsing.rb
259
+ - lib/brakeman/differ.rb
260
+ - lib/brakeman/file_parser.rb
261
+ - lib/brakeman/format/style.css
262
+ - lib/brakeman/options.rb
263
+ - lib/brakeman/parsers/rails2_erubis.rb
264
+ - lib/brakeman/parsers/rails2_xss_plugin_erubis.rb
265
+ - lib/brakeman/parsers/rails3_erubis.rb
266
+ - lib/brakeman/parsers/template_parser.rb
267
+ - lib/brakeman/processor.rb
268
+ - lib/brakeman/processors/alias_processor.rb
269
+ - lib/brakeman/processors/base_processor.rb
270
+ - lib/brakeman/processors/config_processor.rb
271
+ - lib/brakeman/processors/controller_alias_processor.rb
272
+ - lib/brakeman/processors/controller_processor.rb
273
+ - lib/brakeman/processors/erb_template_processor.rb
274
+ - lib/brakeman/processors/erubis_template_processor.rb
275
+ - lib/brakeman/processors/gem_processor.rb
276
+ - lib/brakeman/processors/haml_template_processor.rb
277
+ - lib/brakeman/processors/lib/basic_processor.rb
278
+ - lib/brakeman/processors/lib/find_all_calls.rb
279
+ - lib/brakeman/processors/lib/find_call.rb
280
+ - lib/brakeman/processors/lib/find_return_value.rb
281
+ - lib/brakeman/processors/lib/processor_helper.rb
282
+ - lib/brakeman/processors/lib/rails2_config_processor.rb
283
+ - lib/brakeman/processors/lib/rails2_route_processor.rb
284
+ - lib/brakeman/processors/lib/rails3_config_processor.rb
285
+ - lib/brakeman/processors/lib/rails3_route_processor.rb
286
+ - lib/brakeman/processors/lib/render_helper.rb
287
+ - lib/brakeman/processors/lib/render_path.rb
288
+ - lib/brakeman/processors/lib/route_helper.rb
289
+ - lib/brakeman/processors/lib/safe_call_helper.rb
290
+ - lib/brakeman/processors/library_processor.rb
291
+ - lib/brakeman/processors/model_processor.rb
292
+ - lib/brakeman/processors/output_processor.rb
293
+ - lib/brakeman/processors/route_processor.rb
294
+ - lib/brakeman/processors/slim_template_processor.rb
295
+ - lib/brakeman/processors/template_alias_processor.rb
296
+ - lib/brakeman/processors/template_processor.rb
297
+ - lib/brakeman/report.rb
298
+ - lib/brakeman/report/config/remediation.yml
299
+ - lib/brakeman/report/ignore/config.rb
300
+ - lib/brakeman/report/ignore/interactive.rb
301
+ - lib/brakeman/report/renderer.rb
302
+ - lib/brakeman/report/report_base.rb
303
+ - lib/brakeman/report/report_codeclimate.rb
304
+ - lib/brakeman/report/report_csv.rb
305
+ - lib/brakeman/report/report_hash.rb
306
+ - lib/brakeman/report/report_html.rb
307
+ - lib/brakeman/report/report_json.rb
308
+ - lib/brakeman/report/report_markdown.rb
309
+ - lib/brakeman/report/report_table.rb
310
+ - lib/brakeman/report/report_tabs.rb
311
+ - lib/brakeman/report/templates/controller_overview.html.erb
312
+ - lib/brakeman/report/templates/controller_warnings.html.erb
313
+ - lib/brakeman/report/templates/error_overview.html.erb
314
+ - lib/brakeman/report/templates/header.html.erb
315
+ - lib/brakeman/report/templates/ignored_warnings.html.erb
316
+ - lib/brakeman/report/templates/model_warnings.html.erb
317
+ - lib/brakeman/report/templates/overview.html.erb
318
+ - lib/brakeman/report/templates/security_warnings.html.erb
319
+ - lib/brakeman/report/templates/template_overview.html.erb
320
+ - lib/brakeman/report/templates/view_warnings.html.erb
321
+ - lib/brakeman/report/templates/warning_overview.html.erb
322
+ - lib/brakeman/rescanner.rb
323
+ - lib/brakeman/scanner.rb
324
+ - lib/brakeman/tracker.rb
325
+ - lib/brakeman/tracker/collection.rb
326
+ - lib/brakeman/tracker/config.rb
327
+ - lib/brakeman/tracker/constants.rb
328
+ - lib/brakeman/tracker/controller.rb
329
+ - lib/brakeman/tracker/library.rb
330
+ - lib/brakeman/tracker/model.rb
331
+ - lib/brakeman/tracker/template.rb
332
+ - lib/brakeman/util.rb
333
+ - lib/brakeman/version.rb
334
+ - lib/brakeman/warning.rb
335
+ - lib/brakeman/warning_codes.rb
336
+ - lib/ruby_parser/bm_sexp.rb
337
+ - lib/ruby_parser/bm_sexp_processor.rb
338
+ homepage: http://brakemanscanner.org
339
+ licenses:
340
+ - MIT
341
+ metadata: {}
342
+ post_install_message:
343
+ rdoc_options: []
344
+ require_paths:
345
+ - lib
346
+ required_ruby_version: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - ">="
349
+ - !ruby/object:Gem::Version
350
+ version: '0'
351
+ required_rubygems_version: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ version: '0'
356
+ requirements: []
357
+ rubyforge_project:
358
+ rubygems_version: 2.5.1
359
+ signing_key:
360
+ specification_version: 4
361
+ summary: Security vulnerability scanner for Ruby on Rails.
362
+ test_files: []