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.
@@ -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
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HybridAnalysis
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hybridanalysis"
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: []