threat_agent 1.0.0.beta.3 → 1.0.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -38,7 +38,10 @@ end
38
38
  # TODO: Add a global configuration instead of independently loading it
39
39
  # everytime?
40
40
  config = ThreatAgent::Config
41
- config.from_file("#{ENV['HOME']}/.threatagent")
41
+
42
+ if File.exists?("#{ENV['HOME']}/.threatagent")
43
+ config.from_file("#{ENV['HOME']}/.threatagent")
44
+ end
42
45
 
43
46
  $threat_agent_client = ThreatAgent::APIClient.new(config[:key], config[:sup])
44
47
 
@@ -1,5 +1,5 @@
1
1
  require 'json'
2
- require 'net/http'
2
+ require 'net/https'
3
3
  require 'threat_agent'
4
4
 
5
5
  module ThreatAgent
@@ -55,9 +55,12 @@ module ThreatAgent
55
55
 
56
56
  api_endpoint = "#{config[:endpoint]}/api/#{config[:api_version]}/"
57
57
  uri = URI("#{api_endpoint}#{action}?#{encoded_params}")
58
+ request = Net::HTTP::Get.new(uri.to_s)
59
+ response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme.eql?('https')) do |http|
60
+ http.request(request)
61
+ end
58
62
 
59
- resp = Net::HTTP.get_response(uri)
60
- json = resp.body
63
+ json = response.body
61
64
 
62
65
  if json =~ /^[{\[].*[\]}]$/
63
66
  JSON.parse(json)
@@ -12,7 +12,7 @@ module ThreatAgent
12
12
  #
13
13
  # @author Erran Carey <me@errancarey.com>
14
14
  class Pwnxy < Thor
15
- class_option :format, aliases: %w[-f], default: :readable, desc: 'The format to display data in'
15
+ class_option :format, aliases: %w[-f], default: 'json', desc: 'The format to display data in'
16
16
  desc 'pwnxy info', 'List information on Pwnxy instances'
17
17
  def info
18
18
  info = $threat_agent_client.request(:pwnxy_info)
@@ -77,7 +77,8 @@ module ThreatAgent
77
77
 
78
78
  no_commands do
79
79
  def decrypt(logs)
80
- private_key = OpenSSL::PKey::RSA.new(ThreatAgent::Config[:private_key])
80
+ keypair = Cryptic::Keypair.new(ThreatAgent::Config[:private_key])
81
+ private_key = keypair.private_key
81
82
 
82
83
  logs.map do |log|
83
84
  cipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
@@ -1,4 +1,4 @@
1
1
  module ThreatAgent
2
2
  # The version of the ThreatAgent gem
3
- VERSION = '1.0.0.beta.3'
3
+ VERSION = '1.0.0.beta.4'
4
4
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ['lib']
20
20
 
21
21
  spec.add_dependency 'colorize'
22
- spec.add_dependency 'cryptic'
22
+ spec.add_dependency 'cryptic', '>= 1.0.0.beta.11'
23
23
  spec.add_dependency 'formatador'
24
24
  spec.add_dependency 'json'
25
25
  spec.add_dependency 'mixlib-config'
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: threat_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.3
4
+ version: 1.0.0.beta.4
5
+ prerelease: 6
5
6
  platform: ruby
6
7
  authors:
7
8
  - Erran Carey
@@ -13,118 +14,135 @@ dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: colorize
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: cryptic
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
- version: '0'
37
+ version: 1.0.0.beta.11
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
- version: '0'
45
+ version: 1.0.0.beta.11
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: formatador
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: json
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: mixlib-config
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: redcarpet
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: thor
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
127
  name: yard
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: bundler
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
@@ -139,43 +158,49 @@ dependencies:
139
158
  - !ruby/object:Gem::Dependency
140
159
  name: pry
141
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
142
162
  requirements:
143
- - - '>='
163
+ - - ! '>='
144
164
  - !ruby/object:Gem::Version
145
165
  version: '0'
146
166
  type: :development
147
167
  prerelease: false
148
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
149
170
  requirements:
150
- - - '>='
171
+ - - ! '>='
151
172
  - !ruby/object:Gem::Version
152
173
  version: '0'
153
174
  - !ruby/object:Gem::Dependency
154
175
  name: rake
155
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
156
178
  requirements:
157
- - - '>='
179
+ - - ! '>='
158
180
  - !ruby/object:Gem::Version
159
181
  version: '0'
160
182
  type: :development
161
183
  prerelease: false
162
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
163
186
  requirements:
164
- - - '>='
187
+ - - ! '>='
165
188
  - !ruby/object:Gem::Version
166
189
  version: '0'
167
190
  - !ruby/object:Gem::Dependency
168
191
  name: rspec
169
192
  requirement: !ruby/object:Gem::Requirement
193
+ none: false
170
194
  requirements:
171
- - - '>='
195
+ - - ! '>='
172
196
  - !ruby/object:Gem::Version
173
197
  version: '0'
174
198
  type: :development
175
199
  prerelease: false
176
200
  version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
177
202
  requirements:
178
- - - '>='
203
+ - - ! '>='
179
204
  - !ruby/object:Gem::Version
180
205
  version: '0'
181
206
  description: A gem to interface with the Threat Agent API
@@ -212,26 +237,30 @@ files:
212
237
  homepage: http://developer.threatagent.com
213
238
  licenses:
214
239
  - MIT
215
- metadata: {}
216
240
  post_install_message:
217
241
  rdoc_options: []
218
242
  require_paths:
219
243
  - lib
220
244
  required_ruby_version: !ruby/object:Gem::Requirement
245
+ none: false
221
246
  requirements:
222
- - - '>='
247
+ - - ! '>='
223
248
  - !ruby/object:Gem::Version
224
249
  version: '0'
250
+ segments:
251
+ - 0
252
+ hash: -539623594503375679
225
253
  required_rubygems_version: !ruby/object:Gem::Requirement
254
+ none: false
226
255
  requirements:
227
- - - '>'
256
+ - - ! '>'
228
257
  - !ruby/object:Gem::Version
229
258
  version: 1.3.1
230
259
  requirements: []
231
260
  rubyforge_project:
232
- rubygems_version: 2.0.3
261
+ rubygems_version: 1.8.25
233
262
  signing_key:
234
- specification_version: 4
263
+ specification_version: 3
235
264
  summary: Interact with apps from the Threat Agent website
236
265
  test_files:
237
266
  - spec/default_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: c559b1e76c0a281873bbe879d17806df5a5755f1
4
- data.tar.gz: 38e547ecec2e570c1f5c491e895230e38f3f48cd
5
- SHA512:
6
- metadata.gz: 2ba0700266a222fd56c45c1f4bcf41d3e1c2ec8cb00c6e9083fa6bf7035d8f36c7bd9c2128d249c98cf434c6221bb7c8d4b036d5252f28647166434dec74a9ee
7
- data.tar.gz: 89ef2559c5c1d8e23c5801cb92744a3c940aa2b492957ac3794d4f237f642def57f9046c893c55c366b60bdb6e1976aaef17d48b9700ddaaaf528bf4253a7c7c