hakiri 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,6 @@ rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
5
  - 2.0.0
6
- - jruby-19mode
7
6
  - rbx-19mode
8
7
  env:
9
8
  - JRUBY_OPTS=--1.9 RBXOPT=-X19
@@ -1,12 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hakiri (0.5.2)
4
+ hakiri (0.7.0)
5
5
  activesupport
6
6
  bundler
7
7
  commander
8
8
  i18n
9
- json_pure
9
+ json
10
10
  rake
11
11
  rest-client
12
12
  terminal-table
@@ -14,21 +14,21 @@ PATH
14
14
  GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
- activesupport (3.2.14)
17
+ activesupport (3.2.16)
18
18
  i18n (~> 0.6, >= 0.6.4)
19
19
  multi_json (~> 1.0)
20
20
  cane (2.6.0)
21
21
  parallel
22
22
  commander (4.1.5)
23
23
  highline (~> 1.6.11)
24
- highline (1.6.19)
25
- i18n (0.6.5)
26
- json_pure (1.8.0)
27
- mime-types (1.25)
24
+ highline (1.6.20)
25
+ i18n (0.6.9)
26
+ json (1.8.1)
27
+ mime-types (2.1)
28
28
  minitest (5.0.6)
29
29
  multi_json (1.7.7)
30
30
  parallel (0.7.1)
31
- rake (10.1.0)
31
+ rake (10.1.1)
32
32
  rest-client (1.6.7)
33
33
  mime-types (>= 1.16)
34
34
  simplecov (0.8.0.pre)
data/README.md CHANGED
@@ -21,7 +21,7 @@ Wanna try it on your system?
21
21
 
22
22
  ## Installation
23
23
 
24
- Hakiri Toolbelt is a Ruby gem that can be installed by
24
+ Hakiri Toolbelt is a Ruby gem that can be installed with
25
25
 
26
26
  ~~~
27
27
  $ gem install hakiri
@@ -74,7 +74,7 @@ ActiveRecord in Ruby on Rails before 2.3.17, 3.1.x before 3.1.11, and 3.2.x befo
74
74
  ...
75
75
  ~~~
76
76
 
77
- Simple, right? If you manifest file is in a different directory or named differently you can specify it in a parameter:
77
+ Simple, right? If your manifest file is in a different directory or has a different name you can specify it in a parameter:
78
78
 
79
79
  ~~~
80
80
  $ hakiri system:scan -m ../my_stack.json
@@ -84,7 +84,7 @@ You can learn more about configuring the manifest in [Hakiri docs](https://hakir
84
84
 
85
85
  ## Test Your Gemfile
86
86
 
87
- Hakiri supports vulnerability detection for a collection of gems listed in [the docs](https://hakiri.io/docs/supported-gems). To scan a `Gemfile.lock` for vulnerabilities in the current directory do the following:
87
+ To scan a `Gemfile.lock` for vulnerabilities in the current directory do the following:
88
88
 
89
89
  ~~~
90
90
  $ hakiri gemfile:scan
@@ -96,7 +96,7 @@ To scan a specific `Gemfile.lock` add the `-g` parameter at the end:
96
96
  $ hakiri gemfile:scan -g ../Gemfile.lock
97
97
  ~~~
98
98
 
99
- This will scan your `Gemfile.lock` and check with the server whether it has any vulnerable gems. It only checks gems that are [supported by Hakiri](https://hakiri.io/docs/manifest-file).
99
+ This will scan your `Gemfile.lock` and check with the server whether it has any vulnerable gems.
100
100
 
101
101
  You can also [sync your gems](https://hakiri.io/docs/syncing-with-the-cloud) with the cloud and get notified when new vulnerabilities come out.
102
102
 
@@ -106,8 +106,8 @@ We just went through the most basic Hakiri use case. Here are links to docs desc
106
106
 
107
107
  - [Learn about](https://hakiri.io/docs/manifest-file) advanced manifest file options.
108
108
  - [Setup your](https://hakiri.io/docs/authentication-token) authentication token.
109
- - [Sync your technologies and gems](https://hakiri.io/docs/syncing-with-the-cloud) with the cloud and get notified when new vulnerabilities come out.
110
- - [Check out technologies](https://hakiri.io/docs/technologies-version-formats) the list of supported technologies and version formats.
109
+ - [Sync your technologies](https://hakiri.io/docs/syncing-with-the-cloud) with the cloud and get notified when new vulnerabilities come out.
110
+ - [Check out supported technologies](https://hakiri.io/docs/technologies-version-formats) and version formats.
111
111
 
112
112
  ## Contribute
113
113
 
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency 'activesupport'
22
22
  s.add_dependency 'i18n'
23
23
  s.add_dependency 'rest-client'
24
- s.add_dependency 'json_pure'
24
+ s.add_dependency 'json'
25
25
 
26
26
  s.add_development_dependency 'minitest', '~> 5.0.0'
27
27
  end
@@ -8,6 +8,7 @@ class Hakiri::HttpClient
8
8
  #
9
9
  def initialize
10
10
  @auth_token = (ENV['HAKIRI_AUTH_TOKEN'] or nil)
11
+ @headers = { 'X-AUTH-TOKEN' => @auth_token }
11
12
  @api_url = (ENV['HAKIRI_API_URL'] or 'https://hakiri.io/api/v1')
12
13
  end
13
14
 
@@ -21,9 +22,8 @@ class Hakiri::HttpClient
21
22
  # Returns a hash of technologies with vulnerabilities.
22
23
  #
23
24
  def get_issues(params)
24
- params[:auth_token] = @auth_token
25
-
26
- RestClient.post "#{@api_url}/issues/scan.json", params do |response, request, result, &block|
25
+ RestClient::Request.execute method: :post, url: "#{@api_url}/issues/scan.json",
26
+ headers: @headers, payload: params do |response, request, result, &block|
27
27
  case response.code
28
28
  when 200
29
29
  JSON.parse(response.to_str, :symbolize_names => true)
@@ -46,9 +46,8 @@ class Hakiri::HttpClient
46
46
  # Returns a hash of differences between technologies.
47
47
  #
48
48
  def check_versions_diff(stack_id, params)
49
- params[:auth_token] = @auth_token
50
-
51
- RestClient.post "#{@api_url}/stacks/#{stack_id}/versions/diffs.json", params do |response, request, result, &block|
49
+ RestClient::Request.execute method: :post, url: "#{@api_url}/stacks/#{stack_id}/versions/diffs.json",
50
+ headers: @headers, payload: params do |response, request, result, &block|
52
51
  case response.code
53
52
  when 200
54
53
  JSON.parse(response.to_str, :symbolize_names => true)
@@ -71,9 +70,8 @@ class Hakiri::HttpClient
71
70
  # Returns a hash of updated versions.
72
71
  #
73
72
  def sync_stack_versions(stack_id, params)
74
- params[:auth_token] = @auth_token
75
-
76
- RestClient.put "#{@api_url}/stacks/#{stack_id}/versions/update_all.json", params do |response, request, result, &block|
73
+ RestClient::Request.execute method: :put, url: "#{@api_url}/stacks/#{stack_id}/versions/update_all.json",
74
+ headers: @headers, payload: params do |response, request, result, &block|
77
75
  case response.code
78
76
  when 200
79
77
  JSON.parse(response.to_str, :symbolize_names => true)
@@ -93,7 +91,8 @@ class Hakiri::HttpClient
93
91
  # Returns a hash with build fields, repository fields and an array of warnings.
94
92
  #
95
93
  def code_report(stack_id)
96
- RestClient.get "#{@api_url}/stacks/#{stack_id}/builds/last.json?auth_token=#{@auth_token}" do |response, request, result, &block|
94
+ RestClient::Request.execute method: :get, url: "#{@api_url}/stacks/#{stack_id}/builds/last.json",
95
+ headers: @headers do |response, request, result, &block|
97
96
  case response.code
98
97
  when 200
99
98
  JSON.parse(response.to_str, :symbolize_names => true)
@@ -1,3 +1,3 @@
1
1
  module Hakiri
2
- VERSION = '0.6.1'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,130 +1,148 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hakiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Vasily Vasinov
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-11-20 00:00:00.000000000 Z
12
+ date: 2014-02-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: commander
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: terminal-table
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: activesupport
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :runtime
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: i18n
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - '>='
99
+ - - ! '>='
88
100
  - !ruby/object:Gem::Version
89
101
  version: '0'
90
102
  type: :runtime
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - '>='
107
+ - - ! '>='
95
108
  - !ruby/object:Gem::Version
96
109
  version: '0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rest-client
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - '>='
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - '>='
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
- name: json_pure
127
+ name: json
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - '>='
131
+ - - ! '>='
116
132
  - !ruby/object:Gem::Version
117
133
  version: '0'
118
134
  type: :runtime
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - '>='
139
+ - - ! '>='
123
140
  - !ruby/object:Gem::Version
124
141
  version: '0'
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: minitest
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
147
  - - ~>
130
148
  - !ruby/object:Gem::Version
@@ -132,6 +150,7 @@ dependencies:
132
150
  type: :development
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
155
  - - ~>
137
156
  - !ruby/object:Gem::Version
@@ -194,25 +213,26 @@ files:
194
213
  homepage: https://hakiri.io
195
214
  licenses:
196
215
  - MIT
197
- metadata: {}
198
216
  post_install_message:
199
217
  rdoc_options: []
200
218
  require_paths:
201
219
  - lib
202
220
  required_ruby_version: !ruby/object:Gem::Requirement
221
+ none: false
203
222
  requirements:
204
- - - '>='
223
+ - - ! '>='
205
224
  - !ruby/object:Gem::Version
206
225
  version: '0'
207
226
  required_rubygems_version: !ruby/object:Gem::Requirement
227
+ none: false
208
228
  requirements:
209
- - - '>='
229
+ - - ! '>='
210
230
  - !ruby/object:Gem::Version
211
231
  version: '0'
212
232
  requirements: []
213
233
  rubyforge_project:
214
- rubygems_version: 2.0.3
234
+ rubygems_version: 1.8.23
215
235
  signing_key:
216
- specification_version: 4
236
+ specification_version: 3
217
237
  summary: Secure Rails with Hakiri
218
238
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 5e49876e019d919c98751026b52b78beb90dce38
4
- data.tar.gz: ba257f0be25ca4101adebd7c5dc14631b7dda318
5
- SHA512:
6
- metadata.gz: ba4cc5a98b0868c5eacf543e472b26238b1f8020812f8fb8dd47fcdeb1395119ca0b6ebca7ddbbb02cdecca05172692ed9c3132c936c0ade6050738dd846e714
7
- data.tar.gz: 7176ff6cf3b7f7e037e69a87ad41e709dbab0689b11ee25a072ea69bad0337f301016e09abb82a8ee26bb3680463abd11fabb4e69572a9745d21a8af20fd4392