Tool: list_findings
Lists, searches, or retrieves security findings across organizations, folders, or projects in Security Command Center.
Filtering (AIP-160 Syntax): The filter argument follows Google API AIP-160 syntax (string values MUST be in double quotes): * By state & severity: filter: 'state = "ACTIVE" AND severity = "CRITICAL"' * By category: filter: 'category = "OPEN_FIREWALL"' (or substring match: 'category : "FIREWALL"') * By resource: filter: 'resource_name = "//compute.googleapis.com/projects/my-proj/zones/us-central1-a/instances/my-vm"' * By CVE: filter: 'vulnerability.cve.id = "CVE-2023-12345"' * By time: filter: 'event_time >= "2026-08-01T00:00:00Z"'
Single Finding Point Lookup: There is currently no dedicated get_finding tool. To retrieve a single finding by name, filter on its exact resource name: parent: "organizations/123/sources/456/locations/global" # or "projects/123/sources/-" filter: 'name = "organizations/123/sources/456/locations/global/findings/789"'
Best Practices for Token Management & Triage: * Recommended Triage FieldMask: Full finding records are very large. For exploratory triage and listing, it is STRONGLY RECOMMENDED to pass the following lightweight fieldMask: fieldMask: "finding.name,finding.category,finding.severity,finding.state,finding.event_time,finding.resource_name,finding.finding_class,finding.vulnerability.cve.id" Leave fieldMask unset only when performing in-depth investigation on specific findings. * Page Sizing: Unless performing bulk data export, specify a small pageSize (e.g. 5–10) to avoid overwhelming the conversation context.
The following code sample shows how to use curl to call the list_findings MCP tool.
| Curl Request |
|---|
curl --location 'https://securitycenter.googleapis.com/mcp/investigate' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_findings", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for listing findings.
ListFindingsRequest
| JSON representation |
|---|
{ "parent": string, "filter": string, "orderBy": string, "fieldMask": string, "pageToken": string, "pageSize": integer } |
| Fields | |
|---|---|
parent |
Required. Name of the source the findings belong to. If no location is specified, the default is global. The following list shows some examples:
To list across all sources provide a source_id of
|
filter |
Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators Restrictions have the form
The supported operators are:
The supported value types are:
The following field and operator combinations are supported:
Usage: This should be milliseconds since epoch or an RFC3339 string. Examples:
|
orderBy |
Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,parent". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,parent". Redundant space characters in the syntax are insignificant. "name desc,parent" and " name desc , parent " are equivalent. The following fields are supported: name parent state category resource_name event_time security_marks.marks |
fieldMask |
A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. |
pageToken |
The value returned by the last |
pageSize |
The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. |
FieldMask
| JSON representation |
|---|
{ "paths": [ string ] } |
| Fields | |
|---|---|
paths[] |
The set of field mask paths. |
Output Schema
Response message for listing findings.
ListFindingsResponse
| JSON representation |
|---|
{
"listFindingsResults": [
{
object ( |
| Fields | |
|---|---|
listFindingsResults[] |
Findings matching the list request. |
nextPageToken |
Token to retrieve the next page of results, or empty if there are no more results. |
totalSize |
The total number of findings matching the query. |
ListFindingsResult
| JSON representation |
|---|
{ "finding": { object ( |
| Fields | |
|---|---|
finding |
Finding matching the search request. |
resource |
Output only. Resource that is associated with this finding. |
Finding
| JSON representation |
|---|
{ "name": string, "canonicalName": string, "parent": string, "resourceName": string, "state": enum ( |
| Fields | |
|---|---|
name |
Identifier. The relative resource name of the finding. The following list shows some examples: + |
canonicalName |
Output only. The canonical name of the finding. The following list shows some examples: + The prefix is the closest CRM ancestor of the resource associated with the finding. |
parent |
The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples:
|
resourceName |
Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. |
state |
Output only. The state of the finding. |
category |
Immutable. The additional taxonomy group within findings from a given source. Example: "XSS_FLASH_INJECTION" |
externalUri |
The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. |
sourceProperties |
Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. An object containing a list of |
securityMarks |
Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. |
eventTime |
The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
createTime |
Output only. The time at which the finding was created in Security Command Center. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
severity |
The severity of the finding. This field is managed by the source that writes the finding. |
mute |
Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. |
muteInfo |
Output only. The mute information regarding this finding. |
findingClass |
The class of the finding. |
indicator |
Represents what's commonly known as an indicator of compromise (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see Indicator of compromise. |
vulnerability |
Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) |
muteUpdateTime |
Output only. The most recent time this finding was muted or unmuted. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
externalSystems |
Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. An object containing a list of |
mitreAttack |
MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org |
access |
Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. |
connections[] |
Contains information about the IP connection associated with the finding. |
muteInitiator |
Records additional information about the mute operation, for example, the mute configuration that muted the finding and the user who muted the finding. |
processes[] |
Represents operating system processes associated with the Finding. |
contacts |
Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories An object containing a list of |
compliances[] |
Contains compliance information for security standards associated to the finding. |
parentDisplayName |
Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". |
description |
Contains more details about the finding. |
exfiltration |
Represents exfiltrations associated with the finding. |
iamBindings[] |
Represents IAM bindings associated with the finding. |
nextSteps |
Steps to address the finding. |
moduleName |
Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 |
containers[] |
Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. |
kubernetes |
Kubernetes resources associated with the finding. |
database |
Database associated with the finding. |
attackExposure |
The results of an attack path simulation relevant to this finding. |
files[] |
File associated with the finding. |
cloudDlpInspection |
Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. |
cloudDlpDataProfile |
Cloud DLP data profile that is associated with the finding. |
kernelRootkit |
Signature of the kernel rootkit. |
orgPolicies[] |
Contains information about the org policies associated with the finding. |
job |
Job associated with the finding. |
application |
Represents an application associated with the finding. |
ipRules |
IP rules associated with the finding. |
backupDisasterRecovery |
Fields related to Backup and DR findings. |
securityPosture |
The security posture associated with the finding. |
logEntries[] |
Log entries that are relevant to the finding. |
loadBalancers[] |
The load balancers associated with the finding. |
cloudArmor |
Fields related to Cloud Armor findings. |
notebook |
Notebook associated with the finding. |
toxicCombination |
Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. |
groupMemberships[] |
Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. |
disk |
Disk associated with the finding. |
dataAccessEvents[] |
Data access events associated with the finding. |
dataFlowEvents[] |
Data flow events associated with the finding. |
networks[] |
Represents the VPC networks that the resource is attached to. |
dataRetentionDeletionEvents[] |
Data retention deletion events associated with the finding. |
affectedResources |
AffectedResources associated with the finding. |
aiModel |
The AI model associated with the finding. |
chokepoint |
Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on attack path simulations. This field cannot be updated. Its value is ignored in all update requests. |
complianceDetails |
Details about the compliance implications of the finding. |
vertexAi |
VertexAi associated with the finding. |
cryptoKeyName |
Output only. The name of the Cloud KMS key used to encrypt this finding, if any. |
artifactGuardPolicies |
ArtifactGuardPolicies associated with the finding. |
secret |
Secret associated with the finding. |
externalExposure |
External exposure associated with the finding. |
policyViolationSummary |
PolicyViolationSummary associated with the finding. |
agentDataAccessEvents[] |
Agent data access events associated with the finding. |
discoveredWorkload |
DiscoveredWorkload associated with the finding. |
agent |
Primary Agent that the specified finding was flagged for |
agentSessions[] |
Conversational session(s) where the finding occurred. |
agentAnomaly |
Details about behavior anomalies detected in AI agents. |
iamDetails |
IamDetails associated with the finding. |
SourcePropertiesEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a JSON |
numberValue |
Represents a JSON number. Must not be |
stringValue |
Represents a JSON string. |
boolValue |
Represents a JSON boolean ( |
structValue |
Represents a JSON object. |
listValue |
Represents a JSON array. |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
SecurityMarks
| JSON representation |
|---|
{ "name": string, "marks": { string: string, ... }, "canonicalName": string } |
| Fields | |
|---|---|
name |
The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples:
|
marks |
Mutable user specified security marks belonging to the parent resource. Constraints are as follows:
An object containing a list of |
canonicalName |
The canonical name of the marks. The following list shows some examples:
|
MarksEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
MuteInfo
| JSON representation |
|---|
{ "staticMute": { object ( |
| Fields | |
|---|---|
staticMute |
If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. |
dynamicMuteRecords[] |
The list of dynamic mute rules that currently match the finding. |
StaticMute
| JSON representation |
|---|
{
"state": enum ( |
| Fields | |
|---|---|
state |
The static mute state. If the value is |
applyTime |
When the static mute was applied. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
DynamicMuteRecord
| JSON representation |
|---|
{ "muteConfig": string, "matchTime": string } |
| Fields | |
|---|---|
muteConfig |
The relative resource name of the mute rule, represented by a mute config, that created this record, for example |
matchTime |
When the dynamic mute rule first matched the finding. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Indicator
| JSON representation |
|---|
{
"ipAddresses": [
string
],
"domains": [
string
],
"signatures": [
{
object ( |
| Fields | |
|---|---|
ipAddresses[] |
The list of IP addresses that are associated with the finding. |
domains[] |
List of domains associated to the Finding. |
signatures[] |
The list of matched signatures indicating that the given process is present in the environment. |
uris[] |
The list of URIs associated to the Findings. |
ProcessSignature
| JSON representation |
|---|
{ "signatureType": enum ( |
| Fields | |
|---|---|
signatureType |
Describes the type of resource associated with the signature. |
Union field signature. The signature. signature can be only one of the following: |
|
memoryHashSignature |
Signature indicating that a binary family was matched. |
yaraRuleSignature |
Signature indicating that a YARA rule was matched. |
MemoryHashSignature
| JSON representation |
|---|
{
"binaryFamily": string,
"detections": [
{
object ( |
| Fields | |
|---|---|
binaryFamily |
The binary family. |
detections[] |
The list of memory hash detections contributing to the binary family match. |
Detection
| JSON representation |
|---|
{ "binary": string, "percentPagesMatched": number } |
| Fields | |
|---|---|
binary |
The name of the binary associated with the memory hash signature detection. |
percentPagesMatched |
The percentage of memory page hashes in the signature that were matched. |
YaraRuleSignature
| JSON representation |
|---|
{ "yaraRule": string } |
| Fields | |
|---|---|
yaraRule |
The name of the YARA rule. |
Vulnerability
| JSON representation |
|---|
{ "cve": { object ( |
| Fields | |
|---|---|
cve |
CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) |
offendingPackage |
The offending package is relevant to the finding. |
fixedPackage |
The fixed package is relevant to the finding. |
securityBulletin |
The security bulletin is relevant to this finding. |
providerRiskScore |
Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. |
reachable |
Represents whether the vulnerability is reachable (detected via static analysis) |
cwes[] |
Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. |
Cve
| JSON representation |
|---|
{ "id": string, "references": [ { object ( |
| Fields | |
|---|---|
id |
The unique identifier for the vulnerability. e.g. CVE-2021-34527 |
references[] |
Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 |
cvssv3 |
Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document |
upstreamFixAvailable |
Whether upstream fix is available for the CVE. |
impact |
The potential impact of the vulnerability if it was to be exploited. |
exploitationActivity |
The exploitation activity of the vulnerability in the wild. |
observedInTheWild |
Whether or not the vulnerability has been observed in the wild. |
zeroDay |
Whether or not the vulnerability was zero day when the finding was published. |
exploitReleaseDate |
Date the first publicly available exploit or PoC was released. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
firstExploitationDate |
Date of the earliest known exploitation. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Reference
| JSON representation |
|---|
{ "source": string, "uri": string } |
| Fields | |
|---|---|
source |
Source of the reference e.g. NVD |
uri |
Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. |
Cvssv3
| JSON representation |
|---|
{ "baseScore": number, "attackVector": enum ( |
| Fields | |
|---|---|
baseScore |
The base score is a function of the base metric scores. |
attackVector |
Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. |
attackComplexity |
This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. |
privilegesRequired |
This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. |
userInteraction |
This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. |
scope |
The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. |
confidentialityImpact |
This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. |
integrityImpact |
This metric measures the impact to integrity of a successfully exploited vulnerability. |
availabilityImpact |
This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. |
Package
| JSON representation |
|---|
{ "packageName": string, "cpeUri": string, "packageType": string, "packageVersion": string } |
| Fields | |
|---|---|
packageName |
The name of the package where the vulnerability was detected. |
cpeUri |
The CPE URI where the vulnerability was detected. |
packageType |
Type of package, for example, os, maven, or go. |
packageVersion |
The version of the package. |
SecurityBulletin
| JSON representation |
|---|
{ "bulletinId": string, "submissionTime": string, "suggestedUpgradeVersion": string } |
| Fields | |
|---|---|
bulletinId |
ID of the bulletin corresponding to the vulnerability. |
submissionTime |
Submission time of this Security Bulletin. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
suggestedUpgradeVersion |
This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 |
Cwe
| JSON representation |
|---|
{
"id": string,
"references": [
{
object ( |
| Fields | |
|---|---|
id |
The CWE identifier, e.g. CWE-94 |
references[] |
Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html |
ExternalSystemsEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
ExternalSystem
| JSON representation |
|---|
{
"name": string,
"assignees": [
string
],
"externalUid": string,
"status": string,
"externalSystemUpdateTime": string,
"caseUri": string,
"casePriority": string,
"caseSla": string,
"caseCreateTime": string,
"caseCloseTime": string,
"ticketInfo": {
object ( |
| Fields | |
|---|---|
name |
Full resource name of the external system. The following list shows some examples:
|
assignees[] |
References primary/secondary etc assignees in the external system. |
externalUid |
The identifier that's used to track the finding's corresponding case in the external system. |
status |
The most recent status of the finding's corresponding case, as reported by the external system. |
externalSystemUpdateTime |
The time when the case was last updated, as reported by the external system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
caseUri |
The link to the finding's corresponding case in the external system. |
casePriority |
The priority of the finding's corresponding case in the external system. |
caseSla |
The SLA of the finding's corresponding case in the external system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
caseCreateTime |
The time when the case was created, as reported by the external system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
caseCloseTime |
The time when the case was closed, as reported by the external system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
ticketInfo |
Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. |
TicketInfo
| JSON representation |
|---|
{ "id": string, "assignee": string, "description": string, "uri": string, "status": string, "updateTime": string } |
| Fields | |
|---|---|
id |
The identifier of the ticket in the ticket system. |
assignee |
The assignee of the ticket in the ticket system. |
description |
The description of the ticket in the ticket system. |
uri |
The link to the ticket in the ticket system. |
status |
The latest status of the ticket, as reported by the ticket system. |
updateTime |
The time when the ticket was last updated, as reported by the ticket system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
MitreAttack
| JSON representation |
|---|
{ "primaryTactic": enum ( |
| Fields | |
|---|---|
primaryTactic |
The MITRE ATT&CK tactic most closely represented by this finding, if any. |
primaryTechniques[] |
The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. |
additionalTactics[] |
Additional MITRE ATT&CK tactics related to this finding, if any. |
additionalTechniques[] |
Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. |
version |
The MITRE ATT&CK version referenced by the above fields. E.g. "8". |
Access
| JSON representation |
|---|
{ "principalEmail": string, "callerIp": string, "callerIpGeo": { object ( |
| Fields | |
|---|---|
principalEmail |
Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the |
callerIp |
Caller's IP address, such as "1.1.1.1". |
callerIpGeo |
The caller IP's geolocation, which identifies where the call came from. |
userAgentFamily |
Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. |
userAgent |
The caller's user agent string associated with the finding. |
serviceName |
This is the API service that the service account made a call to, e.g. "iam.googleapis.com" |
methodName |
The method that the service account called, e.g. "SetIamPolicy". |
principalSubject |
A string that represents the principal_subject that is associated with the identity. Unlike |
serviceAccountKeyName |
The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". |
serviceAccountDelegationInfo[] |
The identity delegation history of an authenticated service account that made the request. The |
userName |
A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. |
Geolocation
| JSON representation |
|---|
{ "regionCode": string } |
| Fields | |
|---|---|
regionCode |
A CLDR. |
ServiceAccountDelegationInfo
| JSON representation |
|---|
{ "principalEmail": string, "principalSubject": string } |
| Fields | |
|---|---|
principalEmail |
The email address of a Google account. |
principalSubject |
A string representing the principal_subject associated with the identity. As compared to |
Connection
| JSON representation |
|---|
{
"destinationIp": string,
"destinationPort": integer,
"sourceIp": string,
"sourcePort": integer,
"protocol": enum ( |
| Fields | |
|---|---|
destinationIp |
Destination IP address. Not present for sockets that are listening and not connected. |
destinationPort |
Destination port. Not present for sockets that are listening and not connected. |
sourceIp |
Source IP address. |
sourcePort |
Source port. |
protocol |
IANA Internet Protocol Number such as TCP(6) and UDP(17). |
Process
| JSON representation |
|---|
{ "name": string, "binary": { object ( |
| Fields | |
|---|---|
name |
The process name, as displayed in utilities like |
binary |
File information for the process executable. |
libraries[] |
File information for libraries loaded by the process. |
script |
When the process represents the invocation of a script, |
args[] |
Process arguments as JSON encoded strings. |
argumentsTruncated |
True if |
envVariables[] |
Process environment variables. |
envVariablesTruncated |
True if |
pid |
The process ID. |
parentPid |
The parent process ID. |
userId |
The ID of the user that executed the process. E.g. If this is the root user this will always be 0. |
File
| JSON representation |
|---|
{ "path": string, "size": string, "sha256": string, "hashedSize": string, "partiallyHashed": boolean, "contents": string, "diskPath": { object ( |
| Fields | |
|---|---|
path |
Absolute path of the file as a JSON encoded string. |
size |
Size of the file in bytes. |
sha256 |
SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. |
hashedSize |
The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. |
partiallyHashed |
True when the hash covers only a prefix of the file. |
contents |
Prefix of the file contents as a JSON-encoded string. |
diskPath |
Path of the file in terms of underlying disk/partition identifiers. |
operations[] |
Operation(s) performed on a file. |
fileLoadState |
The load state of the file. |
DiskPath
| JSON representation |
|---|
{ "partitionUuid": string, "relativePath": string } |
| Fields | |
|---|---|
partitionUuid |
UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) |
relativePath |
Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh |
FileOperation
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
The type of the operation |
EnvironmentVariable
| JSON representation |
|---|
{ "name": string, "val": string } |
| Fields | |
|---|---|
name |
Environment variable name as a JSON encoded string. |
val |
Environment variable value as a JSON encoded string. |
ContactsEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
ContactDetails
| JSON representation |
|---|
{
"contacts": [
{
object ( |
| Fields | |
|---|---|
contacts[] |
A list of contacts |
Contact
| JSON representation |
|---|
{ "email": string } |
| Fields | |
|---|---|
email |
An email address. For example, " |
Compliance
| JSON representation |
|---|
{ "standard": string, "version": string, "ids": [ string ] } |
| Fields | |
|---|---|
standard |
Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. |
version |
Version of the standard or benchmark, for example, 1.1 |
ids[] |
Policies within the standard or benchmark, for example, A.12.4.1 |
Exfiltration
| JSON representation |
|---|
{ "sources": [ { object ( |
| Fields | |
|---|---|
sources[] |
If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. |
targets[] |
If there are multiple targets, each target would get a complete copy of the "joined" source data. |
totalExfiltratedBytes |
Total exfiltrated bytes processed for the entire job. |
ExfilResource
| JSON representation |
|---|
{ "name": string, "components": [ string ] } |
| Fields | |
|---|---|
name |
The resource's full resource name. |
components[] |
Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. |
IamBinding
| JSON representation |
|---|
{
"action": enum ( |
| Fields | |
|---|---|
action |
The action that was performed on a Binding. |
role |
Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". |
member |
A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". |
Container
| JSON representation |
|---|
{
"name": string,
"uri": string,
"imageId": string,
"labels": [
{
object ( |
| Fields | |
|---|---|
name |
Name of the container. |
uri |
Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. |
imageId |
Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. |
labels[] |
Container labels, as provided by the container runtime. |
createTime |
The time that the container was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Label
| JSON representation |
|---|
{ "name": string, "value": string } |
| Fields | |
|---|---|
name |
Name of the label. |
value |
Value that corresponds to the label's name. |
Kubernetes
| JSON representation |
|---|
{ "pods": [ { object ( |
| Fields | |
|---|---|
pods[] |
Kubernetes Pods associated with the finding. This field contains Pod records for each container that is owned by a Pod. |
nodes[] |
Provides Kubernetes node information. |
nodePools[] |
GKE node pools associated with the finding. This field contains node pool information for each node, when it is available. |
roles[] |
Provides Kubernetes role information for findings that involve Roles or ClusterRoles. |
bindings[] |
Provides Kubernetes role binding information for findings that involve RoleBindings or ClusterRoleBindings. |
accessReviews[] |
Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. |
objects[] |
Kubernetes objects related to the finding. |
Pod
| JSON representation |
|---|
{ "ns": string, "name": string, "labels": [ { object ( |
| Fields | |
|---|---|
ns |
Kubernetes Pod namespace. |
name |
Kubernetes Pod name. |
labels[] |
Pod labels. For Kubernetes containers, these are applied to the container. |
containers[] |
Pod containers associated with this finding, if any. |
Node
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Full resource name of the Compute Engine VM running the cluster node. |
NodePool
| JSON representation |
|---|
{
"name": string,
"nodes": [
{
object ( |
| Fields | |
|---|---|
name |
Kubernetes node pool name. |
nodes[] |
Nodes associated with the finding. |
Role
| JSON representation |
|---|
{
"kind": enum ( |
| Fields | |
|---|---|
kind |
Role type. |
ns |
Role namespace. |
name |
Role name. |
Binding
| JSON representation |
|---|
{ "ns": string, "name": string, "role": { object ( |
| Fields | |
|---|---|
ns |
Namespace for the binding. |
name |
Name for the binding. |
role |
The Role or ClusterRole referenced by the binding. |
subjects[] |
Represents one or more subjects that are bound to the role. Not always available for PATCH requests. |
Subject
| JSON representation |
|---|
{
"kind": enum ( |
| Fields | |
|---|---|
kind |
Authentication type for the subject. |
ns |
Namespace for the subject. |
name |
Name for the subject. |
AccessReview
| JSON representation |
|---|
{ "group": string, "ns": string, "name": string, "resource": string, "subresource": string, "verb": string, "version": string } |
| Fields | |
|---|---|
group |
The API group of the resource. "*" means all. |
ns |
Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). |
name |
The name of the resource being requested. Empty means all. |
resource |
The optional resource type requested. "*" means all. |
subresource |
The optional subresource type. |
verb |
A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. |
version |
The API version of the resource. "*" means all. |
Object
| JSON representation |
|---|
{
"group": string,
"kind": string,
"ns": string,
"name": string,
"containers": [
{
object ( |
| Fields | |
|---|---|
group |
Kubernetes object group, such as "policy.k8s.io/v1". |
kind |
Kubernetes object kind, such as "Namespace". |
ns |
Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. |
name |
Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. |
containers[] |
Pod containers associated with this finding, if any. |
Database
| JSON representation |
|---|
{ "name": string, "displayName": string, "userName": string, "query": string, "grantees": [ string ], "version": string } |
| Fields | |
|---|---|
name |
Some database resources may not have the full resource name populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The full resource name of the database that the user connected to, if it is supported by Cloud Asset Inventory. |
displayName |
The human-readable name of the database that the user connected to. |
userName |
The username used to connect to the database. The username might not be an IAM principal and does not have a set format. |
query |
The SQL statement that is associated with the database access. |
grantees[] |
The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. |
version |
The version of the database, for example, POSTGRES_14. See the complete list. |
AttackExposure
| JSON representation |
|---|
{
"score": number,
"latestCalculationTime": string,
"attackExposureResult": string,
"state": enum ( |
| Fields | |
|---|---|
score |
A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. |
latestCalculationTime |
The most recent time the attack exposure was updated on this finding. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
attackExposureResult |
The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: |
state |
Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. |
exposedHighValueResourcesCount |
The number of high value resources that are exposed as a result of this finding. |
exposedMediumValueResourcesCount |
The number of medium value resources that are exposed as a result of this finding. |
exposedLowValueResourcesCount |
The number of high value resources that are exposed as a result of this finding. |
CloudDlpInspection
| JSON representation |
|---|
{ "inspectJob": string, "infoType": string, "infoTypeCount": string, "fullScan": boolean } |
| Fields | |
|---|---|
inspectJob |
Name of the inspection job, for example, |
infoType |
The type of information (or infoType) found, for example, |
infoTypeCount |
The number of times Cloud DLP found this infoType within this job and resource. |
fullScan |
Whether Cloud DLP scanned the complete resource or a sampled subset. |
CloudDlpDataProfile
| JSON representation |
|---|
{ "dataProfile": string, "parentType": enum ( |
| Fields | |
|---|---|
dataProfile |
Name of the data profile, for example, |
parentType |
The resource hierarchy level at which the data profile was generated. |
infoTypes[] |
Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. |
InfoType
| JSON representation |
|---|
{
"name": string,
"version": string,
"sensitivityScore": {
object ( |
| Fields | |
|---|---|
name |
Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern |
version |
Optional version name for this InfoType. |
sensitivityScore |
Optional custom sensitivity for this InfoType. This only applies to data profiling. |
SensitivityScore
| JSON representation |
|---|
{
"score": enum ( |
| Fields | |
|---|---|
score |
The sensitivity score applied to the resource. |
KernelRootkit
| JSON representation |
|---|
{ "name": string, "unexpectedCodeModification": boolean, "unexpectedReadOnlyDataModification": boolean, "unexpectedFtraceHandler": boolean, "unexpectedKprobeHandler": boolean, "unexpectedKernelCodePages": boolean, "unexpectedSystemCallHandler": boolean, "unexpectedInterruptHandler": boolean, "unexpectedProcessesInRunqueue": boolean } |
| Fields | |
|---|---|
name |
Rootkit name, when available. |
unexpectedCodeModification |
True if unexpected modifications of kernel code memory are present. |
unexpectedReadOnlyDataModification |
True if unexpected modifications of kernel read-only data memory are present. |
unexpectedFtraceHandler |
True if |
unexpectedKprobeHandler |
True if |
unexpectedKernelCodePages |
True if kernel code pages that are not in the expected kernel or module code regions are present. |
unexpectedSystemCallHandler |
True if system call handlers that are are not in the expected kernel or module code regions are present. |
unexpectedInterruptHandler |
True if interrupt handlers that are are not in the expected kernel or module code regions are present. |
unexpectedProcessesInRunqueue |
True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. |
OrgPolicy
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Identifier. The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" |
Job
| JSON representation |
|---|
{
"name": string,
"state": enum ( |
| Fields | |
|---|---|
name |
The fully-qualified name for a job. e.g. |
state |
Output only. State of the job, such as |
errorCode |
Optional. If the job did not complete successfully, this field describes why. |
location |
Optional. Gives the location where the job ran, such as |
Application
| JSON representation |
|---|
{ "baseUri": string, "fullUri": string } |
| Fields | |
|---|---|
baseUri |
The base URI that identifies the network location of the application in which the vulnerability was detected. For example, |
fullUri |
The full URI with payload that could be used to reproduce the vulnerability. For example, |
IpRules
| JSON representation |
|---|
{ "direction": enum ( |
| Fields | |
|---|---|
direction |
The direction that the rule is applicable to, one of ingress or egress. |
sourceIpRanges[] |
If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. |
destinationIpRanges[] |
If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. |
exposedServices[] |
Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. |
Union field rules. The list of allow rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection. rules can be only one of the following: |
|
allowed |
Tuple with allowed rules. |
denied |
Tuple with denied rules. |
Allowed
| JSON representation |
|---|
{
"ipRules": [
{
object ( |
| Fields | |
|---|---|
ipRules[] |
Optional. Optional list of allowed IP rules. |
IpRule
| JSON representation |
|---|
{
"protocol": string,
"portRanges": [
{
object ( |
| Fields | |
|---|---|
protocol |
The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. |
portRanges[] |
Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. |
PortRange
| JSON representation |
|---|
{ "min": string, "max": string } |
| Fields | |
|---|---|
min |
Minimum port value. |
max |
Maximum port value. |
Denied
| JSON representation |
|---|
{
"ipRules": [
{
object ( |
| Fields | |
|---|---|
ipRules[] |
Optional. Optional list of denied IP rules. |
BackupDisasterRecovery
| JSON representation |
|---|
{ "backupTemplate": string, "policies": [ string ], "host": string, "applications": [ string ], "storagePool": string, "policyOptions": [ string ], "profile": string, "appliance": string, "backupType": string, "backupCreateTime": string } |
| Fields | |
|---|---|
backupTemplate |
The name of a Backup and DR template which comprises one or more backup policies. See the Backup and DR documentation for more information. For example, |
policies[] |
The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, |
host |
The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the Backup and DR documentation on hosts for more information. For example, |
applications[] |
The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, |
storagePool |
The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the Backup and DR documentation on storage pools. For example, |
policyOptions[] |
The names of Backup and DR advanced policy options of a policy applying to an application. See the Backup and DR documentation on policy options. For example, |
profile |
The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the Backup and DR documentation on profiles. For example, |
appliance |
The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, |
backupType |
The backup type of the Backup and DR image. For example, |
backupCreateTime |
The timestamp at which the Backup and DR backup was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
SecurityPosture
| JSON representation |
|---|
{
"name": string,
"revisionId": string,
"postureDeploymentResource": string,
"postureDeployment": string,
"changedPolicy": string,
"policySet": string,
"policy": string,
"policyDriftDetails": [
{
object ( |
| Fields | |
|---|---|
name |
Name of the posture, for example, |
revisionId |
The version of the posture, for example, |
postureDeploymentResource |
The project, folder, or organization on which the posture is deployed, for example, |
postureDeployment |
The name of the posture deployment, for example, |
changedPolicy |
The name of the updated policy, for example, |
policySet |
The name of the updated policy set, for example, |
policy |
The ID of the updated policy, for example, |
policyDriftDetails[] |
The details about a change in an updated policy that violates the deployed posture. |
PolicyDriftDetails
| JSON representation |
|---|
{ "field": string, "expectedValue": string, "detectedValue": string } |
| Fields | |
|---|---|
field |
The name of the updated field, for example constraint.implementation.policy_rules[0].enforce |
expectedValue |
The value of this field that was configured in a posture, for example, |
detectedValue |
The detected value that violates the deployed posture, for example, |
LogEntry
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field log_entry. The log entry. log_entry can be only one of the following: |
|
cloudLoggingEntry |
An individual entry in a log stored in Cloud Logging. |
CloudLoggingEntry
| JSON representation |
|---|
{ "insertId": string, "logId": string, "resourceContainer": string, "timestamp": string } |
| Fields | |
|---|---|
insertId |
A unique identifier for the log entry. |
logId |
The type of the log (part of |
resourceContainer |
The organization, folder, or project of the monitored resource that produced this log entry. |
timestamp |
The time the event described by the log entry occurred. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
LoadBalancer
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
The name of the load balancer associated with the finding. |
CloudArmor
| JSON representation |
|---|
{ "securityPolicy": { object ( |
| Fields | |
|---|---|
securityPolicy |
Information about the Google Cloud Armor security policy relevant to the finding. |
requests |
Information about incoming requests evaluated by Google Cloud Armor security policies. |
adaptiveProtection |
Information about potential Layer 7 DDoS attacks identified by Google Cloud Armor Adaptive Protection. |
attack |
Information about DDoS attack volume and classification. |
threatVector |
Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. |
duration |
Duration of attack from the start until the current moment (updated every 5 minutes). A duration in seconds with up to nine fractional digits, ending with ' |
SecurityPolicy
| JSON representation |
|---|
{ "name": string, "type": string, "preview": boolean } |
| Fields | |
|---|---|
name |
The name of the Google Cloud Armor security policy, for example, "my-security-policy". |
type |
The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. |
preview |
Whether or not the associated rule or policy is in preview mode. |
Requests
| JSON representation |
|---|
{ "ratio": number, "shortTermAllowed": integer, "longTermAllowed": integer, "longTermDenied": integer } |
| Fields | |
|---|---|
ratio |
For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. |
shortTermAllowed |
Allowed RPS (requests per second) in the short term. |
longTermAllowed |
Allowed RPS (requests per second) over the long term. |
longTermDenied |
Denied RPS (requests per second) over the long term. |
AdaptiveProtection
| JSON representation |
|---|
{ "confidence": number } |
| Fields | |
|---|---|
confidence |
A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the Adaptive Protection documentation for further explanation. |
Attack
| JSON representation |
|---|
{ "volumePpsLong": string, "volumeBpsLong": string, "classification": string, "volumePps": integer, "volumeBps": integer } |
| Fields | |
|---|---|
volumePpsLong |
Total PPS (packets per second) volume of attack. |
volumeBpsLong |
Total BPS (bytes per second) volume of attack. |
classification |
Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. |
volumePps |
Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. |
volumeBps |
Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
nanos |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
Notebook
| JSON representation |
|---|
{ "name": string, "service": string, "lastAuthor": string, "notebookUpdateTime": string } |
| Fields | |
|---|---|
name |
The name of the notebook. |
service |
The source notebook service, for example, "Colab Enterprise". |
lastAuthor |
The user ID of the latest author to modify the notebook. |
notebookUpdateTime |
The most recent time the notebook was updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
ToxicCombination
| JSON representation |
|---|
{ "attackExposureScore": number, "relatedFindings": [ string ] } |
| Fields | |
|---|---|
attackExposureScore |
The Attack exposure score of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. |
relatedFindings[] |
List of resource names of findings associated with this toxic combination. For example, |
GroupMembership
| JSON representation |
|---|
{
"groupType": enum ( |
| Fields | |
|---|---|
groupType |
Type of group. |
groupId |
ID of the group. |
Disk
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". |
DataAccessEvent
| JSON representation |
|---|
{
"eventId": string,
"principalEmail": string,
"operation": enum ( |
| Fields | |
|---|---|
eventId |
Unique identifier for data access event. |
principalEmail |
The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. |
operation |
The operation performed by the principal to access the data. |
eventTime |
Timestamp of data access event. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
DataFlowEvent
| JSON representation |
|---|
{
"eventId": string,
"principalEmail": string,
"operation": enum ( |
| Fields | |
|---|---|
eventId |
Unique identifier for data flow event. |
principalEmail |
The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. |
operation |
The operation performed by the principal for the data flow event. |
violatedLocation |
Non-compliant location of the principal or the data destination. |
eventTime |
Timestamp of data flow event. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Network
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
The name of the VPC network resource, for example, |
DataRetentionDeletionEvent
| JSON representation |
|---|
{
"eventDetectionTime": string,
"dataObjectCount": string,
"maxRetentionAllowed": string,
"minRetentionAllowed": string,
"eventType": enum ( |
| Fields | |
|---|---|
eventDetectionTime |
Timestamp indicating when the event was detected. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
dataObjectCount |
Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. |
maxRetentionAllowed |
Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. A duration in seconds with up to nine fractional digits, ending with ' |
minRetentionAllowed |
The minimum duration that the resource associated with this finding must be retained, as enforced by the DSPM retention control. The retention period begins from the resource's creation time. This field is populated only when the A duration in seconds with up to nine fractional digits, ending with ' |
eventType |
Type of the DRD event. |
AffectedResources
| JSON representation |
|---|
{ "count": string } |
| Fields | |
|---|---|
count |
The count of resources affected by the finding. |
AiModel
| JSON representation |
|---|
{
"name": string,
"domain": string,
"library": string,
"location": string,
"publisher": string,
"deploymentPlatform": enum ( |
| Fields | |
|---|---|
name |
The name of the AI model, for example, |
domain |
The domain of the model, for example, |
library |
The name of the model library, for example, |
location |
The region in which the model is used, for example, |
publisher |
The publisher of the model, for example, |
deploymentPlatform |
The platform on which the model is deployed. |
displayName |
The user defined display name of model. Ex. baseline-classification-model |
usageCategory |
The purpose of the model, for example, "Inference" or "Training". |
Chokepoint
| JSON representation |
|---|
{ "relatedFindings": [ string ] } |
| Fields | |
|---|---|
relatedFindings[] |
List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. |
ComplianceDetails
| JSON representation |
|---|
{ "frameworks": [ { object ( |
| Fields | |
|---|---|
frameworks[] |
Details of Frameworks associated with the finding |
cloudControl |
CloudControl associated with the finding |
cloudControlDeploymentNames[] |
Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier |
Framework
| JSON representation |
|---|
{ "name": string, "displayName": string, "category": [ enum ( |
| Fields | |
|---|---|
name |
Name of the framework associated with the finding |
displayName |
Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework |
category[] |
Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads |
type |
Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) |
controls[] |
The controls associated with the framework. |
Control
| JSON representation |
|---|
{ "controlName": string, "displayName": string } |
| Fields | |
|---|---|
controlName |
Name of the Control |
displayName |
Display name of the control. For example, AU-02. |
CloudControl
| JSON representation |
|---|
{
"cloudControlName": string,
"type": enum ( |
| Fields | |
|---|---|
cloudControlName |
Name of the CloudControl associated with the finding. |
type |
Type of cloud control. |
policyType |
Policy type of the CloudControl |
version |
Version of the Cloud Control |
VertexAi
| JSON representation |
|---|
{ "datasets": [ { object ( |
| Fields | |
|---|---|
datasets[] |
Datasets associated with the finding. |
pipelines[] |
Pipelines associated with the finding. |
Dataset
| JSON representation |
|---|
{ "name": string, "displayName": string, "source": string } |
| Fields | |
|---|---|
name |
Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 |
displayName |
The user defined display name of dataset, e.g. plants-dataset |
source |
Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod |
Pipeline
| JSON representation |
|---|
{ "name": string, "displayName": string } |
| Fields | |
|---|---|
name |
Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 |
displayName |
The user-defined display name of pipeline, e.g. plants-classification |
ArtifactGuardPolicies
| JSON representation |
|---|
{
"resourceId": string,
"failingPolicies": [
{
object ( |
| Fields | |
|---|---|
resourceId |
The ID of the resource that has policies configured. |
failingPolicies[] |
A list of artifact guard policies that the resource violated. |
ArtifactGuardPolicy
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
The type of the policy evaluation. |
policyId |
The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". |
failureReason |
The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". |
Secret
| JSON representation |
|---|
{ "type": string, "status": { object ( |
| Fields | |
|---|---|
type |
The type of secret, for example, GCP_API_KEY. |
status |
The status of the secret. |
Union field location. The location of the secret. location can be only one of the following: |
|
environmentVariable |
The environment variable containing the secret. |
filePath |
The file containing the secret. |
SecretStatus
| JSON representation |
|---|
{
"lastUpdatedTime": string,
"validity": enum ( |
| Fields | |
|---|---|
lastUpdatedTime |
Time that the secret was found. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
validity |
The validity of the secret. |
SecretEnvironmentVariable
| JSON representation |
|---|
{ "key": string } |
| Fields | |
|---|---|
key |
The environment variable name as a JSON encoded string. Note that the value is not included because the value contains the secret data, which is sensitive core content. |
SecretFilePath
| JSON representation |
|---|
{ "path": string } |
| Fields | |
|---|---|
path |
Path to the file. |
ExternalExposure
| JSON representation |
|---|
{
"privateIpAddress": string,
"privatePort": string,
"exposedService": string,
"publicIpAddress": string,
"publicPort": string,
"exposedEndpoint": string,
"loadBalancerFirewallPolicy": string,
"serviceFirewallPolicy": string,
"forwardingRule": string,
"backendService": string,
"instanceGroup": string,
"networkEndpointGroup": string,
"hostnameUri": string,
"pscServiceAttachment": string,
"pscNetworkAttachment": string,
"internalBackendService": string,
"backendBucket": string,
"exposedApplication": string,
"networkIngressFirewallPolicy": string,
"httpResponse": [
{
object ( |
| Fields | |
|---|---|
privateIpAddress |
Private IP address of the exposed endpoint. |
privatePort |
Port number associated with private IP address. |
exposedService |
The name and version of the service, for example, "Jupyter Notebook 6.14.0". |
publicIpAddress |
Public IP address of the exposed endpoint. |
publicPort |
Public port number of the exposed endpoint. |
exposedEndpoint |
The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}". |
loadBalancerFirewallPolicy |
The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". |
serviceFirewallPolicy |
The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". |
forwardingRule |
The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". |
backendService |
The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". |
instanceGroup |
The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". |
networkEndpointGroup |
The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". |
hostnameUri |
Hostname of the exposed application, for example, |
pscServiceAttachment |
The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" |
pscNetworkAttachment |
The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" |
internalBackendService |
The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". |
backendBucket |
The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" |
exposedApplication |
The name and version of the exposed web application, for example, "Jenkins 2.184". |
networkIngressFirewallPolicy |
The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". |
httpResponse[] |
The http response returned by the web application. |
networkPathInsightsGenerationTime |
The timestamp when the network reachability trace was generated or verified. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
HttpResponse
| JSON representation |
|---|
{ "statusCode": string, "path": string } |
| Fields | |
|---|---|
statusCode |
The http response code returned by the web application, for example, 200. |
path |
The http path for which response code was returned by web application, for example, |
PolicyViolationSummary
| JSON representation |
|---|
{ "policyViolationsCount": string, "conformantResourcesCount": string, "evaluationErrorsCount": string, "outOfScopeResourcesCount": string } |
| Fields | |
|---|---|
policyViolationsCount |
Count of child resources in violation of the policy. |
conformantResourcesCount |
Total number of child resources that conform to the policy. |
evaluationErrorsCount |
Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". |
outOfScopeResourcesCount |
Total count of child resources which were not in scope for evaluation. |
AgentDataAccessEvent
| JSON representation |
|---|
{
"eventId": string,
"principalSubject": string,
"operation": enum ( |
| Fields | |
|---|---|
eventId |
Unique identifier for data access event. |
principalSubject |
The agent principal that accessed the data. |
operation |
The operation performed by the principal to access the data. |
eventTime |
Timestamp of data access event. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
DiscoveredWorkload
| JSON representation |
|---|
{ "workloadType": enum ( |
| Fields | |
|---|---|
workloadType |
The type of workload. |
confidence |
The confidence in detection of this workload. |
detectedRelevantPackages |
A boolean flag set to true if installed packages strongly predict the workload type. |
detectedRelevantKeywords |
A boolean flag set to true if associated keywords strongly predict the workload type. |
detectedRelevantHardware |
A boolean flag set to true if associated hardware strongly predicts the workload type. |
Agent
| JSON representation |
|---|
{ "id": string, "displayName": string } |
| Fields | |
|---|---|
id |
Identifier of the agent. |
displayName |
The user friendly name of the specific agent instance where the finding was detected, for example, "Banking Agent". |
AgentSession
| JSON representation |
|---|
{ "sessionId": string } |
| Fields | |
|---|---|
sessionId |
The session ID of a conversation. |
AgentAnomaly
| JSON representation |
|---|
{ "confidenceScore": number, "detectorReferences": [ { object ( |
| Fields | |
|---|---|
confidenceScore |
The overall confidence score indicating the likelihood that this session contains a true anomaly. The score ranges from 0.0 to 1.0, where 1.0 signifies 100% confidence in the presence of an anomaly and 0.0 signifies 0% confidence. |
detectorReferences[] |
The list of references to specific detectors that identified anomalies within this session. |
invocationReferences[] |
References to the OpenTelemetry invocations. |
DetectorReference
| JSON representation |
|---|
{
"severity": enum ( |
| Fields | |
|---|---|
severity |
The severity of the detector. |
detectorId |
The unique identifier of the detector. |
displayName |
A human readable name for the detector, providing context on its purpose. For example, "ASI02: Tool Misuse", or "Excessive API Calls". |
explanation |
A detailed explanation generated by an LLM or the detector itself, describing why this specific anomaly was flagged. This provides rationale and context for the detection. |
recommendation |
Recommended steps or actions to remediate or investigate the anomaly flagged by this detector. These could include configuration changes, code adjustments, or further diagnostic procedures. |
InvocationReference
| JSON representation |
|---|
{ "invocationId": string } |
| Fields | |
|---|---|
invocationId |
The unique identifier of the invocation. |
IamDetails
| JSON representation |
|---|
{
"iamRolePermissions": [
{
object ( |
| Fields | |
|---|---|
iamRolePermissions[] |
A list of IAM permissions. |
IamRolePermission
| JSON representation |
|---|
{ "name": string, "role": string } |
| Fields | |
|---|---|
name |
The name of the IAM permission, such as "storage.buckets.get". |
role |
Role that contains the IAM permission, such as "projects/my-project/roles/myCustomRole". |
Resource
| JSON representation |
|---|
{ "name": string, "displayName": string, "type": string, "cloudProvider": enum ( |
| Fields | |
|---|---|
name |
The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name |
displayName |
The human readable name of the resource. |
type |
The full resource type of the resource. |
cloudProvider |
Indicates which cloud provider the finding is from. |
service |
The service or resource provider associated with the resource. |
location |
The region or location of the service (if applicable). |
resourcePath |
Provides the path to the resource within the resource hierarchy. |
resourcePathString |
A string representation of the resource path. For Google Cloud, it has the format of |
application |
The App Hub application this resource belongs to. |
adcApplication |
The ADC application associated with the finding. |
adcApplicationTemplate |
The ADC template associated with the finding. |
adcSharedTemplate |
The ADC shared template associated with the finding. |
Union field cloud_provider_metadata. The metadata associated with the cloud provider. cloud_provider_metadata can be only one of the following: |
|
gcpMetadata |
The Google Cloud metadata associated with the finding. |
awsMetadata |
The AWS metadata associated with the finding. |
azureMetadata |
The Azure metadata associated with the finding. |
GcpMetadata
| JSON representation |
|---|
{
"project": string,
"projectDisplayName": string,
"parent": string,
"parentDisplayName": string,
"folders": [
{
object ( |
| Fields | |
|---|---|
project |
The full resource name of project that the resource belongs to. |
projectDisplayName |
The project ID that the resource belongs to. |
parent |
The full resource name of resource's parent. |
parentDisplayName |
The human readable name of resource's parent. |
folders[] |
Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. |
organization |
The name of the organization that the resource belongs to. |
Folder
| JSON representation |
|---|
{ "resourceFolder": string, "resourceFolderDisplayName": string } |
| Fields | |
|---|---|
resourceFolder |
Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name |
resourceFolderDisplayName |
The user defined display name for this folder. |
AwsMetadata
| JSON representation |
|---|
{ "organization": { object ( |
| Fields | |
|---|---|
organization |
The AWS organization associated with the resource. |
organizationalUnits[] |
A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. |
account |
The AWS account associated with the resource. |
AwsOrganization
| JSON representation |
|---|
{ "id": string } |
| Fields | |
|---|---|
id |
The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. |
AwsOrganizationalUnit
| JSON representation |
|---|
{ "id": string, "name": string } |
| Fields | |
|---|---|
id |
The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". |
name |
The friendly name of the OU. |
AwsAccount
| JSON representation |
|---|
{ "id": string, "name": string } |
| Fields | |
|---|---|
id |
The unique identifier (ID) of the account, containing exactly 12 digits. |
name |
The friendly name of this account. |
AzureMetadata
| JSON representation |
|---|
{ "managementGroups": [ { object ( |
| Fields | |
|---|---|
managementGroups[] |
A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. |
subscription |
The Azure subscription associated with the resource. |
resourceGroup |
The Azure resource group associated with the resource. |
tenant |
The Azure Entra tenant associated with the resource. |
AzureManagementGroup
| JSON representation |
|---|
{ "id": string, "displayName": string } |
| Fields | |
|---|---|
id |
The UUID of the Azure management group, for example, |
displayName |
The display name of the Azure management group. |
AzureSubscription
| JSON representation |
|---|
{ "id": string, "displayName": string } |
| Fields | |
|---|---|
id |
The UUID of the Azure subscription, for example, |
displayName |
The display name of the Azure subscription. |
AzureResourceGroup
| JSON representation |
|---|
{ "id": string, "name": string } |
| Fields | |
|---|---|
id |
The ID of the Azure resource group. |
name |
The name of the Azure resource group. This is not a UUID. |
AzureTenant
| JSON representation |
|---|
{ "id": string, "displayName": string } |
| Fields | |
|---|---|
id |
The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". |
displayName |
The display name of the Azure tenant. |
ResourcePath
| JSON representation |
|---|
{
"nodes": [
{
object ( |
| Fields | |
|---|---|
nodes[] |
The list of nodes that make the up resource path, ordered from lowest level to highest level. |
ResourcePathNode
| JSON representation |
|---|
{
"nodeType": enum ( |
| Fields | |
|---|---|
nodeType |
The type of resource this node represents. |
id |
The ID of the resource this node represents. |
displayName |
The display name of the resource this node represents. |
Application
| JSON representation |
|---|
{
"name": string,
"attributes": {
object ( |
| Fields | |
|---|---|
name |
The resource name of an Application. Format: |
attributes |
Consumer provided attributes for the application |
Attributes
| JSON representation |
|---|
{ "criticality": { object ( |
| Fields | |
|---|---|
criticality |
User-defined criticality information. |
environment |
User-defined environment information. |
developerOwners[] |
Developer team that owns development and coding. |
operatorOwners[] |
Operator team that ensures runtime and operations. |
businessOwners[] |
Business team that ensures user needs are met and value is delivered |
Criticality
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
Criticality Type. |
Environment
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
Environment Type. |
ContactInfo
| JSON representation |
|---|
{ "email": string } |
| Fields | |
|---|---|
email |
Email address of the contacts. |
AdcApplication
| JSON representation |
|---|
{
"name": string,
"attributes": {
object ( |
| Fields | |
|---|---|
name |
The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application} |
attributes |
Consumer provided attributes for the AppHub application. |
AdcApplicationTemplateRevision
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} |
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} |
State
The state of the finding.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Unspecified state. |
ACTIVE |
The finding requires attention and has not been addressed yet. |
INACTIVE |
The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active. |
NullValue
Represents a JSON null.
NullValue is a sentinel, using an enum with only one value to represent the null value for the Value type union.
A field of type NullValue with any value other than 0 is considered invalid. Most ProtoJSON serializers will emit a Value with a null_value set as a JSON null regardless of the integer value, and so will round trip to a 0 value.
| Enums | |
|---|---|
NULL_VALUE |
Null value. |
Severity
The severity of the finding.
| Enums | |
|---|---|
SEVERITY_UNSPECIFIED |
This value is used for findings when a source doesn't write a severity value. |
CRITICAL |
Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources. |
HIGH |
Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources. |
MEDIUM |
Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code. |
LOW |
Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources. |
Mute
Mute state a finding can be in.
| Enums | |
|---|---|
MUTE_UNSPECIFIED |
Unspecified. |
MUTED |
Finding has been muted. |
UNMUTED |
Finding has been unmuted. |
UNDEFINED |
Finding has never been muted/unmuted. |
FindingClass
Represents what kind of Finding it is.
| Enums | |
|---|---|
FINDING_CLASS_UNSPECIFIED |
Unspecified finding class. |
THREAT |
Describes unwanted or malicious activity. |
VULNERABILITY |
Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability. |
MISCONFIGURATION |
Describes a potential weakness in cloud resource/asset configuration that increases risk. |
OBSERVATION |
Describes a security observation that is for informational purposes. |
SCC_ERROR |
Describes an error that prevents some SCC functionality. |
POSTURE_VIOLATION |
Describes a potential security risk due to a change in the security posture. |
TOXIC_COMBINATION |
Describes a combination of security issues that represent a more severe security problem when taken together. |
SENSITIVE_DATA_RISK |
Describes a potential security risk to data assets that contain sensitive data. |
CHOKEPOINT |
Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS). |
EXTERNAL_EXPOSURE |
Describes a potential security risk due to the resource being exposed to the internet. |
SECRET |
Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload. |
SignatureType
Possible resource types to be associated with a signature.
| Enums | |
|---|---|
SIGNATURE_TYPE_UNSPECIFIED |
The default signature type. |
SIGNATURE_TYPE_PROCESS |
Used for signatures concerning processes. |
SIGNATURE_TYPE_FILE |
Used for signatures concerning disks. |
AttackVector
This metric reflects the context by which vulnerability exploitation is possible.
| Enums | |
|---|---|
ATTACK_VECTOR_UNSPECIFIED |
Invalid value. |
ATTACK_VECTOR_NETWORK |
The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet. |
ATTACK_VECTOR_ADJACENT |
The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology. |
ATTACK_VECTOR_LOCAL |
The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities. |
ATTACK_VECTOR_PHYSICAL |
The attack requires the attacker to physically touch or manipulate the vulnerable component. |
AttackComplexity
This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.
| Enums | |
|---|---|
ATTACK_COMPLEXITY_UNSPECIFIED |
Invalid value. |
ATTACK_COMPLEXITY_LOW |
Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component. |
ATTACK_COMPLEXITY_HIGH |
A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected. |
PrivilegesRequired
This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
| Enums | |
|---|---|
PRIVILEGES_REQUIRED_UNSPECIFIED |
Invalid value. |
PRIVILEGES_REQUIRED_NONE |
The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack. |
PRIVILEGES_REQUIRED_LOW |
The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources. |
PRIVILEGES_REQUIRED_HIGH |
The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files. |
UserInteraction
This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
| Enums | |
|---|---|
USER_INTERACTION_UNSPECIFIED |
Invalid value. |
USER_INTERACTION_NONE |
The vulnerable system can be exploited without interaction from any user. |
USER_INTERACTION_REQUIRED |
Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited. |
Scope
The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
| Enums | |
|---|---|
SCOPE_UNSPECIFIED |
Invalid value. |
SCOPE_UNCHANGED |
An exploited vulnerability can only affect resources managed by the same security authority. |
SCOPE_CHANGED |
An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component. |
Impact
The Impact metrics capture the effects of a successfully exploited vulnerability on the component that suffers the worst outcome that is most directly and predictably associated with the attack.
| Enums | |
|---|---|
IMPACT_UNSPECIFIED |
Invalid value. |
IMPACT_HIGH |
High impact. |
IMPACT_LOW |
Low impact. |
IMPACT_NONE |
No impact. |
RiskRating
The possible values of impact of the vulnerability if it was to be exploited.
| Enums | |
|---|---|
RISK_RATING_UNSPECIFIED |
Invalid or empty value. |
LOW |
Exploitation would have little to no security impact. |
MEDIUM |
Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps. |
HIGH |
Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors. |
CRITICAL |
Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome. |
ExploitationActivity
The possible values of exploitation activity of the vulnerability in the wild.
| Enums | |
|---|---|
EXPLOITATION_ACTIVITY_UNSPECIFIED |
Invalid or empty value. |
WIDE |
Exploitation has been reported or confirmed to widely occur. |
CONFIRMED |
Limited reported or confirmed exploitation activities. |
AVAILABLE |
Exploit is publicly available. |
ANTICIPATED |
No known exploitation activity, but has a high potential for exploitation. |
NO_KNOWN |
No known exploitation activity. |
Tactic
MITRE ATT&CK tactics that can be referenced by SCC findings. See: https://attack.mitre.org/tactics/enterprise/
| Enums | |
|---|---|
TACTIC_UNSPECIFIED |
Unspecified value. |
RECONNAISSANCE |
TA0043 |
RESOURCE_DEVELOPMENT |
TA0042 |
INITIAL_ACCESS |
TA0001 |
EXECUTION |
TA0002 |
PERSISTENCE |
TA0003 |
PRIVILEGE_ESCALATION |
TA0004 |
DEFENSE_EVASION |
TA0005 |
CREDENTIAL_ACCESS |
TA0006 |
DISCOVERY |
TA0007 |
LATERAL_MOVEMENT |
TA0008 |
COLLECTION |
TA0009 |
COMMAND_AND_CONTROL |
TA0011 |
EXFILTRATION |
TA0010 |
IMPACT |
TA0040 |
Technique
MITRE ATT&CK techniques that can be referenced by Security Command Center findings. See: https://attack.mitre.org/techniques/enterprise/
| Enums | |
|---|---|
TECHNIQUE_UNSPECIFIED |
Unspecified value. |
DATA_OBFUSCATION |
T1001 |
DATA_OBFUSCATION_STEGANOGRAPHY |
T1001.002 |
OS_CREDENTIAL_DUMPING |
T1003 |
OS_CREDENTIAL_DUMPING_PROC_FILESYSTEM |
T1003.007 |
OS_CREDENTIAL_DUMPING_ETC_PASSWORD_AND_ETC_SHADOW |
T1003.008 |
DATA_FROM_LOCAL_SYSTEM |
T1005 |
AUTOMATED_EXFILTRATION |
T1020 |
OBFUSCATED_FILES_OR_INFO |
T1027 |
STEGANOGRAPHY |
T1027.003 |
COMPILE_AFTER_DELIVERY |
T1027.004 |
COMMAND_OBFUSCATION |
T1027.010 |
SCHEDULED_TRANSFER |
T1029 |
SYSTEM_OWNER_USER_DISCOVERY |
T1033 |
MASQUERADING |
T1036 |
MATCH_LEGITIMATE_NAME_OR_LOCATION |
T1036.005 |
BOOT_OR_LOGON_INITIALIZATION_SCRIPTS |
T1037 |
STARTUP_ITEMS |
T1037.005 |
NETWORK_SERVICE_DISCOVERY |
T1046 |
SCHEDULED_TASK_JOB |
T1053 |
SCHEDULED_TASK_JOB_CRON |
T1053.003 |
CONTAINER_ORCHESTRATION_JOB |
T1053.007 |
PROCESS_INJECTION |
T1055 |
INPUT_CAPTURE |
T1056 |
INPUT_CAPTURE_KEYLOGGING |
T1056.001 |
PROCESS_DISCOVERY |
T1057 |
COMMAND_AND_SCRIPTING_INTERPRETER |
T1059 |
UNIX_SHELL |
T1059.004 |
PYTHON |
T1059.006 |
EXPLOITATION_FOR_PRIVILEGE_ESCALATION |
T1068 |
PERMISSION_GROUPS_DISCOVERY |
T1069 |
CLOUD_GROUPS |
T1069.003 |
INDICATOR_REMOVAL |
T1070 |
INDICATOR_REMOVAL_CLEAR_LINUX_OR_MAC_SYSTEM_LOGS |
T1070.002 |
INDICATOR_REMOVAL_CLEAR_COMMAND_HISTORY |
T1070.003 |
INDICATOR_REMOVAL_FILE_DELETION |
T1070.004 |
INDICATOR_REMOVAL_TIMESTOMP |
T1070.006 |
INDICATOR_REMOVAL_CLEAR_MAILBOX_DATA |
T1070.008 |
APPLICATION_LAYER_PROTOCOL |
T1071 |
DNS |
T1071.004 |
SOFTWARE_DEPLOYMENT_TOOLS |
T1072 |
VALID_ACCOUNTS |
T1078 |
DEFAULT_ACCOUNTS |
T1078.001 |
LOCAL_ACCOUNTS |
T1078.003 |
CLOUD_ACCOUNTS |
T1078.004 |
FILE_AND_DIRECTORY_DISCOVERY |
T1083 |
ACCOUNT_DISCOVERY_LOCAL_ACCOUNT |
T1087.001 |
PROXY |
T1090 |
EXTERNAL_PROXY |
T1090.002 |
MULTI_HOP_PROXY |
T1090.003 |
ACCOUNT_MANIPULATION |
T1098 |
ADDITIONAL_CLOUD_CREDENTIALS |
T1098.001 |
ADDITIONAL_CLOUD_ROLES |
T1098.003 |
SSH_AUTHORIZED_KEYS |
T1098.004 |
ADDITIONAL_CONTAINER_CLUSTER_ROLES |
T1098.006 |
MULTI_STAGE_CHANNELS |
T1104 |
INGRESS_TOOL_TRANSFER |
T1105 |
NATIVE_API |
T1106 |
BRUTE_FORCE |
T1110 |
AUTOMATED_COLLECTION |
T1119 |
SHARED_MODULES |
T1129 |
DATA_ENCODING |
T1132 |
STANDARD_ENCODING |
T1132.001 |
ACCESS_TOKEN_MANIPULATION |
T1134 |
TOKEN_IMPERSONATION_OR_THEFT |
T1134.001 |
CREATE_ACCOUNT |
T1136 |
LOCAL_ACCOUNT |
T1136.001 |
DEOBFUSCATE_DECODE_FILES_OR_INFO |
T1140 |
EXPLOIT_PUBLIC_FACING_APPLICATION |
T1190 |
SUPPLY_CHAIN_COMPROMISE |
T1195 |
COMPROMISE_SOFTWARE_DEPENDENCIES_AND_DEVELOPMENT_TOOLS |
T1195.001 |
EXPLOITATION_FOR_CLIENT_EXECUTION |
T1203 |
USER_EXECUTION |
T1204 |
EXPLOITATION_FOR_CREDENTIAL_ACCESS |
T1212 |
LINUX_AND_MAC_FILE_AND_DIRECTORY_PERMISSIONS_MODIFICATION |
T1222.002 |
DOMAIN_POLICY_MODIFICATION |
T1484 |
DATA_DESTRUCTION |
T1485 |
DATA_ENCRYPTED_FOR_IMPACT |
T1486 |
SERVICE_STOP |
T1489 |
INHIBIT_SYSTEM_RECOVERY |
T1490 |
FIRMWARE_CORRUPTION |
T1495 |
RESOURCE_HIJACKING |
T1496 |
NETWORK_DENIAL_OF_SERVICE |
T1498 |
CLOUD_SERVICE_DISCOVERY |
T1526 |
STEAL_APPLICATION_ACCESS_TOKEN |
T1528 |
ACCOUNT_ACCESS_REMOVAL |
T1531 |
TRANSFER_DATA_TO_CLOUD_ACCOUNT |
T1537 |
STEAL_WEB_SESSION_COOKIE |
T1539 |
CREATE_OR_MODIFY_SYSTEM_PROCESS |
T1543 |
EVENT_TRIGGERED_EXECUTION |
T1546 |
BOOT_OR_LOGON_AUTOSTART_EXECUTION |
T1547 |
KERNEL_MODULES_AND_EXTENSIONS |
T1547.006 |
SHORTCUT_MODIFICATION |
T1547.009 |
ABUSE_ELEVATION_CONTROL_MECHANISM |
T1548 |
ABUSE_ELEVATION_CONTROL_MECHANISM_SETUID_AND_SETGID |
T1548.001 |
ABUSE_ELEVATION_CONTROL_MECHANISM_SUDO_AND_SUDO_CACHING |
T1548.003 |
UNSECURED_CREDENTIALS |
T1552 |
CREDENTIALS_IN_FILES |
T1552.001 |
BASH_HISTORY |
T1552.003 |
PRIVATE_KEYS |
T1552.004 |
SUBVERT_TRUST_CONTROL |
T1553 |
INSTALL_ROOT_CERTIFICATE |
T1553.004 |
COMPROMISE_HOST_SOFTWARE_BINARY |
T1554 |
CREDENTIALS_FROM_PASSWORD_STORES |
T1555 |
MODIFY_AUTHENTICATION_PROCESS |
T1556 |
PLUGGABLE_AUTHENTICATION_MODULES |
T1556.003 |
MULTI_FACTOR_AUTHENTICATION |
T1556.006 |
IMPAIR_DEFENSES |
T1562 |
DISABLE_OR_MODIFY_TOOLS |
T1562.001 |
INDICATOR_BLOCKING |
T1562.006 |
DISABLE_OR_MODIFY_LINUX_AUDIT_SYSTEM |
T1562.012 |
HIDE_ARTIFACTS |
T1564 |
HIDDEN_FILES_AND_DIRECTORIES |
T1564.001 |
HIDDEN_USERS |
T1564.002 |
EXFILTRATION_OVER_WEB_SERVICE |
T1567 |
EXFILTRATION_TO_CLOUD_STORAGE |
T1567.002 |
DYNAMIC_RESOLUTION |
T1568 |
LATERAL_TOOL_TRANSFER |
T1570 |
HIJACK_EXECUTION_FLOW |
T1574 |
HIJACK_EXECUTION_FLOW_DYNAMIC_LINKER_HIJACKING |
T1574.006 |
MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE |
T1578 |
CREATE_SNAPSHOT |
T1578.001 |
CLOUD_INFRASTRUCTURE_DISCOVERY |
T1580 |
DEVELOP_CAPABILITIES |
T1587 |
DEVELOP_CAPABILITIES_MALWARE |
T1587.001 |
OBTAIN_CAPABILITIES |
T1588 |
OBTAIN_CAPABILITIES_MALWARE |
T1588.001 |
OBTAIN_CAPABILITIES_VULNERABILITIES |
T1588.006 |
ACTIVE_SCANNING |
T1595 |
SCANNING_IP_BLOCKS |
T1595.001 |
STAGE_CAPABILITIES |
T1608 |
UPLOAD_MALWARE |
T1608.001 |
CONTAINER_ADMINISTRATION_COMMAND |
T1609 |
DEPLOY_CONTAINER |
T1610 |
ESCAPE_TO_HOST |
T1611 |
CONTAINER_AND_RESOURCE_DISCOVERY |
T1613 |
REFLECTIVE_CODE_LOADING |
T1620 |
STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES |
T1649 |
FINANCIAL_THEFT |
T1657 |
Protocol
IANA Internet Protocol Number such as TCP(6) and UDP(17).
| Enums | |
|---|---|
PROTOCOL_UNSPECIFIED |
Unspecified protocol (not HOPOPT). |
ICMP |
Internet Control Message Protocol. |
TCP |
Transmission Control Protocol. |
UDP |
User Datagram Protocol. |
GRE |
Generic Routing Encapsulation. |
ESP |
Encap Security Payload. |
OperationType
The type of the operation
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
The operation is unspecified. |
OPEN |
Represents an open operation. |
READ |
Represents a read operation. |
RENAME |
Represents a rename operation. |
WRITE |
Represents a write operation. |
EXECUTE |
Represents an execute operation. |
FileLoadState
The load state of the file.
| Enums | |
|---|---|
FILE_LOAD_STATE_UNSPECIFIED |
Indicates that the file load state was not set or is not known. This is the default value. |
LOADED_BY_PROCESS |
The file was in use by an active process during the scan. |
NOT_LOADED_BY_PROCESS |
The file was not in use by any active process during the scan. |
Action
The type of action performed on a Binding in a policy.
| Enums | |
|---|---|
ACTION_UNSPECIFIED |
Unspecified. |
ADD |
Addition of a Binding. |
REMOVE |
Removal of a Binding. |
Kind
Types of Kubernetes roles.
| Enums | |
|---|---|
KIND_UNSPECIFIED |
Role type is not specified. |
ROLE |
Kubernetes Role. |
CLUSTER_ROLE |
Kubernetes ClusterRole. |
AuthType
Auth types that can be used for the subject's kind field.
| Enums | |
|---|---|
AUTH_TYPE_UNSPECIFIED |
Authentication is not specified. |
USER |
User with valid certificate. |
SERVICEACCOUNT |
Users managed by Kubernetes API with credentials stored as secrets. |
GROUP |
Collection of users. |
State
This enum defines the various states an AttackExposure can be in.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
The state is not specified. |
CALCULATED |
The attack exposure has been calculated. |
NOT_CALCULATED |
The attack exposure has not been calculated. |
ParentType
Parents for configurations that produce data profile findings.
| Enums | |
|---|---|
PARENT_TYPE_UNSPECIFIED |
Unspecified parent type. |
ORGANIZATION |
Organization-level configurations. |
PROJECT |
Project-level configurations. |
SensitivityScoreLevel
Various sensitivity score levels for resources.
| Enums | |
|---|---|
SENSITIVITY_SCORE_LEVEL_UNSPECIFIED |
Unused. |
SENSITIVITY_LOW |
No sensitive information detected. The resource isn't publicly accessible. |
SENSITIVITY_UNKNOWN |
Unable to determine sensitivity. |
SENSITIVITY_MODERATE |
Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access. |
SENSITIVITY_HIGH |
High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII. |
JobState
JobState represents the state of the job.
| Enums | |
|---|---|
JOB_STATE_UNSPECIFIED |
Unspecified represents an unknown state and should not be used. |
PENDING |
Job is scheduled and pending for run |
RUNNING |
Job in progress |
SUCCEEDED |
Job has completed with success |
FAILED |
Job has completed but with failure |
Direction
The type of direction that the rule is applicable to, one of ingress or egress. Not applicable to OPEN_X_PORT findings.
| Enums | |
|---|---|
DIRECTION_UNSPECIFIED |
Unspecified direction value. |
INGRESS |
Ingress direction value. |
EGRESS |
Egress direction value. |
GroupType
Possible types of groups.
| Enums | |
|---|---|
GROUP_TYPE_UNSPECIFIED |
Default value. |
GROUP_TYPE_TOXIC_COMBINATION |
Group represents a toxic combination. |
GROUP_TYPE_CHOKEPOINT |
Group represents a chokepoint. |
Operation
The operation of a data access event.
| Enums | |
|---|---|
OPERATION_UNSPECIFIED |
The operation is unspecified. |
READ |
Represents a read operation. |
MOVE |
Represents a move operation. |
COPY |
Represents a copy operation. |
Operation
The operation of a data flow event.
| Enums | |
|---|---|
OPERATION_UNSPECIFIED |
The operation is unspecified. |
READ |
Represents a read operation. |
MOVE |
Represents a move operation. |
COPY |
Represents a copy operation. |
EventType
Type of the DRD event.
| Enums | |
|---|---|
EVENT_TYPE_UNSPECIFIED |
Unspecified event type. |
EVENT_TYPE_MAX_TTL_EXCEEDED |
Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead. |
EVENT_TYPE_MAX_TTL_FROM_CREATION |
Max TTL from the asset's creation time. |
EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION |
Max TTL from the asset's last modification time. |
EVENT_TYPE_MIN_TTL_FROM_CREATION |
Min TTL from the asset's creation time. |
DeploymentPlatform
The platform on which the model is deployed.
| Enums | |
|---|---|
DEPLOYMENT_PLATFORM_UNSPECIFIED |
Unspecified deployment platform. |
VERTEX_AI |
Gemini Enterprise Agent Platform. |
GKE |
Google Kubernetes Engine. |
GCE |
Compute Engine. |
FINE_TUNED_MODEL |
Fine tuned model. |
FrameworkCategory
The category of the framework.
| Enums | |
|---|---|
FRAMEWORK_CATEGORY_UNSPECIFIED |
Default value. This value is unused. |
SECURITY_BENCHMARKS |
Security Benchmarks framework |
ASSURED_WORKLOADS |
Assured Workloads framework |
DATA_SECURITY |
Data Security framework |
GOOGLE_BEST_PRACTICES |
Google Best Practices framework |
CUSTOM_FRAMEWORK |
A user-created framework |
FrameworkType
The type of the framework.
| Enums | |
|---|---|
FRAMEWORK_TYPE_UNSPECIFIED |
Default value. This value is unused. |
FRAMEWORK_TYPE_BUILT_IN |
The framework is a built-in framework if it is created and managed by GCP. |
FRAMEWORK_TYPE_CUSTOM |
The framework is a custom framework if it is created and managed by the user. |
CloudControlType
Type of cloud control.
| Enums | |
|---|---|
CLOUD_CONTROL_TYPE_UNSPECIFIED |
Unspecified. |
BUILT_IN |
Built in Cloud Control. |
CUSTOM |
Custom Cloud Control. |
ArtifactGuardPolicyType
The type of the policy.
| Enums | |
|---|---|
ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED |
Default value. This value is unused. |
VULNERABILITY |
Vulnerability type. |
SecretValidity
Captures the outcome of validation. Validation includes checks like confirming that an API key is active and not expired.
| Enums | |
|---|---|
SECRET_VALIDITY_UNSPECIFIED |
Default value; no validation was attempted. |
SECRET_VALIDITY_UNSUPPORTED |
There is no mechanism to validate the secret. |
SECRET_VALIDITY_FAILED |
Validation is supported but the validation failed. |
SECRET_VALIDITY_INVALID |
The secret is confirmed to be invalid. |
SECRET_VALIDITY_VALID |
The secret is confirmed to be valid. |
Operation
The operation of a data access event.
| Enums | |
|---|---|
OPERATION_UNSPECIFIED |
The operation is unspecified. |
READ |
Represents a read operation. |
MOVE |
Represents a move operation. |
COPY |
Represents a copy operation. |
WorkloadType
The types of detected workloads.
| Enums | |
|---|---|
WORKLOAD_TYPE_UNSPECIFIED |
Unspecified workload type |
MCP_SERVER |
A workload of type MCP Server |
AI_INFERENCE |
A workload of type AI Inference |
AGENT |
A workload of type LLM Agent |
Confidence
Confidence levels for workload detection.
| Enums | |
|---|---|
CONFIDENCE_UNSPECIFIED |
Unspecified confidence level. |
CONFIDENCE_HIGH |
High confidence in detection of a workload. |
Severity
Severity levels for detectors.
| Enums | |
|---|---|
SEVERITY_UNSPECIFIED |
Unspecified severity. |
CRITICAL |
Critical severity. |
HIGH |
High severity. |
MEDIUM |
Medium severity. |
LOW |
Low severity. |
CloudProvider
The cloud provider the finding pertains to.
| Enums | |
|---|---|
CLOUD_PROVIDER_UNSPECIFIED |
The cloud provider is unspecified. |
GOOGLE_CLOUD_PLATFORM |
The cloud provider is Google Cloud. |
AMAZON_WEB_SERVICES |
The cloud provider is Amazon Web Services. |
MICROSOFT_AZURE |
The cloud provider is Microsoft Azure. |
ResourcePathNodeType
The type of resource the node represents.
| Enums | |
|---|---|
RESOURCE_PATH_NODE_TYPE_UNSPECIFIED |
Node type is unspecified. |
GCP_ORGANIZATION |
The node represents a Google Cloud organization. |
GCP_FOLDER |
The node represents a Google Cloud folder. |
GCP_PROJECT |
The node represents a Google Cloud project. |
AWS_ORGANIZATION |
The node represents an AWS organization. |
AWS_ORGANIZATIONAL_UNIT |
The node represents an AWS organizational unit. |
AWS_ACCOUNT |
The node represents an AWS account. |
AZURE_MANAGEMENT_GROUP |
The node represents an Azure management group. |
AZURE_SUBSCRIPTION |
The node represents an Azure subscription. |
AZURE_RESOURCE_GROUP |
The node represents an Azure resource group. |
CriticalityType
Criticality Type.
| Enums | |
|---|---|
CRITICALITY_TYPE_UNSPECIFIED |
Unspecified type. |
MISSION_CRITICAL |
Mission critical service, application or workload. |
HIGH |
High impact. |
MEDIUM |
Medium impact. |
LOW |
Low impact. |
EnvironmentType
Environment Type.
| Enums | |
|---|---|
ENVIRONMENT_TYPE_UNSPECIFIED |
Unspecified type. |
PRODUCTION |
Production environment. |
STAGING |
Staging environment. |
TEST |
Test environment. |
DEVELOPMENT |
Development environment. |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌