google-cloud-web_security_scanner-v1 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/.yardopts +12 -0
- data/AUTHENTICATION.md +169 -0
- data/LICENSE.md +203 -0
- data/README.md +75 -0
- data/lib/google-cloud-web_security_scanner-v1.rb +21 -0
- data/lib/google/cloud/web_security_scanner/v1.rb +35 -0
- data/lib/google/cloud/web_security_scanner/v1/version.rb +28 -0
- data/lib/google/cloud/web_security_scanner/v1/web_security_scanner.rb +50 -0
- data/lib/google/cloud/web_security_scanner/v1/web_security_scanner/client.rb +1393 -0
- data/lib/google/cloud/web_security_scanner/v1/web_security_scanner/credentials.rb +51 -0
- data/lib/google/cloud/websecurityscanner/v1/crawled_url_pb.rb +24 -0
- data/lib/google/cloud/websecurityscanner/v1/finding_addon_pb.rb +74 -0
- data/lib/google/cloud/websecurityscanner/v1/finding_pb.rb +49 -0
- data/lib/google/cloud/websecurityscanner/v1/finding_type_stats_pb.rb +23 -0
- data/lib/google/cloud/websecurityscanner/v1/scan_config_error_pb.rb +68 -0
- data/lib/google/cloud/websecurityscanner/v1/scan_config_pb.rb +88 -0
- data/lib/google/cloud/websecurityscanner/v1/scan_run_error_trace_pb.rb +35 -0
- data/lib/google/cloud/websecurityscanner/v1/scan_run_pb.rb +49 -0
- data/lib/google/cloud/websecurityscanner/v1/scan_run_warning_trace_pb.rb +30 -0
- data/lib/google/cloud/websecurityscanner/v1/web_security_scanner_pb.rb +114 -0
- data/lib/google/cloud/websecurityscanner/v1/web_security_scanner_services_pb.rb +72 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +59 -0
- data/proto_docs/google/api/resource.rb +283 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/crawled_url.rb +44 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/finding.rb +114 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/finding_addon.rb +169 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/finding_type_stats.rb +39 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/scan_config.rb +200 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/scan_config_error.rb +191 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/scan_run.rb +110 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/scan_run_error_trace.rb +77 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/scan_run_warning_trace.rb +62 -0
- data/proto_docs/google/cloud/websecurityscanner/v1/web_security_scanner.rb +278 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +120 -0
- metadata +220 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module WebSecurityScanner
|
23
|
+
module V1
|
24
|
+
# A CrawledUrl resource represents a URL that was crawled during a ScanRun. Web
|
25
|
+
# Security Scanner Service crawls the web applications, following all links
|
26
|
+
# within the scope of sites, to find the URLs to test against.
|
27
|
+
# @!attribute [rw] http_method
|
28
|
+
# @return [::String]
|
29
|
+
# Output only. The http method of the request that was used to visit the URL, in
|
30
|
+
# uppercase.
|
31
|
+
# @!attribute [rw] url
|
32
|
+
# @return [::String]
|
33
|
+
# Output only. The URL that was crawled.
|
34
|
+
# @!attribute [rw] body
|
35
|
+
# @return [::String]
|
36
|
+
# Output only. The body of the request that was used to visit the URL.
|
37
|
+
class CrawledUrl
|
38
|
+
include ::Google::Protobuf::MessageExts
|
39
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module WebSecurityScanner
|
23
|
+
module V1
|
24
|
+
# A Finding resource represents a vulnerability instance identified during a
|
25
|
+
# ScanRun.
|
26
|
+
# @!attribute [rw] name
|
27
|
+
# @return [::String]
|
28
|
+
# Output only. The resource name of the Finding. The name follows the format of
|
29
|
+
# 'projects/\\{projectId}/scanConfigs/\\{scanConfigId}/scanruns/\\{scanRunId}/findings/\\{findingId}'.
|
30
|
+
# The finding IDs are generated by the system.
|
31
|
+
# @!attribute [rw] finding_type
|
32
|
+
# @return [::String]
|
33
|
+
# Output only. The type of the Finding.
|
34
|
+
# Detailed and up-to-date information on findings can be found here:
|
35
|
+
# https://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings
|
36
|
+
# @!attribute [r] severity
|
37
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::Finding::Severity]
|
38
|
+
# Output only. The severity level of the reported vulnerability.
|
39
|
+
# @!attribute [rw] http_method
|
40
|
+
# @return [::String]
|
41
|
+
# Output only. The http method of the request that triggered the vulnerability, in
|
42
|
+
# uppercase.
|
43
|
+
# @!attribute [rw] fuzzed_url
|
44
|
+
# @return [::String]
|
45
|
+
# Output only. The URL produced by the server-side fuzzer and used in the request that
|
46
|
+
# triggered the vulnerability.
|
47
|
+
# @!attribute [rw] body
|
48
|
+
# @return [::String]
|
49
|
+
# Output only. The body of the request that triggered the vulnerability.
|
50
|
+
# @!attribute [rw] description
|
51
|
+
# @return [::String]
|
52
|
+
# Output only. The description of the vulnerability.
|
53
|
+
# @!attribute [rw] reproduction_url
|
54
|
+
# @return [::String]
|
55
|
+
# Output only. The URL containing human-readable payload that user can leverage to
|
56
|
+
# reproduce the vulnerability.
|
57
|
+
# @!attribute [rw] frame_url
|
58
|
+
# @return [::String]
|
59
|
+
# Output only. If the vulnerability was originated from nested IFrame, the immediate
|
60
|
+
# parent IFrame is reported.
|
61
|
+
# @!attribute [rw] final_url
|
62
|
+
# @return [::String]
|
63
|
+
# Output only. The URL where the browser lands when the vulnerability is detected.
|
64
|
+
# @!attribute [rw] tracking_id
|
65
|
+
# @return [::String]
|
66
|
+
# Output only. The tracking ID uniquely identifies a vulnerability instance across
|
67
|
+
# multiple ScanRuns.
|
68
|
+
# @!attribute [rw] form
|
69
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::Form]
|
70
|
+
# Output only. An addon containing information reported for a vulnerability with an HTML
|
71
|
+
# form, if any.
|
72
|
+
# @!attribute [rw] outdated_library
|
73
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::OutdatedLibrary]
|
74
|
+
# Output only. An addon containing information about outdated libraries.
|
75
|
+
# @!attribute [rw] violating_resource
|
76
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ViolatingResource]
|
77
|
+
# Output only. An addon containing detailed information regarding any resource causing the
|
78
|
+
# vulnerability such as JavaScript sources, image, audio files, etc.
|
79
|
+
# @!attribute [rw] vulnerable_headers
|
80
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::VulnerableHeaders]
|
81
|
+
# Output only. An addon containing information about vulnerable or missing HTTP headers.
|
82
|
+
# @!attribute [rw] vulnerable_parameters
|
83
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::VulnerableParameters]
|
84
|
+
# Output only. An addon containing information about request parameters which were found
|
85
|
+
# to be vulnerable.
|
86
|
+
# @!attribute [rw] xss
|
87
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::Xss]
|
88
|
+
# Output only. An addon containing information reported for an XSS, if any.
|
89
|
+
class Finding
|
90
|
+
include ::Google::Protobuf::MessageExts
|
91
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
92
|
+
|
93
|
+
# The severity level of a vulnerability.
|
94
|
+
module Severity
|
95
|
+
# No severity specified. The default value.
|
96
|
+
SEVERITY_UNSPECIFIED = 0
|
97
|
+
|
98
|
+
# Critical severity.
|
99
|
+
CRITICAL = 1
|
100
|
+
|
101
|
+
# High severity.
|
102
|
+
HIGH = 2
|
103
|
+
|
104
|
+
# Medium severity.
|
105
|
+
MEDIUM = 3
|
106
|
+
|
107
|
+
# Low severity.
|
108
|
+
LOW = 4
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -0,0 +1,169 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module WebSecurityScanner
|
23
|
+
module V1
|
24
|
+
# ! Information about a vulnerability with an HTML.
|
25
|
+
# @!attribute [rw] action_uri
|
26
|
+
# @return [::String]
|
27
|
+
# ! The URI where to send the form when it's submitted.
|
28
|
+
# @!attribute [rw] fields
|
29
|
+
# @return [::Array<::String>]
|
30
|
+
# ! The names of form fields related to the vulnerability.
|
31
|
+
class Form
|
32
|
+
include ::Google::Protobuf::MessageExts
|
33
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
34
|
+
end
|
35
|
+
|
36
|
+
# Information reported for an outdated library.
|
37
|
+
# @!attribute [rw] library_name
|
38
|
+
# @return [::String]
|
39
|
+
# The name of the outdated library.
|
40
|
+
# @!attribute [rw] version
|
41
|
+
# @return [::String]
|
42
|
+
# The version number.
|
43
|
+
# @!attribute [rw] learn_more_urls
|
44
|
+
# @return [::Array<::String>]
|
45
|
+
# URLs to learn more information about the vulnerabilities in the library.
|
46
|
+
class OutdatedLibrary
|
47
|
+
include ::Google::Protobuf::MessageExts
|
48
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
49
|
+
end
|
50
|
+
|
51
|
+
# Information regarding any resource causing the vulnerability such
|
52
|
+
# as JavaScript sources, image, audio files, etc.
|
53
|
+
# @!attribute [rw] content_type
|
54
|
+
# @return [::String]
|
55
|
+
# The MIME type of this resource.
|
56
|
+
# @!attribute [rw] resource_url
|
57
|
+
# @return [::String]
|
58
|
+
# URL of this violating resource.
|
59
|
+
class ViolatingResource
|
60
|
+
include ::Google::Protobuf::MessageExts
|
61
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
62
|
+
end
|
63
|
+
|
64
|
+
# Information about vulnerable request parameters.
|
65
|
+
# @!attribute [rw] parameter_names
|
66
|
+
# @return [::Array<::String>]
|
67
|
+
# The vulnerable parameter names.
|
68
|
+
class VulnerableParameters
|
69
|
+
include ::Google::Protobuf::MessageExts
|
70
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
71
|
+
end
|
72
|
+
|
73
|
+
# Information about vulnerable or missing HTTP Headers.
|
74
|
+
# @!attribute [rw] headers
|
75
|
+
# @return [::Array<::Google::Cloud::WebSecurityScanner::V1::VulnerableHeaders::Header>]
|
76
|
+
# List of vulnerable headers.
|
77
|
+
# @!attribute [rw] missing_headers
|
78
|
+
# @return [::Array<::Google::Cloud::WebSecurityScanner::V1::VulnerableHeaders::Header>]
|
79
|
+
# List of missing headers.
|
80
|
+
class VulnerableHeaders
|
81
|
+
include ::Google::Protobuf::MessageExts
|
82
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
83
|
+
|
84
|
+
# Describes a HTTP Header.
|
85
|
+
# @!attribute [rw] name
|
86
|
+
# @return [::String]
|
87
|
+
# Header name.
|
88
|
+
# @!attribute [rw] value
|
89
|
+
# @return [::String]
|
90
|
+
# Header value.
|
91
|
+
class Header
|
92
|
+
include ::Google::Protobuf::MessageExts
|
93
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# Information reported for an XSS.
|
98
|
+
# @!attribute [rw] stack_traces
|
99
|
+
# @return [::Array<::String>]
|
100
|
+
# Stack traces leading to the point where the XSS occurred.
|
101
|
+
# @!attribute [rw] error_message
|
102
|
+
# @return [::String]
|
103
|
+
# An error message generated by a javascript breakage.
|
104
|
+
# @!attribute [rw] attack_vector
|
105
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::Xss::AttackVector]
|
106
|
+
# The attack vector of the payload triggering this XSS.
|
107
|
+
# @!attribute [rw] stored_xss_seeding_url
|
108
|
+
# @return [::String]
|
109
|
+
# The reproduction url for the seeding POST request of a Stored XSS.
|
110
|
+
class Xss
|
111
|
+
include ::Google::Protobuf::MessageExts
|
112
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
113
|
+
|
114
|
+
# Types of XSS attack vector.
|
115
|
+
module AttackVector
|
116
|
+
# Unknown attack vector.
|
117
|
+
ATTACK_VECTOR_UNSPECIFIED = 0
|
118
|
+
|
119
|
+
# The attack comes from fuzzing the browser's localStorage.
|
120
|
+
LOCAL_STORAGE = 1
|
121
|
+
|
122
|
+
# The attack comes from fuzzing the browser's sessionStorage.
|
123
|
+
SESSION_STORAGE = 2
|
124
|
+
|
125
|
+
# The attack comes from fuzzing the window's name property.
|
126
|
+
WINDOW_NAME = 3
|
127
|
+
|
128
|
+
# The attack comes from fuzzing the referrer property.
|
129
|
+
REFERRER = 4
|
130
|
+
|
131
|
+
# The attack comes from fuzzing an input element.
|
132
|
+
FORM_INPUT = 5
|
133
|
+
|
134
|
+
# The attack comes from fuzzing the browser's cookies.
|
135
|
+
COOKIE = 6
|
136
|
+
|
137
|
+
# The attack comes from hijacking the post messaging mechanism.
|
138
|
+
POST_MESSAGE = 7
|
139
|
+
|
140
|
+
# The attack comes from fuzzing parameters in the url.
|
141
|
+
GET_PARAMETERS = 8
|
142
|
+
|
143
|
+
# The attack comes from fuzzing the fragment in the url.
|
144
|
+
URL_FRAGMENT = 9
|
145
|
+
|
146
|
+
# The attack comes from fuzzing the HTML comments.
|
147
|
+
HTML_COMMENT = 10
|
148
|
+
|
149
|
+
# The attack comes from fuzzing the POST parameters.
|
150
|
+
POST_PARAMETERS = 11
|
151
|
+
|
152
|
+
# The attack comes from fuzzing the protocol.
|
153
|
+
PROTOCOL = 12
|
154
|
+
|
155
|
+
# The attack comes from the server side and is stored.
|
156
|
+
STORED_XSS = 13
|
157
|
+
|
158
|
+
# The attack is a Same-Origin Method Execution attack via a GET parameter.
|
159
|
+
SAME_ORIGIN = 14
|
160
|
+
|
161
|
+
# The attack payload is received from a third-party host via a URL that is
|
162
|
+
# user-controllable
|
163
|
+
USER_CONTROLLABLE_URL = 15
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module WebSecurityScanner
|
23
|
+
module V1
|
24
|
+
# A FindingTypeStats resource represents stats regarding a specific FindingType
|
25
|
+
# of Findings under a given ScanRun.
|
26
|
+
# @!attribute [rw] finding_type
|
27
|
+
# @return [::String]
|
28
|
+
# Output only. The finding type associated with the stats.
|
29
|
+
# @!attribute [rw] finding_count
|
30
|
+
# @return [::Integer]
|
31
|
+
# Output only. The count of findings belonging to this finding type.
|
32
|
+
class FindingTypeStats
|
33
|
+
include ::Google::Protobuf::MessageExts
|
34
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,200 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module WebSecurityScanner
|
23
|
+
module V1
|
24
|
+
# A ScanConfig resource contains the configurations to launch a scan.
|
25
|
+
# @!attribute [rw] name
|
26
|
+
# @return [::String]
|
27
|
+
# The resource name of the ScanConfig. The name follows the format of
|
28
|
+
# 'projects/\\{projectId}/scanConfigs/\\{scanConfigId}'. The ScanConfig IDs are
|
29
|
+
# generated by the system.
|
30
|
+
# @!attribute [rw] display_name
|
31
|
+
# @return [::String]
|
32
|
+
# Required. The user provided display name of the ScanConfig.
|
33
|
+
# @!attribute [rw] max_qps
|
34
|
+
# @return [::Integer]
|
35
|
+
# The maximum QPS during scanning. A valid value ranges from 5 to 20
|
36
|
+
# inclusively. If the field is unspecified or its value is set 0, server will
|
37
|
+
# default to 15. Other values outside of [5, 20] range will be rejected with
|
38
|
+
# INVALID_ARGUMENT error.
|
39
|
+
# @!attribute [rw] starting_urls
|
40
|
+
# @return [::Array<::String>]
|
41
|
+
# Required. The starting URLs from which the scanner finds site pages.
|
42
|
+
# @!attribute [rw] authentication
|
43
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication]
|
44
|
+
# The authentication configuration. If specified, service will use the
|
45
|
+
# authentication configuration during scanning.
|
46
|
+
# @!attribute [rw] user_agent
|
47
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::UserAgent]
|
48
|
+
# The user agent used during scanning.
|
49
|
+
# @!attribute [rw] blacklist_patterns
|
50
|
+
# @return [::Array<::String>]
|
51
|
+
# The excluded URL patterns as described in
|
52
|
+
# https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls
|
53
|
+
# @!attribute [rw] schedule
|
54
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Schedule]
|
55
|
+
# The schedule of the ScanConfig.
|
56
|
+
# @!attribute [rw] export_to_security_command_center
|
57
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::ExportToSecurityCommandCenter]
|
58
|
+
# Controls export of scan configurations and results to Security
|
59
|
+
# Command Center.
|
60
|
+
# @!attribute [rw] risk_level
|
61
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::RiskLevel]
|
62
|
+
# The risk level selected for the scan
|
63
|
+
# @!attribute [rw] managed_scan
|
64
|
+
# @return [::Boolean]
|
65
|
+
# Whether the scan config is managed by Web Security Scanner, output
|
66
|
+
# only.
|
67
|
+
# @!attribute [rw] static_ip_scan
|
68
|
+
# @return [::Boolean]
|
69
|
+
# Whether the scan configuration has enabled static IP address scan feature.
|
70
|
+
# If enabled, the scanner will access applications from static IP addresses.
|
71
|
+
class ScanConfig
|
72
|
+
include ::Google::Protobuf::MessageExts
|
73
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
74
|
+
|
75
|
+
# Scan authentication configuration.
|
76
|
+
# @!attribute [rw] google_account
|
77
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::GoogleAccount]
|
78
|
+
# Authentication using a Google account.
|
79
|
+
# @!attribute [rw] custom_account
|
80
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::CustomAccount]
|
81
|
+
# Authentication using a custom account.
|
82
|
+
# @!attribute [rw] iap_credential
|
83
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::IapCredential]
|
84
|
+
# Authentication using Identity-Aware-Proxy (IAP).
|
85
|
+
class Authentication
|
86
|
+
include ::Google::Protobuf::MessageExts
|
87
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
88
|
+
|
89
|
+
# Describes authentication configuration that uses a Google account.
|
90
|
+
# @!attribute [rw] username
|
91
|
+
# @return [::String]
|
92
|
+
# Required. The user name of the Google account.
|
93
|
+
# @!attribute [rw] password
|
94
|
+
# @return [::String]
|
95
|
+
# Required. Input only. The password of the Google account. The credential is stored encrypted
|
96
|
+
# and not returned in any response nor included in audit logs.
|
97
|
+
class GoogleAccount
|
98
|
+
include ::Google::Protobuf::MessageExts
|
99
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
100
|
+
end
|
101
|
+
|
102
|
+
# Describes authentication configuration that uses a custom account.
|
103
|
+
# @!attribute [rw] username
|
104
|
+
# @return [::String]
|
105
|
+
# Required. The user name of the custom account.
|
106
|
+
# @!attribute [rw] password
|
107
|
+
# @return [::String]
|
108
|
+
# Required. Input only. The password of the custom account. The credential is stored encrypted
|
109
|
+
# and not returned in any response nor included in audit logs.
|
110
|
+
# @!attribute [rw] login_url
|
111
|
+
# @return [::String]
|
112
|
+
# Required. The login form URL of the website.
|
113
|
+
class CustomAccount
|
114
|
+
include ::Google::Protobuf::MessageExts
|
115
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
116
|
+
end
|
117
|
+
|
118
|
+
# Describes authentication configuration for Identity-Aware-Proxy (IAP).
|
119
|
+
# @!attribute [rw] iap_test_service_account_info
|
120
|
+
# @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::IapCredential::IapTestServiceAccountInfo]
|
121
|
+
# Authentication configuration when Web-Security-Scanner service
|
122
|
+
# account is added in Identity-Aware-Proxy (IAP) access policies.
|
123
|
+
class IapCredential
|
124
|
+
include ::Google::Protobuf::MessageExts
|
125
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
126
|
+
|
127
|
+
# Describes authentication configuration when Web-Security-Scanner
|
128
|
+
# service account is added in Identity-Aware-Proxy (IAP) access policies.
|
129
|
+
# @!attribute [rw] target_audience_client_id
|
130
|
+
# @return [::String]
|
131
|
+
# Required. Describes OAuth2 client id of resources protected by
|
132
|
+
# Identity-Aware-Proxy (IAP).
|
133
|
+
class IapTestServiceAccountInfo
|
134
|
+
include ::Google::Protobuf::MessageExts
|
135
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
# Scan schedule configuration.
|
141
|
+
# @!attribute [rw] schedule_time
|
142
|
+
# @return [::Google::Protobuf::Timestamp]
|
143
|
+
# A timestamp indicates when the next run will be scheduled. The value is
|
144
|
+
# refreshed by the server after each run. If unspecified, it will default
|
145
|
+
# to current server time, which means the scan will be scheduled to start
|
146
|
+
# immediately.
|
147
|
+
# @!attribute [rw] interval_duration_days
|
148
|
+
# @return [::Integer]
|
149
|
+
# Required. The duration of time between executions in days.
|
150
|
+
class Schedule
|
151
|
+
include ::Google::Protobuf::MessageExts
|
152
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
153
|
+
end
|
154
|
+
|
155
|
+
# Type of user agents used for scanning.
|
156
|
+
module UserAgent
|
157
|
+
# The user agent is unknown. Service will default to CHROME_LINUX.
|
158
|
+
USER_AGENT_UNSPECIFIED = 0
|
159
|
+
|
160
|
+
# Chrome on Linux. This is the service default if unspecified.
|
161
|
+
CHROME_LINUX = 1
|
162
|
+
|
163
|
+
# Chrome on Android.
|
164
|
+
CHROME_ANDROID = 2
|
165
|
+
|
166
|
+
# Safari on IPhone.
|
167
|
+
SAFARI_IPHONE = 3
|
168
|
+
end
|
169
|
+
|
170
|
+
# Scan risk levels supported by Web Security Scanner. LOW impact
|
171
|
+
# scanning will minimize requests with the potential to modify data. To
|
172
|
+
# achieve the maximum scan coverage, NORMAL risk level is recommended.
|
173
|
+
module RiskLevel
|
174
|
+
# Use default, which is NORMAL.
|
175
|
+
RISK_LEVEL_UNSPECIFIED = 0
|
176
|
+
|
177
|
+
# Normal scanning (Recommended)
|
178
|
+
NORMAL = 1
|
179
|
+
|
180
|
+
# Lower impact scanning
|
181
|
+
LOW = 2
|
182
|
+
end
|
183
|
+
|
184
|
+
# Controls export of scan configurations and results to Security
|
185
|
+
# Command Center.
|
186
|
+
module ExportToSecurityCommandCenter
|
187
|
+
# Use default, which is ENABLED.
|
188
|
+
EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED = 0
|
189
|
+
|
190
|
+
# Export results of this scan to Security Command Center.
|
191
|
+
ENABLED = 1
|
192
|
+
|
193
|
+
# Do not export results of this scan to Security Command Center.
|
194
|
+
DISABLED = 2
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|