Skip to main content

findings

Creates, updates, deletes, gets or lists a findings resource.

Overview

Namefindings
TypeResource
Idgoogle.threatintelligence.findings

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
namestringIdentifier. Server generated name for the finding (leave clear during creation). Format: projects/{project}/findings/{finding}
aiSummarystringOptional. AI summary of the finding.
alertstringOptional. Name of the alert that this finding is bound to.
auditobjectOutput only. Audit data about the finding. (id: Audit)
configurationsarrayOptional. Configuration names that are bound to this finding.
detailobjectRequired. Holder of the domain specific details of the finding. (id: FindingDetail)
displayNamestringRequired. A short descriptive title for the finding <= 250 chars. EX: "Actor 'baddy' offering $1000 for credentials of 'goodguy'".
providerstringRequired. Logical source of this finding (name of the sub-engine).
relevanceAnalysisobjectOutput only. High-Precision Relevance Analysis verdict for the finding. (id: RelevanceAnalysis)
reoccurrenceTimesarrayOutput only. When identical finding (same labels and same details) has re-occurred.
severitynumber (float)Optional. Deprecated: Use the severity_analysis field instead. Base severity score from the finding source.
severityAnalysisobjectOutput only. High-Precision Severity Analysis verdict for the finding. (id: SeverityAnalysis)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectprojectsId, findingsIdGet a finding by name. The name field should have the format: projects/&#123;project&#125;/findings/&#123;finding&#125;
listselectprojectsIdpageToken, pageSize, filter, orderByGet a list of findings that meet the filter criteria. The parent field in ListFindingsRequest should have the format: projects/{project}
searchexecprojectsIdorderBy, pageToken, pageSize, querySearchFindings is a more powerful version of ListFindings that supports complex queries like "findings for alerts" using functions such as has_alert in the query string. The parent field in SearchFindingsRequest should have the format: projects/{project} Example to search for findings for a specific issue: has_alert("name=\"projects/gti-12345/alerts/alert-12345\"")

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
findingsIdstring
projectsIdstring
filterstring
orderBystring
pageSizeinteger (int32)
pageTokenstring
querystring

SELECT examples

Get a finding by name. The name field should have the format: projects/&#123;project&#125;/findings/&#123;finding&#125;

SELECT
name,
aiSummary,
alert,
audit,
configurations,
detail,
displayName,
provider,
relevanceAnalysis,
reoccurrenceTimes,
severity,
severityAnalysis
FROM google.threatintelligence.findings
WHERE projectsId = '{{ projectsId }}' -- required
AND findingsId = '{{ findingsId }}' -- required
;

Lifecycle Methods

SearchFindings is a more powerful version of ListFindings that supports complex queries like "findings for alerts" using functions such as has_alert in the query string. The parent field in SearchFindingsRequest should have the format: projects/{project} Example to search for findings for a specific issue: has_alert("name=\"projects/gti-12345/alerts/alert-12345\"")

EXEC google.threatintelligence.findings.search
@projectsId='{{ projectsId }}' --required,
@orderBy='{{ orderBy }}',
@pageToken='{{ pageToken }}',
@pageSize='{{ pageSize }}',
@query='{{ query }}'
;