brakeman 4.7.1 → 4.7.2
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.
- checksums.yaml +4 -4
- data/CHANGES.md +8 -0
- data/README.md +1 -1
- data/bundle/load.rb +1 -1
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/History.rdoc +12 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/Manifest.txt +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/README.rdoc +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/compare/normalize.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/debugging.md +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/rp_extensions.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/rp_stringscanner.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby20_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby20_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby21_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby21_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby22_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby22_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby23_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby23_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby24_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby24_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby25_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby25_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby26_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby26_parser.y +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_lexer.rb +4 -4
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_lexer.rex +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_lexer.rex.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_parser.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_parser.yy +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_parser_extras.rb +4 -2
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/tools/munge.rb +0 -0
- data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/tools/ripper.rb +0 -0
- data/lib/brakeman/checks/check_mass_assignment.rb +1 -1
- data/lib/brakeman/checks/check_sql.rb +24 -22
- data/lib/brakeman/processor.rb +1 -1
- data/lib/brakeman/util.rb +5 -3
- data/lib/brakeman/version.rb +1 -1
- metadata +39 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 411fde4f85ce3e35551ea8e0e289bad38213583166118db0740ac4677076e55f
|
|
4
|
+
data.tar.gz: 99a14d0668d883d1def0280df61ec2f40ad669505f7d70d1fc7b9350de5b9176
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 78243e7cec614d4e75530fb1a09c6057773fe0955759e60f7117a40fbfd56282ab0a4c89a3d5349063ba2786562722598b1e6206ecacabcba5ed1619c5e789a0
|
|
7
|
+
data.tar.gz: fd2ea9beed747478786d9f33ff5fe0f4fc6d2f4b9c7bffad1081cac802d2bbb31ef8bfe99974fd81d8cb8b81ee65ec933f62d13fdc346bd0d03b3b1078843f57
|
data/CHANGES.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
# 4.7.2 - 2019-11-25
|
|
2
|
+
|
|
3
|
+
* Remove version guard for `named_scope` vs. `scope`
|
|
4
|
+
* Find SQL injection in `String#strip_heredoc` target
|
|
5
|
+
* Handle more `permit!` cases
|
|
6
|
+
* Ensure file name is set when processing model
|
|
7
|
+
* Add `request.params` as query parameters
|
|
8
|
+
|
|
1
9
|
# 4.7.1 - 2019-10-29
|
|
2
10
|
|
|
3
11
|
* Check string length against limit before joining
|
data/README.md
CHANGED
|
@@ -62,7 +62,7 @@ Outside of Rails root (note that the output file is relative to path/to/rails/ap
|
|
|
62
62
|
|
|
63
63
|
# Compatibility
|
|
64
64
|
|
|
65
|
-
Brakeman should work with any version of Rails from 2.3.x to
|
|
65
|
+
Brakeman should work with any version of Rails from 2.3.x to 6.x.
|
|
66
66
|
|
|
67
67
|
Brakeman can analyze code written with Ruby 1.8 syntax and newer, but requires at least Ruby 2.3.0 to run.
|
|
68
68
|
|
data/bundle/load.rb
CHANGED
|
@@ -7,8 +7,8 @@ $:.unshift "#{path}/bundle/ruby/2.6.0/gems/ruby2ruby-2.4.4/lib"
|
|
|
7
7
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/terminal-table-1.8.0/lib"
|
|
8
8
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/sexp_processor-4.13.0/lib"
|
|
9
9
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/haml-5.1.2/lib"
|
|
10
|
+
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib"
|
|
10
11
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/ruby_parser-legacy-1.0.0/lib"
|
|
11
12
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/unicode-display_width-1.6.0/lib"
|
|
12
13
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/erubis-2.7.0/lib"
|
|
13
14
|
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/safe_yaml-1.0.5/lib"
|
|
14
|
-
$:.unshift "#{path}/bundle/ruby/2.6.0/gems/ruby_parser-3.14.0/lib"
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
=== 3.14.1 / 2019-10-29
|
|
2
|
+
|
|
3
|
+
* 1 minor enhancement:
|
|
4
|
+
|
|
5
|
+
* Declared that ruby_parser supports ruby 2.2 and up.
|
|
6
|
+
|
|
7
|
+
* 3 bug fixes:
|
|
8
|
+
|
|
9
|
+
* Fixed a problem with %W with a null-byte terminator. (wtf?) (spohlenz)
|
|
10
|
+
* Fixed line numbering for command (eg methods without parentheses) arguments. (mvz)
|
|
11
|
+
* Fixed lineno on new dxstrs. (presidentbeef)
|
|
12
|
+
|
|
1
13
|
=== 3.14.0 / 2019-09-24
|
|
2
14
|
|
|
3
15
|
* 8 minor enhancements:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/rp_stringscanner.rb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1177,8 +1177,6 @@ class RubyLexer
|
|
|
1177
1177
|
handled = true
|
|
1178
1178
|
|
|
1179
1179
|
case
|
|
1180
|
-
when paren_re && scan(paren_re) then
|
|
1181
|
-
self.string_nest += 1
|
|
1182
1180
|
when scan(term_re) then
|
|
1183
1181
|
if self.string_nest == 0 then
|
|
1184
1182
|
ss.pos -= 1
|
|
@@ -1186,6 +1184,8 @@ class RubyLexer
|
|
|
1186
1184
|
else
|
|
1187
1185
|
self.string_nest -= 1
|
|
1188
1186
|
end
|
|
1187
|
+
when paren_re && scan(paren_re) then
|
|
1188
|
+
self.string_nest += 1
|
|
1189
1189
|
when expand && scan(/#(?=[\$\@\{])/) then # TODO: this seems wrong
|
|
1190
1190
|
ss.pos -= 1
|
|
1191
1191
|
break
|
|
@@ -1232,9 +1232,9 @@ class RubyLexer
|
|
|
1232
1232
|
end
|
|
1233
1233
|
x = Regexp.escape paren if paren && paren != "\000"
|
|
1234
1234
|
re = if qwords then
|
|
1235
|
-
/[^#{t}#{x}
|
|
1235
|
+
/[^#{t}#{x}\#\\\s]+|./ # |. to pick up whatever
|
|
1236
1236
|
else
|
|
1237
|
-
/[^#{t}#{x}
|
|
1237
|
+
/[^#{t}#{x}\#\\]+|./
|
|
1238
1238
|
end
|
|
1239
1239
|
|
|
1240
1240
|
scan re
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/bundle/ruby/2.6.0/gems/{ruby_parser-3.14.0 → ruby_parser-3.14.1}/lib/ruby_parser_extras.rb
RENAMED
|
@@ -28,7 +28,7 @@ class Sexp
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
module RubyParserStuff
|
|
31
|
-
VERSION = "3.14.
|
|
31
|
+
VERSION = "3.14.1"
|
|
32
32
|
|
|
33
33
|
attr_accessor :lexer, :in_def, :in_single, :file
|
|
34
34
|
attr_accessor :in_kwarg
|
|
@@ -831,6 +831,8 @@ module RubyParserStuff
|
|
|
831
831
|
(_, line), name, _, args, body, nil_body_line, * = val
|
|
832
832
|
body ||= s(:nil).line nil_body_line
|
|
833
833
|
|
|
834
|
+
args.line line
|
|
835
|
+
|
|
834
836
|
result = s(:defn, name.to_sym, args).line line
|
|
835
837
|
|
|
836
838
|
if body then
|
|
@@ -1240,7 +1242,7 @@ module RubyParserStuff
|
|
|
1240
1242
|
when :dstr
|
|
1241
1243
|
str.sexp_type = :dxstr
|
|
1242
1244
|
else
|
|
1243
|
-
str = s(:dxstr, "", str)
|
|
1245
|
+
str = s(:dxstr, "", str).line str.line
|
|
1244
1246
|
end
|
|
1245
1247
|
str
|
|
1246
1248
|
else
|
|
File without changes
|
|
File without changes
|
|
@@ -158,7 +158,7 @@ class Brakeman::CheckMassAssignment < Brakeman::BaseCheck
|
|
|
158
158
|
|
|
159
159
|
# Look for and warn about uses of Parameters#permit! for mass assignment
|
|
160
160
|
def check_permit!
|
|
161
|
-
tracker.find_call(:method => :permit
|
|
161
|
+
tracker.find_call(:method => :permit!, :nested => true).each do |result|
|
|
162
162
|
if params? result[:call].target and not result[:chain].include? :slice
|
|
163
163
|
warn_on_permit! result
|
|
164
164
|
end
|
|
@@ -71,32 +71,32 @@ class Brakeman::CheckSQL < Brakeman::BaseCheck
|
|
|
71
71
|
def find_scope_calls
|
|
72
72
|
scope_calls = []
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
74
|
+
# Used in pre-3.1.0 versions of Rails
|
|
75
|
+
ar_scope_calls(:named_scope) do |model, args|
|
|
76
|
+
call = make_call(nil, :named_scope, args).line(args.line)
|
|
77
|
+
scope_calls << scope_call_hash(call, model, :named_scope)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Use in 3.1.0 and later
|
|
81
|
+
ar_scope_calls(:scope) do |model, args|
|
|
82
|
+
second_arg = args[2]
|
|
83
|
+
next unless sexp? second_arg
|
|
84
|
+
|
|
85
|
+
if second_arg.node_type == :iter and node_type? second_arg.block, :block, :call, :safe_call
|
|
86
|
+
process_scope_with_block(model, args)
|
|
87
|
+
elsif call? second_arg
|
|
88
|
+
call = second_arg
|
|
89
|
+
scope_calls << scope_call_hash(call, model, call.method)
|
|
90
|
+
else
|
|
91
|
+
call = make_call(nil, :scope, args).line(args.line)
|
|
92
|
+
scope_calls << scope_call_hash(call, model, :scope)
|
|
93
93
|
end
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
scope_calls
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
-
def ar_scope_calls(symbol_name
|
|
99
|
+
def ar_scope_calls(symbol_name, &block)
|
|
100
100
|
active_record_models.each do |name, model|
|
|
101
101
|
model_args = model.options[symbol_name]
|
|
102
102
|
if model_args
|
|
@@ -393,6 +393,8 @@ class Brakeman::CheckSQL < Brakeman::BaseCheck
|
|
|
393
393
|
nil
|
|
394
394
|
end
|
|
395
395
|
|
|
396
|
+
TO_STRING_METHODS = [:to_s, :strip_heredoc]
|
|
397
|
+
|
|
396
398
|
#Returns value if interpolated value is not something safe
|
|
397
399
|
def unsafe_string_interp? exp
|
|
398
400
|
if node_type? exp, :evstr
|
|
@@ -403,7 +405,7 @@ class Brakeman::CheckSQL < Brakeman::BaseCheck
|
|
|
403
405
|
|
|
404
406
|
if not sexp? value
|
|
405
407
|
nil
|
|
406
|
-
elsif call? value and value.method
|
|
408
|
+
elsif call? value and TO_STRING_METHODS.include? value.method
|
|
407
409
|
unsafe_string_interp? value.target
|
|
408
410
|
elsif call? value and safe_literal_target? value
|
|
409
411
|
nil
|
|
@@ -466,7 +468,7 @@ class Brakeman::CheckSQL < Brakeman::BaseCheck
|
|
|
466
468
|
unless IGNORE_METHODS_IN_SQL.include? exp.method
|
|
467
469
|
if has_immediate_user_input? exp
|
|
468
470
|
exp
|
|
469
|
-
elsif exp.method
|
|
471
|
+
elsif TO_STRING_METHODS.include? exp.method
|
|
470
472
|
find_dangerous_value exp.target, ignore_hash
|
|
471
473
|
else
|
|
472
474
|
check_call exp
|
data/lib/brakeman/processor.rb
CHANGED
|
@@ -53,7 +53,7 @@ module Brakeman
|
|
|
53
53
|
#Process a model source
|
|
54
54
|
def process_model src, file_name
|
|
55
55
|
result = ModelProcessor.new(@tracker).process_model src, file_name
|
|
56
|
-
AliasProcessor.new(@tracker).process result if result
|
|
56
|
+
AliasProcessor.new(@tracker, file_name).process result if result
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
#Process either an ERB or HAML template
|
data/lib/brakeman/util.rb
CHANGED
|
@@ -8,9 +8,11 @@ module Brakeman::Util
|
|
|
8
8
|
|
|
9
9
|
PATH_PARAMETERS = Sexp.new(:call, Sexp.new(:call, nil, :request), :path_parameters)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
REQUEST_REQUEST_PARAMETERS = Sexp.new(:call, Sexp.new(:call, nil, :request), :request_parameters)
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
REQUEST_PARAMETERS = Sexp.new(:call, Sexp.new(:call, nil, :request), :parameters)
|
|
14
|
+
|
|
15
|
+
REQUEST_PARAMS = Sexp.new(:call, Sexp.new(:call, nil, :request), :params)
|
|
14
16
|
|
|
15
17
|
REQUEST_ENV = Sexp.new(:call, Sexp.new(:call, nil, :request), :env)
|
|
16
18
|
|
|
@@ -22,7 +24,7 @@ module Brakeman::Util
|
|
|
22
24
|
|
|
23
25
|
SESSION = Sexp.new(:call, nil, :session)
|
|
24
26
|
|
|
25
|
-
ALL_PARAMETERS = Set[PARAMETERS, QUERY_PARAMETERS, PATH_PARAMETERS, REQUEST_PARAMETERS, REQUEST_PARAMS]
|
|
27
|
+
ALL_PARAMETERS = Set[PARAMETERS, QUERY_PARAMETERS, PATH_PARAMETERS, REQUEST_REQUEST_PARAMETERS, REQUEST_PARAMETERS, REQUEST_PARAMS]
|
|
26
28
|
|
|
27
29
|
ALL_COOKIES = Set[COOKIES, REQUEST_COOKIES]
|
|
28
30
|
|
data/lib/brakeman/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: brakeman
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.7.
|
|
4
|
+
version: 4.7.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Collins
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-11-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Brakeman detects security vulnerabilities in Ruby on Rails applications
|
|
14
14
|
via static analysis.
|
|
@@ -136,35 +136,35 @@ files:
|
|
|
136
136
|
- bundle/ruby/2.6.0/gems/ruby2ruby-2.4.4/Manifest.txt
|
|
137
137
|
- bundle/ruby/2.6.0/gems/ruby2ruby-2.4.4/README.rdoc
|
|
138
138
|
- bundle/ruby/2.6.0/gems/ruby2ruby-2.4.4/lib/ruby2ruby.rb
|
|
139
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
140
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
141
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
142
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
143
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
144
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
145
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
146
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
147
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
148
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
149
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
150
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
151
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
152
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
153
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
154
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
155
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
156
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
157
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
158
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
159
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
160
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
161
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
162
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
163
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
164
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
165
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
166
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
167
|
-
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.
|
|
139
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/History.rdoc
|
|
140
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/Manifest.txt
|
|
141
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/README.rdoc
|
|
142
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/compare/normalize.rb
|
|
143
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/debugging.md
|
|
144
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/rp_extensions.rb
|
|
145
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/rp_stringscanner.rb
|
|
146
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby20_parser.rb
|
|
147
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby20_parser.y
|
|
148
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby21_parser.rb
|
|
149
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby21_parser.y
|
|
150
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby22_parser.rb
|
|
151
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby22_parser.y
|
|
152
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby23_parser.rb
|
|
153
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby23_parser.y
|
|
154
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby24_parser.rb
|
|
155
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby24_parser.y
|
|
156
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby25_parser.rb
|
|
157
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby25_parser.y
|
|
158
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby26_parser.rb
|
|
159
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby26_parser.y
|
|
160
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby_lexer.rb
|
|
161
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby_lexer.rex
|
|
162
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby_lexer.rex.rb
|
|
163
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby_parser.rb
|
|
164
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby_parser.yy
|
|
165
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/lib/ruby_parser_extras.rb
|
|
166
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/tools/munge.rb
|
|
167
|
+
- bundle/ruby/2.6.0/gems/ruby_parser-3.14.1/tools/ripper.rb
|
|
168
168
|
- bundle/ruby/2.6.0/gems/ruby_parser-legacy-1.0.0/History.rdoc
|
|
169
169
|
- bundle/ruby/2.6.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt
|
|
170
170
|
- bundle/ruby/2.6.0/gems/ruby_parser-legacy-1.0.0/README.rdoc
|
|
@@ -541,7 +541,14 @@ files:
|
|
|
541
541
|
homepage: https://brakemanscanner.org
|
|
542
542
|
licenses:
|
|
543
543
|
- Brakeman Public Use License
|
|
544
|
-
metadata:
|
|
544
|
+
metadata:
|
|
545
|
+
bug_tracker_uri: https://github.com/presidentbeef/brakeman/issues
|
|
546
|
+
changelog_uri: https://github.com/presidentbeef/brakeman/releases
|
|
547
|
+
documentation_uri: https://brakemanscanner.org/docs/
|
|
548
|
+
homepage_uri: https://brakemanscanner.org/
|
|
549
|
+
mailing_list_uri: https://gitter.im/presidentbeef/brakeman
|
|
550
|
+
source_code_uri: https://github.com/presidentbeef/brakeman
|
|
551
|
+
wiki_uri: https://github.com/presidentbeef/brakeman/wiki
|
|
545
552
|
post_install_message:
|
|
546
553
|
rdoc_options: []
|
|
547
554
|
require_paths:
|