Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

feat: add v1 #42

Merged
merged 1 commit into from Mar 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
16 changes: 13 additions & 3 deletions docs/index.rst
Expand Up @@ -2,17 +2,27 @@

.. include:: multiprocessing.rst

Api Reference
API Reference
-------------
This package includes clients for multiple versions of the Web Security Scanner API. By default, you will get ``v1beta``, the latest version.
This package includes clients for multiple versions of the Web Security Scanner API. By default, you will get ``v1``, the latest version.

.. toctree::
:maxdepth: 2

websecurityscanner_v1/services
websecurityscanner_v1/types

The previous releases spelled ``v1beta`` and ``v1alpha`` are provided to continue to support code previously written against it. In order to use it, you will want to import from it e.g., ``google.cloud.websecurityscanner_v1alpha`` in lieu of ``google.cloud.websecurityscanner`` (or the equivalent ``google.cloud.websecurityscanner_v1``).


v1beta
~~~~~~~
.. toctree::
:maxdepth: 2

websecurityscanner_v1beta/services
websecurityscanner_v1beta/types

The previous alpha release, spelled ``v1alpha`` is provided to continue to support code previously written against it. In order to use it, you will want to import from it e.g., ``google.cloud.websecurityscanner_v1alpha`` in lieu of ``google.cloud.websecurityscanner`` (or the equivalent ``google.cloud.websecurityscanner_v1beta``).

v1alpha
~~~~~~~
Expand Down
6 changes: 6 additions & 0 deletions docs/websecurityscanner_v1/services.rst
@@ -0,0 +1,6 @@
Services for Google Cloud Websecurityscanner v1 API
===================================================
.. toctree::
:maxdepth: 2

web_security_scanner
7 changes: 7 additions & 0 deletions docs/websecurityscanner_v1/types.rst
@@ -0,0 +1,7 @@
Types for Google Cloud Websecurityscanner v1 API
================================================

.. automodule:: google.cloud.websecurityscanner_v1.types
:members:
:undoc-members:
:show-inheritance:
11 changes: 11 additions & 0 deletions docs/websecurityscanner_v1/web_security_scanner.rst
@@ -0,0 +1,11 @@
WebSecurityScanner
------------------------------------

.. automodule:: google.cloud.websecurityscanner_v1.services.web_security_scanner
:members:
:inherited-members:


.. automodule:: google.cloud.websecurityscanner_v1.services.web_security_scanner.pagers
:members:
:inherited-members:
87 changes: 87 additions & 0 deletions google/cloud/websecurityscanner_v1/__init__.py
@@ -0,0 +1,87 @@
# -*- coding: utf-8 -*-

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

from .services.web_security_scanner import WebSecurityScannerClient
from .types.crawled_url import CrawledUrl
from .types.finding import Finding
from .types.finding_addon import Form
from .types.finding_addon import OutdatedLibrary
from .types.finding_addon import ViolatingResource
from .types.finding_addon import VulnerableHeaders
from .types.finding_addon import VulnerableParameters
from .types.finding_addon import Xss
from .types.finding_type_stats import FindingTypeStats
from .types.scan_config import ScanConfig
from .types.scan_config_error import ScanConfigError
from .types.scan_run import ScanRun
from .types.scan_run_error_trace import ScanRunErrorTrace
from .types.scan_run_warning_trace import ScanRunWarningTrace
from .types.web_security_scanner import CreateScanConfigRequest
from .types.web_security_scanner import DeleteScanConfigRequest
from .types.web_security_scanner import GetFindingRequest
from .types.web_security_scanner import GetScanConfigRequest
from .types.web_security_scanner import GetScanRunRequest
from .types.web_security_scanner import ListCrawledUrlsRequest
from .types.web_security_scanner import ListCrawledUrlsResponse
from .types.web_security_scanner import ListFindingTypeStatsRequest
from .types.web_security_scanner import ListFindingTypeStatsResponse
from .types.web_security_scanner import ListFindingsRequest
from .types.web_security_scanner import ListFindingsResponse
from .types.web_security_scanner import ListScanConfigsRequest
from .types.web_security_scanner import ListScanConfigsResponse
from .types.web_security_scanner import ListScanRunsRequest
from .types.web_security_scanner import ListScanRunsResponse
from .types.web_security_scanner import StartScanRunRequest
from .types.web_security_scanner import StopScanRunRequest
from .types.web_security_scanner import UpdateScanConfigRequest


__all__ = (
"CrawledUrl",
"CreateScanConfigRequest",
"DeleteScanConfigRequest",
"Finding",
"FindingTypeStats",
"Form",
"GetFindingRequest",
"GetScanConfigRequest",
"GetScanRunRequest",
"ListCrawledUrlsRequest",
"ListCrawledUrlsResponse",
"ListFindingTypeStatsRequest",
"ListFindingTypeStatsResponse",
"ListFindingsRequest",
"ListFindingsResponse",
"ListScanConfigsRequest",
"ListScanConfigsResponse",
"ListScanRunsRequest",
"ListScanRunsResponse",
"OutdatedLibrary",
"ScanConfig",
"ScanConfigError",
"ScanRun",
"ScanRunErrorTrace",
"ScanRunWarningTrace",
"StartScanRunRequest",
"StopScanRunRequest",
"UpdateScanConfigRequest",
"ViolatingResource",
"VulnerableHeaders",
"VulnerableParameters",
"Xss",
"WebSecurityScannerClient",
)
40 changes: 40 additions & 0 deletions google/cloud/websecurityscanner_v1/proto/crawled_url.proto
@@ -0,0 +1,40 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.cloud.websecurityscanner.v1;

option csharp_namespace = "Google.Cloud.WebSecurityScanner.V1";
option go_package = "google.golang.org/genproto/googleapis/cloud/websecurityscanner/v1;websecurityscanner";
option java_multiple_files = true;
option java_outer_classname = "CrawledUrlProto";
option java_package = "com.google.cloud.websecurityscanner.v1";
option php_namespace = "Google\\Cloud\\WebSecurityScanner\\V1";
option ruby_package = "Google::Cloud::WebSecurityScanner::V1";

// A CrawledUrl resource represents a URL that was crawled during a ScanRun. Web
// Security Scanner Service crawls the web applications, following all links
// within the scope of sites, to find the URLs to test against.
message CrawledUrl {
// Output only. The http method of the request that was used to visit the URL, in
// uppercase.
string http_method = 1;

// Output only. The URL that was crawled.
string url = 2;

// Output only. The body of the request that was used to visit the URL.
string body = 3;
}
119 changes: 119 additions & 0 deletions google/cloud/websecurityscanner_v1/proto/finding.proto
@@ -0,0 +1,119 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.cloud.websecurityscanner.v1;

import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/websecurityscanner/v1/finding_addon.proto";

option csharp_namespace = "Google.Cloud.WebSecurityScanner.V1";
option go_package = "google.golang.org/genproto/googleapis/cloud/websecurityscanner/v1;websecurityscanner";
option java_multiple_files = true;
option java_outer_classname = "FindingProto";
option java_package = "com.google.cloud.websecurityscanner.v1";
option php_namespace = "Google\\Cloud\\WebSecurityScanner\\V1";
option ruby_package = "Google::Cloud::WebSecurityScanner::V1";

// A Finding resource represents a vulnerability instance identified during a
// ScanRun.
message Finding {
option (google.api.resource) = {
type: "websecurityscanner.googleapis.com/Finding"
pattern: "projects/{project}/scanConfigs/{scan_config}/scanRuns/{scan_run}/findings/{finding}"
};

// The severity level of a vulnerability.
enum Severity {
// No severity specified. The default value.
SEVERITY_UNSPECIFIED = 0;

// Critical severity.
CRITICAL = 1;

// High severity.
HIGH = 2;

// Medium severity.
MEDIUM = 3;

// Low severity.
LOW = 4;
}

// Output only. The resource name of the Finding. The name follows the format of
// 'projects/{projectId}/scanConfigs/{scanConfigId}/scanruns/{scanRunId}/findings/{findingId}'.
// The finding IDs are generated by the system.
string name = 1;

// Output only. The type of the Finding.
// Detailed and up-to-date information on findings can be found here:
// https://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings
string finding_type = 2;

// Output only. The severity level of the reported vulnerability.
Severity severity = 17 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. The http method of the request that triggered the vulnerability, in
// uppercase.
string http_method = 3;

// Output only. The URL produced by the server-side fuzzer and used in the request that
// triggered the vulnerability.
string fuzzed_url = 4;

// Output only. The body of the request that triggered the vulnerability.
string body = 5;

// Output only. The description of the vulnerability.
string description = 6;

// Output only. The URL containing human-readable payload that user can leverage to
// reproduce the vulnerability.
string reproduction_url = 7;

// Output only. If the vulnerability was originated from nested IFrame, the immediate
// parent IFrame is reported.
string frame_url = 8;

// Output only. The URL where the browser lands when the vulnerability is detected.
string final_url = 9;

// Output only. The tracking ID uniquely identifies a vulnerability instance across
// multiple ScanRuns.
string tracking_id = 10;

// Output only. An addon containing information reported for a vulnerability with an HTML
// form, if any.
Form form = 16;

// Output only. An addon containing information about outdated libraries.
OutdatedLibrary outdated_library = 11;

// Output only. An addon containing detailed information regarding any resource causing the
// vulnerability such as JavaScript sources, image, audio files, etc.
ViolatingResource violating_resource = 12;

// Output only. An addon containing information about vulnerable or missing HTTP headers.
VulnerableHeaders vulnerable_headers = 15;

// Output only. An addon containing information about request parameters which were found
// to be vulnerable.
VulnerableParameters vulnerable_parameters = 13;

// Output only. An addon containing information reported for an XSS, if any.
Xss xss = 14;
}