qualys 0.1.4 → 0.1.5

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -2
  3. data/.rubocop.yml +7 -0
  4. data/.rubocop_todo.yml +71 -0
  5. data/.travis.yml +13 -1
  6. data/Gemfile +3 -1
  7. data/Gemfile.lock +91 -0
  8. data/README.md +50 -10
  9. data/Rakefile +3 -4
  10. data/lib/qualys.rb +10 -11
  11. data/lib/qualys/api.rb +38 -47
  12. data/lib/qualys/auth.rb +11 -20
  13. data/lib/qualys/compliance.rb +3 -7
  14. data/lib/qualys/config.rb +3 -5
  15. data/lib/qualys/host.rb +17 -0
  16. data/lib/qualys/report.rb +90 -0
  17. data/lib/qualys/scans.rb +10 -22
  18. data/lib/qualys/version.rb +1 -1
  19. data/lib/qualys/vulnerability.rb +74 -0
  20. data/qualys.gemspec +18 -19
  21. data/spec/fixtures/vcr_cassettes/api_get.yml +52 -0
  22. data/spec/fixtures/vcr_cassettes/create_global_report.yml +68 -0
  23. data/spec/fixtures/vcr_cassettes/emptyscans.yml +35 -0
  24. data/spec/fixtures/vcr_cassettes/get.yml +107 -0
  25. data/spec/fixtures/vcr_cassettes/global_report.yml +17800 -0
  26. data/spec/fixtures/vcr_cassettes/load_global_report.yml +625 -0
  27. data/spec/fixtures/vcr_cassettes/login.yml +50 -0
  28. data/spec/fixtures/vcr_cassettes/logout.yml +50 -0
  29. data/spec/fixtures/vcr_cassettes/scan.yml +73 -0
  30. data/spec/fixtures/vcr_cassettes/scans.yml +89 -0
  31. data/spec/fixtures/vcr_cassettes/templates.yml +121 -0
  32. data/spec/fixtures/vcr_cassettes/try_load_not_existing_report.yml +63 -0
  33. data/spec/fixtures/vcr_cassettes/unlogged.yml +45 -0
  34. data/spec/fixtures/vcr_cassettes/wrong.yml +101 -0
  35. data/spec/qualys/api_spec.rb +27 -0
  36. data/spec/qualys/report_spec.rb +65 -0
  37. data/spec/qualys/scans_spec.rb +75 -0
  38. data/spec/qualys/version_spec.rb +11 -0
  39. data/spec/qualys/vulnerability_spec.rb +53 -0
  40. data/spec/qualys_spec.rb +20 -0
  41. data/spec/spec_helper.rb +37 -0
  42. metadata +61 -15
  43. data/.rock.yml +0 -17
  44. data/lib/qualys/reports.rb +0 -47
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://qualysapi.qualys.eu/api/2.0/fo/session/
6
+ body:
7
+ encoding: UTF-8
8
+ string: action=login&username=Thomas&password=thomasPassword
9
+ headers:
10
+ X-Requested-With:
11
+ - Qualys Ruby Client v0.1.3
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Tue, 12 Dec 2017 11:13:03 GMT
19
+ Server:
20
+ - Qualys
21
+ X-Xss-Protection:
22
+ - '1'
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ Expires:
28
+ - Thu, 19 Nov 1981 08:52:00 GMT
29
+ Cache-Control:
30
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
31
+ Pragma:
32
+ - no-cache
33
+ Transfer-Encoding:
34
+ - chunked
35
+ Content-Type:
36
+ - text/xml;charset=UTF-8
37
+ body:
38
+ encoding: UTF-8
39
+ string: |
40
+ <?xml version="1.0" encoding="UTF-8" ?>
41
+ <!DOCTYPE SIMPLE_RETURN SYSTEM "https://qualysapi.qualys.eu/api/2.0/simple_return.dtd">
42
+ <SIMPLE_RETURN>
43
+ <RESPONSE>
44
+ <DATETIME>2017-12-12T11:13:03Z</DATETIME>
45
+ <TEXT>Logged in</TEXT>
46
+ </RESPONSE>
47
+ </SIMPLE_RETURN>
48
+ http_version:
49
+ recorded_at: Tue, 12 Dec 2017 11:13:03 GMT
50
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://qualysapi.qualys.eu/api/2.0/fo/session/
6
+ body:
7
+ encoding: UTF-8
8
+ string: action=logout
9
+ headers:
10
+ X-Requested-With:
11
+ - Qualys Ruby Client v0.1.3
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Mon, 11 Dec 2017 16:56:34 GMT
19
+ Server:
20
+ - Qualys
21
+ X-Xss-Protection:
22
+ - '1'
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ Expires:
28
+ - Thu, 19 Nov 1981 08:52:00 GMT
29
+ Cache-Control:
30
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
31
+ Pragma:
32
+ - no-cache
33
+ Transfer-Encoding:
34
+ - chunked
35
+ Content-Type:
36
+ - text/xml;charset=UTF-8
37
+ body:
38
+ encoding: UTF-8
39
+ string: |
40
+ <?xml version="1.0" encoding="UTF-8" ?>
41
+ <!DOCTYPE SIMPLE_RETURN SYSTEM "https://qualysapi.qualys.eu/api/2.0/simple_return.dtd">
42
+ <SIMPLE_RETURN>
43
+ <RESPONSE>
44
+ <DATETIME>2017-12-11T16:56:34Z</DATETIME>
45
+ <TEXT>Logged out</TEXT>
46
+ </RESPONSE>
47
+ </SIMPLE_RETURN>
48
+ http_version:
49
+ recorded_at: Mon, 11 Dec 2017 16:56:34 GMT
50
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://qualysapi.qualys.eu/api/2.0/fo/scan/?action=list
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ response:
10
+ status:
11
+ code: 200
12
+ message: OK
13
+ headers:
14
+ Date:
15
+ - Mon, 11 Dec 2017 10:13:04 GMT
16
+ Server:
17
+ - Qualys
18
+ X-Xss-Protection:
19
+ - '1'
20
+ X-Content-Type-Options:
21
+ - nosniff
22
+ X-Frame-Options:
23
+ - SAMEORIGIN
24
+ Expires:
25
+ - Thu, 19 Nov 1981 08:52:00 GMT
26
+ Cache-Control:
27
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
28
+ Pragma:
29
+ - no-cache
30
+ Transfer-Encoding:
31
+ - chunked
32
+ Content-Type:
33
+ - text/xml;charset=UTF-8
34
+ body:
35
+ encoding: UTF-8
36
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE SCAN_LIST_OUTPUT
37
+ SYSTEM \"https://qualysapi.qualys.eu/api/2.0/fo/scan/scan_list_output.dtd\">\n<!--
38
+ This report was generated with an evaluation version of Qualys //--> \n<SCAN_LIST_OUTPUT>\n
39
+ \ <RESPONSE>\n <DATETIME>2017-12-11T10:13:06Z</DATETIME>\n <SCAN_LIST>\n
40
+ \ <SCAN>\n <REF>scan/1512633905.79357</REF>\n <TYPE>On-Demand</TYPE>\n
41
+ \ <TITLE><![CDATA[shellshock 20171207]]></TITLE>\n <USER_LOGIN>thomas</USER_LOGIN>\n
42
+ \ <LAUNCH_DATETIME>2017-12-07T08:05:05Z</LAUNCH_DATETIME>\n <DURATION>00:01:43</DURATION>\n
43
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
44
+ \ <STATUS>\n <STATE>Error</STATE>\n </STATUS>\n <TARGET><![CDATA[27.49.112.5]]></TARGET>\n
45
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512633883.79354</REF>\n <TYPE>On-Demand</TYPE>\n
46
+ \ <TITLE><![CDATA[shellshock 20171207]]></TITLE>\n <USER_LOGIN>thomas</USER_LOGIN>\n
47
+ \ <LAUNCH_DATETIME>2017-12-07T08:04:43Z</LAUNCH_DATETIME>\n <DURATION>00:07:02</DURATION>\n
48
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
49
+ \ <STATUS>\n <STATE>Finished</STATE>\n </STATUS>\n <TARGET><![CDATA[47.69.112.62]]></TARGET>\n
50
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512633720.79248</REF>\n <TYPE>On-Demand</TYPE>\n
51
+ \ <TITLE><![CDATA[shellshock]]></TITLE>\n <USER_LOGIN>thomas</USER_LOGIN>\n
52
+ \ <LAUNCH_DATETIME>2017-12-07T08:01:59Z</LAUNCH_DATETIME>\n <DURATION>00:00:06</DURATION>\n
53
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
54
+ \ <STATUS>\n <STATE>Error</STATE>\n </STATUS>\n <TARGET><![CDATA[47.69.112.62]]></TARGET>\n
55
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512469561.67379</REF>\n <TYPE>On-Demand</TYPE>\n
56
+ \ <TITLE><![CDATA[test_vuln]]></TITLE>\n <USER_LOGIN>thomas</USER_LOGIN>\n
57
+ \ <LAUNCH_DATETIME>2017-12-05T10:26:01Z</LAUNCH_DATETIME>\n <DURATION>00:04:48</DURATION>\n
58
+ \ <PROCESSING_PRIORITY>1 - Emergency</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
59
+ \ <STATUS>\n <STATE>Finished</STATE>\n </STATUS>\n <TARGET><![CDATA[192.168.1.100]]></TARGET>\n
60
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512466786.67046</REF>\n <TYPE>On-Demand</TYPE>\n
61
+ \ <TITLE><![CDATA[test]]></TITLE>\n <USER_LOGIN>thomas</USER_LOGIN>\n
62
+ \ <LAUNCH_DATETIME>2017-12-05T09:39:46Z</LAUNCH_DATETIME>\n <DURATION>00:07:56</DURATION>\n
63
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
64
+ \ <STATUS>\n <STATE>Finished</STATE>\n </STATUS>\n <TARGET><![CDATA[88.78.187.177]]></TARGET>\n
65
+ \ </SCAN>\n </SCAN_LIST>\n </RESPONSE>\n</SCAN_LIST_OUTPUT>\n<!--
66
+ This report was generated with an evaluation version of Qualys //--> \n<!--
67
+ CONFIDENTIAL AND PROPRIETARY INFORMATION. Qualys provides the QualysGuard
68
+ Service \"As Is,\" without any warranty of any kind. Qualys makes no warranty
69
+ that the information contained in this report is complete or error-free. Copyright
70
+ 2017, Qualys, Inc. //--> \n"
71
+ http_version:
72
+ recorded_at: Mon, 11 Dec 2017 10:13:06 GMT
73
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,89 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://qualysapi.qualys.eu/api/2.0/fo/scan/?action=list
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Requested-With:
11
+ - Qualys Ruby Client v0.1.3
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Mon, 11 Dec 2017 08:49:56 GMT
19
+ Server:
20
+ - Qualys
21
+ X-Xss-Protection:
22
+ - '1'
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ Expires:
28
+ - Thu, 19 Nov 1981 08:52:00 GMT
29
+ Cache-Control:
30
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
31
+ Pragma:
32
+ - no-cache
33
+
34
+ X-Ratelimit-Limit:
35
+ - '300'
36
+ X-Ratelimit-Window-Sec:
37
+ - '3600'
38
+ X-Concurrency-Limit-Limit:
39
+ - '2'
40
+ X-Concurrency-Limit-Running:
41
+ - '0'
42
+ X-Ratelimit-Towait-Sec:
43
+ - '0'
44
+ X-Ratelimit-Remaining:
45
+ - '297'
46
+ Transfer-Encoding:
47
+ - chunked
48
+ Content-Type:
49
+ - text/xml;charset=UTF-8
50
+ body:
51
+ encoding: UTF-8
52
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE SCAN_LIST_OUTPUT
53
+ SYSTEM \"https://qualysapi.qualys.eu/api/2.0/fo/scan/scan_list_output.dtd\">\n<!--
54
+ This report was generated with an evaluation version of Qualys //--> \n<SCAN_LIST_OUTPUT>\n
55
+ \ <RESPONSE>\n <DATETIME>2017-12-11T08:49:57Z</DATETIME>\n <SCAN_LIST>\n
56
+ \ <SCAN>\n <REF>scan/1512633905.79357</REF>\n <TYPE>On-Demand</TYPE>\n
57
+ \ <TITLE><![CDATA[shellshock 20171207]]></TITLE>\n <USER_LOGIN>Thomas</USER_LOGIN>\n
58
+ \ <LAUNCH_DATETIME>2017-12-07T08:05:05Z</LAUNCH_DATETIME>\n <DURATION>00:01:43</DURATION>\n
59
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
60
+ \ <STATUS>\n <STATE>Error</STATE>\n </STATUS>\n <TARGET><![CDATA[47.69.112.62]]></TARGET>\n
61
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512633883.79354</REF>\n <TYPE>On-Demand</TYPE>\n
62
+ \ <TITLE><![CDATA[shellshock 20171207]]></TITLE>\n <USER_LOGIN>Thomas</USER_LOGIN>\n
63
+ \ <LAUNCH_DATETIME>2017-12-07T08:04:43Z</LAUNCH_DATETIME>\n <DURATION>00:07:02</DURATION>\n
64
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
65
+ \ <STATUS>\n <STATE>Finished</STATE>\n </STATUS>\n <TARGET><![CDATA[47.69.112.62]]></TARGET>\n
66
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512633720.79248</REF>\n <TYPE>On-Demand</TYPE>\n
67
+ \ <TITLE><![CDATA[shellshock]]></TITLE>\n <USER_LOGIN>Thomas</USER_LOGIN>\n
68
+ \ <LAUNCH_DATETIME>2017-12-07T08:01:59Z</LAUNCH_DATETIME>\n <DURATION>00:00:06</DURATION>\n
69
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
70
+ \ <STATUS>\n <STATE>Error</STATE>\n </STATUS>\n <TARGET><![CDATA[47.69.112.62]]></TARGET>\n
71
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512469561.67379</REF>\n <TYPE>On-Demand</TYPE>\n
72
+ \ <TITLE><![CDATA[test_vuln]]></TITLE>\n <USER_LOGIN>Thomas</USER_LOGIN>\n
73
+ \ <LAUNCH_DATETIME>2017-12-05T10:26:01Z</LAUNCH_DATETIME>\n <DURATION>00:04:48</DURATION>\n
74
+ \ <PROCESSING_PRIORITY>1 - Emergency</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
75
+ \ <STATUS>\n <STATE>Finished</STATE>\n </STATUS>\n <TARGET><![CDATA[192.168.1.100]]></TARGET>\n
76
+ \ </SCAN>\n <SCAN>\n <REF>scan/1512466786.67046</REF>\n <TYPE>On-Demand</TYPE>\n
77
+ \ <TITLE><![CDATA[test]]></TITLE>\n <USER_LOGIN>Thomas</USER_LOGIN>\n
78
+ \ <LAUNCH_DATETIME>2017-12-05T09:39:46Z</LAUNCH_DATETIME>\n <DURATION>00:07:56</DURATION>\n
79
+ \ <PROCESSING_PRIORITY>0 - No Priority</PROCESSING_PRIORITY>\n <PROCESSED>1</PROCESSED>\n
80
+ \ <STATUS>\n <STATE>Finished</STATE>\n </STATUS>\n <TARGET><![CDATA[88.78.187.177]]></TARGET>\n
81
+ \ </SCAN>\n </SCAN_LIST>\n </RESPONSE>\n</SCAN_LIST_OUTPUT>\n<!--
82
+ This report was generated with an evaluation version of Qualys //--> \n<!--
83
+ CONFIDENTIAL AND PROPRIETARY INFORMATION. Qualys provides the QualysGuard
84
+ Service \"As Is,\" without any warranty of any kind. Qualys makes no warranty
85
+ that the information contained in this report is complete or error-free. Copyright
86
+ 2017, Qualys, Inc. //--> \n"
87
+ http_version:
88
+ recorded_at: Mon, 11 Dec 2017 08:49:57 GMT
89
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,121 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://qualysapi.qualys.eu/msp/report_template_list.php
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Requested-With:
11
+ - Qualys Ruby Client v0.1.3
12
+ Authorization:
13
+ - Basic c2NhLW5nMTpDMjhMaWNvdGh5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Tue, 12 Dec 2017 08:35:17 GMT
21
+ Server:
22
+ - Qualys
23
+ X-Xss-Protection:
24
+ - '1'
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Frame-Options:
28
+ - SAMEORIGIN
29
+ X-Ratelimit-Limit:
30
+ - '300'
31
+ X-Ratelimit-Window-Sec:
32
+ - '3600'
33
+ X-Concurrency-Limit-Limit:
34
+ - '2'
35
+ X-Concurrency-Limit-Running:
36
+ - '0'
37
+ X-Ratelimit-Towait-Sec:
38
+ - '0'
39
+ X-Ratelimit-Remaining:
40
+ - '298'
41
+ Transfer-Encoding:
42
+ - chunked
43
+ Content-Type:
44
+ - application/xml
45
+ body:
46
+ encoding: UTF-8
47
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE REPORT_TEMPLATE_LIST
48
+ SYSTEM \"https://qualysapi.qualys.eu/report_template_list.dtd\">\n<!-- This
49
+ report was generated with an evaluation version of Qualys //--> \n<REPORT_TEMPLATE_LIST>\n
50
+ \ <REPORT_TEMPLATE>\n <ID>91078694</ID>\n <TYPE>Auto</TYPE>\n <TEMPLATE_TYPE>Scan</TEMPLATE_TYPE>\n
51
+ \ <TITLE><![CDATA[Executive Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[Thomas]]></LOGIN>\n
52
+ \ <FIRSTNAME><![CDATA[Thomas]]></FIRSTNAME>\n <LASTNAME><![CDATA[Trust]]></LASTNAME>\n
53
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
54
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078695</ID>\n <TYPE>Auto</TYPE>\n
55
+ \ <TEMPLATE_TYPE>Scan</TEMPLATE_TYPE>\n <TITLE><![CDATA[Technical Report]]></TITLE>\n
56
+ \ <USER>\n <LOGIN><![CDATA[Thomas]]></LOGIN>\n <FIRSTNAME><![CDATA[Thomas]]></FIRSTNAME>\n
57
+ \ <LASTNAME><![CDATA[Trust]]></LASTNAME>\n </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n
58
+ \ <GLOBAL>1</GLOBAL>\n </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078696</ID>\n
59
+ \ <TYPE>Auto</TYPE>\n <TEMPLATE_TYPE>Patch</TEMPLATE_TYPE>\n <TITLE><![CDATA[Qualys
60
+ Patch Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[Thomas]]></LOGIN>\n
61
+ \ <FIRSTNAME><![CDATA[Thomas]]></FIRSTNAME>\n <LASTNAME><![CDATA[Trust]]></LASTNAME>\n
62
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
63
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078697</ID>\n <TYPE>Auto</TYPE>\n
64
+ \ <TEMPLATE_TYPE>Scan</TEMPLATE_TYPE>\n <TITLE><![CDATA[High Severity
65
+ Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[Thomas]]></LOGIN>\n
66
+ \ <FIRSTNAME><![CDATA[Thomas]]></FIRSTNAME>\n <LASTNAME><![CDATA[Trust]]></LASTNAME>\n
67
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
68
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078698</ID>\n <TYPE>Auto</TYPE>\n
69
+ \ <TEMPLATE_TYPE>Compliance</TEMPLATE_TYPE>\n <TITLE><![CDATA[2008 SANS
70
+ Top 20 Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
71
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
72
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
73
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078699</ID>\n <TYPE>Auto</TYPE>\n
74
+ \ <TEMPLATE_TYPE>Compliance</TEMPLATE_TYPE>\n <TITLE><![CDATA[Qualys
75
+ Top 20 Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
76
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
77
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
78
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078700</ID>\n <TYPE>Manual</TYPE>\n
79
+ \ <TEMPLATE_TYPE>Compliance</TEMPLATE_TYPE>\n <TITLE><![CDATA[Payment
80
+ Card Industry (PCI) Technical Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
81
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
82
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
83
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078701</ID>\n <TYPE>Manual</TYPE>\n
84
+ \ <TEMPLATE_TYPE>Compliance</TEMPLATE_TYPE>\n <TITLE><![CDATA[Payment
85
+ Card Industry (PCI) Executive Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
86
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
87
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
88
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078702</ID>\n <TYPE>Auto</TYPE>\n
89
+ \ <TEMPLATE_TYPE>Remediation</TEMPLATE_TYPE>\n <TITLE><![CDATA[Executive
90
+ Remediation Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
91
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
92
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
93
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078703</ID>\n <TYPE>Auto</TYPE>\n
94
+ \ <TEMPLATE_TYPE>Remediation</TEMPLATE_TYPE>\n <TITLE><![CDATA[Tickets
95
+ per Vulnerability]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
96
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
97
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
98
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078704</ID>\n <TYPE>Auto</TYPE>\n
99
+ \ <TEMPLATE_TYPE>Remediation</TEMPLATE_TYPE>\n <TITLE><![CDATA[Tickets
100
+ per User]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
101
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
102
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
103
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078705</ID>\n <TYPE>Auto</TYPE>\n
104
+ \ <TEMPLATE_TYPE>Remediation</TEMPLATE_TYPE>\n <TITLE><![CDATA[Tickets
105
+ per Asset Group]]></TITLE>\n <USER>\n <LOGIN><![CDATA[System]]></LOGIN>\n
106
+ \ <FIRSTNAME><![CDATA[System]]></FIRSTNAME>\n <LASTNAME><![CDATA[System]]></LASTNAME>\n
107
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:01:57Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
108
+ \ </REPORT_TEMPLATE>\n <REPORT_TEMPLATE>\n <ID>91078709</ID>\n <TYPE>Manual</TYPE>\n
109
+ \ <TEMPLATE_TYPE>Map</TEMPLATE_TYPE>\n <TITLE><![CDATA[Unknown Device
110
+ Report]]></TITLE>\n <USER>\n <LOGIN><![CDATA[Thomas]]></LOGIN>\n
111
+ \ <FIRSTNAME><![CDATA[Thomas]]></FIRSTNAME>\n <LASTNAME><![CDATA[Trust]]></LASTNAME>\n
112
+ \ </USER>\n <LAST_UPDATE>2017-11-23T15:02:01Z</LAST_UPDATE>\n <GLOBAL>1</GLOBAL>\n
113
+ \ </REPORT_TEMPLATE>\n</REPORT_TEMPLATE_LIST>\n<!-- This report was generated
114
+ with an evaluation version of Qualys //--> \n<!-- CONFIDENTIAL AND PROPRIETARY
115
+ INFORMATION. Qualys provides the QualysGuard Service \"As Is,\" without any
116
+ warranty of any kind. Qualys makes no warranty that the information contained
117
+ in this report is complete or error-free. Copyright 2017, Qualys, Inc. //-->
118
+ \n"
119
+ http_version:
120
+ recorded_at: Tue, 12 Dec 2017 08:35:18 GMT
121
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://qualysapi.qualys.eu/api/2.0/fo/report/?action=fetch&id=4888480
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Requested-With:
11
+ - Qualys Ruby Client v0.1.3
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Tue, 12 Dec 2017 10:22:56 GMT
19
+ Server:
20
+ - Qualys
21
+ X-Xss-Protection:
22
+ - '1'
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Frame-Options:
26
+ - SAMEORIGIN
27
+ Expires:
28
+ - Thu, 19 Nov 1981 08:52:00 GMT
29
+ Cache-Control:
30
+ - no-store, no-cache, must-revalidate, post-check=0, pre-check=0
31
+ Pragma:
32
+ - no-cache
33
+ X-Ratelimit-Limit:
34
+ - '300'
35
+ X-Ratelimit-Window-Sec:
36
+ - '3600'
37
+ X-Concurrency-Limit-Limit:
38
+ - '2'
39
+ X-Concurrency-Limit-Running:
40
+ - '0'
41
+ X-Ratelimit-Towait-Sec:
42
+ - '0'
43
+ X-Ratelimit-Remaining:
44
+ - '292'
45
+ Transfer-Encoding:
46
+ - chunked
47
+ Content-Type:
48
+ - text/xml;charset=UTF-8
49
+ body:
50
+ encoding: UTF-8
51
+ string: |
52
+ <?xml version="1.0" encoding="UTF-8" ?>
53
+ <!DOCTYPE SIMPLE_RETURN SYSTEM "https://qualysapi.qualys.eu/api/2.0/simple_return.dtd">
54
+ <SIMPLE_RETURN>
55
+ <RESPONSE>
56
+ <DATETIME>2017-12-12T10:22:57Z</DATETIME>
57
+ <CODE>7001</CODE>
58
+ <TEXT>Report cannot be fetched.</TEXT>
59
+ </RESPONSE>
60
+ </SIMPLE_RETURN>
61
+ http_version:
62
+ recorded_at: Tue, 12 Dec 2017 10:22:57 GMT
63
+ recorded_with: VCR 4.0.0