UNPKG

googleapis

Version:
1,409 lines 137 kB
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { Readable } from 'stream'; export declare namespace threatintelligence_v1beta { export interface Options extends GlobalOptions { version: 'v1beta'; } interface StandardParameters { /** * Auth client or API Key for the request */ auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth; /** * V1 error format. */ '$.xgafv'?: string; /** * OAuth access token. */ access_token?: string; /** * Data format for response. */ alt?: string; /** * JSONP */ callback?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** * Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; } /** * Threat Intelligence API * * threatintelligence.googleapis.com API. * * @example * ```js * const {google} = require('googleapis'); * const threatintelligence = google.threatintelligence('v1beta'); * ``` */ export class Threatintelligence { context: APIRequestContext; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable); } /** * Stateful object representing a group of Findings. Key feature to an Alert is that it expresses the user's intent towards the findings of that group, even those that haven't occurred yet. */ export interface Schema$Alert { /** * Optional. AI summary of the alert. */ aiSummary?: string | null; /** * Output only. Audit information for the alert. */ audit?: Schema$Audit; /** * Output only. The resource names of the Configurations bound to this alert. Format: projects/{project\}/configurations/{configuration\} */ configurations?: string[] | null; /** * Output only. Details object for the alert, not all alerts will have a details object. */ detail?: Schema$AlertDetail; /** * Output only. A short title for the alert. */ displayName?: string | null; /** * Output only. alert names of the alerts that are duplicates of this alert. Format: projects/{project\}/alerts/{alert\} */ duplicatedBy?: string[] | null; /** * Output only. alert name of the alert this alert is a duplicate of. Format: projects/{project\}/alerts/{alert\} */ duplicateOf?: string | null; /** * Optional. If included when updating an alert, this should be set to the current etag of the alert. If the etags do not match, the update will be rejected and an ABORTED error will be returned. */ etag?: string | null; /** * Output only. External ID for the alert. This is used internally to provide protection against out of order updates. */ externalId?: string | null; /** * Output only. The number of findings associated with this alert. */ findingCount?: string | null; /** * Output only. Findings that are covered by this alert. */ findings?: string[] | null; /** * Identifier. Server generated name for the alert. format is projects/{project\}/alerts/{alert\} */ name?: string | null; /** * Output only. High-Precision Priority Analysis for the alert. */ priorityAnalysis?: Schema$PriorityAnalysis; /** * Output only. High-Precision Relevance Analysis verdict for the alert. */ relevanceAnalysis?: Schema$RelevanceAnalysis; /** * Output only. High-Precision Severity Analysis for the alert. */ severityAnalysis?: Schema$SeverityAnalysis; /** * Output only. State of the alert. */ state?: string | null; } /** * Container for different types of alert details. */ export interface Schema$AlertDetail { /** * Data Leak alert detail type. */ dataLeak?: Schema$DataLeakAlertDetail; /** * Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. */ detailType?: string | null; /** * Initial Access Broker alert detail type. */ initialAccessBroker?: Schema$InitialAccessBrokerAlertDetail; /** * Insider Threat alert detail type. */ insiderThreat?: Schema$InsiderThreatAlertDetail; /** * Technology Watchlist alert detail type. */ targetTechnology?: Schema$TargetTechnologyAlertDetail; } /** * A document that is associated with an alert. */ export interface Schema$AlertDocument { /** * Output only. AI summary of the document. */ aiSummary?: string | null; /** * Output only. The author of the document. */ author?: string | null; /** * Output only. Time when the origin source collected the intel. */ collectionTime?: string | null; /** * Output only. The content of the document. */ content?: string | null; /** * Output only. The timestamp of the original external publication of the document. */ createTime?: string | null; /** * Output only. Time when GTI received the intel. */ ingestTime?: string | null; /** * Output only. The language code of the document. */ languageCode?: string | null; /** * Identifier. Server generated name for the alert document. format is projects/{project\}/alerts/{alert\}/documents/{document\} */ name?: string | null; /** * Output only. Source of the intel item, e.g. DarkMarket. */ source?: string | null; /** * Output only. Time when the intel was last updated by the source. */ sourceUpdateTime?: string | null; /** * Output only. URI of the intel item from the source. */ sourceUri?: string | null; /** * Output only. The title of the document, if available. */ title?: string | null; /** * Output only. The translation of the document, if available. */ translation?: Schema$AlertDocumentTranslation; } /** * The translation of an alert document. */ export interface Schema$AlertDocumentTranslation { /** * Output only. The translated content of the document. */ translatedContent?: string | null; /** * Output only. The translated title of the document. */ translatedTitle?: string | null; } /** * Represents an association with a vulnerability. */ export interface Schema$Association { /** * Required. The ID of the association. */ id?: string | null; /** * Required. The type of the association. */ type?: string | null; } /** * Tracks basic CRUD facts. */ export interface Schema$Audit { /** * Output only. Time of creation. */ createTime?: string | null; /** * Output only. Agent that created or updated the record, could be a UserId or a JobId. */ creator?: string | null; /** * Output only. Agent that last updated the record, could be a UserId or a JobId. */ updater?: string | null; /** * Output only. Time of creation or last update. */ updateTime?: string | null; } /** * A configuration represents a behavior an engine should follow when producing new findings. */ export interface Schema$Configuration { /** * Output only. Audit information for the configuration. */ audit?: Schema$Audit; /** * Optional. A description of the configuration. */ description?: string | null; /** * Required. Domain specific details for the configuration. */ detail?: Schema$ConfigurationDetail; /** * Output only. Human readable name for the configuration. */ displayName?: string | null; /** * If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned. */ etag?: string | null; /** * Identifier. Server generated name for the configuration. format is projects/{project\}/configurations/{configuration\} */ name?: string | null; /** * Required. Name of the service that provides the configuration. */ provider?: string | null; /** * Optional. State of the configuration. */ state?: string | null; /** * Optional. A user-manipulatable version. Does not adhere to a specific format */ version?: string | null; } /** * Wrapper class that contains the union struct for all the various configuration detail specific classes. */ export interface Schema$ConfigurationDetail { /** * Customer Profile detail config. */ customerProfile?: Schema$CustomerProfileConfig; /** * Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. */ detailType?: string | null; /** * Technology Watchlist detail config. */ technologyWatchlist?: Schema$TechnologyWatchListConfig; } /** * A ConfigurationRevision is a snapshot of a Configuration at a point in time. It is immutable. */ export interface Schema$ConfigurationRevision { /** * Output only. The time the Revision was created */ createTime?: string | null; /** * Identifier. The name of the ConfigurationRevision Format: projects//configurations//revisions/ */ name?: string | null; /** * The snapshot of the configuration */ snapshot?: Schema$Configuration; } /** * Citation information for the customer profile. */ export interface Schema$CustomerProfileCitation { /** * Required. The citation id for the citation. Should be unique within the profile. */ citationId?: string | null; /** * Required. The name of the document the citation is from. */ document?: string | null; /** * The time the citation was retrieved. */ retrievalTime?: string | null; /** * Required. The source of the citation. */ source?: string | null; /** * Optional. The url of the citation. */ uri?: string | null; } /** * A string with citation ids. */ export interface Schema$CustomerProfileCitedString { /** * Optional. The citation ids for the string. */ citationIds?: string[] | null; /** * Required. The value of the string. */ value?: string | null; } /** * Company information for the customer profile. */ export interface Schema$CustomerProfileCompany { /** * Optional. The citation ids for the company. */ citationIds?: string[] | null; /** * Required. The name of the company. */ company?: string | null; } /** * CustomerProfileConfig is the configuration for the customer profile. */ export interface Schema$CustomerProfileConfig { /** * Optional. Citations for the organization profile. */ citations?: Schema$CustomerProfileCitation[]; /** * Optional. Contact information for the organization. */ contactInfo?: Schema$CustomerProfileContactInfo[]; /** * Optional. Executives of the organization. */ executives?: Schema$CustomerProfilePerson[]; /** * Optional. The industries the organization is involved in. */ industries?: Schema$CustomerProfileIndustry[]; /** * Optional. Locations the organization is present or conducts business in. */ locations?: Schema$CustomerProfileLocation[]; /** * Required. The name of the organization. */ org?: string | null; /** * Optional. A summary of the organization. */ orgSummary?: string | null; /** * Optional. The parent companies of the organization. */ parentCompanies?: Schema$CustomerProfileCompany[]; /** * Optional. Product information for the organization. */ products?: Schema$CustomerProfileProduct[]; /** * Optional. Security considerations for the organization. */ securityConsiderations?: Schema$CustomerProfileSecurityConsiderations; /** * Optional. A summarized version of the customer profile. */ summary?: Schema$CustomerProfileSummary; /** * Optional. Technology presence of the organization. */ technologyPresence?: string | null; /** * Optional. Web presence of the organization. */ webPresences?: Schema$CustomerProfileWebPresence[]; } /** * Contact information for the customer profile. */ export interface Schema$CustomerProfileContactInfo { /** * The address of the contact. */ address?: string | null; /** * Optional. The citation ids for the contact information. */ citationIds?: string[] | null; /** * The email address of the contact. */ email?: string | null; /** * Optional. The name of the contact. */ label?: string | null; /** * The other contact information. */ other?: string | null; /** * The phone number of the contact. */ phone?: string | null; } /** * Industry information for the customer profile. */ export interface Schema$CustomerProfileIndustry { /** * Optional. The citation ids for the industry. */ citationIds?: string[] | null; /** * Required. The name of the industry. */ industry?: string | null; } /** * Location information for the customer profile. */ export interface Schema$CustomerProfileLocation { /** * Required. The address of the location. */ address?: string | null; /** * Required. The brand of the location. */ brand?: string | null; /** * Optional. The citation ids for the location. */ citationIds?: string[] | null; /** * Optional. The type of location. */ facilityType?: string | null; } /** * Person information for the customer profile. */ export interface Schema$CustomerProfilePerson { /** * Optional. The citation ids for the person. */ citationIds?: string[] | null; /** * Required. The name of the person. */ name?: string | null; /** * Optional. The title of the person. */ title?: string | null; } /** * Product information for the customer profile. */ export interface Schema$CustomerProfileProduct { /** * Required. The brand of the product. */ brand?: string | null; /** * Optional. The citation ids for the product. */ citationIds?: string[] | null; /** * Required. The name of the product. */ product?: string | null; } /** * Security considerations for the customer profile. */ export interface Schema$CustomerProfileSecurityConsiderations { /** * Optional. A series of considerations for the security of the organization, such as "high risk of compromise" or "vulnerable to cyberbullying". */ considerations?: string[] | null; /** * Optional. A note about the security considerations. */ note?: string | null; } /** * A summarized version of the customer profile. Generated by the backend. */ export interface Schema$CustomerProfileSummary { /** * Optional. The area the customer serves. */ areaServed?: Schema$CustomerProfileCitedString; /** * Optional. A narrative summary of brands. */ brands?: Schema$CustomerProfileCitedString; /** * Optional. The entity type of the customer. */ entityType?: Schema$CustomerProfileCitedString; /** * Optional. The date the customer was founded. */ founded?: Schema$CustomerProfileCitedString; /** * Optional. The headquarters of the customer. */ headquarters?: Schema$CustomerProfileCitedString; /** * Optional. The industry the customer is in. */ industry?: Schema$CustomerProfileCitedString; /** * Optional. A narrative summary of key people. */ keyPeopleSummary?: Schema$CustomerProfileCitedString; /** * Optional. The parent company of the customer. */ parentCompany?: Schema$CustomerProfileCitedString; /** * Optional. The primary website of the customer. */ primaryWebsite?: Schema$CustomerProfileCitedString; /** * Optional. A narrative summary of products. */ productsSummary?: Schema$CustomerProfileCitedString; /** * Optional. A narrative summary of services. */ servicesSummary?: Schema$CustomerProfileCitedString; /** * Optional. The official name of the customer. */ title?: Schema$CustomerProfileCitedString; } /** * Web presence information for the customer profile. */ export interface Schema$CustomerProfileWebPresence { /** * Optional. The citation ids for the web presence. */ citationIds?: string[] | null; /** * Required. The domain name of the web presence. */ domain?: string | null; } /** * Captures the specific details of Data Leak alert. */ export interface Schema$DataLeakAlertDetail { /** * Required. Array of ids to accommodate multiple discovery documents */ discoveryDocumentIds?: string[] | null; /** * Required. The severity of the Data Leak alert. Allowed values are: * `LOW` * `MEDIUM` * `HIGH` * `CRITICAL` */ severity?: string | null; } /** * A detail object for a Data Leak finding. */ export interface Schema$DataLeakFindingDetail { /** * Required. The unique identifier of the document that triggered the Data Leak finding. This ID can be used to retrieve the content of the document for further analysis. */ documentId?: string | null; /** * Required. Reference to the match score of the Data Leak finding. This is a float value greater than 0 and less than or equal to 1 calculated by the matching engine based on the similarity of the document and the user provided configurations. */ matchScore?: number | null; /** * Required. The severity of the Data Leak finding. This indicates the potential impact of the threat. */ severity?: string | null; } /** * Response message for EnumerateAlertFacets. */ export interface Schema$EnumerateAlertFacetsResponse { /** * List of facets and the counts. */ facets?: Schema$Facet[]; } /** * Details the evidence used to determine the relevance verdict. */ export interface Schema$Evidence { /** * A list of semantic themes or concepts found to be common, related, or aligned between the sources, supporting the verdict. */ commonThemes?: string[] | null; /** * A list of semantic themes or descriptions unique to one source or semantically distant. */ distinctThemes?: string[] | null; } /** * Facet represents a sub element of a resource for filtering. The results from this method are used to populate the filterable facets in the UI. */ export interface Schema$Facet { /** * Name of the facet. This is also the string that needs to be used in the filtering expression. */ facet?: string | null; /** * List of counts for the facet (if categorical). */ facetCounts?: Schema$FacetCount[]; /** * The type of the facet. Options include "string", "int", "float", "bool", "enum", "timestamp", "user" and are useful to show the right sort of UI controls when building a AIP-160 style filtering string. */ facetType?: string | null; /** * Max value of the facet stringified based on type. Will be populated and formatted the same as min_value. */ maxValue?: string | null; /** * Min value of the facet stringified based on type. This is only populated for facets that have a clear ordering, for types like enum it will be left empty. Timestamps will be formatted using RFC3339. */ minValue?: string | null; /** * Total number of records that contain this facet with ANY value. */ totalCount?: string | null; } /** * FacetCount represents a count of records with each facet value. */ export interface Schema$FacetCount { /** * Count of records with the value. */ count?: number | null; /** * Value of the facet stringified. Timestamps will be formatted using RFC3339. */ value?: string | null; } /** * A ‘stateless’ and a point in time event that a check produced a result of interest. */ export interface Schema$Finding { /** * Optional. AI summary of the finding. */ aiSummary?: string | null; /** * Optional. Name of the alert that this finding is bound to. */ alert?: string | null; /** * Output only. Audit data about the finding. */ audit?: Schema$Audit; /** * Optional. Configuration names that are bound to this finding. */ configurations?: string[] | null; /** * Required. Holder of the domain specific details of the finding. */ detail?: Schema$FindingDetail; /** * Required. A short descriptive title for the finding <= 250 chars. EX: "Actor 'baddy' offering $1000 for credentials of 'goodguy'". */ displayName?: string | null; /** * Identifier. Server generated name for the finding (leave clear during creation). Format: projects/{project\}/findings/{finding\} */ name?: string | null; /** * Required. Logical source of this finding (name of the sub-engine). */ provider?: string | null; /** * Output only. High-Precision Relevance Analysis verdict for the finding. */ relevanceAnalysis?: Schema$RelevanceAnalysis; /** * Output only. When identical finding (same labels and same details) has re-occurred. */ reoccurrenceTimes?: string[] | null; /** * Optional. Deprecated: Use the `severity_analysis` field instead. Base severity score from the finding source. */ severity?: number | null; /** * Output only. High-Precision Severity Analysis verdict for the finding. */ severityAnalysis?: Schema$SeverityAnalysis; } /** * Wrapper class that contains the union struct for all the various findings detail specific classes. */ export interface Schema$FindingDetail { /** * Data Leak finding detail type. */ dataLeak?: Schema$DataLeakFindingDetail; /** * Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. */ detailType?: string | null; /** * Initial Access Broker finding detail type. */ initialAccessBroker?: Schema$InitialAccessBrokerFindingDetail; /** * Insider Threat finding detail type. */ insiderThreat?: Schema$InsiderThreatFindingDetail; /** * Technology Watchlist finding detail type. */ targetTechnology?: Schema$TargetTechnologyFindingDetail; } /** * Request message for GenerateOrgProfileConfiguration. */ export interface Schema$GenerateOrgProfileConfigurationRequest { /** * Required. The display name of the organization to generate the profile for. */ displayName?: string | null; /** * Required. The domain of the organization to generate the profile for. */ domain?: string | null; } /** * Captures the specific details of InitialAccessBroker (IAB) alert. */ export interface Schema$InitialAccessBrokerAlertDetail { /** * Required. Array of ids to accommodate multiple discovery documents */ discoveryDocumentIds?: string[] | null; /** * Required. The severity of the Initial Access Broker (IAB) alert. Allowed values are: * `LOW` * `MEDIUM` * `HIGH` * `CRITICAL` */ severity?: string | null; } /** * A detail object for an Initial Access Broker (IAB) finding. */ export interface Schema$InitialAccessBrokerFindingDetail { /** * Required. The unique identifier of the document that triggered the IAB finding. This ID can be used to retrieve the content of the document for further analysis. */ documentId?: string | null; /** * Required. Reference to the match score of the IAB finding. This is a float value between 0 and 1 calculated by the matching engine based on the similarity of the document and the user provided configurations. */ matchScore?: number | null; /** * Required. The severity of the IAB finding. This indicates the potential impact of the threat. */ severity?: string | null; } /** * Captures the specific details of InsiderThreat alert. */ export interface Schema$InsiderThreatAlertDetail { /** * Required. Array of ids to accommodate multiple discovery documents */ discoveryDocumentIds?: string[] | null; /** * Required. The severity of the Insider Threat alert. Allowed values are: * `LOW` * `MEDIUM` * `HIGH` * `CRITICAL` */ severity?: string | null; } /** * A detail object for a InsiderThreat finding. */ export interface Schema$InsiderThreatFindingDetail { /** * Required. The unique identifier of the document that triggered the InsiderThreat finding. This ID can be used to retrieve the content of the document for further analysis. */ documentId?: string | null; /** * Required. Reference to the match score of the InsiderThreat finding. This is a float value greater than 0 and less than or equal to 1 calculated by the matching engine based on the similarity of the document and the user provided configurations. */ matchScore?: number | null; /** * Required. The severity of the InsiderThreat finding. This indicates the potential impact of the threat. */ severity?: string | null; } /** * Response message for ListAlerts. */ export interface Schema$ListAlertsResponse { /** * List of alerts. */ alerts?: Schema$Alert[]; /** * Page token. */ nextPageToken?: string | null; } /** * Response message for ListConfigurationRevisions. */ export interface Schema$ListConfigurationRevisionsResponse { /** * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; /** * The Configuration Revisions associated with the specified Configuration */ revisions?: Schema$ConfigurationRevision[]; } /** * Response message for ListConfigurations. */ export interface Schema$ListConfigurationsResponse { /** * List of configurations. */ configurations?: Schema$Configuration[]; /** * Page token. */ nextPageToken?: string | null; } /** * Response message for ListFindings. */ export interface Schema$ListFindingsResponse { /** * List of findings. */ findings?: Schema$Finding[]; /** * Page token. */ nextPageToken?: string | null; } /** * Request message for MarkAlertAsBenign. */ export interface Schema$MarkAlertAsBenignRequest { } /** * Request message for MarkAlertAsDuplicate. */ export interface Schema$MarkAlertAsDuplicateRequest { /** * Optional. Name of the alert to mark as a duplicate of. Format: projects/{project\}/alerts/{alert\} */ duplicateOf?: string | null; } /** * Request message for MarkAlertAsEscalated. */ export interface Schema$MarkAlertAsEscalatedRequest { } /** * Request message for MarkAlertAsFalsePositive. */ export interface Schema$MarkAlertAsFalsePositiveRequest { } /** * Request message for MarkAlertAsNotActionable. */ export interface Schema$MarkAlertAsNotActionableRequest { } /** * Request message for MarkAlertAsRead. */ export interface Schema$MarkAlertAsReadRequest { } /** * Request message for MarkAlertAsResolved. */ export interface Schema$MarkAlertAsResolvedRequest { } /** * Request message for MarkAlertAsTrackedExternally. */ export interface Schema$MarkAlertAsTrackedExternallyRequest { } /** * Request message for MarkAlertAsTriaged. */ export interface Schema$MarkAlertAsTriagedRequest { } /** * This resource represents a long-running operation that is the result of a network API call. */ export interface Schema$Operation { /** * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. */ done?: boolean | null; /** * The error result of the operation in case of failure or cancellation. */ error?: Schema$Status; /** * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. */ metadata?: { [key: string]: any; } | null; /** * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. */ name?: string | null; /** * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. */ response?: { [key: string]: any; } | null; } /** * Structured priority analysis for a threat. */ export interface Schema$PriorityAnalysis { /** * The level of confidence in the given verdict. */ confidence?: string | null; /** * The level of Priority. */ priorityLevel?: string | null; /** * Human-readable explanation from the model, detailing why a particular result is considered to have a certain priority. */ reasoning?: string | null; } /** * Contains details about a product fix. */ export interface Schema$ProductFix { /** * Required. The name of the fix. Ex: "Magento". */ displayName?: string | null; /** * Optional. The published time of the fix. */ publishTime?: string | null; /** * Required. The source ID of the fix. Ex: "APPSEC-1420". */ sourceId?: string | null; /** * Optional. The URI of the fix. */ uri?: string | null; } /** * Contains details about a public exploit. */ export interface Schema$PublicExploit { /** * Optional. The grade of the exploit. Ex: "non-weaponized". */ exploitGrade?: string | null; /** * Required. The name of the exploit. Ex: "Magentounauth.php.txt". */ exploitName?: string | null; /** * Optional. The reliability of the exploit. Ex: "Unreviewed". */ exploitReliability?: string | null; /** * Optional. The release time of the exploit. */ releaseTime?: string | null; /** * Optional. The size of the exploit. */ sizeBytes?: string | null; /** * Optional. The URI of the exploit. */ uri?: string | null; } /** * Structured relevance analysis for a threat. */ export interface Schema$RelevanceAnalysis { /** * The level of confidence in the given verdict. */ confidence?: string | null; /** * Evidence supporting the verdict, including matched and unmatched items. */ evidence?: Schema$Evidence; /** * Human-readable explanation from the matcher, detailing why a particular result is considered relevant or not relevant. */ reasoning?: string | null; /** * The level of relevance. */ relevanceLevel?: string | null; /** * Indicates whether the threat is considered relevant. */ relevant?: boolean | null; } /** * Response message for SearchFindings. */ export interface Schema$SearchFindingsResponse { /** * List of findings. */ findings?: Schema$Finding[]; /** * Page token. */ nextPageToken?: string | null; } /** * Structured severity analysis for a threat. */ export interface Schema$SeverityAnalysis { /** * The level of confidence in the given verdict. */ confidence?: string | null; /** * Human-readable explanation from the model, detailing why a particular result is considered to have a certain severity. */ reasoning?: string | null; /** * The level of severity. */ severityLevel?: string | null; } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ export interface Schema$Status { /** * The status code, which should be an enum value of google.rpc.Code. */ code?: number | null; /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ details?: Array<{ [key: string]: any; }> | null; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ message?: string | null; } /** * Contains details for a technology watchlist alert. */ export interface Schema$TargetTechnologyAlertDetail { /** * Optional. The vulnerability match details. */ vulnerabilityMatch?: Schema$VulnerabilityMatch; } /** * Contains details for a technology watchlist finding. */ export interface Schema$TargetTechnologyFindingDetail { /** * Optional. The vulnerability match details. */ vulnerabilityMatch?: Schema$VulnerabilityMatch; } /** * TechnologyWatchListAlertThreshold contains the thresholds for alerting. */ export interface Schema$TechnologyWatchListAlertThreshold { /** * Optional. The minimum CVSS score for the alert. Evaluates to CVSS v3 when available with a fallback to v2 and v4. Ex: 7.0. Valid range is [0.0, 10.0]. */ cvssScoreMinimum?: number | null; /** * Optional. The minimum epss score for the alert. Ex: 0.8. Valid range is [0.0, 1.0]. */ epssScoreMinimum?: number | null; /** * Optional. The exploitation states of the alert. */ exploitationStates?: string[] | null; /** * Optional. The minimum priority for the alert. */ priorityMinimum?: string | null; /** * Optional. The minimum risk rating for the alert. */ riskRatingMinimum?: string | null; } /** * TechnologyWatchListConfig is the configuration for the technology watchlist. */ export interface Schema$TechnologyWatchListConfig { /** * Optional. Alert thresholds to effectively reduce noise. */ alertThreshold?: Schema$TechnologyWatchListAlertThreshold; /** * Optional. List of vendor, technology or cpe fingerprint. example: Microsoft office 360 Apache Server 3.5 cpe:2.3:a:microsoft:outlook:*:*:*:*:*:*:*:* */ technologies?: string[] | null; } /** * Response message for UpsertConfiguration. */ export interface Schema$UpsertConfigurationResponse { /** * Output only. Created configuration ID with server assigned id. */ configuration?: string | null; } /** * Contains details about a vulnerability match. */ export interface Schema$VulnerabilityMatch { /** * Optional. Associated threat actors, malware, etc. This is embedded as a snapshot because the details of the association at the time of the vulnerability match are important for context and reporting. */ associations?: Schema$Association[]; /** * Required. The collection ID of the vulnerability. Ex: "vulnerability--cve-2025-9876". */ collectionId?: string | null; /** * Required. The CVE ID of the vulnerability. Ex: "CVE-2025-9876". See https://www.cve.org/ for more information. */ cveId?: string | null; /** * Required. The CVSS score of the vulnerability. Evaluates to CVSS v3 when available with a fallback to v2 and v4. Example: 6.4. */ cvss3Score?: number | null; /** * Required. A description of the vulnerability. */ description?: string | null; /** * Optional. The disclosure time of the vulnerability. */ disclosureTime?: string | null; /** * Optional. The EPSS score, representing the probability of exploitation. Example: 0.87. */ epssScore?: number | null; /** * Optional. List of exploitation consequences for the vulnerability. */ exploitationConsequences?: string[] | null; /** * Required. The exploitation state of the vulnerability. */ exploitationState?: string | null; /** * Optional. List of exploitation vectors for the vulnerability. */ exploitationVectors?: string[] | null; /** * Optional. The specific technologies from the configured watchlist that triggered the match. Ex: "Apache Struts". */ matchedTechnologies?: string[] | null; /** * Optional. The priority level of the vulnerability data. Ex: "P1". */ priority?: string | null; /** * Optional. List of product fixes for the vulnerability. */ productFixes?: Schema$ProductFix[]; /** * Optional. List of public exploits. */ publicExploits?: Schema$PublicExploit[]; /** * Output only. Whether a publicly available exploit exists. */ publiclyAvailableExploit?: boolean | null; /** * Required. The risk rating of the vulnerability. */ riskRating?: string | null; /** * Required. All technologies affected by the vulnerability. Ex: "Apache Struts". */ technologies?: string[] | null; } export class Resource$Projects { context: APIRequestContext; alerts: Resource$Projects$Alerts; configurations: Resource$Projects$Configurations; findings: Resource$Projects$Findings; constructor(context: APIRequestContext); /** * Triggers the generation of a Customer Profile for a project. * @example * ```js * // Before running the sample: * // - Enable the API at: * // https://console.developers.google.com/apis/api/threatintelligence.googleapis.com * // - Login into gcloud by running: * // ```sh * // $ gcloud auth application-default login * // ``` * // - Install the npm module by running: * // ```sh * // $ npm install googleapis * // ``` * * const {google} = require('googleapis'); * const threatintelligence = google.threatintelligence('v1beta'); * * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: ['https://www.googleapis.com/auth/cloud-platform'], * }); * * // Acquire an auth client, and bind it to all future calls * const authClient = await auth.getClient(); * google.options({auth: authClient}); * * // Do the magic * const res = await threatintelligence.projects.generateOrgProfile({ * // Required. The name of the project to generate the profile for. Format: projects/{project\} * name: 'projects/my-project', * * // Request body metadata * requestBody: { * // request body parameters * // { * // "displayName": "my_displayName", * // "domain": "my_domain" * // } * }, * }); * console.log(res.data); * * // Example response * // { * // "done": false, * // "error": {}, * // "metadata": {}, * // "name": "my_name", * // "response": {} * // } * } * * main().catch(e => { * console.error(e); * throw e; * }); * * ``` * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ generateOrgProfile(params: Params$Resource$Projects$Generateorgprofile, options: StreamMethodOptions): Promise<GaxiosResponseWithHTTP2<Readable>>; generateOrgProfile(params?: Params$Resource$Projects$Generateorgprofile, options?: MethodOptions): Promise<GaxiosResponseWithHTTP2<Schema$Operation>>; generateOrgProfile(params: Params$Resource$Projects$Generateorgprofile, options: StreamMethodOptions | BodyResponseCallback<Readable>, callback: BodyResponseCallback<Readable>): void; generateOrgProfile(params: Params$Resource$Projects$Generateorgprofile, options: MethodOptions | BodyResponseCallback<Schema$Operation>, callback: BodyResponseCallback<Schema$Operation>): void; generateOrgProfile(params: Params$Resource$Projects$Generateorgprofile, callback: BodyResponseCallback<Schema$Operation>): void; generateOrgProfile(callback: BodyResponseCallback<Schema$Operation>): void; } export interface Params$Resource$Projects$Generateorgprofile extends StandardParameters { /** * Required. The name of the project to generate the profile for. Format: projects/{project\} */ name?: string; /** * Request body metadata */ requestBody?: Schema$GenerateOrgProfileConfigurationRequest; } export class Resource$Projects$Alerts { context: APIRequestContext; documents: Resource$Projects$Alerts$Documents; constructor(context: APIRequestContext); /** * Marks an alert as benign - BENIGN. * @example * ```js * // Before running the sample: * // - Enable the API at: * // https://console.developers.google.com/apis/api/threatintelligence.googleapis.com * // - Login into gcloud by running: * // ```sh * // $ gcloud auth application-default login * // ``` * // - Install the npm module by running: * // ```sh * // $ npm install googleapis * // ``` * * const {google} = require('googleapis'); * const threatintelligence = google.threatintelligence('v1beta'); * * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: ['https://www.googleapis.com/auth/cloud-platform'], * }); * * // Acquire an auth client, and bind it to all future calls * const authClient = await auth.getClient(); * google.options({auth: authClient}); * * // Do the magic * const res = await threatintelligence.projects.alerts.benign({ * // Required. Name of the alert to