// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/websecurityscanner/v1alpha/finding.proto

package websecurityscanner

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Types of Findings.
type Finding_FindingType int32

const (
	// The invalid finding type.
	Finding_FINDING_TYPE_UNSPECIFIED Finding_FindingType = 0
	// A page that was served over HTTPS also resources over HTTP. A
	// man-in-the-middle attacker could tamper with the HTTP resource and gain
	// full access to the website that loads the resource or to monitor the
	// actions taken by the user.
	Finding_MIXED_CONTENT Finding_FindingType = 1
	// The version of an included library is known to contain a security issue.
	// The scanner checks the version of library in use against a known list of
	// vulnerable libraries. False positives are possible if the version
	// detection fails or if the library has been manually patched.
	Finding_OUTDATED_LIBRARY Finding_FindingType = 2
	// This type of vulnerability occurs when the value of a request parameter
	// is reflected at the beginning of the response, for example, in requests
	// using JSONP. Under certain circumstances, an attacker may be able to
	// supply an alphanumeric-only Flash file in the vulnerable parameter
	// causing the browser to execute the Flash file as if it originated on the
	// vulnerable server.
	Finding_ROSETTA_FLASH Finding_FindingType = 5
	// A cross-site scripting (XSS) bug is found via JavaScript callback. For
	// detailed explanations on XSS, see
	// https://www.google.com/about/appsecurity/learning/xss/.
	Finding_XSS_CALLBACK Finding_FindingType = 3
	// A potential cross-site scripting (XSS) bug due to JavaScript breakage.
	// In some circumstances, the application under test might modify the test
	// string before it is parsed by the browser. When the browser attempts to
	// runs this modified test string, it will likely break and throw a
	// JavaScript execution error, thus an injection issue is occurring.
	// However, it may not be exploitable. Manual verification is needed to see
	// if the test string modifications can be evaded and confirm that the issue
	// is in fact an XSS vulnerability. For detailed explanations on XSS, see
	// https://www.google.com/about/appsecurity/learning/xss/.
	Finding_XSS_ERROR Finding_FindingType = 4
	// An application appears to be transmitting a password field in clear text.
	// An attacker can eavesdrop network traffic and sniff the password field.
	Finding_CLEAR_TEXT_PASSWORD Finding_FindingType = 6
	// An application returns sensitive content with an invalid content type,
	// or without an 'X-Content-Type-Options: nosniff' header.
	Finding_INVALID_CONTENT_TYPE Finding_FindingType = 7
	// A cross-site scripting (XSS) vulnerability in AngularJS module that
	// occurs when a user-provided string is interpolated by Angular.
	Finding_XSS_ANGULAR_CALLBACK Finding_FindingType = 8
	// A malformed or invalid valued header.
	Finding_INVALID_HEADER Finding_FindingType = 9
	// Misspelled security header name.
	Finding_MISSPELLED_SECURITY_HEADER_NAME Finding_FindingType = 10
	// Mismatching values in a duplicate security header.
	Finding_MISMATCHING_SECURITY_HEADER_VALUES Finding_FindingType = 11
)

var Finding_FindingType_name = map[int32]string{
	0:  "FINDING_TYPE_UNSPECIFIED",
	1:  "MIXED_CONTENT",
	2:  "OUTDATED_LIBRARY",
	5:  "ROSETTA_FLASH",
	3:  "XSS_CALLBACK",
	4:  "XSS_ERROR",
	6:  "CLEAR_TEXT_PASSWORD",
	7:  "INVALID_CONTENT_TYPE",
	8:  "XSS_ANGULAR_CALLBACK",
	9:  "INVALID_HEADER",
	10: "MISSPELLED_SECURITY_HEADER_NAME",
	11: "MISMATCHING_SECURITY_HEADER_VALUES",
}

var Finding_FindingType_value = map[string]int32{
	"FINDING_TYPE_UNSPECIFIED":           0,
	"MIXED_CONTENT":                      1,
	"OUTDATED_LIBRARY":                   2,
	"ROSETTA_FLASH":                      5,
	"XSS_CALLBACK":                       3,
	"XSS_ERROR":                          4,
	"CLEAR_TEXT_PASSWORD":                6,
	"INVALID_CONTENT_TYPE":               7,
	"XSS_ANGULAR_CALLBACK":               8,
	"INVALID_HEADER":                     9,
	"MISSPELLED_SECURITY_HEADER_NAME":    10,
	"MISMATCHING_SECURITY_HEADER_VALUES": 11,
}

func (x Finding_FindingType) String() string {
	return proto.EnumName(Finding_FindingType_name, int32(x))
}

func (Finding_FindingType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_811918cc7b338327, []int{0, 0}
}

// A Finding resource represents a vulnerability instance identified during a
// ScanRun.
type Finding struct {
	// 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.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the Finding.
	FindingType Finding_FindingType `protobuf:"varint,2,opt,name=finding_type,json=findingType,proto3,enum=google.cloud.websecurityscanner.v1alpha.Finding_FindingType" json:"finding_type,omitempty"`
	// The http method of the request that triggered the vulnerability, in
	// uppercase.
	HttpMethod string `protobuf:"bytes,3,opt,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty"`
	// The URL produced by the server-side fuzzer and used in the request that
	// triggered the vulnerability.
	FuzzedUrl string `protobuf:"bytes,4,opt,name=fuzzed_url,json=fuzzedUrl,proto3" json:"fuzzed_url,omitempty"`
	// The body of the request that triggered the vulnerability.
	Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"`
	// The description of the vulnerability.
	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	// The URL containing human-readable payload that user can leverage to
	// reproduce the vulnerability.
	ReproductionUrl string `protobuf:"bytes,7,opt,name=reproduction_url,json=reproductionUrl,proto3" json:"reproduction_url,omitempty"`
	// If the vulnerability was originated from nested IFrame, the immediate
	// parent IFrame is reported.
	FrameUrl string `protobuf:"bytes,8,opt,name=frame_url,json=frameUrl,proto3" json:"frame_url,omitempty"`
	// The URL where the browser lands when the vulnerability is detected.
	FinalUrl string `protobuf:"bytes,9,opt,name=final_url,json=finalUrl,proto3" json:"final_url,omitempty"`
	// The tracking ID uniquely identifies a vulnerability instance across
	// multiple ScanRuns.
	TrackingId string `protobuf:"bytes,10,opt,name=tracking_id,json=trackingId,proto3" json:"tracking_id,omitempty"`
	// An addon containing information about outdated libraries.
	OutdatedLibrary *OutdatedLibrary `protobuf:"bytes,11,opt,name=outdated_library,json=outdatedLibrary,proto3" json:"outdated_library,omitempty"`
	// An addon containing detailed information regarding any resource causing the
	// vulnerability such as JavaScript sources, image, audio files, etc.
	ViolatingResource *ViolatingResource `protobuf:"bytes,12,opt,name=violating_resource,json=violatingResource,proto3" json:"violating_resource,omitempty"`
	// An addon containing information about vulnerable or missing HTTP headers.
	VulnerableHeaders *VulnerableHeaders `protobuf:"bytes,15,opt,name=vulnerable_headers,json=vulnerableHeaders,proto3" json:"vulnerable_headers,omitempty"`
	// An addon containing information about request parameters which were found
	// to be vulnerable.
	VulnerableParameters *VulnerableParameters `protobuf:"bytes,13,opt,name=vulnerable_parameters,json=vulnerableParameters,proto3" json:"vulnerable_parameters,omitempty"`
	// An addon containing information reported for an XSS, if any.
	Xss                  *Xss     `protobuf:"bytes,14,opt,name=xss,proto3" json:"xss,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Finding) Reset()         { *m = Finding{} }
func (m *Finding) String() string { return proto.CompactTextString(m) }
func (*Finding) ProtoMessage()    {}
func (*Finding) Descriptor() ([]byte, []int) {
	return fileDescriptor_811918cc7b338327, []int{0}
}

func (m *Finding) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Finding.Unmarshal(m, b)
}
func (m *Finding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Finding.Marshal(b, m, deterministic)
}
func (m *Finding) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Finding.Merge(m, src)
}
func (m *Finding) XXX_Size() int {
	return xxx_messageInfo_Finding.Size(m)
}
func (m *Finding) XXX_DiscardUnknown() {
	xxx_messageInfo_Finding.DiscardUnknown(m)
}

var xxx_messageInfo_Finding proto.InternalMessageInfo

func (m *Finding) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Finding) GetFindingType() Finding_FindingType {
	if m != nil {
		return m.FindingType
	}
	return Finding_FINDING_TYPE_UNSPECIFIED
}

func (m *Finding) GetHttpMethod() string {
	if m != nil {
		return m.HttpMethod
	}
	return ""
}

func (m *Finding) GetFuzzedUrl() string {
	if m != nil {
		return m.FuzzedUrl
	}
	return ""
}

func (m *Finding) GetBody() string {
	if m != nil {
		return m.Body
	}
	return ""
}

func (m *Finding) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Finding) GetReproductionUrl() string {
	if m != nil {
		return m.ReproductionUrl
	}
	return ""
}

func (m *Finding) GetFrameUrl() string {
	if m != nil {
		return m.FrameUrl
	}
	return ""
}

func (m *Finding) GetFinalUrl() string {
	if m != nil {
		return m.FinalUrl
	}
	return ""
}

func (m *Finding) GetTrackingId() string {
	if m != nil {
		return m.TrackingId
	}
	return ""
}

func (m *Finding) GetOutdatedLibrary() *OutdatedLibrary {
	if m != nil {
		return m.OutdatedLibrary
	}
	return nil
}

func (m *Finding) GetViolatingResource() *ViolatingResource {
	if m != nil {
		return m.ViolatingResource
	}
	return nil
}

func (m *Finding) GetVulnerableHeaders() *VulnerableHeaders {
	if m != nil {
		return m.VulnerableHeaders
	}
	return nil
}

func (m *Finding) GetVulnerableParameters() *VulnerableParameters {
	if m != nil {
		return m.VulnerableParameters
	}
	return nil
}

func (m *Finding) GetXss() *Xss {
	if m != nil {
		return m.Xss
	}
	return nil
}

func init() {
	proto.RegisterEnum("google.cloud.websecurityscanner.v1alpha.Finding_FindingType", Finding_FindingType_name, Finding_FindingType_value)
	proto.RegisterType((*Finding)(nil), "google.cloud.websecurityscanner.v1alpha.Finding")
}

func init() {
	proto.RegisterFile("google/cloud/websecurityscanner/v1alpha/finding.proto", fileDescriptor_811918cc7b338327)
}

var fileDescriptor_811918cc7b338327 = []byte{
	// 804 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xdd, 0x6e, 0xe4, 0x34,
	0x18, 0x25, 0x6d, 0xb7, 0xed, 0x78, 0xfa, 0x93, 0x9a, 0x22, 0xc2, 0x02, 0x6a, 0x55, 0x24, 0xe8,
	0x0a, 0x34, 0x11, 0x8b, 0x90, 0xd0, 0x2e, 0x20, 0xb9, 0x33, 0xee, 0x36, 0x22, 0xf3, 0x23, 0x27,
	0x53, 0x5a, 0x6e, 0x2c, 0x4f, 0xe2, 0x49, 0x03, 0x99, 0x38, 0x72, 0x92, 0x81, 0xd9, 0xaa, 0x12,
	0x17, 0x3c, 0x04, 0xaf, 0xc0, 0x0b, 0xf0, 0x50, 0x3c, 0x05, 0xb2, 0x93, 0xb4, 0xa5, 0xbb, 0x12,
	0xb3, 0x7b, 0x35, 0xf6, 0x39, 0xdf, 0x39, 0xe7, 0xb3, 0x3d, 0xf9, 0xc0, 0xd7, 0x91, 0x10, 0x51,
	0xc2, 0xed, 0x20, 0x11, 0x65, 0x68, 0xff, 0xca, 0x27, 0x39, 0x0f, 0x4a, 0x19, 0x17, 0x8b, 0x3c,
	0x60, 0x69, 0xca, 0xa5, 0x3d, 0xff, 0x92, 0x25, 0xd9, 0x15, 0xb3, 0xa7, 0x71, 0x1a, 0xc6, 0x69,
	0xd4, 0xc9, 0xa4, 0x28, 0x04, 0xfc, 0xac, 0x92, 0x75, 0xb4, 0xac, 0xf3, 0xaa, 0xac, 0x53, 0xcb,
	0x1e, 0x7f, 0x50, 0xfb, 0xb3, 0x2c, 0xb6, 0x25, 0xcf, 0x45, 0x29, 0x03, 0x5e, 0x79, 0x3c, 0x7e,
	0xfe, 0x86, 0xd1, 0x94, 0x85, 0xa1, 0x48, 0x2b, 0xf1, 0xd1, 0x5f, 0x00, 0x6c, 0x9c, 0x56, 0x38,
	0x84, 0x60, 0x2d, 0x65, 0x33, 0x6e, 0x19, 0x87, 0xc6, 0x71, 0x8b, 0xe8, 0x35, 0xa4, 0x60, 0xab,
	0x91, 0x15, 0x8b, 0x8c, 0x5b, 0x2b, 0x87, 0xc6, 0xf1, 0xce, 0xd3, 0x6f, 0x3b, 0x4b, 0xf6, 0xdd,
	0xa9, 0xbd, 0x9b, 0x5f, 0x7f, 0x91, 0x71, 0xd2, 0x9e, 0xde, 0x6d, 0xe0, 0x01, 0x68, 0x5f, 0x15,
	0x45, 0x46, 0x67, 0xbc, 0xb8, 0x12, 0xa1, 0xb5, 0xaa, 0xb3, 0x81, 0x82, 0xfa, 0x1a, 0x81, 0x1f,
	0x03, 0x30, 0x2d, 0x5f, 0xbe, 0xe4, 0x21, 0x2d, 0x65, 0x62, 0xad, 0x69, 0xbe, 0x55, 0x21, 0x63,
	0x99, 0xa8, 0xa6, 0x27, 0x22, 0x5c, 0x58, 0x8f, 0xaa, 0xa6, 0xd5, 0x1a, 0x1e, 0x82, 0x76, 0xc8,
	0xf3, 0x40, 0xc6, 0x59, 0x11, 0x8b, 0xd4, 0x5a, 0xd7, 0xd4, 0x7d, 0x08, 0x3e, 0x01, 0xa6, 0xe4,
	0x99, 0x14, 0x61, 0x19, 0xa8, 0xbd, 0xb6, 0xde, 0xd0, 0x65, 0xbb, 0xf7, 0x71, 0x15, 0xf0, 0x21,
	0x68, 0x4d, 0x25, 0x9b, 0x71, 0x5d, 0xb3, 0xa9, 0x6b, 0x36, 0x35, 0xd0, 0x90, 0x71, 0xca, 0x12,
	0x4d, 0xb6, 0x6a, 0x52, 0x01, 0x8a, 0x3c, 0x00, 0xed, 0x42, 0xb2, 0xe0, 0x17, 0x75, 0x79, 0x71,
	0x68, 0x81, 0xea, 0x68, 0x0d, 0xe4, 0x84, 0x30, 0x00, 0xa6, 0x28, 0x8b, 0x90, 0x15, 0x3c, 0xa4,
	0x49, 0x3c, 0x91, 0x4c, 0x2e, 0xac, 0xf6, 0xa1, 0x71, 0xdc, 0x7e, 0xfa, 0xcd, 0xd2, 0x17, 0x3c,
	0xac, 0x0d, 0xdc, 0x4a, 0x4f, 0x76, 0xc5, 0x7f, 0x01, 0x18, 0x03, 0x38, 0x8f, 0x45, 0xc2, 0x0a,
	0xd5, 0x46, 0xf3, 0xd7, 0xb1, 0xb6, 0x74, 0xcc, 0xb3, 0xa5, 0x63, 0xce, 0x1b, 0x0b, 0x52, 0x3b,
	0x90, 0xbd, 0xf9, 0x43, 0x48, 0x47, 0x95, 0x49, 0xca, 0x25, 0x9b, 0x24, 0x9c, 0x5e, 0x71, 0x16,
	0x72, 0x99, 0x5b, 0xbb, 0x6f, 0x1a, 0x75, 0x6b, 0x71, 0x56, 0x39, 0x90, 0xbd, 0xf9, 0x43, 0x08,
	0x4a, 0xf0, 0xde, 0xbd, 0xa8, 0x8c, 0xa9, 0x07, 0x29, 0x54, 0xda, 0xb6, 0x4e, 0xfb, 0xee, 0x2d,
	0xd2, 0x46, 0xb7, 0x26, 0x64, 0x7f, 0xfe, 0x1a, 0x14, 0x7e, 0x0f, 0x56, 0x7f, 0xcb, 0x73, 0x6b,
	0x47, 0x27, 0x7c, 0xb1, 0x74, 0xc2, 0x45, 0x9e, 0x13, 0x25, 0x3c, 0xfa, 0x7b, 0x05, 0xb4, 0xef,
	0x7d, 0x07, 0xf0, 0x23, 0x60, 0x9d, 0x3a, 0x83, 0x9e, 0x33, 0x78, 0x41, 0xfd, 0xcb, 0x11, 0xa6,
	0xe3, 0x81, 0x37, 0xc2, 0x5d, 0xe7, 0xd4, 0xc1, 0x3d, 0xf3, 0x1d, 0xb8, 0x07, 0xb6, 0xfb, 0xce,
	0x05, 0xee, 0xd1, 0xee, 0x70, 0xe0, 0xe3, 0x81, 0x6f, 0x1a, 0x70, 0x1f, 0x98, 0xc3, 0xb1, 0xdf,
	0x43, 0x3e, 0xee, 0x51, 0xd7, 0x39, 0x21, 0x88, 0x5c, 0x9a, 0x2b, 0xaa, 0x90, 0x0c, 0x3d, 0xec,
	0xfb, 0x88, 0x9e, 0xba, 0xc8, 0x3b, 0x33, 0x1f, 0x41, 0x13, 0x6c, 0x5d, 0x78, 0x1e, 0xed, 0x22,
	0xd7, 0x3d, 0x41, 0xdd, 0x1f, 0xcc, 0x55, 0xb8, 0x0d, 0x5a, 0x0a, 0xc1, 0x84, 0x0c, 0x89, 0xb9,
	0x06, 0xdf, 0x07, 0xef, 0x76, 0x5d, 0x8c, 0x08, 0xf5, 0xf1, 0x85, 0x4f, 0x47, 0xc8, 0xf3, 0x7e,
	0x1c, 0x92, 0x9e, 0xb9, 0x0e, 0x2d, 0xb0, 0xef, 0x0c, 0xce, 0x91, 0xeb, 0xdc, 0xe6, 0xea, 0xde,
	0xcc, 0x0d, 0xc5, 0x28, 0x07, 0x34, 0x78, 0x31, 0x76, 0x11, 0xb9, 0xf3, 0xde, 0x84, 0x10, 0xec,
	0x34, 0x9a, 0x33, 0x8c, 0x7a, 0x98, 0x98, 0x2d, 0xf8, 0x09, 0x38, 0xe8, 0x3b, 0x9e, 0x37, 0xc2,
	0xae, 0x8b, 0x7b, 0xd4, 0xc3, 0xdd, 0x31, 0x71, 0xfc, 0xcb, 0x9a, 0xa7, 0x03, 0xd4, 0xc7, 0x26,
	0x80, 0x9f, 0x82, 0xa3, 0xbe, 0xe3, 0xf5, 0x91, 0xdf, 0x3d, 0x53, 0x97, 0xf0, 0xb0, 0xea, 0x1c,
	0xb9, 0x63, 0xec, 0x99, 0xed, 0x67, 0x7f, 0x18, 0xff, 0xa0, 0xdf, 0x0d, 0xf0, 0xe4, 0x35, 0x97,
	0x5c, 0x3d, 0x02, 0xcb, 0xe2, 0xbc, 0x13, 0x88, 0x99, 0xdd, 0x8c, 0x32, 0x2f, 0x93, 0xe2, 0x67,
	0x1e, 0x14, 0xb9, 0x7d, 0x5d, 0xaf, 0x6e, 0x6c, 0x25, 0xe9, 0x8a, 0x74, 0x1a, 0x47, 0xb9, 0x7d,
	0xad, 0x36, 0x34, 0xd0, 0xbb, 0x8a, 0x21, 0x65, 0xda, 0xc0, 0xb2, 0x4c, 0x6f, 0x9a, 0x61, 0x99,
	0xdb, 0xd7, 0xf5, 0xea, 0xe6, 0xe4, 0x4f, 0x03, 0x7c, 0x1e, 0x88, 0xd9, 0xb2, 0x0f, 0x7f, 0xb2,
	0x55, 0x77, 0x33, 0x52, 0x93, 0x76, 0x64, 0xfc, 0x74, 0x59, 0x0b, 0x23, 0x91, 0xb0, 0x34, 0xea,
	0x08, 0x19, 0xd9, 0x11, 0x4f, 0xf5, 0x1c, 0xb6, 0xef, 0xce, 0xf1, 0xbf, 0x73, 0xfc, 0xf9, 0xab,
	0xd4, 0x64, 0x5d, 0xbb, 0x7c, 0xf5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x37, 0x19, 0xf1,
	0x87, 0x06, 0x00, 0x00,
}
