hybridanalysisx 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +58 -0
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +30 -0
- data/Rakefile +8 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/hybridanalysisx.gemspec +36 -0
- data/lib/hybridanalysis.rb +21 -0
- data/lib/hybridanalysis/api.rb +45 -0
- data/lib/hybridanalysis/clients/abuse_reports.rb +23 -0
- data/lib/hybridanalysis/clients/client.rb +118 -0
- data/lib/hybridanalysis/clients/feed.rb +16 -0
- data/lib/hybridanalysis/clients/file_collection.rb +101 -0
- data/lib/hybridanalysis/clients/overview.rb +51 -0
- data/lib/hybridanalysis/clients/quick_scan.rb +126 -0
- data/lib/hybridanalysis/clients/report.rb +131 -0
- data/lib/hybridanalysis/clients/search.rb +87 -0
- data/lib/hybridanalysis/clients/submit.rb +238 -0
- data/lib/hybridanalysis/clients/system.rb +61 -0
- data/lib/hybridanalysis/version.rb +5 -0
- data/lib/hybridanalysisx.rb +3 -0
- metadata +154 -0
@@ -0,0 +1,238 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module HybridAnalysis
|
4
|
+
module Clients
|
5
|
+
class Submit < Client
|
6
|
+
#
|
7
|
+
# submit a file for analysis
|
8
|
+
#
|
9
|
+
# @param [file] file file to submit
|
10
|
+
# @param [Integer] environment_id Environment ID. Available environments ID: <strong>300</strong>: 'Linux (Ubuntu 16.04, 64 bit)', <strong>200</strong>: 'Android Static Analysis', <strong>120</strong>: 'Windows 7 64 bit', <strong>110</strong>: 'Windows 7 32 bit (HWP Support)', <strong>100</strong>: 'Windows 7 32 bit'
|
11
|
+
# @param [Boolean] no_share_third_party When set to 'true', the sample is never shared with any third party. Default: true
|
12
|
+
# @param [Boolean] allow_community_access When set to 'true', the sample will be available for the community. Default: true (Note: when 'no_share_third_party' is set to 'false', it won't be possible to set different value than 'true')
|
13
|
+
# @param [Boolean] no_hash_lookup Default: false
|
14
|
+
# @param [String] action_script Optional custom runtime action script. Available runtime scripts: **default**, **default_maxantievasion**, **default_randomfiles**, **default_randomtheme**, **default_openie**
|
15
|
+
# @param [Boolean] hybrid_analysis When set to 'false', no memory dumps or memory dump analysis will take place. Default: true
|
16
|
+
# @param [Boolean] experimental_anti_evasion When set to 'true', will set all experimental anti-evasion options of the Kernelmode Monitor. Default: false
|
17
|
+
# @param [Boolean] script_logging When set to 'true', will set the in-depth script logging engine of the Kernelmode Monitor. Default: false
|
18
|
+
# @param [Boolean] input_sample_tampering When set to 'true', will allow experimental anti-evasion options of the Kernelmode Monitor that tamper with the input sample. Default: false
|
19
|
+
# @param [Boolean] tor_enabled_analysis When set to 'true', will route the network traffic for the analysis via TOR (if properly configured on the server). Default: false
|
20
|
+
# @param [Boolean] offline_analysis When set to “true”, will disable outbound network traffic for the guest VM (takes precedence over ‘tor_enabled_analysis’ if both are provided). Default: false
|
21
|
+
# @param [String] email Optional E-Mail address that may be associated with the submission for notification
|
22
|
+
# @param [String] comment Optional comment text that may be associated with the submission/sample (Note: you can use #tags here)
|
23
|
+
# @param [String] custom_date_time Optional custom date/time that can be set for the analysis system. Expected format: yyyy-MM-dd HH:mm
|
24
|
+
# @param [String] custom_cmd_line Optional commandline that should be passed to the analysis file
|
25
|
+
# @param [Integer] custom_run_time Optional runtime duration (in seconds)
|
26
|
+
# @param [String] submit_name Optional 'submission name' field that will be used for file type detection and analysis
|
27
|
+
# @param [String] document_password Optional document password that will be used to fill-in Adobe/Office password prompts
|
28
|
+
# @param [String] environment_variable Optional system environment value. The value is provided in the format: name=value
|
29
|
+
#
|
30
|
+
# @return [Hash]
|
31
|
+
#
|
32
|
+
def file(file:, environment_id:, no_share_third_party: nil, allow_community_access: nil, no_hash_lookup: nil, action_script: nil, hybrid_analysis: nil, experimental_anti_evasion: nil, script_logging: nil, input_sample_tampering: nil, tor_enabled_analysis: nil, offline_analysis: nil, email: nil, comment: nil, custom_date_time: nil, custom_cmd_line: nil, custom_run_time: nil, submit_name: nil, document_password: nil, environment_variable: nil)
|
33
|
+
name = File.basename(file)
|
34
|
+
data = File.read(file)
|
35
|
+
params = {
|
36
|
+
environment_id: environment_id,
|
37
|
+
no_share_third_party: no_share_third_party,
|
38
|
+
allow_community_access: allow_community_access,
|
39
|
+
no_hash_lookup: no_hash_lookup,
|
40
|
+
action_script: action_script,
|
41
|
+
hybrid_analysis: hybrid_analysis,
|
42
|
+
experimental_anti_evasion: experimental_anti_evasion,
|
43
|
+
script_logging: script_logging,
|
44
|
+
input_sample_tampering: input_sample_tampering,
|
45
|
+
tor_enabled_analysis: tor_enabled_analysis,
|
46
|
+
offline_analysis: offline_analysis,
|
47
|
+
email: email,
|
48
|
+
omment: comment,
|
49
|
+
custom_date_time: custom_date_time,
|
50
|
+
custom_cmd_line: custom_cmd_line,
|
51
|
+
custom_run_time: custom_run_time,
|
52
|
+
submit_name: submit_name,
|
53
|
+
document_password: document_password,
|
54
|
+
environment_variable: environment_variable
|
55
|
+
}.compact
|
56
|
+
_post_with_file("/submit/file", file: data, filename: name, params: params) { |json| json }
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# submit a website's url or url with file for analysis
|
61
|
+
#
|
62
|
+
# @param [String] url
|
63
|
+
# @param [Integer] environment_id Environment ID. Available environments ID: <strong>300</strong>: 'Linux (Ubuntu 16.04, 64 bit)', <strong>200</strong>: 'Android Static Analysis', <strong>120</strong>: 'Windows 7 64 bit', <strong>110</strong>: 'Windows 7 32 bit (HWP Support)', <strong>100</strong>: 'Windows 7 32 bit'
|
64
|
+
# @param [Boolean] no_share_third_party When set to 'true', the sample is never shared with any third party. Default: true
|
65
|
+
# @param [Boolean] allow_community_access When set to 'true', the sample will be available for the community. Ignored unless url contains a file, in other case, there will be a 'true' value. Default: true
|
66
|
+
# @param [Boolean] no_hash_lookup Default: false
|
67
|
+
# @param [String] action_script Optional custom runtime action script. Available runtime scripts: **default**, **default_maxantievasion**, **default_randomfiles**, **default_randomtheme**, **default_openie**
|
68
|
+
# @param [Boolean] hybrid_analysis When set to 'false', no memory dumps or memory dump analysis will take place. Default: true
|
69
|
+
# @param [Boolean] experimental_anti_evasion When set to 'true', will set all experimental anti-evasion options of the Kernelmode Monitor. Default: false
|
70
|
+
# @param [Boolean] script_logging When set to 'true', will set the in-depth script logging engine of the Kernelmode Monitor. Default: false
|
71
|
+
# @param [Boolean] input_sample_tampering When set to 'true', will allow experimental anti-evasion options of the Kernelmode Monitor that tamper with the input sample. Default: false
|
72
|
+
# @param [Boolean] tor_enabled_analysis When set to 'true', will route the network traffic for the analysis via TOR (if properly configured on the server). Default: false
|
73
|
+
# @param [Boolean] offline_analysis When set to “true”, will disable outbound network traffic for the guest VM (takes precedence over ‘tor_enabled_analysis’ if both are provided). Default: false
|
74
|
+
# @param [String] email Optional E-Mail address that may be associated with the submission for notification
|
75
|
+
# @param [String] comment Optional comment text that may be associated with the submission/sample (Note: you can use #tags here)
|
76
|
+
# @param [String] custom_date_time Optional custom date/time that can be set for the analysis system. Expected format: yyyy-MM-dd HH:mm
|
77
|
+
# @param [String] custom_cmd_line Optional commandline that should be passed to the analysis file
|
78
|
+
# @param [Integer] custom_run_time Optional runtime duration (in seconds)
|
79
|
+
# @param [String] submit_name Optional 'submission name' field that will be used for file type detection and analysis. Ignored unless url contains a file
|
80
|
+
# @param [Integer] priority Optional priority value between 0 (default) and 100 (highest)
|
81
|
+
# @param [String] document_password Optional document password that will be used to fill-in Adobe/Office password prompts. Ignored unless url contains a file
|
82
|
+
# @param [String] environment_variable Optional system environment value. The value is provided in the format: name=value
|
83
|
+
#
|
84
|
+
# @return [Hash]
|
85
|
+
#
|
86
|
+
def url(url:, environment_id:, no_share_third_party: nil, allow_community_access: nil, no_hash_lookup: nil, action_script: nil, hybrid_analysis: nil, experimental_anti_evasion: nil, script_logging: nil, input_sample_tampering: nil, tor_enabled_analysis: nil, offline_analysis: nil, email: nil, comment: nil, custom_date_time: nil, custom_cmd_line: nil, custom_run_time: nil, submit_name: nil, priority: nil, document_password: nil, environment_variable: nil)
|
87
|
+
params = {
|
88
|
+
url: url,
|
89
|
+
environment_id: environment_id,
|
90
|
+
no_share_third_party: no_share_third_party,
|
91
|
+
allow_community_access: allow_community_access,
|
92
|
+
no_hash_lookup: no_hash_lookup,
|
93
|
+
action_script: action_script,
|
94
|
+
hybrid_analysis: hybrid_analysis,
|
95
|
+
experimental_anti_evasion: experimental_anti_evasion,
|
96
|
+
script_logging: script_logging,
|
97
|
+
input_sample_tampering: input_sample_tampering,
|
98
|
+
tor_enabled_analysis: tor_enabled_analysis,
|
99
|
+
offline_analysis: offline_analysis,
|
100
|
+
email: email,
|
101
|
+
comment: comment,
|
102
|
+
custom_date_time: custom_date_time,
|
103
|
+
custom_cmd_line: custom_cmd_line,
|
104
|
+
custom_run_time: custom_run_time,
|
105
|
+
submit_name: submit_name,
|
106
|
+
priority: priority,
|
107
|
+
document_password: document_password,
|
108
|
+
environment_variable: environment_variable
|
109
|
+
}.compact
|
110
|
+
_post("/submit/url", params) { |json| json }
|
111
|
+
end
|
112
|
+
|
113
|
+
#
|
114
|
+
# submit a file by url for analysis
|
115
|
+
#
|
116
|
+
# @param [String] url url of file to submit
|
117
|
+
# @param [Integer] environment_id Environment ID. Available environments ID: <strong>300</strong>: 'Linux (Ubuntu 16.04, 64 bit)', <strong>200</strong>: 'Android Static Analysis', <strong>120</strong>: 'Windows 7 64 bit', <strong>110</strong>: 'Windows 7 32 bit (HWP Support)', <strong>100</strong>: 'Windows 7 32 bit'
|
118
|
+
# @param [Boolean, nil] no_share_third_party When set to 'true', the sample is never shared with any third party. Default: true
|
119
|
+
# @param [Boolean, nil] allow_community_access When set to 'true', the sample will be available for the community. Default: true (Note: when 'no_share_third_party' is set to 'false', it won't be possible to set different value than 'true')
|
120
|
+
# @param [Boolean, nil] no_hash_lookup Default: false
|
121
|
+
# @param [String, nil] action_script Optional custom runtime action script. Available runtime scripts: **default**, **default_maxantievasion**, **default_randomfiles**, **default_randomtheme**, **default_openie**
|
122
|
+
# @param [Boolean, nil] hybrid_analysis When set to 'false', no memory dumps or memory dump analysis will take place. Default: true
|
123
|
+
# @param [Boolean, nil] experimental_anti_evasion When set to 'true', will set all experimental anti-evasion options of the Kernelmode Monitor. Default: false
|
124
|
+
# @param [Boolean, nil] script_logging When set to 'true', will set the in-depth script logging engine of the Kernelmode Monitor. Default: false
|
125
|
+
# @param [Boolean, nil] input_sample_tampering When set to 'true', will allow experimental anti-evasion options of the Kernelmode Monitor that tamper with the input sample. Default: false
|
126
|
+
# @param [Boolean, nil] tor_enabled_analysis When set to 'true', will route the network traffic for the analysis via TOR (if properly configured on the server). Default: false
|
127
|
+
# @param [Boolean, nil] offline_analysis When set to “true”, will disable outbound network traffic for the guest VM (takes precedence over ‘tor_enabled_analysis’ if both are provided). Default: false
|
128
|
+
# @param [String, nil] email Optional E-Mail address that may be associated with the submission for notification
|
129
|
+
# @param [String, nil] comment Optional comment text that may be associated with the submission/sample (Note: you can use #tags here)
|
130
|
+
# @param [String, nil] custom_date_time Optional custom date/time that can be set for the analysis system. Expected format: yyyy-MM-dd HH:mm
|
131
|
+
# @param [String, nil] custom_cmd_line Optional commandline that should be passed to the analysis file
|
132
|
+
# @param [Integer, nil] custom_run_time Optional runtime duration (in seconds)
|
133
|
+
# @param [String, nil] submit_name Optional 'submission name' field that will be used for file type detection and analysis
|
134
|
+
# @param [String, nil] document_password Optional document password that will be used to fill-in Adobe/Office password prompts
|
135
|
+
# @param [String, nil] environment_variable Optional system environment value. The value is provided in the format: name=value
|
136
|
+
#
|
137
|
+
# @return [Hash]
|
138
|
+
#
|
139
|
+
def url_to_file(url:, environment_id:, no_share_third_party: nil, allow_community_access: nil, no_hash_lookup: nil, action_script: nil, hybrid_analysis: nil, experimental_anti_evasion: nil, script_logging: nil, input_sample_tampering: nil, tor_enabled_analysis: nil, offline_analysis: nil, email: nil, comment: nil, custom_date_time: nil, custom_cmd_line: nil, custom_run_time: nil, submit_name: nil, document_password: nil, environment_variable: nil)
|
140
|
+
params = {
|
141
|
+
url: url,
|
142
|
+
environment_id: environment_id,
|
143
|
+
no_share_third_party: no_share_third_party,
|
144
|
+
allow_community_access: allow_community_access,
|
145
|
+
no_hash_lookup: no_hash_lookup,
|
146
|
+
action_script: action_script,
|
147
|
+
hybrid_analysis: hybrid_analysis,
|
148
|
+
experimental_anti_evasion: experimental_anti_evasion,
|
149
|
+
script_logging: script_logging,
|
150
|
+
input_sample_tampering: input_sample_tampering,
|
151
|
+
tor_enabled_analysis: tor_enabled_analysis,
|
152
|
+
offline_analysis: offline_analysis,
|
153
|
+
email: email,
|
154
|
+
comment: comment,
|
155
|
+
custom_date_time: custom_date_time,
|
156
|
+
custom_cmd_line: custom_cmd_line,
|
157
|
+
custom_run_time: custom_run_time,
|
158
|
+
submit_name: submit_name,
|
159
|
+
document_password: document_password,
|
160
|
+
environment_variable: environment_variable
|
161
|
+
}.compact
|
162
|
+
_post("/submit/url-to-file", params) { |json| json }
|
163
|
+
end
|
164
|
+
|
165
|
+
#
|
166
|
+
# submit a url for analysis
|
167
|
+
#
|
168
|
+
# @param [String] url url for analyze
|
169
|
+
# @param [Integer] environment_id Environment ID. Available environments ID: <strong>300</strong>: 'Linux (Ubuntu 16.04, 64 bit)', <strong>200</strong>: 'Android Static Analysis', <strong>120</strong>: 'Windows 7 64 bit', <strong>110</strong>: 'Windows 7 32 bit (HWP Support)', <strong>100</strong>: 'Windows 7 32 bit'
|
170
|
+
# @param [Boolean, nil] no_share_third_party When set to 'true', the sample is never shared with any third party. Default: true
|
171
|
+
# @param [Boolean, nil] no_hash_lookup Default: false
|
172
|
+
# @param [String, nil] action_script
|
173
|
+
# @param [Boolean, nil] hybrid_analysis When set to 'false', no memory dumps or memory dump analysis will take place. Default: true
|
174
|
+
# @param [Boolean, nil] experimental_anti_evasion When set to 'true', will set all experimental anti-evasion options of the Kernelmode Monitor. Default: false
|
175
|
+
# @param [Boolean, nil] script_logging When set to 'true', will set the in-depth script logging engine of the Kernelmode Monitor. Default: false
|
176
|
+
# @param [Boolean, nil] input_sample_tampering When set to 'true', will allow experimental anti-evasion options of the Kernelmode Monitor that tamper with the input sample. Default: false
|
177
|
+
# @param [Boolean, nil] tor_enabled_analysis When set to 'true', will route the network traffic for the analysis via TOR (if properly configured on the server). Default: false
|
178
|
+
# @param [Boolean, nil] offline_analysis When set to “true”, will disable outbound network traffic for the guest VM (takes precedence over ‘tor_enabled_analysis’ if both are provided). Default: false
|
179
|
+
# @param [String, nil] email Optional E-Mail address that may be associated with the submission for notification
|
180
|
+
# @param [String, nil] comment Optional comment text that may be associated with the submission/sample (Note: you can use #tags here)
|
181
|
+
# @param [String, nil] custom_date_time Optional custom date/time that can be set for the analysis system. Expected format: yyyy-MM-dd HH:mm
|
182
|
+
# @param [String, nil] custom_cmd_line Optional commandline that should be passed to the analysis file
|
183
|
+
# @param [Integer, nil] custom_run_time Optional runtime duration (in seconds)
|
184
|
+
# @param [String, nil] environment_variable
|
185
|
+
#
|
186
|
+
# @return [Hash]
|
187
|
+
#
|
188
|
+
def url_for_analysis(url:, environment_id:, no_share_third_party: nil, no_hash_lookup: nil, action_script: nil, hybrid_analysis: nil, experimental_anti_evasion: nil, script_logging: nil, input_sample_tampering: nil, tor_enabled_analysis: nil, offline_analysis: nil, email: nil, comment: nil, custom_date_time: nil, custom_cmd_line: nil, custom_run_time: nil, environment_variable: nil)
|
189
|
+
params = {
|
190
|
+
url: url,
|
191
|
+
environment_id: environment_id,
|
192
|
+
no_share_third_party: no_share_third_party,
|
193
|
+
no_hash_lookup: no_hash_lookup,
|
194
|
+
action_script: action_script,
|
195
|
+
hybrid_analysis: hybrid_analysis,
|
196
|
+
experimental_anti_evasion: experimental_anti_evasion,
|
197
|
+
script_logging: script_logging,
|
198
|
+
input_sample_tampering: input_sample_tampering,
|
199
|
+
tor_enabled_analysis: tor_enabled_analysis,
|
200
|
+
offline_analysis: offline_analysis,
|
201
|
+
email: email,
|
202
|
+
comment: comment,
|
203
|
+
custom_date_time: custom_date_time,
|
204
|
+
custom_cmd_line: custom_cmd_line,
|
205
|
+
custom_run_time: custom_run_time,
|
206
|
+
environment_variable: environment_variable
|
207
|
+
}.compact
|
208
|
+
_post("/submit/url-for-analysis", params) { |json| json }
|
209
|
+
end
|
210
|
+
|
211
|
+
#
|
212
|
+
# determine a SHA256 that an online file or URL submission will have when being processed by the system. Note: this is useful when looking up URL analysis
|
213
|
+
#
|
214
|
+
# @param [String] url Url to check
|
215
|
+
#
|
216
|
+
# @return [Hash]
|
217
|
+
#
|
218
|
+
def hash_for_url(url)
|
219
|
+
params = { url: url }.compact
|
220
|
+
_post("/submit/hash-for-url", params) { |json| json }
|
221
|
+
end
|
222
|
+
|
223
|
+
#
|
224
|
+
# submit dropped file for analysis
|
225
|
+
#
|
226
|
+
# @param [String] id Id of the report from which the file should be analyzed. Id in one of format: 'jobId' or 'sha256:environmentId'
|
227
|
+
# @param [String] file_hash SHA256 of dropped file for analyze
|
228
|
+
# @param [Boolean, nil] no_share_third_party When set to 'true', the sample is never shared with any third party. Default: true
|
229
|
+
#
|
230
|
+
# @return [Hash]
|
231
|
+
#
|
232
|
+
def dropped_file(id:, file_hash:, no_share_third_party: nil)
|
233
|
+
params = { id: id, file_hash: file_hash, no_share_third_party: no_share_third_party }.compact
|
234
|
+
_post("/submit/dropped-file", params) { |json| json }
|
235
|
+
end
|
236
|
+
end
|
237
|
+
end
|
238
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module HybridAnalysis
|
4
|
+
module Clients
|
5
|
+
class System < Client
|
6
|
+
#
|
7
|
+
# return system elements versions
|
8
|
+
#
|
9
|
+
# @return [Hash]
|
10
|
+
#
|
11
|
+
def version
|
12
|
+
_get("/system/version") { |json| json }
|
13
|
+
end
|
14
|
+
|
15
|
+
#
|
16
|
+
# return information about available execution environments
|
17
|
+
#
|
18
|
+
# @return [Array]
|
19
|
+
#
|
20
|
+
def environments
|
21
|
+
_get("/system/environments") { |json| json }
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# contains a variety of webservice statistics, e.g. the total number of submissions, unique submissions, signature ID distribution, user comments, etc.
|
26
|
+
#
|
27
|
+
# @return [Hash]
|
28
|
+
#
|
29
|
+
def stats
|
30
|
+
_get("/system/stats") { |json| json }
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# a partial information about instance configuration
|
35
|
+
#
|
36
|
+
# @return [Hash]
|
37
|
+
#
|
38
|
+
def configuration
|
39
|
+
_get("/system/configuration") { |json| json }
|
40
|
+
end
|
41
|
+
|
42
|
+
#
|
43
|
+
# return information about queue size
|
44
|
+
#
|
45
|
+
# @return [Hash]
|
46
|
+
#
|
47
|
+
def queue_size
|
48
|
+
_get("/system/queue-size") { |json| json }
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# return total number of submission
|
53
|
+
#
|
54
|
+
# @return [Hash]
|
55
|
+
#
|
56
|
+
def total_submissions
|
57
|
+
_get("/system/total-submissions") { |json| json }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
metadata
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hybridanalysisx
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Manabu Niseki
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-01-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: coveralls
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.8'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '13.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '13.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.9'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.9'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: vcr
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '5.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.8'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.8'
|
97
|
+
description: Yet another Hybrid Analysis API wrapper for Ruby
|
98
|
+
email:
|
99
|
+
- manabu.niseki@gmail.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- ".rspec"
|
106
|
+
- ".travis.yml"
|
107
|
+
- Gemfile
|
108
|
+
- LICENSE
|
109
|
+
- README.md
|
110
|
+
- Rakefile
|
111
|
+
- bin/console
|
112
|
+
- bin/setup
|
113
|
+
- hybridanalysisx.gemspec
|
114
|
+
- lib/hybridanalysis.rb
|
115
|
+
- lib/hybridanalysis/api.rb
|
116
|
+
- lib/hybridanalysis/clients/abuse_reports.rb
|
117
|
+
- lib/hybridanalysis/clients/client.rb
|
118
|
+
- lib/hybridanalysis/clients/feed.rb
|
119
|
+
- lib/hybridanalysis/clients/file_collection.rb
|
120
|
+
- lib/hybridanalysis/clients/overview.rb
|
121
|
+
- lib/hybridanalysis/clients/quick_scan.rb
|
122
|
+
- lib/hybridanalysis/clients/report.rb
|
123
|
+
- lib/hybridanalysis/clients/search.rb
|
124
|
+
- lib/hybridanalysis/clients/submit.rb
|
125
|
+
- lib/hybridanalysis/clients/system.rb
|
126
|
+
- lib/hybridanalysis/version.rb
|
127
|
+
- lib/hybridanalysisx.rb
|
128
|
+
homepage: https://github.com/ninoseki/hybridanalysisx
|
129
|
+
licenses:
|
130
|
+
- MIT
|
131
|
+
metadata:
|
132
|
+
homepage_uri: https://github.com/ninoseki/hybridanalysisx
|
133
|
+
source_code_uri: https://github.com/ninoseki/hybridanalysisx
|
134
|
+
changelog_uri: https://github.com/ninoseki/hybridanalysisx/CHANGELOG.md
|
135
|
+
post_install_message:
|
136
|
+
rdoc_options: []
|
137
|
+
require_paths:
|
138
|
+
- lib
|
139
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 2.6.0
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
requirements: []
|
150
|
+
rubygems_version: 3.0.3
|
151
|
+
signing_key:
|
152
|
+
specification_version: 4
|
153
|
+
summary: Yet another Hybrid Analysis API wrapper for Ruby
|
154
|
+
test_files: []
|