virustotal_api 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rubocop.yml +27 -0
- data/.travis.yml +11 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +144 -0
- data/Rakefile +24 -0
- data/lib/virustotal_api.rb +8 -0
- data/lib/virustotal_api/base.rb +24 -0
- data/lib/virustotal_api/domain_report.rb +35 -0
- data/lib/virustotal_api/file_report.rb +36 -0
- data/lib/virustotal_api/file_scan.rb +36 -0
- data/lib/virustotal_api/ip_report.rb +35 -0
- data/lib/virustotal_api/uri.rb +4 -0
- data/lib/virustotal_api/url_report.rb +37 -0
- data/lib/virustotal_api/version.rb +4 -0
- data/test/base_test.rb +40 -0
- data/test/domain_report_test.rb +31 -0
- data/test/file_report_test.rb +34 -0
- data/test/file_scan_test.rb +29 -0
- data/test/fixtures/domain_report.yml +311 -0
- data/test/fixtures/ip_report.yml +1323 -0
- data/test/fixtures/null_file +1 -0
- data/test/fixtures/report.yml +110 -0
- data/test/fixtures/report_not_found.yml +42 -0
- data/test/fixtures/request_forbidden.yml +38 -0
- data/test/fixtures/scan.yml +49 -0
- data/test/fixtures/url_report.yml +95 -0
- data/test/ip_report_test.rb +23 -0
- data/test/test_helper.rb +10 -0
- data/test/uri_test.rb +9 -0
- data/test/url_report_test.rb +39 -0
- data/test/version_test.rb +9 -0
- data/virustotal_api.gemspec +32 -0
- metadata +236 -0
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1,110 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://www.virustotal.com/vtapi/v2/file/report
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: apikey=testapikey&resource=01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Content-Type:
|
13
|
+
- application/x-www-form-urlencoded
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Cache-Control:
|
24
|
+
- no-cache
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Vary:
|
28
|
+
- Accept-Encoding
|
29
|
+
Date:
|
30
|
+
- Sun, 14 Dec 2014 04:14:07 GMT
|
31
|
+
Server:
|
32
|
+
- Google Frontend
|
33
|
+
Transfer-Encoding:
|
34
|
+
- chunked
|
35
|
+
body:
|
36
|
+
encoding: UTF-8
|
37
|
+
string: '{"scans": {"Bkav": {"detected": false, "version": "1.3.0.6267", "result":
|
38
|
+
null, "update": "20141206"}, "MicroWorld-eScan": {"detected": false, "version":
|
39
|
+
"12.0.250.0", "result": null, "update": "20141208"}, "nProtect": {"detected":
|
40
|
+
false, "version": "2014-12-05.01", "result": null, "update": "20141205"},
|
41
|
+
"CMC": {"detected": false, "version": "1.1.0.977", "result": null, "update":
|
42
|
+
"20141206"}, "CAT-QuickHeal": {"detected": false, "version": "14.00", "result":
|
43
|
+
null, "update": "20141208"}, "ALYac": {"detected": false, "version": "1.0.1.4",
|
44
|
+
"result": null, "update": "20141208"}, "Malwarebytes": {"detected": false,
|
45
|
+
"version": "1.75.0.1", "result": null, "update": "20141208"}, "Zillya": {"detected":
|
46
|
+
false, "version": "2.0.0.2000", "result": null, "update": "20141206"}, "SUPERAntiSpyware":
|
47
|
+
{"detected": false, "version": "5.6.0.1032", "result": null, "update": "20141207"},
|
48
|
+
"TheHacker": {"detected": false, "version": "6.8.0.5.498", "result": null,
|
49
|
+
"update": "20141205"}, "K7GW": {"detected": false, "version": "9.186.14262",
|
50
|
+
"result": null, "update": "20141208"}, "K7AntiVirus": {"detected": false,
|
51
|
+
"version": "9.186.14262", "result": null, "update": "20141208"}, "Agnitum":
|
52
|
+
{"detected": false, "version": "5.5.1.3", "result": null, "update": "20141205"},
|
53
|
+
"F-Prot": {"detected": false, "version": "4.7.1.166", "result": null, "update":
|
54
|
+
"20141208"}, "Symantec": {"detected": false, "version": "20141.1.0.330", "result":
|
55
|
+
null, "update": "20141208"}, "Norman": {"detected": false, "version": "7.04.04",
|
56
|
+
"result": null, "update": "20141208"}, "TotalDefense": {"detected": false,
|
57
|
+
"version": "37.0.11318", "result": null, "update": "20141207"}, "TrendMicro-HouseCall":
|
58
|
+
{"detected": false, "version": "9.700.0.1001", "result": null, "update": "20141208"},
|
59
|
+
"Avast": {"detected": false, "version": "8.0.1489.320", "result": null, "update":
|
60
|
+
"20141208"}, "ClamAV": {"detected": false, "version": "0.98.5.0", "result":
|
61
|
+
null, "update": "20141208"}, "Kaspersky": {"detected": false, "version": "15.0.1.10",
|
62
|
+
"result": null, "update": "20141208"}, "BitDefender": {"detected": false,
|
63
|
+
"version": "7.2", "result": null, "update": "20141208"}, "NANO-Antivirus":
|
64
|
+
{"detected": false, "version": "0.28.6.63850", "result": null, "update": "20141208"},
|
65
|
+
"AegisLab": {"detected": false, "version": "1.5", "result": null, "update":
|
66
|
+
"20141208"}, "ByteHero": {"detected": false, "version": "1.0.0.1", "result":
|
67
|
+
null, "update": "20141208"}, "Tencent": {"detected": false, "version": "1.0.0.1",
|
68
|
+
"result": null, "update": "20141208"}, "Ad-Aware": {"detected": false, "version":
|
69
|
+
"12.0.163.0", "result": null, "update": "20141208"}, "Comodo": {"detected":
|
70
|
+
false, "version": "20303", "result": null, "update": "20141208"}, "F-Secure":
|
71
|
+
{"detected": false, "version": "11.0.19100.45", "result": null, "update":
|
72
|
+
"20141207"}, "DrWeb": {"detected": false, "version": "7.0.10.8210", "result":
|
73
|
+
null, "update": "20141208"}, "VIPRE": {"detected": false, "version": "35530",
|
74
|
+
"result": null, "update": "20141208"}, "TrendMicro": {"detected": false, "version":
|
75
|
+
"9.740.0.1012", "result": null, "update": "20141208"}, "McAfee-GW-Edition":
|
76
|
+
{"detected": false, "version": "v2014.2", "result": null, "update": "20141208"},
|
77
|
+
"Sophos": {"detected": false, "version": "4.98.0", "result": null, "update":
|
78
|
+
"20141208"}, "Cyren": {"detected": false, "version": "5.4.1.7", "result":
|
79
|
+
null, "update": "20141208"}, "Jiangmin": {"detected": false, "version": "16.0.100",
|
80
|
+
"result": null, "update": "20141207"}, "Avira": {"detected": false, "version":
|
81
|
+
"7.11.193.118", "result": null, "update": "20141208"}, "Antiy-AVL": {"detected":
|
82
|
+
false, "version": "1.0.0.1", "result": null, "update": "20141208"}, "Kingsoft":
|
83
|
+
{"detected": false, "version": "2013.4.9.267", "result": null, "update": "20141208"},
|
84
|
+
"Microsoft": {"detected": false, "version": "1.11202", "result": null, "update":
|
85
|
+
"20141208"}, "ViRobot": {"detected": false, "version": "2014.3.20.0", "result":
|
86
|
+
null, "update": "20141208"}, "GData": {"detected": false, "version": "24",
|
87
|
+
"result": null, "update": "20141208"}, "AhnLab-V3": {"detected": false, "version":
|
88
|
+
"2014.12.08.04", "result": null, "update": "20141208"}, "McAfee": {"detected":
|
89
|
+
false, "version": "6.0.5.614", "result": null, "update": "20141208"}, "AVware":
|
90
|
+
{"detected": false, "version": "1.5.0.21", "result": null, "update": "20141208"},
|
91
|
+
"VBA32": {"detected": false, "version": "3.12.26.3", "result": null, "update":
|
92
|
+
"20141205"}, "Baidu-International": {"detected": false, "version": "3.5.1.41473",
|
93
|
+
"result": null, "update": "20141208"}, "Zoner": {"detected": false, "version":
|
94
|
+
"1.0", "result": null, "update": "20141204"}, "ESET-NOD32": {"detected": false,
|
95
|
+
"version": "10842", "result": null, "update": "20141208"}, "Rising": {"detected":
|
96
|
+
false, "version": "25.0.0.17", "result": null, "update": "20141207"}, "Ikarus":
|
97
|
+
{"detected": false, "version": "T3.1.8.5.0", "result": null, "update": "20141208"},
|
98
|
+
"Fortinet": {"detected": false, "version": "5.0.999.0", "result": null, "update":
|
99
|
+
"20141208"}, "AVG": {"detected": false, "version": "15.0.0.4235", "result":
|
100
|
+
null, "update": "20141208"}, "Panda": {"detected": false, "version": "4.6.4.2",
|
101
|
+
"result": null, "update": "20141208"}, "Qihoo-360": {"detected": false, "version":
|
102
|
+
"1.0.0.1015", "result": null, "update": "20141208"}}, "scan_id": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b-1418032127",
|
103
|
+
"sha1": "adc83b19e793491b1c6ea0fd8b46cd9f32e592fc", "resource": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b",
|
104
|
+
"response_code": 1, "scan_date": "2014-12-08 09:48:47", "permalink": "https://www.virustotal.com/file/01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b/analysis/1418032127/",
|
105
|
+
"verbose_msg": "Scan finished, information embedded", "total": 55, "positives":
|
106
|
+
0, "sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b",
|
107
|
+
"md5": "68b329da9893e34099c7d8ad5cb9c940"}'
|
108
|
+
http_version:
|
109
|
+
recorded_at: Sun, 14 Dec 2014 04:19:44 GMT
|
110
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://www.virustotal.com/vtapi/v2/file/report
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: apikey=testapikey&resource=01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546c
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Content-Type:
|
13
|
+
- application/x-www-form-urlencoded
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Cache-Control:
|
24
|
+
- no-cache
|
25
|
+
Content-Type:
|
26
|
+
- application/json
|
27
|
+
Vary:
|
28
|
+
- Accept-Encoding
|
29
|
+
Date:
|
30
|
+
- Sun, 14 Dec 2014 04:24:42 GMT
|
31
|
+
Server:
|
32
|
+
- Google Frontend
|
33
|
+
Transfer-Encoding:
|
34
|
+
- chunked
|
35
|
+
body:
|
36
|
+
encoding: UTF-8
|
37
|
+
string: '{"response_code": 0, "resource": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546c",
|
38
|
+
"verbose_msg": "The requested resource is not among the finished, queued or
|
39
|
+
pending scans"}'
|
40
|
+
http_version:
|
41
|
+
recorded_at: Sun, 14 Dec 2014 04:30:19 GMT
|
42
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://www.virustotal.com/vtapi/v2/file/report
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: apikey=testapikey&resource=01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Content-Type:
|
13
|
+
- application/x-www-form-urlencoded
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
Accept:
|
17
|
+
- "*/*"
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 403
|
21
|
+
message: Forbidden
|
22
|
+
headers:
|
23
|
+
Content-Type:
|
24
|
+
- text/html; charset=utf-8
|
25
|
+
Cache-Control:
|
26
|
+
- no-cache
|
27
|
+
Date:
|
28
|
+
- Sun, 14 Dec 2014 04:07:30 GMT
|
29
|
+
Server:
|
30
|
+
- Google Frontend
|
31
|
+
Content-Length:
|
32
|
+
- '0'
|
33
|
+
body:
|
34
|
+
encoding: UTF-8
|
35
|
+
string: ''
|
36
|
+
http_version:
|
37
|
+
recorded_at: Sun, 14 Dec 2014 04:13:07 GMT
|
38
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://www.virustotal.com/vtapi/v2/file/scan
|
6
|
+
body:
|
7
|
+
encoding: ASCII-8BIT
|
8
|
+
string: "--318862\r\nContent-Disposition: form-data; name=\"apikey\"\r\n\r\ntestapikey\r\n--318862\r\nContent-Disposition:
|
9
|
+
form-data; name=\"filename\"\r\n\r\nnull_file\r\n--318862\r\nContent-Disposition:
|
10
|
+
form-data; name=\"file\"; filename=\"null_file\"\r\nContent-Type: text/plain\r\n\r\n\n\r\n--318862--\r\n"
|
11
|
+
headers:
|
12
|
+
Accept:
|
13
|
+
- "*/*; q=0.5, application/xml"
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip, deflate
|
16
|
+
Content-Length:
|
17
|
+
- '317'
|
18
|
+
Content-Type:
|
19
|
+
- multipart/form-data; boundary=318862
|
20
|
+
User-Agent:
|
21
|
+
- Ruby
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 200
|
25
|
+
message: OK
|
26
|
+
headers:
|
27
|
+
Cache-Control:
|
28
|
+
- no-cache
|
29
|
+
Content-Type:
|
30
|
+
- application/json
|
31
|
+
Vary:
|
32
|
+
- Accept-Encoding
|
33
|
+
Date:
|
34
|
+
- Wed, 24 Dec 2014 21:14:51 GMT
|
35
|
+
Server:
|
36
|
+
- Google Frontend
|
37
|
+
Transfer-Encoding:
|
38
|
+
- chunked
|
39
|
+
body:
|
40
|
+
encoding: UTF-8
|
41
|
+
string: '{"scan_id": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b-1419455691",
|
42
|
+
"sha1": "adc83b19e793491b1c6ea0fd8b46cd9f32e592fc", "resource": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b",
|
43
|
+
"response_code": 1, "sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b",
|
44
|
+
"permalink": "https://www.virustotal.com/file/01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b/analysis/1419455691/",
|
45
|
+
"md5": "68b329da9893e34099c7d8ad5cb9c940", "verbose_msg": "Scan request successfully
|
46
|
+
queued, come back later for the report"}'
|
47
|
+
http_version:
|
48
|
+
recorded_at: Wed, 24 Dec 2014 21:21:00 GMT
|
49
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,95 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://www.virustotal.com/vtapi/v2/url/report
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: resource=http%3A%2F%2Fwww.google.com&apikey=testapikey
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '108'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Cache-Control:
|
26
|
+
- no-cache
|
27
|
+
Content-Type:
|
28
|
+
- application/json
|
29
|
+
Vary:
|
30
|
+
- Accept-Encoding
|
31
|
+
Date:
|
32
|
+
- Wed, 24 Dec 2014 21:52:52 GMT
|
33
|
+
Server:
|
34
|
+
- Google Frontend
|
35
|
+
Transfer-Encoding:
|
36
|
+
- chunked
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: '{"permalink": "https://www.virustotal.com/url/dd014af5ed6b38d9130e3f466f850e46d21b951199d53a18ef29ee9341614eaf/analysis/1419457210/",
|
40
|
+
"resource": "http://www.google.com", "url": "http://www.google.com/", "response_code":
|
41
|
+
1, "scan_date": "2014-12-24 21:40:10", "scan_id": "dd014af5ed6b38d9130e3f466f850e46d21b951199d53a18ef29ee9341614eaf-1419457210",
|
42
|
+
"verbose_msg": "Scan finished, scan information embedded in this object",
|
43
|
+
"filescan_id": null, "positives": 0, "total": 61, "scans": {"CLEAN MX": {"detected":
|
44
|
+
false, "result": "clean site"}, "MalwarePatrol": {"detected": false, "result":
|
45
|
+
"clean site"}, "ZDB Zeus": {"detected": false, "result": "clean site"}, "Tencent":
|
46
|
+
{"detected": false, "result": "clean site"}, "AutoShun": {"detected": false,
|
47
|
+
"result": "unrated site"}, "ZCloudsec": {"detected": false, "result": "clean
|
48
|
+
site"}, "PhishLabs": {"detected": false, "result": "unrated site"}, "K7AntiVirus":
|
49
|
+
{"detected": false, "result": "clean site"}, "Quttera": {"detected": false,
|
50
|
+
"result": "suspicious site"}, "Spam404": {"detected": false, "result": "clean
|
51
|
+
site"}, "AegisLab WebGuard": {"detected": false, "result": "clean site"},
|
52
|
+
"MalwareDomainList": {"detected": false, "result": "clean site", "detail":
|
53
|
+
"http://www.malwaredomainlist.com/mdl.php?search=www.google.com"}, "ZeusTracker":
|
54
|
+
{"detected": false, "result": "clean site", "detail": "https://zeustracker.abuse.ch/monitor.php?host=www.google.com"},
|
55
|
+
"zvelo": {"detected": false, "result": "clean site"}, "Google Safebrowsing":
|
56
|
+
{"detected": false, "result": "clean site"}, "Kaspersky": {"detected": false,
|
57
|
+
"result": "clean site"}, "BitDefender": {"detected": false, "result": "clean
|
58
|
+
site"}, "Dr.Web": {"detected": false, "result": "clean site"}, "ADMINUSLabs":
|
59
|
+
{"detected": false, "result": "clean site"}, "C-SIRT": {"detected": false,
|
60
|
+
"result": "clean site"}, "CyberCrime": {"detected": false, "result": "clean
|
61
|
+
site"}, "Websense ThreatSeeker": {"detected": false, "result": "clean site"},
|
62
|
+
"VX Vault": {"detected": false, "result": "clean site"}, "Webutation": {"detected":
|
63
|
+
false, "result": "clean site"}, "Trustwave": {"detected": false, "result":
|
64
|
+
"clean site"}, "Web Security Guard": {"detected": false, "result": "clean
|
65
|
+
site"}, "G-Data": {"detected": false, "result": "clean site"}, "Malwarebytes
|
66
|
+
hpHosts": {"detected": false, "result": "clean site"}, "Wepawet": {"detected":
|
67
|
+
false, "result": "clean site"}, "AlienVault": {"detected": false, "result":
|
68
|
+
"clean site"}, "Emsisoft": {"detected": false, "result": "clean site"}, "Malc0de
|
69
|
+
Database": {"detected": false, "result": "clean site", "detail": "http://malc0de.com/database/index.php?search=www.google.com"},
|
70
|
+
"SpyEyeTracker": {"detected": false, "result": "clean site", "detail": "https://spyeyetracker.abuse.ch/monitor.php?host=www.google.com"},
|
71
|
+
"malwares.com URL checker": {"detected": false, "result": "clean site"}, "Phishtank":
|
72
|
+
{"detected": false, "result": "clean site"}, "Malwared": {"detected": false,
|
73
|
+
"result": "clean site"}, "Avira": {"detected": false, "result": "clean site"},
|
74
|
+
"OpenPhish": {"detected": false, "result": "clean site"}, "Antiy-AVL": {"detected":
|
75
|
+
false, "result": "clean site"}, "SCUMWARE.org": {"detected": false, "result":
|
76
|
+
"clean site"}, "FraudSense": {"detected": false, "result": "clean site"},
|
77
|
+
"Opera": {"detected": false, "result": "clean site"}, "Comodo Site Inspector":
|
78
|
+
{"detected": false, "result": "clean site"}, "Malekal": {"detected": false,
|
79
|
+
"result": "clean site"}, "ESET": {"detected": false, "result": "clean site"},
|
80
|
+
"Sophos": {"detected": false, "result": "unrated site"}, "Yandex Safebrowsing":
|
81
|
+
{"detected": false, "result": "clean site", "detail": "http://yandex.com/infected?l10n=en&url=http://www.google.com/"},
|
82
|
+
"SecureBrain": {"detected": false, "result": "clean site"}, "Malware Domain
|
83
|
+
Blocklist": {"detected": false, "result": "clean site"}, "Blueliv": {"detected":
|
84
|
+
false, "result": "clean site"}, "Netcraft": {"detected": false, "result":
|
85
|
+
"unrated site"}, "PalevoTracker": {"detected": false, "result": "clean site"},
|
86
|
+
"CRDF": {"detected": false, "result": "clean site"}, "ThreatHive": {"detected":
|
87
|
+
false, "result": "clean site"}, "ParetoLogic": {"detected": false, "result":
|
88
|
+
"clean site"}, "Rising": {"detected": false, "result": "clean site"}, "URLQuery":
|
89
|
+
{"detected": false, "result": "unrated site"}, "StopBadware": {"detected":
|
90
|
+
false, "result": "unrated site"}, "Sucuri SiteCheck": {"detected": false,
|
91
|
+
"result": "clean site"}, "Fortinet": {"detected": false, "result": "clean
|
92
|
+
site"}, "Baidu-International": {"detected": false, "result": "clean site"}}}'
|
93
|
+
http_version:
|
94
|
+
recorded_at: Wed, 24 Dec 2014 21:59:01 GMT
|
95
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require './test/test_helper'
|
3
|
+
|
4
|
+
class VirustotalAPIIPReportTest < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@ip = '8.8.8.8'
|
7
|
+
@api_key = 'testapikey'
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_class_exists
|
11
|
+
assert VirustotalAPI::IPReport
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_report_response
|
15
|
+
VCR.use_cassette('ip_report') do
|
16
|
+
vtip_report = VirustotalAPI::IPReport.find(@ip, @api_key)
|
17
|
+
|
18
|
+
# Make sure that the JSON was parsed
|
19
|
+
assert vtip_report.is_a?(VirustotalAPI::IPReport)
|
20
|
+
assert vtip_report.report.is_a?(Hash)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/test/test_helper.rb
ADDED
data/test/uri_test.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require './test/test_helper'
|
3
|
+
|
4
|
+
class VirustotalAPIURLReportTest < Minitest::Test
|
5
|
+
def setup
|
6
|
+
@url = 'http://www.google.com'
|
7
|
+
@api_key = 'testapikey'
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_class_exists
|
11
|
+
assert VirustotalAPI::URLReport
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_report_response
|
15
|
+
VCR.use_cassette('url_report') do
|
16
|
+
vturl_report = VirustotalAPI::URLReport.find(@url, @api_key)
|
17
|
+
|
18
|
+
# Make sure that the JSON was parsed
|
19
|
+
assert vturl_report.is_a?(VirustotalAPI::URLReport)
|
20
|
+
assert vturl_report.report.is_a?(Hash)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_report_url
|
25
|
+
VCR.use_cassette('url_report') do
|
26
|
+
vturl_report = VirustotalAPI::URLReport.find(@url, @api_key)
|
27
|
+
|
28
|
+
assert vturl_report.report_url.is_a?(String)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_scan_url
|
33
|
+
VCR.use_cassette('url_report') do
|
34
|
+
vturl_report = VirustotalAPI::URLReport.find(@url, @api_key)
|
35
|
+
|
36
|
+
assert vturl_report.scan_id.is_a?(String)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'virustotal_api/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'virustotal_api'
|
8
|
+
spec.version = VirustotalAPI::VERSION
|
9
|
+
spec.authors = ['pwelch']
|
10
|
+
spec.email = ['paul@pwelch.net']
|
11
|
+
spec.summary = 'Gem for VirusTotal.com API'
|
12
|
+
spec.description = 'Gem for VirusTotal.com API'
|
13
|
+
spec.homepage = 'https://github.com/pwelch/virustotal_api'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_dependency 'rest-client'
|
22
|
+
spec.add_dependency 'json'
|
23
|
+
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
25
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
26
|
+
spec.add_development_dependency 'minitest'
|
27
|
+
spec.add_development_dependency 'vcr'
|
28
|
+
spec.add_development_dependency 'webmock'
|
29
|
+
spec.add_development_dependency 'pry'
|
30
|
+
spec.add_development_dependency 'yard', '~> 0.8'
|
31
|
+
spec.add_development_dependency 'rubocop'
|
32
|
+
end
|