uirusu 1.0.0 → 1.0.1
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 +4 -4
- data/Gemfile +5 -4
- data/Gemfile.lock +30 -6
- data/LICENSE +16 -22
- data/README.markdown +8 -4
- data/Rakefile +16 -22
- data/bin/uirusu +19 -23
- data/docs/NEWS.markdown +17 -3
- data/lib/uirusu.rb +18 -29
- data/lib/uirusu/cli/application.rb +56 -45
- data/lib/uirusu/scanner.rb +17 -23
- data/lib/uirusu/version.rb +28 -0
- data/lib/uirusu/vtcomment.rb +16 -22
- data/lib/uirusu/vtfile.rb +16 -22
- data/lib/uirusu/vtresult.rb +18 -23
- data/lib/uirusu/vturl.rb +16 -22
- data/uirusu.gemspec +13 -10
- metadata +93 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8fba998a37e7972030ea7e2e963634c191d1e0e0
|
|
4
|
+
data.tar.gz: 2271e8d73ccf95edba19e4248a0f92d317c07234
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f7d43fe9f146334af62dfa4cc425fb9401af52645b4c5baab6b641f24b9c03944ceb38ace7e1d8739333421a09dd3a3474d430efec8e4917b5d51bf38db7e42b
|
|
7
|
+
data.tar.gz: dfd744984a492dd2103eca9f2474da73a716a9f4a4d5f335ac2a2cf4709e5767da855aa1a5ca9f4433660f164f5193ecbac1479fdfaf6d52f3588c6ce2738c5d
|
data/Gemfile
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
source "https://rubygems.org"
|
|
2
|
+
gemspec
|
|
2
3
|
|
|
3
|
-
gem 'json', '~> 1.8.3'
|
|
4
|
-
gem 'rest-client', '~> 1.6.9'
|
|
4
|
+
#gem 'json', '~> 1.8.3'
|
|
5
|
+
#gem 'rest-client', '~> 1.6.9'
|
|
5
6
|
|
|
6
|
-
gem 'rake', "~> 10.4.2"
|
|
7
|
-
gem 'minitest', '~> 5.0'
|
|
7
|
+
#gem 'rake', "~> 10.4.2"
|
|
8
|
+
#gem 'minitest', '~> 5.0'
|
data/Gemfile.lock
CHANGED
|
@@ -1,17 +1,41 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
uirusu (1.0.1)
|
|
5
|
+
json (~> 1.8, >= 1.8.3)
|
|
6
|
+
rest-client (~> 1.8, >= 1.8.0)
|
|
7
|
+
|
|
1
8
|
GEM
|
|
2
9
|
remote: https://rubygems.org/
|
|
3
10
|
specs:
|
|
11
|
+
domain_name (0.5.20160615)
|
|
12
|
+
unf (>= 0.0.5, < 1.0.0)
|
|
13
|
+
http-cookie (1.0.2)
|
|
14
|
+
domain_name (~> 0.5)
|
|
4
15
|
json (1.8.3)
|
|
5
|
-
mime-types (
|
|
6
|
-
|
|
7
|
-
|
|
16
|
+
mime-types (2.99.2)
|
|
17
|
+
minitest (5.9.0)
|
|
18
|
+
netrc (0.11.0)
|
|
19
|
+
power_assert (0.3.0)
|
|
20
|
+
rest-client (1.8.0)
|
|
21
|
+
http-cookie (>= 1.0.2, < 2.0)
|
|
22
|
+
mime-types (>= 1.16, < 3.0)
|
|
23
|
+
netrc (~> 0.7)
|
|
24
|
+
test-unit (3.2.0)
|
|
25
|
+
power_assert
|
|
26
|
+
unf (0.1.4)
|
|
27
|
+
unf_ext
|
|
28
|
+
unf_ext (0.0.7.2)
|
|
29
|
+
yard (0.8.7.6)
|
|
8
30
|
|
|
9
31
|
PLATFORMS
|
|
10
32
|
ruby
|
|
11
33
|
|
|
12
34
|
DEPENDENCIES
|
|
13
|
-
|
|
14
|
-
|
|
35
|
+
minitest (~> 5.0, >= 5.9)
|
|
36
|
+
test-unit (~> 3.2, >= 3.2)
|
|
37
|
+
uirusu!
|
|
38
|
+
yard (~> 0.8, >= 0.8.7.6)
|
|
15
39
|
|
|
16
40
|
BUNDLED WITH
|
|
17
|
-
1.
|
|
41
|
+
1.12.5
|
data/LICENSE
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
Copyright (c)
|
|
2
|
-
All rights reserved.
|
|
1
|
+
Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
documentation and/or other materials provided with the distribution.
|
|
12
|
-
* Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
may be used to endorse or promote products derived from this software
|
|
14
|
-
without specific prior written permission.
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
data/README.markdown
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# uirusu [](https://travis-ci.org/arxopia/uirusu)
|
|
1
|
+
# uirusu [](http://badge.fury.io/rb/uirusu) [](https://travis-ci.org/arxopia/uirusu) [](https://codeclimate.com/github/arxopia/uirusu) [](http://inch-ci.org/github/arxopia/uirusu)
|
|
2
2
|
|
|
3
3
|
uirusu is an [Virustotal](http://www.virustotal.com) automation and convenience tool for hash, file and URL submission.
|
|
4
4
|
|
|
5
|
-
The current version is 1.0.
|
|
5
|
+
The current version is 1.0.1.
|
|
6
6
|
|
|
7
7
|
## Requirements
|
|
8
8
|
|
|
@@ -22,6 +22,10 @@ The current version is 1.0.0.
|
|
|
22
22
|
### Edit your configuration file with API key
|
|
23
23
|
% $EDITOR ~/.uirusu
|
|
24
24
|
|
|
25
|
+
### Alternatively you can set Environment variables without a config file
|
|
26
|
+
% export UIRUSU_VT_API_KEY=<YOUR_KEY_HERE>
|
|
27
|
+
% export UIRUSU_VT_TIMEOUT=25
|
|
28
|
+
|
|
25
29
|
## Usage
|
|
26
30
|
|
|
27
31
|
### Searching a file of hashes
|
|
@@ -74,7 +78,7 @@ print results if results != nil
|
|
|
74
78
|
```
|
|
75
79
|
|
|
76
80
|
##License
|
|
77
|
-
Uirusu is licensed under the
|
|
81
|
+
Uirusu is licensed under the MIT license see the `LICENSE` file for the full license.
|
|
78
82
|
|
|
79
83
|
## Contact
|
|
80
|
-
You can reach the team at
|
|
84
|
+
You can reach the team at jacob.hammack[@]arxopia[dot]com, http://www.arxopia.com, or contact hammackj on IRC @ irc.freenode.net, #risu
|
data/Rakefile
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
|
28
22
|
|
data/bin/uirusu
CHANGED
|
@@ -1,35 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
# Copyright (c)
|
|
4
|
-
# All rights reserved.
|
|
3
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
5
4
|
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
8
11
|
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
12
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
13
|
-
# documentation and/or other materials provided with the distribution.
|
|
14
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
15
|
-
# may be used to endorse or promote products derived from this software
|
|
16
|
-
# without specific prior written permission.
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in
|
|
13
|
+
# all copies or substantial portions of the Software.
|
|
17
14
|
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
26
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
27
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
# THE SOFTWARE.
|
|
28
22
|
|
|
29
23
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/../lib'))
|
|
30
24
|
|
|
31
|
-
require 'rubygems'
|
|
32
25
|
require 'uirusu'
|
|
33
26
|
|
|
27
|
+
$stdout.sync = true
|
|
28
|
+
$stderr.sync = true
|
|
29
|
+
|
|
34
30
|
app = Uirusu::CLI::Application.new
|
|
35
31
|
app.main(ARGV)
|
data/docs/NEWS.markdown
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
# News
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# 1.0.1 (July 1, 2016)
|
|
4
|
+
- Fixed email address
|
|
5
|
+
- Changed License to MIT
|
|
6
|
+
- Updated Dependencies to modern versions
|
|
7
|
+
- Fixed issue with Gemfile / Gemspec build on travis.ci
|
|
8
|
+
- Fixed issue #10; The command line utility will check the environment variables UIRUSU_VT_API_KEY and UIRUSU_VT_TIMEOUT if a config file doesn't exist. Allowing config file free installs to function.
|
|
9
|
+
- Various other code clean ups for warnings
|
|
10
|
+
|
|
11
|
+
# 1.0.0 (December 1, 2016)
|
|
12
|
+
- Fixed Rakefile issue
|
|
13
|
+
|
|
14
|
+
# 0.0.11 (December 1, 2016)
|
|
15
|
+
- Fixed Gemspec issue
|
|
16
|
+
|
|
17
|
+
# 0.0.10 (November 30, 2016)
|
|
4
18
|
- Added accessor for Results in the VTResults class
|
|
5
19
|
- Added initial test for VTFile
|
|
6
20
|
- Added initial test for VTUrl
|
|
7
21
|
- Added initial test for Application class
|
|
8
22
|
- Updated docs on various classes
|
|
9
23
|
|
|
10
|
-
# 0.0.9 (
|
|
24
|
+
# 0.0.9 (November 22, 2015)
|
|
11
25
|
- Adds empty options hash as arg to to_json override [kitplummer]
|
|
12
26
|
|
|
13
|
-
# 0.0.8 (
|
|
27
|
+
# 0.0.8 (November 20, 2015)
|
|
14
28
|
- Remove double array bracket [kitplummer]
|
|
15
29
|
|
|
16
30
|
# 0.0.7 (August 31, 2015)
|
data/lib/uirusu.rb
CHANGED
|
@@ -1,37 +1,25 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
module Uirusu
|
|
28
|
-
|
|
29
|
-
VERSION = "1.0.0"
|
|
30
|
-
HOME_PAGE = "http://arxopia.github.io/uirusu"
|
|
31
|
-
AUTHOR = "Jacob Hammack"
|
|
32
|
-
EMAIL = "uirusu@arxopia.com"
|
|
33
|
-
|
|
34
|
-
CONFIG_FILE = Dir.home + "/.uirusu"
|
|
22
|
+
CONFIG_FILE = "#{Dir.home}/.uirusu"
|
|
35
23
|
VT_API = "https://www.virustotal.com/vtapi/v2"
|
|
36
24
|
RESULT_FIELDS = [ :hash, :scanner, :version, :detected, :result, :md5, :sha1, :sha256, :update, :permalink ]
|
|
37
25
|
end
|
|
@@ -41,6 +29,7 @@ require 'rest-client'
|
|
|
41
29
|
require 'optparse'
|
|
42
30
|
require 'yaml'
|
|
43
31
|
|
|
32
|
+
require 'uirusu/version'
|
|
44
33
|
require 'uirusu/vtfile'
|
|
45
34
|
require 'uirusu/vturl'
|
|
46
35
|
require 'uirusu/vtcomment'
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
module Uirusu
|
|
28
22
|
module CLI
|
|
@@ -52,7 +46,7 @@ module Uirusu
|
|
|
52
46
|
@options[:timeout] = 25
|
|
53
47
|
@options[:directory] = nil
|
|
54
48
|
|
|
55
|
-
|
|
49
|
+
opts = OptionParser.new do |opt|
|
|
56
50
|
opt.banner = "#{APP_NAME} v#{VERSION}\nJacob Hammack\n#{HOME_PAGE}\n\n"
|
|
57
51
|
opt.banner << "Usage: #{APP_NAME} <options>"
|
|
58
52
|
opt.separator('')
|
|
@@ -145,14 +139,14 @@ module Uirusu
|
|
|
145
139
|
}
|
|
146
140
|
end
|
|
147
141
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
142
|
+
if ARGV.length != 0
|
|
143
|
+
opts.parse!
|
|
144
|
+
else
|
|
145
|
+
puts opts.to_s + "\n"
|
|
146
|
+
exit
|
|
153
147
|
end
|
|
154
|
-
rescue OptionParser::MissingArgument
|
|
155
|
-
puts
|
|
148
|
+
rescue OptionParser::MissingArgument
|
|
149
|
+
puts opts.to_s + "\n"
|
|
156
150
|
exit
|
|
157
151
|
end
|
|
158
152
|
end
|
|
@@ -163,8 +157,8 @@ module Uirusu
|
|
|
163
157
|
f = File.expand_path(file)
|
|
164
158
|
|
|
165
159
|
if File.exists?(f) == false
|
|
166
|
-
File.open(f, 'w+') do |
|
|
167
|
-
|
|
160
|
+
File.open(f, 'w+') do |of|
|
|
161
|
+
of.write("virustotal: \n api-key: \n timeout: 25\n\n")
|
|
168
162
|
end
|
|
169
163
|
puts "[*] An empty #{f} has been created. Please edit and fill in the correct values."
|
|
170
164
|
else
|
|
@@ -175,11 +169,28 @@ module Uirusu
|
|
|
175
169
|
# Loads the .uirusu config file for the api key
|
|
176
170
|
#
|
|
177
171
|
def load_config (file=CONFIG_FILE)
|
|
172
|
+
|
|
173
|
+
@config = nil
|
|
174
|
+
|
|
178
175
|
f = File.expand_path(file)
|
|
179
176
|
|
|
180
177
|
if File.exists?(f)
|
|
181
178
|
@config = YAML.load_file f
|
|
182
179
|
else
|
|
180
|
+
if ENV['UIRUSU_VT_API_KEY']
|
|
181
|
+
@config = {}
|
|
182
|
+
@config['virustotal'] = {}
|
|
183
|
+
@config['virustotal']['api-key'] = ENV['UIRUSU_VT_API_KEY']
|
|
184
|
+
|
|
185
|
+
if ENV['UIRUSU_VT_TIMEOUT']
|
|
186
|
+
@config['virustotal']['timeout'] = ENV['UIRUSU_VT_TIMEOUT']
|
|
187
|
+
else
|
|
188
|
+
@config['virustotal']['timeout'] = 25
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
if @config == nil
|
|
183
194
|
STDERR.puts "[!] #{CONFIG_FILE} does not exist. Please run #{APP_NAME} --create-config, to create it."
|
|
184
195
|
exit
|
|
185
196
|
end
|
|
@@ -216,8 +227,8 @@ module Uirusu
|
|
|
216
227
|
|
|
217
228
|
if retries >= 0
|
|
218
229
|
sleep 60
|
|
219
|
-
retry
|
|
220
230
|
retries = retries - 1
|
|
231
|
+
retry
|
|
221
232
|
end
|
|
222
233
|
end
|
|
223
234
|
|
|
@@ -228,28 +239,28 @@ module Uirusu
|
|
|
228
239
|
# is requested to be rescanned.
|
|
229
240
|
result_array = result.is_a?(Array) ? result : [ result ]
|
|
230
241
|
|
|
231
|
-
result_array.collect do |
|
|
232
|
-
if
|
|
233
|
-
STDERR.puts "[*] Attempting to parse the results for: #{
|
|
234
|
-
results = mod.query_report(@config['virustotal']['api-key'],
|
|
242
|
+
result_array.collect do |r|
|
|
243
|
+
if r['response_code'] == 1
|
|
244
|
+
STDERR.puts "[*] Attempting to parse the results for: #{r['resource']}" if @options['verbose']
|
|
245
|
+
results = mod.query_report(@config['virustotal']['api-key'], r['resource'])
|
|
235
246
|
|
|
236
247
|
while results['response_code'] != 1
|
|
237
248
|
STDERR.puts "[*] File has not been analyized yet, waiting 60 seconds to try again" if @options['verbose']
|
|
238
249
|
sleep 60
|
|
239
|
-
results = mod.query_report(@config['virustotal']['api-key'],
|
|
250
|
+
results = mod.query_report(@config['virustotal']['api-key'], r['resource'])
|
|
240
251
|
end
|
|
241
252
|
|
|
242
|
-
return
|
|
253
|
+
return r['resource'], results
|
|
243
254
|
|
|
244
|
-
elsif
|
|
245
|
-
STDERR.puts "[!] Unknown Virustotal error for rescan of #{
|
|
255
|
+
elsif r['response_code'] == 0 and @options['rescan']
|
|
256
|
+
STDERR.puts "[!] Unknown Virustotal error for rescan of #{r['resource']}." if @options['verbose']
|
|
246
257
|
next
|
|
247
258
|
|
|
248
|
-
elsif
|
|
249
|
-
STDERR.puts "[!] Virustotal does not have a sample of #{
|
|
259
|
+
elsif r['response_code'] == -1 and @options['rescan']
|
|
260
|
+
STDERR.puts "[!] Virustotal does not have a sample of #{r['resource']}." if @options['verbose']
|
|
250
261
|
next
|
|
251
262
|
|
|
252
|
-
elsif
|
|
263
|
+
elsif r['response_code'] == -2
|
|
253
264
|
STDERR.puts "[!] Virustotal limits exceeded, ***do not edit the timeout values.***"
|
|
254
265
|
exit(1)
|
|
255
266
|
else
|
|
@@ -260,8 +271,8 @@ module Uirusu
|
|
|
260
271
|
STDERR.puts "[!] An error has occurred retrieving the report. Retrying 60 seconds up #{retries} retries. #{e.message}\n" if @options['verbose']
|
|
261
272
|
if retries >= 0
|
|
262
273
|
sleep 60
|
|
263
|
-
retry
|
|
264
274
|
retries = retries - 1
|
|
275
|
+
retry
|
|
265
276
|
end
|
|
266
277
|
end
|
|
267
278
|
end
|
data/lib/uirusu/scanner.rb
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
require 'pathname'
|
|
28
22
|
require 'digest/md5'
|
|
@@ -55,7 +49,7 @@ module Uirusu
|
|
|
55
49
|
digest = Digest::MD5.hexdigest(File.read(file))
|
|
56
50
|
@hash_list << digest
|
|
57
51
|
|
|
58
|
-
rescue Exception
|
|
52
|
+
rescue Exception
|
|
59
53
|
puts "[!] Cannot read #{file}"
|
|
60
54
|
end
|
|
61
55
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
2
|
+
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
9
|
+
#
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
12
|
+
#
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
module Uirusu
|
|
22
|
+
APP_NAME = "uirusu"
|
|
23
|
+
VERSION = "1.0.1"
|
|
24
|
+
HOME_PAGE = "http://arxopia.github.io/uirusu"
|
|
25
|
+
AUTHOR = "Jacob Hammack"
|
|
26
|
+
EMAIL = "jacob.hammack@arxopia.com"
|
|
27
|
+
GITHUB = "http://github.com/arxopia/uirusu"
|
|
28
|
+
end
|
data/lib/uirusu/vtcomment.rb
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
module Uirusu
|
|
28
22
|
# Module for submiting comments to Virustotal.com resources using the
|
data/lib/uirusu/vtfile.rb
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
module Uirusu
|
|
28
22
|
|
data/lib/uirusu/vtresult.rb
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
module Uirusu
|
|
28
22
|
|
|
@@ -66,7 +60,7 @@ module Uirusu
|
|
|
66
60
|
abort "[!] Invalid API KEY! Please correct this! Check ~/.uirusu"
|
|
67
61
|
else
|
|
68
62
|
permalink = result['permalink']
|
|
69
|
-
|
|
63
|
+
scan_date = result['scan_date']
|
|
70
64
|
md5 = result['md5']
|
|
71
65
|
sha1 = result['sha1']
|
|
72
66
|
sha256 = result['sha256']
|
|
@@ -88,6 +82,7 @@ module Uirusu
|
|
|
88
82
|
res[:result] = value['result']
|
|
89
83
|
end
|
|
90
84
|
|
|
85
|
+
res[:scan_date] = scan_date
|
|
91
86
|
res[:update] = value['update']
|
|
92
87
|
res[:permalink] = permalink unless permalink == nil
|
|
93
88
|
|
data/lib/uirusu/vturl.rb
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
# Copyright (c)
|
|
2
|
-
# All rights reserved.
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
|
3
2
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
6
9
|
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
|
13
|
-
# may be used to endorse or promote products derived from this software
|
|
14
|
-
# without specific prior written permission.
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
15
12
|
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
# THE SOFTWARE.
|
|
26
20
|
|
|
27
21
|
module Uirusu
|
|
28
22
|
#
|
data/uirusu.gemspec
CHANGED
|
@@ -27,29 +27,32 @@
|
|
|
27
27
|
base = __FILE__
|
|
28
28
|
$:.unshift(File.join(File.dirname(base), 'lib'))
|
|
29
29
|
|
|
30
|
-
require 'uirusu'
|
|
30
|
+
require 'uirusu/version'
|
|
31
31
|
|
|
32
32
|
Gem::Specification.new do |s|
|
|
33
33
|
s.name = Uirusu::APP_NAME
|
|
34
34
|
s.version = Uirusu::VERSION
|
|
35
35
|
s.homepage = Uirusu::HOME_PAGE
|
|
36
|
-
s.summary = Uirusu::APP_NAME
|
|
37
|
-
s.description = "uirusu is library for interacting with Virustotal.org"
|
|
38
|
-
s.license = "BSD"
|
|
39
|
-
|
|
40
36
|
s.author = Uirusu::AUTHOR
|
|
41
37
|
s.email = Uirusu::EMAIL
|
|
42
38
|
|
|
39
|
+
s.summary = Uirusu::APP_NAME
|
|
40
|
+
s.description = "uirusu is tool and REST library for interacting with Virustotal.org"
|
|
41
|
+
s.license = "MIT"
|
|
42
|
+
|
|
43
43
|
s.files = Dir['[A-Z]*'] + Dir['lib/**/*'] + ['uirusu.gemspec']
|
|
44
|
-
s.default_executable =
|
|
45
|
-
s.executables = [
|
|
44
|
+
s.default_executable = Uirusu::APP_NAME
|
|
45
|
+
s.executables = ["#{Uirusu::APP_NAME}"]
|
|
46
46
|
s.require_paths = ["lib"]
|
|
47
47
|
|
|
48
|
-
s.required_ruby_version = '>= 2.0.0'
|
|
49
|
-
|
|
50
48
|
s.has_rdoc = 'yard'
|
|
51
49
|
s.extra_rdoc_files = ["README.markdown", "LICENSE", "docs/NEWS.markdown", "docs/TODO.markdown"]
|
|
52
50
|
|
|
51
|
+
s.add_runtime_dependency 'rake', '~> 11.2', '>= 11.2.2'
|
|
53
52
|
s.add_runtime_dependency 'json', '~> 1.8', '>= 1.8.3'
|
|
54
|
-
s.add_runtime_dependency 'rest-client', '~> 1.
|
|
53
|
+
s.add_runtime_dependency 'rest-client', '~> 1.8', '>= 1.8.0'
|
|
54
|
+
|
|
55
|
+
s.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.6'
|
|
56
|
+
s.add_development_dependency 'minitest', '~> 5.0', '>= 5.9'
|
|
57
|
+
s.add_development_dependency 'test-unit', '~> 3.2', ">= 3.2"
|
|
55
58
|
end
|
metadata
CHANGED
|
@@ -1,15 +1,35 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: uirusu
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jacob Hammack
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-07-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rake
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '11.2'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 11.2.2
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - "~>"
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '11.2'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 11.2.2
|
|
13
33
|
- !ruby/object:Gem::Dependency
|
|
14
34
|
name: json
|
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -36,22 +56,82 @@ dependencies:
|
|
|
36
56
|
requirements:
|
|
37
57
|
- - "~>"
|
|
38
58
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '1.
|
|
59
|
+
version: '1.8'
|
|
40
60
|
- - ">="
|
|
41
61
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: 1.
|
|
62
|
+
version: 1.8.0
|
|
43
63
|
type: :runtime
|
|
44
64
|
prerelease: false
|
|
45
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
66
|
requirements:
|
|
47
67
|
- - "~>"
|
|
48
68
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '1.
|
|
69
|
+
version: '1.8'
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: 1.8.0
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
74
|
+
name: yard
|
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
|
76
|
+
requirements:
|
|
77
|
+
- - "~>"
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: '0.8'
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 0.8.7.6
|
|
83
|
+
type: :development
|
|
84
|
+
prerelease: false
|
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0.8'
|
|
90
|
+
- - ">="
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: 0.8.7.6
|
|
93
|
+
- !ruby/object:Gem::Dependency
|
|
94
|
+
name: minitest
|
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
|
96
|
+
requirements:
|
|
97
|
+
- - "~>"
|
|
98
|
+
- !ruby/object:Gem::Version
|
|
99
|
+
version: '5.0'
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '5.9'
|
|
103
|
+
type: :development
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '5.0'
|
|
50
110
|
- - ">="
|
|
51
111
|
- !ruby/object:Gem::Version
|
|
52
|
-
version:
|
|
53
|
-
|
|
54
|
-
|
|
112
|
+
version: '5.9'
|
|
113
|
+
- !ruby/object:Gem::Dependency
|
|
114
|
+
name: test-unit
|
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - "~>"
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: '3.2'
|
|
120
|
+
- - ">="
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: '3.2'
|
|
123
|
+
type: :development
|
|
124
|
+
prerelease: false
|
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
126
|
+
requirements:
|
|
127
|
+
- - "~>"
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
version: '3.2'
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: '3.2'
|
|
133
|
+
description: uirusu is tool and REST library for interacting with Virustotal.org
|
|
134
|
+
email: jacob.hammack@arxopia.com
|
|
55
135
|
executables:
|
|
56
136
|
- uirusu
|
|
57
137
|
extensions: []
|
|
@@ -72,6 +152,7 @@ files:
|
|
|
72
152
|
- lib/uirusu.rb
|
|
73
153
|
- lib/uirusu/cli/application.rb
|
|
74
154
|
- lib/uirusu/scanner.rb
|
|
155
|
+
- lib/uirusu/version.rb
|
|
75
156
|
- lib/uirusu/vtcomment.rb
|
|
76
157
|
- lib/uirusu/vtfile.rb
|
|
77
158
|
- lib/uirusu/vtresult.rb
|
|
@@ -79,7 +160,7 @@ files:
|
|
|
79
160
|
- uirusu.gemspec
|
|
80
161
|
homepage: http://arxopia.github.io/uirusu
|
|
81
162
|
licenses:
|
|
82
|
-
-
|
|
163
|
+
- MIT
|
|
83
164
|
metadata: {}
|
|
84
165
|
post_install_message:
|
|
85
166
|
rdoc_options: []
|
|
@@ -89,7 +170,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
89
170
|
requirements:
|
|
90
171
|
- - ">="
|
|
91
172
|
- !ruby/object:Gem::Version
|
|
92
|
-
version:
|
|
173
|
+
version: '0'
|
|
93
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
175
|
requirements:
|
|
95
176
|
- - ">="
|
|
@@ -97,8 +178,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
97
178
|
version: '0'
|
|
98
179
|
requirements: []
|
|
99
180
|
rubyforge_project:
|
|
100
|
-
rubygems_version: 2.
|
|
181
|
+
rubygems_version: 2.6.6
|
|
101
182
|
signing_key:
|
|
102
183
|
specification_version: 4
|
|
103
184
|
summary: uirusu
|
|
104
185
|
test_files: []
|
|
186
|
+
has_rdoc: yard
|