hybridanalysisx 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []