bundler-audit 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a34b6a79c055b51422c7c3225428947ca6b587e
4
- data.tar.gz: 724414726507e87d679a561759e9dcbdd90aecfc
3
+ metadata.gz: 679e11f046f11e432067d55398791fdbf03536b3
4
+ data.tar.gz: ad6bb67d40dae3ee0346ffe18caa11ee19e142e6
5
5
  SHA512:
6
- metadata.gz: b3c59aadb9c0f2ed1b8d3a91bf6866e54295ed78105531ff1362c5ef65f264ac02699c53d3e8e3d08f025ebc9e38ef5917de4fa9906b66e2e209131a14665e42
7
- data.tar.gz: f82127fe64b6bb856483ee82f5ab642fee371d4c84695e05beef44414857e4c95dd7f5a1e27244af9b2c81e9364a16027bb333ab123a547ab1a9bf6654a5f3df
6
+ metadata.gz: 48e2f1e83c0122d4629e4ddd02d448f90578527b40a1a0fccf331903413fbb2f3df7952399723914c0e0450f6682187af4301404b98bacc61ad794b5633a3023
7
+ data.tar.gz: 2c868a8106f74e45ffe9bcf02d1578d7326c4bea0a12baddf79ab7bd9dc059b599b39e0a41d167a0bc6d0bbbf01a8dc7e5f28a53849fea88a7214da400f5b52a
@@ -1,12 +1,24 @@
1
+ ### 0.3.0 / 2013-10-31
2
+
3
+ * Added {Bundler::Audit::Database.update!} which uses `git` to download
4
+ [ruby-advisory-db] to `~/.local/share/ruby-advisory-db`.
5
+ * {Bundler::Audit::Database.path} now returns the path to either
6
+ `~/.local/share/ruby-advisory-db` or the vendored copy, depending on which
7
+ is more recent.
8
+
9
+ #### CLI
10
+
11
+ * Added the `bundle-audit update` sub-command.
12
+
1
13
  ### 0.2.0 / 2013-03-05
2
14
 
3
15
  * Require RubyGems >= 1.8.0. Prior versions of RubyGems could not correctly
4
16
  parse approximate version requirements (`~> 1.2.3`).
5
17
  * Updated the [ruby-advisory-db].
6
- * Added {Bundle::Audit::Advisory#unaffected_versions}.
7
- * Added {Bundle::Audit::Advisory#unaffected?}.
8
- * Added {Bundle::Audit::Advisory#patched?}.
9
- * Renamed `Advisory#cve` to {Bundle::Audit::Advisory#id}.
18
+ * Added {Bundler::Audit::Advisory#unaffected_versions}.
19
+ * Added {Bundler::Audit::Advisory#unaffected?}.
20
+ * Added {Bundler::Audit::Advisory#patched?}.
21
+ * Renamed `Advisory#cve` to {Bundler::Audit::Advisory#id}.
10
22
 
11
23
  ### 0.1.2 / 2013-02-17
12
24
 
data/README.md CHANGED
@@ -23,6 +23,7 @@ Patch-level verification for [Bundler][bundler].
23
23
 
24
24
  Audit a projects `Gemfile.lock`:
25
25
 
26
+ $ bundle-audit
26
27
  Name: actionpack
27
28
  Version: 3.2.10
28
29
  Advisory: OSVDB-91452
@@ -81,6 +82,32 @@ Audit a projects `Gemfile.lock`:
81
82
 
82
83
  Unpatched versions found!
83
84
 
85
+ Update the [ruby-advisory-db] that `bundle-audit` uses:
86
+
87
+ $ bundle-audit update
88
+ Updating ruby-advisory-db ...
89
+ remote: Counting objects: 44, done.
90
+ remote: Compressing objects: 100% (24/24), done.
91
+ remote: Total 39 (delta 19), reused 29 (delta 10)
92
+ Unpacking objects: 100% (39/39), done.
93
+ From https://github.com/rubysec/ruby-advisory-db
94
+ * branch master -> FETCH_HEAD
95
+ Updating 5f8225e..328ca86
96
+ Fast-forward
97
+ CONTRIBUTORS.md | 1 +
98
+ gems/actionmailer/OSVDB-98629.yml | 17 +++++++++++++++++
99
+ gems/cocaine/OSVDB-98835.yml | 15 +++++++++++++++
100
+ gems/fog-dragonfly/OSVDB-96798.yml | 13 +++++++++++++
101
+ gems/sounder/OSVDB-96278.yml | 13 +++++++++++++
102
+ gems/wicked/OSVDB-98270.yml | 14 ++++++++++++++
103
+ 6 files changed, 73 insertions(+)
104
+ create mode 100644 gems/actionmailer/OSVDB-98629.yml
105
+ create mode 100644 gems/cocaine/OSVDB-98835.yml
106
+ create mode 100644 gems/fog-dragonfly/OSVDB-96798.yml
107
+ create mode 100644 gems/sounder/OSVDB-96278.yml
108
+ create mode 100644 gems/wicked/OSVDB-98270.yml
109
+ ruby-advisory-db: 64 advisories
110
+
84
111
  ## Requirements
85
112
 
86
113
  * [bundler] ~> 1.2
data/Rakefile CHANGED
@@ -23,13 +23,16 @@ require 'rake'
23
23
  require 'rubygems/tasks'
24
24
  Gem::Tasks.new
25
25
 
26
- desc 'Updates data/ruby-advisory-db'
27
- task :update do
28
- chdir 'data/ruby-advisory-db' do
29
- sh 'git', 'pull', 'origin', 'master'
30
- end
26
+ namespace :db do
27
+ desc 'Updates data/ruby-advisory-db'
28
+ task :update do
29
+ chdir 'data/ruby-advisory-db' do
30
+ sh 'git', 'pull', 'origin', 'master'
31
+ end
31
32
 
32
- sh 'git', 'commit', 'data/ruby-advisory-db', '-m', 'Updated ruby-advisory-db'
33
+ sh 'git', 'commit', 'data/ruby-advisory-db',
34
+ '-m', 'Updated ruby-advisory-db'
35
+ end
33
36
  end
34
37
 
35
38
  require 'rspec/core/rake_task'
@@ -0,0 +1 @@
1
+ Gemfile.lock
@@ -11,3 +11,4 @@ Thanks,
11
11
  * [Oliver Legg](https://github.com/olly)
12
12
  * [Larry W. Cashdollar](http://vapid.dhs.org/)
13
13
  * [Michael Grosser](https://github.com/grosser)
14
+ * [Sascha Korth](https://github.com/skorth)
@@ -14,15 +14,12 @@ The Ruby Advisory Database aims to compile all advisories that are relevant to R
14
14
  The database is a list of directories that match the names of Ruby libraries on
15
15
  [rubygems.org]. Within each directory are one or more advisory files
16
16
  for the Ruby library. These advisory files are typically named using
17
- the advisories [CVE] identifier number.
17
+ the advisories [OSVDB] identifier number.
18
18
 
19
19
  gems/:
20
20
  actionpack/:
21
- CVE-2012-1099.yml CVE-2012-3463.yml CVE-2013-0156.yml
22
- CVE-2013-1857.yml CVE-2012-3424.yml CVE-2012-3465.yml
23
- CVE-2013-1855.yml
24
-
25
- If an advisory does not yet have a [CVE], [requesting a CVE][1] is easy.
21
+ OSVDB-79727.yml OSVDB-84513.yml OSVDB-89026.yml OSVDB-91454.yml
22
+ OSVDB-84243.yml OSVDB-84515.yml OSVDB-91452.yml
26
23
 
27
24
  ## Format
28
25
 
@@ -78,9 +75,8 @@ developed by the Open Security Foundation (OSF) and its contributors.
78
75
 
79
76
  [rubygems.org]: https://rubygems.org/
80
77
  [CVE]: http://cve.mitre.org/
78
+ [OSVDB]: http://www.osvdb.org/
81
79
  [CVSSv2]: http://www.first.org/cvss/cvss-guide.html
82
80
  [OSVDB]: http://www.osvdb.org/
83
81
  [YAML]: http://www.yaml.org/
84
82
  [CONTRIBUTORS.md]: https://github.com/rubysec/ruby-advisory-db/blob/master/CONTRIBUTORS.md
85
-
86
- [1]: http://people.redhat.com/kseifrie/CVE-OpenSource-Request-HOWTO.html
@@ -0,0 +1,17 @@
1
+ ---
2
+ gem: actionmailer
3
+ cve: 2013-4389
4
+ osvdb: 98629
5
+ url: http://www.osvdb.org/show/osvdb/98629
6
+ title: Action Mailer Gem for Ruby contains a possible DoS Vulnerability
7
+ date: 2013-10-16
8
+ description: Action Mailer Gem for Ruby contains a format string flaw in
9
+ the Log Subscriber component. The issue is triggered as format string
10
+ specifiers (e.g. %s and %x) are not properly sanitized in user-supplied
11
+ input when handling email addresses. This may allow a remote attacker
12
+ to cause a denial of service
13
+ cvss_v2: 4.3
14
+ unaffected_versions:
15
+ - ~> 2.3.2
16
+ patched_versions:
17
+ - '>= 3.2.15'
@@ -0,0 +1,15 @@
1
+ ---
2
+ gem: cocaine
3
+ cve: 2013-4457
4
+ osvdb: 98835
5
+ url: http://www.osvdb.org/show/osvdb/98835
6
+ title: Cocaine Gem for Ruby contains a flaw
7
+ date: 2013-10-22
8
+ description: Cocaine Gem for Ruby contains a flaw that is due to the method
9
+ of variable interpolation used by the program. With a specially crafted
10
+ object, a context-dependent attacker can execute arbitrary commands.
11
+ cvss_v2:
12
+ unaffected_versions:
13
+ - ~> 0.3.0
14
+ patched_versions:
15
+ - '>= 0.5.3'
@@ -0,0 +1,13 @@
1
+ ---
2
+ gem: fog-dragonfly
3
+ cve: 2013-5671
4
+ osvdb: 96798
5
+ url: http://www.osvdb.org/show/osvdb/96798
6
+ title: fog-dragonfly Gem for Ruby imagemagickutils.rb Remote Command Execution
7
+ date: 2013-09-03
8
+ description: fog-dragonfly Gem for Ruby contains a flaw that is due to the program
9
+ failing to properly sanitize input passed via the imagemagickutils.rb script. This
10
+ may allow a remote attacker to execute arbitrary commands.
11
+ cvss_v2:
12
+ patched_versions:
13
+ - ">= 0.8.4"
@@ -0,0 +1,16 @@
1
+ ---
2
+ gem: redis-namespace
3
+ osvdb: 96425
4
+ url: http://www.osvdb.org/show/osvdb/96425
5
+ title: redis-namespace Gem for Ruby contains a flaw in the method_missing implementation
6
+ date: 2013-08-03
7
+ description: |
8
+ redis-namespace Gem for Ruby contains a flaw in the method_missing implementation.
9
+ The issue is triggered when handling exec commands called via send(). This may allow a
10
+ remote attacker to execute arbitrary commands.
11
+ cvss_v2:
12
+ patched_versions:
13
+ - ">= 1.3.1"
14
+ - ">= 1.2.2"
15
+ - ">= 1.1.1"
16
+ - ">= 1.0.4"
@@ -0,0 +1,13 @@
1
+ ---
2
+ gem: sounder
3
+ cve: 2013-5647
4
+ osvdb: 96278
5
+ url: http://www.osvdb.org/show/osvdb/96278
6
+ title: Sounder Gem for Ruby File Name Handling Arbitrary Command Execution
7
+ date: 2013-08-14
8
+ description: Sounder Gem for Ruby contains a flaw that is triggered during the handling
9
+ of file names. This may allow a context-dependent attacker to execute arbitrary
10
+ commands.
11
+ cvss_v2: 7.5
12
+ patched_versions:
13
+ - '>= 1.0.2'
@@ -0,0 +1,14 @@
1
+ ---
2
+ gem: wicked
3
+ cve: 2013-4413
4
+ osvdb: 98270
5
+ url: http://www.osvdb.org/show/osvdb/98270
6
+ title: Wicked Gem for Ruby contains a flaw
7
+ date: 2013-10-08
8
+ description: Wicked Gem for Ruby contains a flaw that is due to the program
9
+ failing to properly sanitize input passed via the 'the_step' parameter
10
+ upon submission to the render_redirect.rb script.
11
+ This may allow a remote attacker to gain access to arbitrary files.
12
+ cvss_v2:
13
+ patched_versions:
14
+ - '>= 1.0.1'
@@ -82,7 +82,7 @@ module Bundler
82
82
  # Checks whether the version is not affected by the advisory.
83
83
  #
84
84
  # @param [Gem::Version] version
85
- # The version to compare against {#unaffected_version}.
85
+ # The version to compare against {#unaffected_versions}.
86
86
  #
87
87
  # @return [Boolean]
88
88
  # Specifies whether the version is not affected by the advisory.
@@ -99,7 +99,7 @@ module Bundler
99
99
  # Checks whether the version is patched against the advisory.
100
100
  #
101
101
  # @param [Gem::Version] version
102
- # The version to compare against {#patched_version}.
102
+ # The version to compare against {#patched_versions}.
103
103
  #
104
104
  # @return [Boolean]
105
105
  # Specifies whether the version is patched against the advisory.
@@ -55,6 +55,14 @@ module Bundler
55
55
  end
56
56
  end
57
57
 
58
+ desc 'update', 'Updates the ruby-advisory-db'
59
+ def update
60
+ say "Updating ruby-advisory-db ..."
61
+
62
+ Database.update!
63
+ puts "ruby-advisory-db: #{Database.new.size} advisories"
64
+ end
65
+
58
66
  desc 'version', 'Prints the bundler-audit version'
59
67
  def version
60
68
  database = Database.new
@@ -17,6 +17,7 @@
17
17
 
18
18
  require 'bundler/audit/advisory'
19
19
 
20
+ require 'time'
20
21
  require 'yaml'
21
22
 
22
23
  module Bundler
@@ -27,8 +28,14 @@ module Bundler
27
28
  #
28
29
  class Database
29
30
 
30
- # directory containing advisories
31
- PATH = File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','data','ruby-advisory-db','gems'))
31
+ # Git URL of the ruby-advisory-db
32
+ URL = 'https://github.com/rubysec/ruby-advisory-db.git'
33
+
34
+ # Default path to the ruby-advisory-db
35
+ VENDORED_PATH = File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','data','ruby-advisory-db'))
36
+
37
+ # Path to the user's copy of the ruby-advisory-db
38
+ USER_PATH = File.join(Gem.user_home,'.local','share','ruby-advisory-db')
32
39
 
33
40
  # The path to the advisory database
34
41
  attr_reader :path
@@ -42,7 +49,7 @@ module Bundler
42
49
  # @raise [ArgumentError]
43
50
  # The path was not a directory.
44
51
  #
45
- def initialize(path=PATH)
52
+ def initialize(path=self.class.path)
46
53
  unless File.directory?(path)
47
54
  raise(ArgumentError,"#{path.dump} is not a directory")
48
55
  end
@@ -50,6 +57,46 @@ module Bundler
50
57
  @path = path
51
58
  end
52
59
 
60
+ #
61
+ # The default path for the database.
62
+ #
63
+ # @return [String]
64
+ # The path to the database directory.
65
+ #
66
+ def self.path
67
+ if File.directory?(USER_PATH)
68
+ t1 = Dir.chdir(USER_PATH) { Time.parse(`git log --pretty="%cd" -1`) }
69
+ t2 = File.ctime(VENDORED_PATH)
70
+
71
+ if t1 >= t2 then USER_PATH
72
+ else VENDORED_PATH
73
+ end
74
+ else
75
+ VENDORED_PATH
76
+ end
77
+ end
78
+
79
+ #
80
+ # Updates the ruby-advisory-db.
81
+ #
82
+ # @return [Boolean]
83
+ # Specifies whether the update was successful.
84
+ #
85
+ # @note
86
+ # Requires network access.
87
+ #
88
+ # @since 0.3.0
89
+ #
90
+ def self.update!
91
+ if File.directory?(USER_PATH)
92
+ Dir.chdir(USER_PATH) do
93
+ system 'git', 'pull', 'origin', 'master'
94
+ end
95
+ else
96
+ system 'git', 'clone', URL, USER_PATH
97
+ end
98
+ end
99
+
53
100
  #
54
101
  # Enumerates over every advisory in the database.
55
102
  #
@@ -161,7 +208,7 @@ module Bundler
161
208
  # A path to an advisory `.yml` file.
162
209
  #
163
210
  def each_advisory_path(&block)
164
- Dir.glob(File.join(@path,'*','*.yml'),&block)
211
+ Dir.glob(File.join(@path,'gems','*','*.yml'),&block)
165
212
  end
166
213
 
167
214
  #
@@ -177,7 +224,7 @@ module Bundler
177
224
  # A path to an advisory `.yml` file.
178
225
  #
179
226
  def each_advisory_path_for(name,&block)
180
- Dir.glob(File.join(@path,name,'*.yml'),&block)
227
+ Dir.glob(File.join(@path,'gems',name,'*.yml'),&block)
181
228
  end
182
229
 
183
230
  end
@@ -18,6 +18,6 @@
18
18
  module Bundler
19
19
  module Audit
20
20
  # bundler-audit version
21
- VERSION = '0.2.0'
21
+ VERSION = '0.3.0'
22
22
  end
23
23
  end
@@ -3,10 +3,10 @@ require 'bundler/audit/database'
3
3
  require 'bundler/audit/advisory'
4
4
 
5
5
  describe Bundler::Audit::Advisory do
6
- let(:root) { Bundler::Audit::Database::PATH }
6
+ let(:root) { Bundler::Audit::Database::VENDORED_PATH }
7
7
  let(:gem) { 'actionpack' }
8
8
  let(:id) { 'OSVDB-84243' }
9
- let(:path) { File.join(root,gem,"#{id}.yml") }
9
+ let(:path) { File.join(root,'gems',gem,"#{id}.yml") }
10
10
 
11
11
  describe "load" do
12
12
  let(:data) { YAML.load_file(path) }
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rails', '3.2.14'
3
+ gem 'rails', '3.2.15'
4
4
 
5
5
  # Bundle edge Rails instead:
6
6
  # gem 'rails', :git => 'git://github.com/rails/rails.git'
@@ -3,8 +3,8 @@ require 'bundler/audit/database'
3
3
  require 'tmpdir'
4
4
 
5
5
  describe Bundler::Audit::Database do
6
- describe "PATH" do
7
- subject { described_class::PATH }
6
+ describe "path" do
7
+ subject { described_class.path }
8
8
 
9
9
  it "it should be a directory" do
10
10
  File.directory?(subject).should be_true
@@ -15,8 +15,8 @@ describe Bundler::Audit::Database do
15
15
  context "when given no arguments" do
16
16
  subject { described_class.new }
17
17
 
18
- it "should default path to PATH" do
19
- subject.path.should == described_class::PATH
18
+ it "should default path to path" do
19
+ subject.path.should == described_class.path
20
20
  end
21
21
  end
22
22
 
@@ -21,6 +21,14 @@ describe "CLI" do
21
21
 
22
22
  it "should print advisory information for the vulnerable gems" do
23
23
  expect = %{
24
+ Name: actionmailer
25
+ Version: 3.2.10
26
+ Advisory: OSVDB-98629
27
+ Criticality: Medium
28
+ URL: http://www.osvdb.org/show/osvdb/98629
29
+ Title: Action Mailer Gem for Ruby contains a possible DoS Vulnerability
30
+ Solution: upgrade to >= 3.2.15
31
+
24
32
  Name: actionpack
25
33
  Version: 3.2.10
26
34
  Advisory: OSVDB-91452
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler-audit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-27 00:00:00.000000000 Z
11
+ date: 2013-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -63,6 +63,7 @@ files:
63
63
  - spec/integration_spec.rb
64
64
  - spec/scanner_spec.rb
65
65
  - spec/spec_helper.rb
66
+ - data/ruby-advisory-db/.gitignore
66
67
  - data/ruby-advisory-db/.rspec
67
68
  - data/ruby-advisory-db/CONTRIBUTING.md
68
69
  - data/ruby-advisory-db/CONTRIBUTORS.md
@@ -70,6 +71,7 @@ files:
70
71
  - data/ruby-advisory-db/LICENSE.txt
71
72
  - data/ruby-advisory-db/README.md
72
73
  - data/ruby-advisory-db/Rakefile
74
+ - data/ruby-advisory-db/gems/actionmailer/OSVDB-98629.yml
73
75
  - data/ruby-advisory-db/gems/actionpack/OSVDB-79727.yml
74
76
  - data/ruby-advisory-db/gems/actionpack/OSVDB-84243.yml
75
77
  - data/ruby-advisory-db/gems/actionpack/OSVDB-84513.yml
@@ -87,6 +89,7 @@ files:
87
89
  - data/ruby-advisory-db/gems/activesupport/OSVDB-84516.yml
88
90
  - data/ruby-advisory-db/gems/activesupport/OSVDB-89594.yml
89
91
  - data/ruby-advisory-db/gems/activesupport/OSVDB-91451.yml
92
+ - data/ruby-advisory-db/gems/cocaine/OSVDB-98835.yml
90
93
  - data/ruby-advisory-db/gems/command_wrap/OSVDB-91450.yml
91
94
  - data/ruby-advisory-db/gems/crack/OSVDB-90742.yml
92
95
  - data/ruby-advisory-db/gems/cremefraiche/OSVDB-93395.yml
@@ -100,6 +103,7 @@ files:
100
103
  - data/ruby-advisory-db/gems/fileutils/OSVDB-90716.yml
101
104
  - data/ruby-advisory-db/gems/fileutils/OSVDB-90717.yml
102
105
  - data/ruby-advisory-db/gems/flash_tool/OSVDB-90829.yml
106
+ - data/ruby-advisory-db/gems/fog-dragonfly/OSVDB-96798.yml
103
107
  - data/ruby-advisory-db/gems/ftpd/OSVDB-90784.yml
104
108
  - data/ruby-advisory-db/gems/gtk2/OSVDB-40774.yml
105
109
  - data/ruby-advisory-db/gems/httparty/OSVDB-90741.yml
@@ -121,13 +125,16 @@ files:
121
125
  - data/ruby-advisory-db/gems/rack-cache/OSVDB-83077.yml
122
126
  - data/ruby-advisory-db/gems/rack/OSVDB-89939.yml
123
127
  - data/ruby-advisory-db/gems/rdoc/OSVDB-90004.yml
128
+ - data/ruby-advisory-db/gems/redis-namespace/OSVDB-96425.yml
124
129
  - data/ruby-advisory-db/gems/rgpg/OSVDB-95948.yml
125
130
  - data/ruby-advisory-db/gems/ruby_parser/OSVDB-90561.yml
131
+ - data/ruby-advisory-db/gems/sounder/OSVDB-96278.yml
126
132
  - data/ruby-advisory-db/gems/spree/OSVDB-91216.yml
127
133
  - data/ruby-advisory-db/gems/spree/OSVDB-91217.yml
128
134
  - data/ruby-advisory-db/gems/spree/OSVDB-91218.yml
129
135
  - data/ruby-advisory-db/gems/spree/OSVDB-91219.yml
130
136
  - data/ruby-advisory-db/gems/thumbshooter/OSVDB-91839.yml
137
+ - data/ruby-advisory-db/gems/wicked/OSVDB-98270.yml
131
138
  - data/ruby-advisory-db/lib/scrape.rb
132
139
  - data/ruby-advisory-db/spec/advisory_example.rb
133
140
  - data/ruby-advisory-db/spec/gems_spec.rb
@@ -152,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
159
  version: 1.8.0
153
160
  requirements: []
154
161
  rubyforge_project:
155
- rubygems_version: 2.0.5
162
+ rubygems_version: 2.0.12
156
163
  signing_key:
157
164
  specification_version: 4
158
165
  summary: Patch-level verification for Bundler