hybridanalysisx 0.1.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/.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: []
|