Skip to content

Commit 326be36

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add toxic_combination and group_memberships fields to finding
PiperOrigin-RevId: 646198386
1 parent 3b9311b commit 326be36

File tree

4 files changed

+107
-0
lines changed

4 files changed

+107
-0
lines changed

google/cloud/securitycenter/v1/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ proto_library(
4040
"file.proto",
4141
"finding.proto",
4242
"folder.proto",
43+
"group_membership.proto",
4344
"iam_binding.proto",
4445
"indicator.proto",
4546
"kernel_rootkit.proto",
@@ -63,6 +64,7 @@ proto_library(
6364
"security_posture.proto",
6465
"securitycenter_service.proto",
6566
"source.proto",
67+
"toxic_combination.proto",
6668
"vulnerability.proto",
6769
],
6870
deps = [

google/cloud/securitycenter/v1/finding.proto

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import "google/cloud/securitycenter/v1/database.proto";
3232
import "google/cloud/securitycenter/v1/exfiltration.proto";
3333
import "google/cloud/securitycenter/v1/external_system.proto";
3434
import "google/cloud/securitycenter/v1/file.proto";
35+
import "google/cloud/securitycenter/v1/group_membership.proto";
3536
import "google/cloud/securitycenter/v1/iam_binding.proto";
3637
import "google/cloud/securitycenter/v1/indicator.proto";
3738
import "google/cloud/securitycenter/v1/kernel_rootkit.proto";
@@ -44,6 +45,7 @@ import "google/cloud/securitycenter/v1/org_policy.proto";
4445
import "google/cloud/securitycenter/v1/process.proto";
4546
import "google/cloud/securitycenter/v1/security_marks.proto";
4647
import "google/cloud/securitycenter/v1/security_posture.proto";
48+
import "google/cloud/securitycenter/v1/toxic_combination.proto";
4749
import "google/cloud/securitycenter/v1/vulnerability.proto";
4850
import "google/protobuf/struct.proto";
4951
import "google/protobuf/timestamp.proto";
@@ -183,6 +185,12 @@ message Finding {
183185
// Describes a potential security risk due to a change in the security
184186
// posture.
185187
POSTURE_VIOLATION = 6;
188+
189+
// Describes a group of security issues that, when the issues
190+
// occur together, represent a greater risk than when the issues occur
191+
// independently. A group of such issues is referred to as a toxic
192+
// combination.
193+
TOXIC_COMBINATION = 7;
186194
}
187195

188196
// The [relative resource
@@ -395,4 +403,16 @@ message Finding {
395403

396404
// Notebook associated with the finding.
397405
Notebook notebook = 63;
406+
407+
// Contains details about a group of security issues that, when the issues
408+
// occur together, represent a greater risk than when the issues occur
409+
// independently. A group of such issues is referred to as a toxic
410+
// combination.
411+
// This field cannot be updated. Its value is ignored in all update requests.
412+
ToxicCombination toxic_combination = 64;
413+
414+
// Contains details about groups of which this finding is a member. A group is
415+
// a collection of findings that are related in some way.
416+
// This field cannot be updated. Its value is ignored in all update requests.
417+
repeated GroupMembership group_memberships = 65;
398418
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.securitycenter.v1;
18+
19+
option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
20+
option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "GroupMembershipProto";
23+
option java_package = "com.google.cloud.securitycenter.v1";
24+
option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
25+
option ruby_package = "Google::Cloud::SecurityCenter::V1";
26+
27+
// Contains details about groups of which this finding is a member. A group is a
28+
// collection of findings that are related in some way.
29+
message GroupMembership {
30+
// Possible types of groups.
31+
enum GroupType {
32+
// Default value.
33+
GROUP_TYPE_UNSPECIFIED = 0;
34+
35+
// Group represents a toxic combination.
36+
GROUP_TYPE_TOXIC_COMBINATION = 1;
37+
}
38+
39+
// Type of group.
40+
GroupType group_type = 1;
41+
42+
// ID of the group.
43+
string group_id = 2;
44+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.securitycenter.v1;
18+
19+
option csharp_namespace = "Google.Cloud.SecurityCenter.V1";
20+
option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "ToxicCombinationProto";
23+
option java_package = "com.google.cloud.securitycenter.v1";
24+
option php_namespace = "Google\\Cloud\\SecurityCenter\\V1";
25+
option ruby_package = "Google::Cloud::SecurityCenter::V1";
26+
27+
// Contains details about a group of security issues that, when the issues
28+
// occur together, represent a greater risk than when the issues occur
29+
// independently. A group of such issues is referred to as a toxic combination.
30+
message ToxicCombination {
31+
// The
32+
// [Attack exposure
33+
// score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores)
34+
// of this toxic combination. The score is a measure of how much this toxic
35+
// combination exposes one or more high-value resources to potential attack.
36+
double attack_exposure_score = 1;
37+
38+
// List of resource names of findings associated with this toxic combination.
39+
// For example, `organizations/123/sources/456/findings/789`.
40+
repeated string related_findings = 2;
41+
}

0 commit comments

Comments
 (0)