bundler-audit 0.1.0 → 0.2.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 +7 -0
- data/.document +1 -1
- data/.gitignore +3 -0
- data/.gitmodules +3 -0
- data/.travis.yml +4 -0
- data/ChangeLog.md +50 -0
- data/Gemfile +12 -0
- data/README.md +51 -69
- data/Rakefile +37 -21
- data/bin/bundle-audit +2 -12
- data/bundler-audit.gemspec +7 -0
- data/data/ruby-advisory-db/.rspec +1 -0
- data/data/ruby-advisory-db/CONTRIBUTING.md +6 -0
- data/data/ruby-advisory-db/CONTRIBUTORS.md +13 -0
- data/data/ruby-advisory-db/Gemfile +3 -0
- data/data/ruby-advisory-db/LICENSE.txt +5 -0
- data/data/ruby-advisory-db/README.md +86 -0
- data/data/ruby-advisory-db/Rakefile +27 -0
- data/data/ruby-advisory-db/gems/actionpack/OSVDB-79727.yml +26 -0
- data/data/ruby-advisory-db/gems/actionpack/OSVDB-84243.yml +28 -0
- data/data/ruby-advisory-db/gems/actionpack/OSVDB-84513.yml +23 -0
- data/data/ruby-advisory-db/gems/actionpack/OSVDB-84515.yml +26 -0
- data/data/{bundler/audit/rails/2013-0156.yml → ruby-advisory-db/gems/actionpack/OSVDB-89026.yml} +8 -3
- data/data/ruby-advisory-db/gems/actionpack/OSVDB-91452.yml +20 -0
- data/data/ruby-advisory-db/gems/actionpack/OSVDB-91454.yml +23 -0
- data/data/ruby-advisory-db/gems/activerecord/OSVDB-82403.yml +25 -0
- data/data/ruby-advisory-db/gems/activerecord/OSVDB-82610.yml +24 -0
- data/data/{bundler/audit/rails/2013-0155.yml → ruby-advisory-db/gems/activerecord/OSVDB-89025.yml} +9 -4
- data/data/{bundler/audit/rails/2013-0276.yml → ruby-advisory-db/gems/activerecord/OSVDB-90072.yml} +8 -3
- data/data/{bundler/audit/rails/2013-0277.yml → ruby-advisory-db/gems/activerecord/OSVDB-90073.yml} +8 -3
- data/data/ruby-advisory-db/gems/activerecord/OSVDB-91453.yml +26 -0
- data/data/ruby-advisory-db/gems/activesupport/OSVDB-79726.yml +26 -0
- data/data/ruby-advisory-db/gems/activesupport/OSVDB-84516.yml +23 -0
- data/data/{bundler/audit/rails/2013-0333.yml → ruby-advisory-db/gems/activesupport/OSVDB-89594.yml} +8 -3
- data/data/ruby-advisory-db/gems/activesupport/OSVDB-91451.yml +28 -0
- data/data/ruby-advisory-db/gems/command_wrap/OSVDB-91450.yml +10 -0
- data/data/ruby-advisory-db/gems/crack/OSVDB-90742.yml +17 -0
- data/data/ruby-advisory-db/gems/cremefraiche/OSVDB-93395.yml +11 -0
- data/data/ruby-advisory-db/gems/curl/OSVDB-91230.yml +12 -0
- data/data/ruby-advisory-db/gems/devise/OSVDB-89642.yml +20 -0
- data/data/ruby-advisory-db/gems/dragonfly/OSVDB-90647.yml +19 -0
- data/data/ruby-advisory-db/gems/enum_column3/OSVDB-94679.yml +9 -0
- data/data/ruby-advisory-db/gems/extlib/OSVDB-90740.yml +18 -0
- data/data/ruby-advisory-db/gems/fastreader/OSVDB-91232.yml +12 -0
- data/data/ruby-advisory-db/gems/fileutils/OSVDB-90715.yml +10 -0
- data/data/ruby-advisory-db/gems/fileutils/OSVDB-90716.yml +10 -0
- data/data/ruby-advisory-db/gems/fileutils/OSVDB-90717.yml +10 -0
- data/data/ruby-advisory-db/gems/flash_tool/OSVDB-90829.yml +9 -0
- data/data/ruby-advisory-db/gems/ftpd/OSVDB-90784.yml +18 -0
- data/data/ruby-advisory-db/gems/gtk2/OSVDB-40774.yml +20 -0
- data/data/ruby-advisory-db/gems/httparty/OSVDB-90741.yml +19 -0
- data/data/{bundler/audit/json/2013-0269.yml → ruby-advisory-db/gems/json/OSVDB-90074.yml} +8 -4
- data/data/ruby-advisory-db/gems/karteek-docsplit/OSVDB-92117.yml +10 -0
- data/data/ruby-advisory-db/gems/kelredd-pruview/OSVDB-92228.yml +10 -0
- data/data/ruby-advisory-db/gems/ldoce/OSVDB-91870.yml +10 -0
- data/data/ruby-advisory-db/gems/loofah/OSVDB-90945.yml +21 -0
- data/data/ruby-advisory-db/gems/mail/OSVDB-70667.yml +21 -0
- data/data/ruby-advisory-db/gems/mail/OSVDB-81631.yml +14 -0
- data/data/ruby-advisory-db/gems/mail/OSVDB-81632.yml +16 -0
- data/data/ruby-advisory-db/gems/md2pdf/OSVDB-92290.yml +10 -0
- data/data/ruby-advisory-db/gems/mini_magick/OSVDB-91231.yml +15 -0
- data/data/ruby-advisory-db/gems/multi_xml/OSVDB-89148.yml +16 -0
- data/data/ruby-advisory-db/gems/newrelic_rpm/OSVDB-90189.yml +17 -0
- data/data/ruby-advisory-db/gems/nori/OSVDB-90196.yml +19 -0
- data/data/ruby-advisory-db/gems/omniauth-oauth2/OSVDB-90264.yml +16 -0
- data/data/ruby-advisory-db/gems/pdfkit/OSVDB-90867.yml +11 -0
- data/data/{bundler/audit/rack/2013-0263.yml → ruby-advisory-db/gems/rack/OSVDB-89939.yml} +11 -8
- data/data/ruby-advisory-db/gems/rack-cache/OSVDB-83077.yml +18 -0
- data/data/ruby-advisory-db/gems/rdoc/OSVDB-90004.yml +27 -0
- data/data/ruby-advisory-db/gems/rgpg/OSVDB-95948.yml +13 -0
- data/data/ruby-advisory-db/gems/ruby_parser/OSVDB-90561.yml +11 -0
- data/data/ruby-advisory-db/gems/spree/OSVDB-91216.yml +10 -0
- data/data/ruby-advisory-db/gems/spree/OSVDB-91217.yml +10 -0
- data/data/ruby-advisory-db/gems/spree/OSVDB-91218.yml +10 -0
- data/data/ruby-advisory-db/gems/spree/OSVDB-91219.yml +10 -0
- data/data/ruby-advisory-db/gems/thumbshooter/OSVDB-91839.yml +10 -0
- data/data/ruby-advisory-db/lib/scrape.rb +87 -0
- data/data/ruby-advisory-db/spec/advisory_example.rb +165 -0
- data/data/ruby-advisory-db/spec/gems_spec.rb +8 -0
- data/data/ruby-advisory-db/spec/spec_helper.rb +1 -0
- data/gemspec.yml +4 -7
- data/lib/bundler/audit/advisory.rb +51 -9
- data/lib/bundler/audit/cli.rb +33 -12
- data/lib/bundler/audit/database.rb +1 -30
- data/lib/bundler/audit/scanner.rb +97 -0
- data/lib/bundler/audit/version.rb +1 -1
- data/spec/advisory_spec.rb +67 -7
- data/spec/bundle/insecure_sources/Gemfile +39 -0
- data/spec/bundle/secure/Gemfile +38 -0
- data/spec/database_spec.rb +1 -32
- data/spec/integration_spec.rb +132 -0
- data/spec/scanner_spec.rb +74 -0
- data/spec/spec_helper.rb +14 -1
- metadata +89 -74
- data/LICENSE.txt +0 -20
- data/spec/bundle/Gemfile.lock +0 -92
- /data/spec/bundle/{Gemfile → unpatched_gems/Gemfile} +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "CLI" do
|
|
4
|
+
include Helpers
|
|
5
|
+
|
|
6
|
+
let(:command) do
|
|
7
|
+
File.expand_path(File.join(File.dirname(__FILE__),'..','bin','bundle-audit'))
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
context "when auditing a bundle with unpatched gems" do
|
|
11
|
+
let(:bundle) { 'unpatched_gems' }
|
|
12
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
13
|
+
|
|
14
|
+
subject do
|
|
15
|
+
Dir.chdir(directory) { sh(command, :fail => true) }
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "should print a warning" do
|
|
19
|
+
subject.should include("Unpatched versions found!")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "should print advisory information for the vulnerable gems" do
|
|
23
|
+
expect = %{
|
|
24
|
+
Name: actionpack
|
|
25
|
+
Version: 3.2.10
|
|
26
|
+
Advisory: OSVDB-91452
|
|
27
|
+
Criticality: Medium
|
|
28
|
+
URL: http://www.osvdb.org/show/osvdb/91452
|
|
29
|
+
Title: XSS vulnerability in sanitize_css in Action Pack
|
|
30
|
+
Solution: upgrade to ~> 2.3.18, ~> 3.1.12, >= 3.2.13
|
|
31
|
+
|
|
32
|
+
Name: actionpack
|
|
33
|
+
Version: 3.2.10
|
|
34
|
+
Advisory: OSVDB-91454
|
|
35
|
+
Criticality: Medium
|
|
36
|
+
URL: http://osvdb.org/show/osvdb/91454
|
|
37
|
+
Title: XSS Vulnerability in the `sanitize` helper of Ruby on Rails
|
|
38
|
+
Solution: upgrade to ~> 2.3.18, ~> 3.1.12, >= 3.2.13
|
|
39
|
+
|
|
40
|
+
Name: actionpack
|
|
41
|
+
Version: 3.2.10
|
|
42
|
+
Advisory: OSVDB-89026
|
|
43
|
+
Criticality: High
|
|
44
|
+
URL: http://osvdb.org/show/osvdb/89026
|
|
45
|
+
Title: Ruby on Rails params_parser.rb Action Pack Type Casting Parameter Parsing Remote Code Execution
|
|
46
|
+
Solution: upgrade to ~> 2.3.15, ~> 3.0.19, ~> 3.1.10, >= 3.2.11
|
|
47
|
+
|
|
48
|
+
Name: activerecord
|
|
49
|
+
Version: 3.2.10
|
|
50
|
+
Advisory: OSVDB-91453
|
|
51
|
+
Criticality: High
|
|
52
|
+
URL: http://osvdb.org/show/osvdb/91453
|
|
53
|
+
Title: Symbol DoS vulnerability in Active Record
|
|
54
|
+
Solution: upgrade to ~> 2.3.18, ~> 3.1.12, >= 3.2.13
|
|
55
|
+
|
|
56
|
+
Name: activerecord
|
|
57
|
+
Version: 3.2.10
|
|
58
|
+
Advisory: OSVDB-90072
|
|
59
|
+
Criticality: Medium
|
|
60
|
+
URL: http://direct.osvdb.org/show/osvdb/90072
|
|
61
|
+
Title: Ruby on Rails Active Record attr_protected Method Bypass
|
|
62
|
+
Solution: upgrade to ~> 2.3.17, ~> 3.1.11, >= 3.2.12
|
|
63
|
+
|
|
64
|
+
Name: activerecord
|
|
65
|
+
Version: 3.2.10
|
|
66
|
+
Advisory: OSVDB-89025
|
|
67
|
+
Criticality: High
|
|
68
|
+
URL: http://osvdb.org/show/osvdb/89025
|
|
69
|
+
Title: Ruby on Rails Active Record JSON Parameter Parsing Query Bypass
|
|
70
|
+
Solution: upgrade to ~> 2.3.16, ~> 3.0.19, ~> 3.1.10, >= 3.2.11
|
|
71
|
+
|
|
72
|
+
Name: activesupport
|
|
73
|
+
Version: 3.2.10
|
|
74
|
+
Advisory: OSVDB-91451
|
|
75
|
+
Criticality: High
|
|
76
|
+
URL: http://www.osvdb.org/show/osvdb/91451
|
|
77
|
+
Title: XML Parsing Vulnerability affecting JRuby users
|
|
78
|
+
Solution: upgrade to ~> 3.1.12, >= 3.2.13
|
|
79
|
+
|
|
80
|
+
Unpatched versions found!
|
|
81
|
+
}.strip.split "\n\n"
|
|
82
|
+
|
|
83
|
+
subject.strip.split("\n\n").should =~ expect
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
context "when auditing a bundle with ignored gems" do
|
|
88
|
+
let(:bundle) { 'unpatched_gems' }
|
|
89
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
90
|
+
|
|
91
|
+
let(:command) do
|
|
92
|
+
File.expand_path(File.join(File.dirname(__FILE__),'..','bin','bundle-audit -i OSVDB-89026'))
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
subject do
|
|
96
|
+
Dir.chdir(directory) { sh(command, :fail => true) }
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "should not print advisory information for ignored gem" do
|
|
100
|
+
subject.should_not include("OSVDB-89026")
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
context "when auditing a bundle with insecure sources" do
|
|
105
|
+
let(:bundle) { 'insecure_sources' }
|
|
106
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
107
|
+
|
|
108
|
+
subject do
|
|
109
|
+
Dir.chdir(directory) { sh(command, :fail => true) }
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
it "should print warnings about insecure sources" do
|
|
113
|
+
subject.should include(%{
|
|
114
|
+
Insecure Source URI found: git://github.com/rails/jquery-rails.git
|
|
115
|
+
Insecure Source URI found: http://rubygems.org/
|
|
116
|
+
}.strip)
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
context "when auditing a secure bundle" do
|
|
121
|
+
let(:bundle) { 'secure' }
|
|
122
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
123
|
+
|
|
124
|
+
subject do
|
|
125
|
+
Dir.chdir(directory) { sh(command) }
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
it "should print nothing when everything is fine" do
|
|
129
|
+
subject.strip.should == "No unpatched versions found"
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'bundler/audit/scanner'
|
|
3
|
+
|
|
4
|
+
describe Scanner do
|
|
5
|
+
describe "#scan" do
|
|
6
|
+
let(:bundle) { 'unpatched_gems' }
|
|
7
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
8
|
+
|
|
9
|
+
subject { described_class.new(directory) }
|
|
10
|
+
|
|
11
|
+
it "should yield results" do
|
|
12
|
+
results = []
|
|
13
|
+
|
|
14
|
+
subject.scan { |result| results << result }
|
|
15
|
+
|
|
16
|
+
results.should_not be_empty
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context "when not called with a block" do
|
|
20
|
+
it "should return an Enumerator" do
|
|
21
|
+
subject.scan.should be_kind_of(Enumerable)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
context "when auditing a bundle with unpatched gems" do
|
|
27
|
+
let(:bundle) { 'unpatched_gems' }
|
|
28
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
29
|
+
let(:scanner) { described_class.new(directory) }
|
|
30
|
+
|
|
31
|
+
subject { scanner.scan.to_a }
|
|
32
|
+
|
|
33
|
+
it "should match unpatched gems to their advisories" do
|
|
34
|
+
subject.all? { |result|
|
|
35
|
+
result.advisory.vulnerable?(result.gem.version)
|
|
36
|
+
}.should be_true
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
context "when the :ignore option is given" do
|
|
40
|
+
subject { scanner.scan(:ignore => ['OSVDB-89026']) }
|
|
41
|
+
|
|
42
|
+
it "should ignore the specified advisories" do
|
|
43
|
+
ids = subject.map { |result| result.advisory.id }
|
|
44
|
+
|
|
45
|
+
ids.should_not include('OSVDB-89026')
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
context "when auditing a bundle with insecure sources" do
|
|
51
|
+
let(:bundle) { 'insecure_sources' }
|
|
52
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
53
|
+
let(:scanner) { described_class.new(directory) }
|
|
54
|
+
|
|
55
|
+
subject { scanner.scan.to_a }
|
|
56
|
+
|
|
57
|
+
it "should match unpatched gems to their advisories" do
|
|
58
|
+
subject[0].source.should == 'git://github.com/rails/jquery-rails.git'
|
|
59
|
+
subject[1].source.should == 'http://rubygems.org/'
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
context "when auditing a secure bundle" do
|
|
64
|
+
let(:bundle) { 'secure' }
|
|
65
|
+
let(:directory) { File.join('spec','bundle',bundle) }
|
|
66
|
+
let(:scanner) { described_class.new(directory) }
|
|
67
|
+
|
|
68
|
+
subject { scanner.scan.to_a }
|
|
69
|
+
|
|
70
|
+
it "should print nothing when everything is fine" do
|
|
71
|
+
subject.should be_empty
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
gem 'rspec', '~> 2.4'
|
|
2
1
|
require 'rspec'
|
|
3
2
|
require 'bundler/audit/version'
|
|
4
3
|
|
|
4
|
+
module Helpers
|
|
5
|
+
def sh(command, options={})
|
|
6
|
+
Bundler.with_clean_env do
|
|
7
|
+
result = `#{command} 2>&1`
|
|
8
|
+
raise "FAILED #{command}\n#{result}" if $?.success? == !!options[:fail]
|
|
9
|
+
result
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def decolorize(string)
|
|
14
|
+
string.gsub(/\e\[\d+m/, "")
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
5
18
|
include Bundler::Audit
|
metadata
CHANGED
|
@@ -1,80 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bundler-audit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.2.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Postmodern
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
11
|
+
date: 2013-08-27 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: bundler
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
17
|
- - ~>
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: '1.
|
|
19
|
+
version: '1.2'
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
24
|
- - ~>
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '1.
|
|
30
|
-
- !ruby/object:Gem::Dependency
|
|
31
|
-
name: rspec
|
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
|
-
requirements:
|
|
35
|
-
- - ~>
|
|
36
|
-
- !ruby/object:Gem::Version
|
|
37
|
-
version: '2.4'
|
|
38
|
-
type: :development
|
|
39
|
-
prerelease: false
|
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
|
-
requirements:
|
|
43
|
-
- - ~>
|
|
44
|
-
- !ruby/object:Gem::Version
|
|
45
|
-
version: '2.4'
|
|
46
|
-
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: rubygems-tasks
|
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
51
|
-
- - ~>
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0.2'
|
|
54
|
-
type: :development
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
|
-
requirements:
|
|
59
|
-
- - ~>
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0.2'
|
|
62
|
-
- !ruby/object:Gem::Dependency
|
|
63
|
-
name: yard
|
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
|
-
requirements:
|
|
67
|
-
- - ~>
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0.8'
|
|
70
|
-
type: :development
|
|
71
|
-
prerelease: false
|
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
|
-
requirements:
|
|
75
|
-
- - ~>
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0.8'
|
|
26
|
+
version: '1.2'
|
|
78
27
|
description: bundler-audit provides patch-level verification for Bundled apps.
|
|
79
28
|
email: postmodern.mod3@gmail.com
|
|
80
29
|
executables:
|
|
@@ -83,62 +32,128 @@ extensions: []
|
|
|
83
32
|
extra_rdoc_files:
|
|
84
33
|
- COPYING.txt
|
|
85
34
|
- ChangeLog.md
|
|
86
|
-
- LICENSE.txt
|
|
87
35
|
- README.md
|
|
88
36
|
files:
|
|
89
37
|
- .document
|
|
90
38
|
- .gitignore
|
|
39
|
+
- .gitmodules
|
|
91
40
|
- .rspec
|
|
41
|
+
- .travis.yml
|
|
92
42
|
- .yardopts
|
|
93
43
|
- COPYING.txt
|
|
94
44
|
- ChangeLog.md
|
|
95
|
-
-
|
|
45
|
+
- Gemfile
|
|
96
46
|
- README.md
|
|
97
47
|
- Rakefile
|
|
98
48
|
- bin/bundle-audit
|
|
99
49
|
- bundler-audit.gemspec
|
|
100
|
-
- data/bundler/audit/json/2013-0269.yml
|
|
101
|
-
- data/bundler/audit/rack/2013-0263.yml
|
|
102
|
-
- data/bundler/audit/rails/2013-0155.yml
|
|
103
|
-
- data/bundler/audit/rails/2013-0156.yml
|
|
104
|
-
- data/bundler/audit/rails/2013-0276.yml
|
|
105
|
-
- data/bundler/audit/rails/2013-0277.yml
|
|
106
|
-
- data/bundler/audit/rails/2013-0333.yml
|
|
107
50
|
- gemspec.yml
|
|
108
51
|
- lib/bundler/audit.rb
|
|
109
52
|
- lib/bundler/audit/advisory.rb
|
|
110
53
|
- lib/bundler/audit/cli.rb
|
|
111
54
|
- lib/bundler/audit/database.rb
|
|
55
|
+
- lib/bundler/audit/scanner.rb
|
|
112
56
|
- lib/bundler/audit/version.rb
|
|
113
57
|
- spec/advisory_spec.rb
|
|
114
58
|
- spec/audit_spec.rb
|
|
115
|
-
- spec/bundle/Gemfile
|
|
116
|
-
- spec/bundle/Gemfile
|
|
59
|
+
- spec/bundle/insecure_sources/Gemfile
|
|
60
|
+
- spec/bundle/secure/Gemfile
|
|
61
|
+
- spec/bundle/unpatched_gems/Gemfile
|
|
117
62
|
- spec/database_spec.rb
|
|
63
|
+
- spec/integration_spec.rb
|
|
64
|
+
- spec/scanner_spec.rb
|
|
118
65
|
- spec/spec_helper.rb
|
|
119
|
-
|
|
66
|
+
- data/ruby-advisory-db/.rspec
|
|
67
|
+
- data/ruby-advisory-db/CONTRIBUTING.md
|
|
68
|
+
- data/ruby-advisory-db/CONTRIBUTORS.md
|
|
69
|
+
- data/ruby-advisory-db/Gemfile
|
|
70
|
+
- data/ruby-advisory-db/LICENSE.txt
|
|
71
|
+
- data/ruby-advisory-db/README.md
|
|
72
|
+
- data/ruby-advisory-db/Rakefile
|
|
73
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-79727.yml
|
|
74
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-84243.yml
|
|
75
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-84513.yml
|
|
76
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-84515.yml
|
|
77
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-89026.yml
|
|
78
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-91452.yml
|
|
79
|
+
- data/ruby-advisory-db/gems/actionpack/OSVDB-91454.yml
|
|
80
|
+
- data/ruby-advisory-db/gems/activerecord/OSVDB-82403.yml
|
|
81
|
+
- data/ruby-advisory-db/gems/activerecord/OSVDB-82610.yml
|
|
82
|
+
- data/ruby-advisory-db/gems/activerecord/OSVDB-89025.yml
|
|
83
|
+
- data/ruby-advisory-db/gems/activerecord/OSVDB-90072.yml
|
|
84
|
+
- data/ruby-advisory-db/gems/activerecord/OSVDB-90073.yml
|
|
85
|
+
- data/ruby-advisory-db/gems/activerecord/OSVDB-91453.yml
|
|
86
|
+
- data/ruby-advisory-db/gems/activesupport/OSVDB-79726.yml
|
|
87
|
+
- data/ruby-advisory-db/gems/activesupport/OSVDB-84516.yml
|
|
88
|
+
- data/ruby-advisory-db/gems/activesupport/OSVDB-89594.yml
|
|
89
|
+
- data/ruby-advisory-db/gems/activesupport/OSVDB-91451.yml
|
|
90
|
+
- data/ruby-advisory-db/gems/command_wrap/OSVDB-91450.yml
|
|
91
|
+
- data/ruby-advisory-db/gems/crack/OSVDB-90742.yml
|
|
92
|
+
- data/ruby-advisory-db/gems/cremefraiche/OSVDB-93395.yml
|
|
93
|
+
- data/ruby-advisory-db/gems/curl/OSVDB-91230.yml
|
|
94
|
+
- data/ruby-advisory-db/gems/devise/OSVDB-89642.yml
|
|
95
|
+
- data/ruby-advisory-db/gems/dragonfly/OSVDB-90647.yml
|
|
96
|
+
- data/ruby-advisory-db/gems/enum_column3/OSVDB-94679.yml
|
|
97
|
+
- data/ruby-advisory-db/gems/extlib/OSVDB-90740.yml
|
|
98
|
+
- data/ruby-advisory-db/gems/fastreader/OSVDB-91232.yml
|
|
99
|
+
- data/ruby-advisory-db/gems/fileutils/OSVDB-90715.yml
|
|
100
|
+
- data/ruby-advisory-db/gems/fileutils/OSVDB-90716.yml
|
|
101
|
+
- data/ruby-advisory-db/gems/fileutils/OSVDB-90717.yml
|
|
102
|
+
- data/ruby-advisory-db/gems/flash_tool/OSVDB-90829.yml
|
|
103
|
+
- data/ruby-advisory-db/gems/ftpd/OSVDB-90784.yml
|
|
104
|
+
- data/ruby-advisory-db/gems/gtk2/OSVDB-40774.yml
|
|
105
|
+
- data/ruby-advisory-db/gems/httparty/OSVDB-90741.yml
|
|
106
|
+
- data/ruby-advisory-db/gems/json/OSVDB-90074.yml
|
|
107
|
+
- data/ruby-advisory-db/gems/karteek-docsplit/OSVDB-92117.yml
|
|
108
|
+
- data/ruby-advisory-db/gems/kelredd-pruview/OSVDB-92228.yml
|
|
109
|
+
- data/ruby-advisory-db/gems/ldoce/OSVDB-91870.yml
|
|
110
|
+
- data/ruby-advisory-db/gems/loofah/OSVDB-90945.yml
|
|
111
|
+
- data/ruby-advisory-db/gems/mail/OSVDB-70667.yml
|
|
112
|
+
- data/ruby-advisory-db/gems/mail/OSVDB-81631.yml
|
|
113
|
+
- data/ruby-advisory-db/gems/mail/OSVDB-81632.yml
|
|
114
|
+
- data/ruby-advisory-db/gems/md2pdf/OSVDB-92290.yml
|
|
115
|
+
- data/ruby-advisory-db/gems/mini_magick/OSVDB-91231.yml
|
|
116
|
+
- data/ruby-advisory-db/gems/multi_xml/OSVDB-89148.yml
|
|
117
|
+
- data/ruby-advisory-db/gems/newrelic_rpm/OSVDB-90189.yml
|
|
118
|
+
- data/ruby-advisory-db/gems/nori/OSVDB-90196.yml
|
|
119
|
+
- data/ruby-advisory-db/gems/omniauth-oauth2/OSVDB-90264.yml
|
|
120
|
+
- data/ruby-advisory-db/gems/pdfkit/OSVDB-90867.yml
|
|
121
|
+
- data/ruby-advisory-db/gems/rack-cache/OSVDB-83077.yml
|
|
122
|
+
- data/ruby-advisory-db/gems/rack/OSVDB-89939.yml
|
|
123
|
+
- data/ruby-advisory-db/gems/rdoc/OSVDB-90004.yml
|
|
124
|
+
- data/ruby-advisory-db/gems/rgpg/OSVDB-95948.yml
|
|
125
|
+
- data/ruby-advisory-db/gems/ruby_parser/OSVDB-90561.yml
|
|
126
|
+
- data/ruby-advisory-db/gems/spree/OSVDB-91216.yml
|
|
127
|
+
- data/ruby-advisory-db/gems/spree/OSVDB-91217.yml
|
|
128
|
+
- data/ruby-advisory-db/gems/spree/OSVDB-91218.yml
|
|
129
|
+
- data/ruby-advisory-db/gems/spree/OSVDB-91219.yml
|
|
130
|
+
- data/ruby-advisory-db/gems/thumbshooter/OSVDB-91839.yml
|
|
131
|
+
- data/ruby-advisory-db/lib/scrape.rb
|
|
132
|
+
- data/ruby-advisory-db/spec/advisory_example.rb
|
|
133
|
+
- data/ruby-advisory-db/spec/gems_spec.rb
|
|
134
|
+
- data/ruby-advisory-db/spec/spec_helper.rb
|
|
135
|
+
homepage: https://github.com/rubysec/bundler-audit#readme
|
|
120
136
|
licenses:
|
|
121
137
|
- GPLv3
|
|
138
|
+
metadata: {}
|
|
122
139
|
post_install_message:
|
|
123
140
|
rdoc_options: []
|
|
124
141
|
require_paths:
|
|
125
142
|
- lib
|
|
126
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
|
-
none: false
|
|
128
144
|
requirements:
|
|
129
|
-
- -
|
|
145
|
+
- - '>='
|
|
130
146
|
- !ruby/object:Gem::Version
|
|
131
147
|
version: '0'
|
|
132
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
|
-
none: false
|
|
134
149
|
requirements:
|
|
135
|
-
- -
|
|
150
|
+
- - '>='
|
|
136
151
|
- !ruby/object:Gem::Version
|
|
137
|
-
version:
|
|
152
|
+
version: 1.8.0
|
|
138
153
|
requirements: []
|
|
139
154
|
rubyforge_project:
|
|
140
|
-
rubygems_version:
|
|
155
|
+
rubygems_version: 2.0.5
|
|
141
156
|
signing_key:
|
|
142
|
-
specification_version:
|
|
157
|
+
specification_version: 4
|
|
143
158
|
summary: Patch-level verification for Bundler
|
|
144
159
|
test_files: []
|
data/LICENSE.txt
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
Copyright (c) 2013 Hal Brodigan
|
|
2
|
-
|
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
-
a copy of this software and associated documentation files (the
|
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
-
the following conditions:
|
|
10
|
-
|
|
11
|
-
The above copyright notice and this permission notice shall be
|
|
12
|
-
included in all copies or substantial portions of the Software.
|
|
13
|
-
|
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/spec/bundle/Gemfile.lock
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
GEM
|
|
2
|
-
remote: https://rubygems.org/
|
|
3
|
-
specs:
|
|
4
|
-
actionmailer (3.2.10)
|
|
5
|
-
actionpack (= 3.2.10)
|
|
6
|
-
mail (~> 2.4.4)
|
|
7
|
-
actionpack (3.2.10)
|
|
8
|
-
activemodel (= 3.2.10)
|
|
9
|
-
activesupport (= 3.2.10)
|
|
10
|
-
builder (~> 3.0.0)
|
|
11
|
-
erubis (~> 2.7.0)
|
|
12
|
-
journey (~> 1.0.4)
|
|
13
|
-
rack (~> 1.4.0)
|
|
14
|
-
rack-cache (~> 1.2)
|
|
15
|
-
rack-test (~> 0.6.1)
|
|
16
|
-
sprockets (~> 2.2.1)
|
|
17
|
-
activemodel (3.2.10)
|
|
18
|
-
activesupport (= 3.2.10)
|
|
19
|
-
builder (~> 3.0.0)
|
|
20
|
-
activerecord (3.2.10)
|
|
21
|
-
activemodel (= 3.2.10)
|
|
22
|
-
activesupport (= 3.2.10)
|
|
23
|
-
arel (~> 3.0.2)
|
|
24
|
-
tzinfo (~> 0.3.29)
|
|
25
|
-
activeresource (3.2.10)
|
|
26
|
-
activemodel (= 3.2.10)
|
|
27
|
-
activesupport (= 3.2.10)
|
|
28
|
-
activesupport (3.2.10)
|
|
29
|
-
i18n (~> 0.6)
|
|
30
|
-
multi_json (~> 1.0)
|
|
31
|
-
arel (3.0.2)
|
|
32
|
-
builder (3.0.4)
|
|
33
|
-
erubis (2.7.0)
|
|
34
|
-
hike (1.2.1)
|
|
35
|
-
i18n (0.6.1)
|
|
36
|
-
journey (1.0.4)
|
|
37
|
-
jquery-rails (2.2.0)
|
|
38
|
-
railties (>= 3.0, < 5.0)
|
|
39
|
-
thor (>= 0.14, < 2.0)
|
|
40
|
-
json (1.7.6)
|
|
41
|
-
mail (2.4.4)
|
|
42
|
-
i18n (>= 0.4.0)
|
|
43
|
-
mime-types (~> 1.16)
|
|
44
|
-
treetop (~> 1.4.8)
|
|
45
|
-
mime-types (1.20.1)
|
|
46
|
-
multi_json (1.5.0)
|
|
47
|
-
polyglot (0.3.3)
|
|
48
|
-
rack (1.4.4)
|
|
49
|
-
rack-cache (1.2)
|
|
50
|
-
rack (>= 0.4)
|
|
51
|
-
rack-ssl (1.3.3)
|
|
52
|
-
rack
|
|
53
|
-
rack-test (0.6.2)
|
|
54
|
-
rack (>= 1.0)
|
|
55
|
-
rails (3.2.10)
|
|
56
|
-
actionmailer (= 3.2.10)
|
|
57
|
-
actionpack (= 3.2.10)
|
|
58
|
-
activerecord (= 3.2.10)
|
|
59
|
-
activeresource (= 3.2.10)
|
|
60
|
-
activesupport (= 3.2.10)
|
|
61
|
-
bundler (~> 1.0)
|
|
62
|
-
railties (= 3.2.10)
|
|
63
|
-
railties (3.2.10)
|
|
64
|
-
actionpack (= 3.2.10)
|
|
65
|
-
activesupport (= 3.2.10)
|
|
66
|
-
rack-ssl (~> 1.3.2)
|
|
67
|
-
rake (>= 0.8.7)
|
|
68
|
-
rdoc (~> 3.4)
|
|
69
|
-
thor (>= 0.14.6, < 2.0)
|
|
70
|
-
rake (10.0.3)
|
|
71
|
-
rdoc (3.12.1)
|
|
72
|
-
json (~> 1.4)
|
|
73
|
-
sprockets (2.2.2)
|
|
74
|
-
hike (~> 1.2)
|
|
75
|
-
multi_json (~> 1.0)
|
|
76
|
-
rack (~> 1.0)
|
|
77
|
-
tilt (~> 1.1, != 1.3.0)
|
|
78
|
-
sqlite3 (1.3.7)
|
|
79
|
-
thor (0.17.0)
|
|
80
|
-
tilt (1.3.3)
|
|
81
|
-
treetop (1.4.12)
|
|
82
|
-
polyglot
|
|
83
|
-
polyglot (>= 0.3.1)
|
|
84
|
-
tzinfo (0.3.35)
|
|
85
|
-
|
|
86
|
-
PLATFORMS
|
|
87
|
-
ruby
|
|
88
|
-
|
|
89
|
-
DEPENDENCIES
|
|
90
|
-
jquery-rails
|
|
91
|
-
rails (= 3.2.10)
|
|
92
|
-
sqlite3
|
|
File without changes
|