Skip to content

Commit 2651ef8

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add toxic_combination and group_memberships fields to finding
PiperOrigin-RevId: 646222944
1 parent 51de26c commit 2651ef8

4 files changed

Lines changed: 106 additions & 0 deletions

File tree

google/cloud/securitycenter/v2/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ proto_library(
4141
"external_system.proto",
4242
"file.proto",
4343
"finding.proto",
44+
"group_membership.proto",
4445
"iam_binding.proto",
4546
"indicator.proto",
4647
"kernel_rootkit.proto",
@@ -61,6 +62,7 @@ proto_library(
6162
"securitycenter_service.proto",
6263
"simulation.proto",
6364
"source.proto",
65+
"toxic_combination.proto",
6466
"valued_resource.proto",
6567
"vulnerability.proto",
6668
],

google/cloud/securitycenter/v2/finding.proto

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import "google/cloud/securitycenter/v2/database.proto";
3232
import "google/cloud/securitycenter/v2/exfiltration.proto";
3333
import "google/cloud/securitycenter/v2/external_system.proto";
3434
import "google/cloud/securitycenter/v2/file.proto";
35+
import "google/cloud/securitycenter/v2/group_membership.proto";
3536
import "google/cloud/securitycenter/v2/iam_binding.proto";
3637
import "google/cloud/securitycenter/v2/indicator.proto";
3738
import "google/cloud/securitycenter/v2/kernel_rootkit.proto";
@@ -43,6 +44,7 @@ import "google/cloud/securitycenter/v2/org_policy.proto";
4344
import "google/cloud/securitycenter/v2/process.proto";
4445
import "google/cloud/securitycenter/v2/security_marks.proto";
4546
import "google/cloud/securitycenter/v2/security_posture.proto";
47+
import "google/cloud/securitycenter/v2/toxic_combination.proto";
4648
import "google/cloud/securitycenter/v2/vulnerability.proto";
4749
import "google/protobuf/struct.proto";
4850
import "google/protobuf/timestamp.proto";
@@ -188,6 +190,10 @@ message Finding {
188190
// Describes a potential security risk due to a change in the security
189191
// posture.
190192
POSTURE_VIOLATION = 6;
193+
194+
// Describes a combination of security issues that represent a more severe
195+
// security problem when taken together.
196+
TOXIC_COMBINATION = 7;
191197
}
192198

193199
// The [relative resource
@@ -424,4 +430,16 @@ message Finding {
424430

425431
// The load balancers associated with the finding.
426432
repeated LoadBalancer load_balancers = 50;
433+
434+
// Contains details about a group of security issues that, when the issues
435+
// occur together, represent a greater risk than when the issues occur
436+
// independently. A group of such issues is referred to as a toxic
437+
// combination.
438+
// This field cannot be updated. Its value is ignored in all update requests.
439+
ToxicCombination toxic_combination = 56;
440+
441+
// Contains details about groups of which this finding is a member. A group is
442+
// a collection of findings that are related in some way.
443+
// This field cannot be updated. Its value is ignored in all update requests.
444+
repeated GroupMembership group_memberships = 57;
427445
}
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.v2;
18+
19+
option csharp_namespace = "Google.Cloud.SecurityCenter.V2";
20+
option go_package = "cloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "GroupMembershipProto";
23+
option java_package = "com.google.cloud.securitycenter.v2";
24+
option php_namespace = "Google\\Cloud\\SecurityCenter\\V2";
25+
option ruby_package = "Google::Cloud::SecurityCenter::V2";
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: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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.v2;
18+
19+
option csharp_namespace = "Google.Cloud.SecurityCenter.V2";
20+
option go_package = "cloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb";
21+
option java_multiple_files = true;
22+
option java_outer_classname = "ToxicCombinationProto";
23+
option java_package = "com.google.cloud.securitycenter.v2";
24+
option php_namespace = "Google\\Cloud\\SecurityCenter\\V2";
25+
option ruby_package = "Google::Cloud::SecurityCenter::V2";
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
30+
// combination.
31+
message ToxicCombination {
32+
// The
33+
// [Attack exposure
34+
// score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores)
35+
// of this toxic combination. The score is a measure of how much this toxic
36+
// combination exposes one or more high-value resources to potential attack.
37+
double attack_exposure_score = 1;
38+
39+
// List of resource names of findings associated with this toxic combination.
40+
// For example, `organizations/123/sources/456/findings/789`.
41+
repeated string related_findings = 2;
42+
}

0 commit comments

Comments
 (0)