Skip to main content

Orca

Orca is a cloud security tool that enhances visibility across your cloud environments. You can bring cloud, container, database, function, package, storage, user, virtual machine, and security data from Orca into Brinqa to gain a unified view of your cloud-related attack surface, thus enhancing your cybersecurity posture.

This document details the information you must provide for the connector to authenticate with Orca and how to obtain that information from Orca. See create a data integration for step-by-step instructions on setting up the integration.

Required connection settings

When setting up a data integration, select Orca from the Connector dropdown. If you cannot find the connector in the dropdown, make sure that you have installed it first. You must provide the following information to authenticate Orca with Brinqa:

Generate an Orca API token

For the Orca connector to use the Orca API, you must provide an API token. To generate an API token, follow these steps:

  1. Log in to your organization's Orca account as an administrator

  2. Click Settings from the navigation menu.

  3. Navigate to Users & Permissions > API.

  4. Click API Tokens, and then click Add API Token. The Add API Token dialog displays.

    Orca New API Token

    Provide the following information:

    • Name: Give your API token a name.

    • Description: (Optional) Provide a description of the API token.

    • Never Expire: (Optional) Select this option to mark the token as non-expiring. The Expiration field appears if you clear the checkbox. You can then select the token expiry date if desired.

    • Service Token: (Optional) Service tokens operate independently of individual user accounts, inheriting their permissions based on the creator's permissions. Service tokens remain valid even if the creator's account is deactivated or removed from the organization. If desired, select this option to enable the use of a service token.

    • Role: Define the permissions of the token. While the Administrator role can bring in all data, Brinqa recommends that you use the Viewer role, as this is considered to be the minimum role needed to read and retrieve data. Click the Role dropdown and select Viewer.

    • Scope: Select the specific accounts or business units that the API token will be authorized to access. Leave this option unchecked if you do not want to limit the data retrieved by the Orca connector.

      Ora Add API Token

  5. Click Add.

    Your new API key token displays. You can't view the token again after this. Copy and save it to a secure location.

  6. Click Continue.

note

If you do not have the permissions to create an API token, contact your Orca administrator. For additional information, see Orca documentation.

Additional settings

The Orca connector contains additional options for specific configuration:

  • Page size: The maximum number of records to get per API request. The default setting is 10,000. It is not recommended to go over 10,000.

  • Parallel requests: The maximum number of parallel API requests. The default setting is 2.

  • Request timeout (secs): The maximum time allotted, in seconds, before a request times out. The default setting is 120 seconds. Although it is not recommended, you can also enter zero (0) to disable timeouts.

  • Maximum retries: The maximum number of times that the integration attempts to connect to the Orca API before giving up and reporting a failure. The default setting is 5.

Types of data to retrieve

The Orca connector can retrieve the following types of data from the Orca API:

Table 2: Data retrieved from Orca

Connector ObjectRequiredMaps to Data Model
AlertNoAlert
Alert DefinitionNoAlert Definition
Cloud AccountYesCloud Account
ContainerYesContainer
Container ImageYesContainer Image
DatabaseNoCloud Resource
FunctionNoCloud Resource
Installed PackageNoInstalled Package
PackageNoPackage
SecretNoCloud Resource
StorageNoCloud Resource
UserNoPerson
Virtual MachineYesHost
Virtual Machine ImageYesHost Image
VulnerabilityNoVulnerability
Vulnerability DefinitionNoVulnerability Definition
Vulnerable PackageNoNot mapped
info

For detailed steps on how to view the data retrieved from Orca in the Brinqa Platform, see How to view your data.

Attribute mappings

Expand the sections below to view the mappings between the source and the Brinqa data model attributes.

Account

Table 3: Account attribute mappings

Source Field NameSDM Attribute
CloudAccount.autoRemediationEnabledAUTO_REMEDIATION_ENABLED
CloudAccount.businessUnitsBUSINESS_UNITS
CloudAccount.cloudAccountTypeACCOUNT_TYPE
CloudAccount.cloudProviderCLOUD_PROVIDER
CloudAccount.cloudProviderIdCLOUD_PROVIDER_ID
CloudAccount.idCLOUD_ACCOUNT_ID
CloudAccount.idUID
CloudAccount.nameNAME
CloudAccount.tagsTAGS
CloudAccount.vendorIdVENDOR_ID
Instant.now()LAST_CAPTURED
Alert

Table 4: Alert attribute mappings

Source Field NameSDM Attribute
AlertModel.alertIdUID
AlertModel.assetUniqueId + inventoryTARGETS
AlertModel.categoryCATEGORIES
AlertModel.cloudAccount.data.cloudAccountTypeCLOUD_ACCOUNT_TYPE
AlertModel.cloudAccount.data.cloudProviderCLOUD_ACCOUNT_PROVIDER
AlertModel.cloudAccount.data.cloudProviderIdCLOUD_ACCOUNT_PROVIDER_ID
AlertModel.cloudAccount.data.vendorIdCLOUD_ACCOUNT_VENDOR_ID
AlertModel.cloudAccount.idCLOUD_ACCOUNT_ID
AlertModel.cloudAccount.nameCLOUD_ACCOUNT_NAME
AlertModel.createdAtSOURCE_CREATED_DATE
AlertModel.customRemediationCUSTOM_REMEDIATION
AlertModel.cveIdsCVE_IDS
AlertModel.descriptionDESCRIPTION
AlertModel.detailsRESULTS
AlertModel.detailsSUMMARY
AlertModel.inventory.idASSET_ID
AlertModel.inventory.nameASSET_NAME
AlertModel.inventory.newCategoryASSET_CATEGORY
AlertModel.inventory.newSubCategoryASSET_SUBCATEGORY
AlertModel.inventory.regionASSET_REGION
AlertModel.inventory.typeASSET_TYPE
AlertModel.inventory.assetUniqueIdASSET_UNIQUE_ID
AlertModel.labelsTAGS
AlertModel.lastSeenLAST_FOUND
AlertModel.lastUpdatedSOURCE_LAST_MODIFIED
AlertModel.orcaScoreORCA_SCORE
AlertModel.recommendationRECOMMENDATION
AlertModel.remediationConsoleREMEDIATION_STEPS
AlertModel.riskFindings.value.typeRISK_TYPE
AlertModel.riskLevel → normalizedSEVERITY
AlertModel.riskLevelSOURCE_SEVERITY
AlertModel.ruleIdTYPE
AlertModel.scoreSCORE
AlertModel.sourceSOURCE
AlertModel.status → normalizedSTATUS
AlertModel.statusSOURCE_STATUS
AlertModel.statusTimeSTATUS_TIME
AlertModel.title or alertTypeNAME
AlertModel.relatedCompliancesRELATED_COMPLIANCES
Derived from normalized severitySEVERITY_SCORE
Derived from normalized severitySOURCE_SEVERITY_SCORE
Derived from normalized statusSTATUS_CATEGORY
Instant.now()LAST_CAPTURED
Alert Definition

Table 5: Alert Definition attribute mappings

Source Field NameSDM Attribute
AlertModel.categoryCATEGORIES
AlertModel.createdAtSOURCE_CREATED_DATE
AlertModel.customRemediationCUSTOM_RECOMMENDATION
AlertModel.cveIdsCVE_IDS
AlertModel.descriptionDESCRIPTION
AlertModel.labelsTAGS
AlertModel.lastSeenLAST_FOUND
AlertModel.lastUpdatedSOURCE_LAST_MODIFIED
AlertModel.mitreCategoryMITRE_CATEGORY
AlertModel.mitreTechniquesMITRE_TECHNIQUES
AlertModel.orcaScoreORCA_SCORE
AlertModel.recommendation + remediationCli + remediationConsoleRECOMMENDATION
AlertModel.remediationConsoleREMEDIATION_STEPS
AlertModel.riskLevel → normalizedSEVERITY
AlertModel.riskLevelRISK_LEVEL
AlertModel.riskLevelSOURCE_SEVERITY
AlertModel.ruleIdUID
AlertModel.ruleQueryRULE_QUERY
AlertModel.ruleSourceRULE_SOURCE
AlertModel.scoreSCORE
AlertModel.status → normalizedSTATUS
AlertModel.statusPROVIDER_STATUS
AlertModel.statusSOURCE_STATUS
AlertModel.statusTimeSTATUS_TIME
AlertModel.title or alertTypeNAME
Derived from normalized severitySEVERITY_SCORE
Derived from normalized statusSTATUS_CATEGORY
Container

Table 6: Container attribute mappings

Inherits all shared inventory attributes and shared compute attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
Container.containerLabelsLABELS
Container.descriptionDESCRIPTION
Container.execNameEXEC_NAME
Container.execPathEXEC_PATH
Container.idCONTAINER_ID
Container.imageDigestIMAGE_DIGEST
Container.imageIdIMAGE_ID
Container.imageLayersDigestIMAGE_LAYERS_DIGEST
Container.imageNameIMAGE_NAME
Container.imageVersionIMAGE_VERSION
Container.k8SContainerNameK8S_CONTAINER_NAME
Container.k8SPodNamesK8S_POD_NAMES
Container.k8SPodNamespaceK8S_POD_NAMESPACE
Container.lastUpdatedTimeSOURCE_LAST_MODIFIED
Container.maintainerMAINTAINER
Container.serviceNameSERVICE_NAME
Container.storageDriverSTORAGE_DRIVER
Container.userUSER
Container.vm.assetUniqueIdHOST
Derived from imageName + imageVersionIMAGE
Instant.now()LAST_CAPTURED
Container Image

Table 7: Container Image attribute mappings

Inherits all shared inventory attributes and shared compute attributes. Additionally:

Source Field NameSDM Attribute
name or assetUniqueId or idUID
ContainerImage.imageDigestIMAGE_DIGEST
ContainerImage.imageIdIMAGE_ID
ContainerImage.imageLabelsIMAGE_LABELS
ContainerImage.imageLayersDigestIMAGE_LAYERS_DIGEST
ContainerImage.imageNameIMAGE_NAME
ContainerImage.imagePushedAtIMAGE_PUSHED_AT
ContainerImage.imageSizeIMAGE_SIZE
ContainerImage.imageTagsIMAGE_TAGS
ContainerImage.repositoryNameREPOSITORY
ContainerImage.repositoryUriREPOSITORY_URI
Instant.now()LAST_CAPTURED
Database

Table 8: Database attribute mappings

Inherits all shared inventory attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
Instant.now()LAST_CAPTURED
Function

Table 9: Function attribute mappings

Inherits all shared inventory attributes and shared compute attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
Function.descriptionDESCRIPTION
Function.ephemeralStorageEPHEMERAL_STORAGE
Function.functionArnFUNCTION_ARN
Function.functionIdFUNCTION_ID
Function.functionNameFUNCTION_NAME
Function.handlerHANDLER
Function.packageTypePACKAGE_TYPE
Function.timeoutTIMEOUT
Function.tracingConfigTRACING_CONFIG
Instant.now()LAST_CAPTURED
Installed Package

Table 10: Installed Package attribute mappings

Source Field NameSDM Attribute
Dataset idUID
CloudAccount.cloudAccountTypeCLOUD_ACCOUNT_TYPE
CloudAccount.cloudProviderCLOUD_ACCOUNT_PROVIDER
CloudAccount.cloudProviderIdCLOUD_ACCOUNT_PROVIDER_ID
CloudAccount.vendorIdCLOUD_ACCOUNT_VENDOR_ID
Cloud account dataset IDCLOUD_ACCOUNT_ID
Cloud account dataset nameCLOUD_ACCOUNT_NAME
InstalledPackage.cloudAccountassetUniqueId, idTARGETS
InstalledPackage.installDateINSTALL_DATE
InstalledPackage.isInstalledByPackageManagerINSTALLED_BY_PACKAGE_MANAGER
InstalledPackage.nameNAME
InstalledPackage.nonOsPackagePathsINSTALL_PATHS
InstalledPackage._package().idPACKAGE_ID
InstalledPackage._package().idTYPE
InstalledPackage.versionREVISION
Instant.now()LAST_CAPTURED
Package

Table 11: Package attribute mappings

Source Field NameSDM Attribute
Dataset idUID
Package.architectureARCHITECTURE
Package.authorPUBLISHER
Package.cpeCPE
Package.descriptionDESCRIPTION
Package.editionEDITION
Package.endOfLifeDateEOL_DATE
Package.isLatestLATEST
Package.isOsPackageOS_PACKAGE
Package.latestAvailableVersionLATEST_VERSION
Package.nameNAME
Package.releaseDateRELEASE_DATE
Package.urlURL
Package.versionCURRENT_VERSION
Instant.now()LAST_CAPTURED
Secret

Table 12: Secret attribute mappings

Inherits all shared inventory attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
Secret.lastAccessedDateLAST_ASSESSED
Secret.lastChangedDateLAST_CHANGED
Secret.rotationEnabledROTATION_ENABLED
Instant.now()LAST_CAPTURED
Storage

Table 13: Storage attribute mappings

Inherits all shared inventory attributes and content attributes (HAS_PII, PII_TYPES). Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
Storage.isVersioningEnabledVERSIONING_ENABLED
Storage.totalFilesCountTOTAL_FILES_COUNT
Storage.usedStorageUSED_STORAGE
Instant.now()LAST_CAPTURED
User

Table 14: User attribute mappings

Inherits all shared inventory attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
User.mfaActiveMFA_ACTIVE
User.passwordEnabledPASSWORD_ENABLED
User.passwordLastChangedPASSWORD_LAST_CHANGED
User.passwordLastUsedPASSWORD_LAST_USED
User.passwordNextRotationPASSWORD_NEXT_ROTATION
User.userIdUSERNAME
Instant.now()LAST_CAPTURED
Virtual Machine

Table 15: Virtual Machine attribute mappings

Inherits all shared inventory attributes and shared compute attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
Vm.image.assetUniqueId or Vm.imageIdIMAGE
Vm.imageId → looked up from VmImage mapIMAGE_ASSET_UID
Vm.imageNameIMAGE_NAME
Vm.imageOwnerIdIMAGE_OWNER_ID
Vm.imageIsPublicPUBLIC_IMAGE
Vm.instanceTypeINSTANCE_TYPE
Vm.uiUniqueFieldINSTANCE_ID
Instant.now()LAST_CAPTURED
Virtual Machine Image

Table 16: Virtual Machine Image attribute mappings

Inherits all shared inventory attributes and shared compute attributes. Additionally:

Source Field NameSDM Attribute
assetUniqueId or idUID
VmImage.imageIdIMAGE_ID
VmImage.imageOwnerIdIMAGE_OWNER_ID
Instant.now()LAST_CAPTURED
Vulnerability

Table 17: Vulnerability attribute mappings

Source Field NameSDM Attribute
Dataset idUID
Dataset nameNAME
CloudAccount.cloudAccountTypeCLOUD_ACCOUNT_TYPE
CloudAccount.cloudProviderCLOUD_ACCOUNT_PROVIDER
CloudAccount.cloudProviderIdCLOUD_ACCOUNT_PROVIDER_ID
CloudAccount.vendorIdCLOUD_ACCOUNT_VENDOR_ID
CVE.lastModifiedDate or Instant.now()LAST_FOUND
InstalledPackage.isInstalledByPackageManagerINSTALLED_BY_PACKAGE_MANAGER
InstalledPackage.isOsPackageIS_OS_PACKAGE
InstalledPackage.nonOsPackagePathsNON_OS_PACKAGE_PATHS
InstalledPackage.nonOsPackagePathsRESULTS
InstalledPackage.versionPACKAGE_VERSION
Inventory id, assetUniqueId, nameTARGETS
VulnerabilityV2Resource.cloudAccount.idCLOUD_ACCOUNT_ID
VulnerabilityV2Resource.cloudAccount.nameCLOUD_ACCOUNT_NAME
VulnerabilityV2Resource.cve.idTYPE
VulnerabilityV2Resource.descriptionDESCRIPTION
VulnerabilityV2Resource.firstSeenFIRST_FOUND
VulnerabilityV2Resource.installedPackage.idPACKAGE_ID
VulnerabilityV2Resource.installedPackage.namePACKAGE_NAME
VulnerabilityV2Resource.inventory.assetUniqueIdASSET_UNIQUE_ID
VulnerabilityV2Resource.inventory.idASSET_ID
VulnerabilityV2Resource.inventory.nameASSET_NAME
VulnerabilityV2Resource.inventory.typeASSET_TYPE
VulnerabilityV2Resource.patchAvailableFIXABLE
VulnerabilityV2Resource.patchAvailablePATCHABLE
VulnerabilityV2Resource.patchedVersions → composedRECOMMENDATION
Hardcoded "Active" → normalizedSTATUS
Hardcoded "Active"SOURCE_STATUS
Instant.now()LAST_CAPTURED
Vulnerability Definition

Table 18: Vulnerability Definition attribute mappings

Source Field NameSDM Attribute
CVE Dataset idUID
CVE Dataset nameNAME
Cve.cisaKevCISA_EXPLOITED
Cve.cvss2ScoreCVSS_V2_BASE_SCORE
Cve.cvss3ScoreCVSS_V3_BASE_SCORE
Cve.cweTypesCWE_IDS
Cve.epssPercentileEPSS_PERCENTILE
Cve.epssProbabilityEPSS_SCORE
Cve.hasExploitHAS_EXPLOIT
Cve.isTrendingTRENDING
Cve.lastModifiedDateSOURCE_LAST_MODIFIED
Cve.publishedDatePUBLISHED_DATE
Cve.sourceLinkURL
Cve.userInteractionUSER_INTERACTION
VulnerabilityV2Resource.cvssVector → parsedATTACK_VECTOR
VulnerabilityV2Resource.descriptionDESCRIPTION
VulnerabilityV2Resource.patchAvailablePATCHABLE
VulnerabilityV2Resource.patchedVersionsPATCHED_VERSIONS
VulnerabilityV2Resource.patchReleaseDatePATCH_RELEASE_DATE
VulnerabilityV2Resource.threatImpactTHREAT_IMPACT
Vulnerable Package

Table 19: Vulnerable Package attribute mappings

Source Field NameSDM Attribute
Dataset idUID
InstalledPackage.nonOsPackagePathsPACKAGE_PATH
VulnerablePackage._package().idPACKAGE_ID
VulnerablePackage.cve().idVULNERABILITY_DEFINITION_ID
VulnerablePackage.fixedFIXED
VulnerablePackage.patchedVersionsPATCHED_VERSIONS
Instant.now()LAST_CAPTURED
Shared Inventory Attributes

Table 20: Shared inventory attribute mappings

All models extending InventoryAsset (User, Storage, Database, Secret, and all Compute models) inherit these attributes:

Source Field NameSDM Attribute
assetUniqueId or idUID
CloudAccount.cloudAccountTypeCLOUD_ACCOUNT_TYPE
CloudAccount.cloudProviderCLOUD_ACCOUNT_PROVIDER
CloudAccount.cloudProviderIdCLOUD_ACCOUNT_PROVIDER_ID
CloudAccount.vendorIdCLOUD_ACCOUNT_VENDOR_ID
Cloud account dataset IDCLOUD_ACCOUNT_ID
Cloud account dataset nameCLOUD_ACCOUNT_NAME
Dataset idASSET_ID
Dataset nameNAME
Dataset typeTYPE
InventoryModel.assetUniqueIdASSET_UNIQUE_ID
InventoryModel.clusterUniqueIdCLUSTER_UNIQUE_ID
InventoryModel.creationTimeSOURCE_CREATED_DATE
InventoryModel.detectedCrownJewelReasonDETECTED_CROWN_JEWEL_REASON
InventoryModel.detectedCrownJewelScoreDETECTED_CROWN_JEWEL_SCORE
InventoryModel.exposureEXPOSURE
InventoryModel.firstSeenFIRST_SEEN
InventoryModel.fullScanTimeFULL_SCAN_TIME
InventoryModel.groupUniqueIdGROUP_UNIQUE_ID
InventoryModel.isInternetFacingIS_INTERNET_FACING
InventoryModel.lastSeenLAST_SEEN
InventoryModel.modelTagsMODEL_TAGS
InventoryModel.newCategoryCATEGORIES
InventoryModel.newSubCategorySUBCATEGORY
InventoryModel.observationsOBSERVATIONS
InventoryModel.orcaScoreORCA_SCORE
InventoryModel.orcaTagsORCA_TAGS
InventoryModel.regionREGION
InventoryModel.relatedCompliancesRELATED_COMPLIANCE
InventoryModel.riskLevelRISK_LEVEL
InventoryModel.scoreSCORE
InventoryModel.tagsTAGS
InventoryModel.uiUniqueFieldUI_UNIQUE_FIELD
InventoryModel.updatedTimeSOURCE_LAST_MODIFIED
InventoryModel.zonesZONES
<type> - <name>DESCRIPTION
Shared Compute Attributes

Table 21: Shared compute attribute mappings

All models extending ComputeAsset (Virtual Machine, Virtual Machine Image, Container Image, Container, Function) additionally inherit:

Source Field NameSDM Attribute
ComputeModel.autoUpdatesStatusAUTO_UPDATES_STATUS
ComputeModel.availabilityZonesAVAILABILITY_ZONES
ComputeModel.cpuCountCPU_COUNT
ComputeModel.cpuFrequencyCPU_FREQUENCY
ComputeModel.cpuTypeCPU_TYPE
ComputeModel.distroCategoryDISTRIBUTION_CATEGORY
ComputeModel.distributionMajorVersionDISTRIBUTION_MAJOR_VERSION
ComputeModel.distributionNameDISTRIBUTION_NAME
ComputeModel.distributionVersionDISTRIBUTION_VERSION
ComputeModel.esmStatusESM_STATUS
ComputeModel.hostnameHOSTNAMES
ComputeModel.lastUpdateTimeSOURCE_LAST_MODIFIED
ComputeModel.macAddressesMAC_ADDRESSES
ComputeModel.memoryMEMORY_SIZE
ComputeModel.osBitModeOS_BIT_MODE
ComputeModel.osEndOfSupportOS_END_OF_SUPPORT
ComputeModel.osSupportInfoSiteOS_SUPPORT_INFO_SITE
ComputeModel.ownerOWNER
ComputeModel.privateDnssPRIVATE_DNS_NAMES
ComputeModel.privateIpsPRIVATE_IP_ADDRESSES
ComputeModel.publicDnssPUBLIC_DNS_NAMES
ComputeModel.publicIpsPUBLIC_IP_ADDRESSES
ComputeModel.regionNamesREGION_NAMES
ComputeModel.regionsREGIONS
ComputeModel.securityGroupsSECURITY_GROUPS
ComputeModel.stateSTATE
ComputeModel.stopDateSTOP_DATE
ComputeModel.totalDisksBytesTOTAL_DISK_BYTES
ComputeModel.upTimeUP_TIME
ComputeModel.upTimeHoursUP_TIME_HOURS
ComputeModel.vCpuCountVIRTUAL_CPU_COUNT
ContentModel.hasPiiHAS_PII
ContentModel.piiTypesPII_TYPES

Operation options

The Orca connector supports the following operation options. See connector operation options for information about how to apply them.

Expand the sections below to view the supported operation options per connector object:

note

The option keys and values are case-sensitive as they are shown in this documentation.

Alert / Alert Definition

Table 22: Alert / Alert Definition operation options

Connector ObjectOptionAll Possible ValuesDescriptionExample
Alert, Alert Definitionasset_categoryAny valid Orca asset category stringFilter alerts by asset category (NewCategory).Key: asset_category Value: Virtual Instances. Retrieves only alerts associated with assets in the specified category.
Alert, Alert Definitionasset_subcategoryAny valid Orca asset sub-category stringFilter alerts by asset sub-category (NewSubCategory).Key: asset_subcategory Value: Databases. Retrieves only alerts associated with assets in the specified sub-category.
Alert, Alert Definitionasset_typeAny valid Orca asset type stringFilter alerts by asset type.Key: asset_type Value: AwsEc2Instance. Retrieves only alerts associated with the specified asset type.
Alert, Alert Definitionrelated_compliancesAny valid compliance framework stringFilter alerts by compliance associations.Key: related_compliances Value: PCI DSS. Retrieves only alerts associated with the specified compliance framework.
Alert, Alert DefinitionstatusAny valid Orca alert status stringFilter alerts by status.Key: status Value: open. Retrieves only alerts with the specified status.
Installed Package

Table 23: Installed Package operation options

Connector ObjectOptionAll Possible ValuesDescriptionExample
Installed PackageinstallDateInPastDaysAny positive integerFilter installed packages by install date within the last N days.Key: installDateInPastDays Value: 30. Retrieves only packages installed within the last 30 days.
Package

Table 24: Package operation options

Connector ObjectOptionAll Possible ValuesDescriptionExample
PackagereleaseDateInPastDaysAny positive integerFilter packages released within the last N days.Key: releaseDateInPastDays Value: 90. Retrieves only packages released within the last 90 days.
Vulnerability

Table 25: Vulnerability operation options

Connector ObjectOptionAll Possible ValuesDescriptionExample
VulnerabilityassetCategoryAny valid Orca asset category stringFilter vulnerabilities by asset category.Key: assetCategory Value: Virtual Instances. Retrieves only vulnerabilities for assets in the specified category.
VulnerabilityassetStateAny valid asset state stringFilter vulnerabilities by asset state.Key: assetState Value: running. Retrieves only vulnerabilities for assets in the specified state.
VulnerabilityassetSubcategoryAny valid Orca asset sub-category stringFilter vulnerabilities by asset sub-category.Key: assetSubcategory Value: Databases. Retrieves only vulnerabilities for assets in the specified sub-category.
VulnerabilityassetTypeAny valid Orca asset type stringFilter vulnerabilities by asset type.Key: assetType Value: AwsEc2Instance. Retrieves only vulnerabilities for the specified asset type.
VulnerabilitycisaKevtrue, falseFilter vulnerabilities by CISA KEV status.Key: cisaKev Value: true. Retrieves only vulnerabilities listed in the CISA KEV catalog.
VulnerabilitycveIdAny valid CVE ID(s), comma-separatedFilter vulnerabilities by CVE ID(s).Key: cveId Value: CVE-2023-1234. Retrieves only vulnerabilities matching the specified CVE ID(s).
Vulnerabilitycvss2ScoreAny float valueFilter vulnerabilities by minimum NVD CVSS v2 score.Key: cvss2Score Value: 7.0. Retrieves only vulnerabilities with a CVSS v2 score of 7.0 or higher.
Vulnerabilitycvss2SeverityAny valid CVSS v2 severity stringFilter vulnerabilities by NVD CVSS v2 severity.Key: cvss2Severity Value: HIGH. Retrieves only vulnerabilities with the specified CVSS v2 severity.
Vulnerabilitycvss3ScoreAny float valueFilter vulnerabilities by minimum NVD CVSS v3 score.Key: cvss3Score Value: 9.0. Retrieves only vulnerabilities with a CVSS v3 score of 9.0 or higher.
Vulnerabilitycvss3SeverityAny valid CVSS v3 severity stringFilter vulnerabilities by NVD CVSS v3 severity.Key: cvss3Severity Value: CRITICAL. Retrieves only vulnerabilities with the specified CVSS v3 severity.
Vulnerabilitycvss4ScoreAny float valueFilter vulnerabilities by minimum NVD CVSS v4 score.Key: cvss4Score Value: 8.0. Retrieves only vulnerabilities with a CVSS v4 score of 8.0 or higher.
Vulnerabilitycvss4SeverityAny valid CVSS v4 severity stringFilter vulnerabilities by NVD CVSS v4 severity.Key: cvss4Severity Value: HIGH. Retrieves only vulnerabilities with the specified CVSS v4 severity.
VulnerabilityhasExploittrue, falseFilter vulnerabilities by exploit availability.Key: hasExploit Value: true. Retrieves only vulnerabilities that have a known exploit.
VulnerabilityisTrendingtrue, falseFilter vulnerabilities by trending status.Key: isTrending Value: true. Retrieves only vulnerabilities that are currently trending.
VulnerabilitynotInPackageSectionsAny valid package section stringExclude packages from specified sections.Key: notInPackageSections Value: os. Excludes vulnerabilities from packages in the specified sections.

APIs

The Orca connector uses the Orca REST API. Expand the sections below to view the specific endpoints along with their associated payloads:

Orca Serving Layer API

Versions 3.1.0 and later of the Orca connector use the Orca Serving Layer API. If your environment does not have Serving Layer API access, please contact Orca to enable it. Alternatively, you can contact Brinqa Support to downgrade to version 3.0.x of the connector if you don't want to enable the Serving Layer API.

All connector objects use the single serving-layer query endpoint: POST {baseUrl}/api/serving-layer/query. Each object sends a QueryRequest containing a query (an ObjectSet specifying the Orca model types, keys, and conditions) along with optional additional_models[] for related data, and a full_graph_fetch flag. Pagination is handled automatically using limit (default page size 1,000) and start_at_index.

Expand the sections below to view the query payloads for each connector object:

Account API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 1000,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"CloudAccount"
],
"keys":
[
"CloudAccount"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select":
[
"CloudProviderId",
"BusinessUnits.Name",
"CloudProvider",
"VendorId",
"AutoRemediationEnabled",
"CloudAccountType",
"Tags",
"Name"
]
}
Alert API

POST {baseUrl}/api/serving-layer/query

Alert queries include nested ObjectSet conditions to join Inventory and CloudAccount data. The CreatedAt date-time condition is added as an incremental filter when syncing.

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]":[],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"Alert"
],
"keys":
[
"Alert"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object",
"operator": "has",
"models":
[
"CloudAccount"
],
"keys":
[
"CloudAccount"
]
},
{
"type": "object_set",
"operator": "has",
"models":
[
"Inventory"
],
"keys":
[
"Inventory"
]
}
]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select":
[
"RuleSource",
"OrcaScore",
"Category",
"CloudAccount.Name",
"Description",
"Inventory.NewCategory",
"ScoreVector",
"CreatedAt",
"RuleId",
"AssetData",
"Inventory.Region",
"LastSeen",
"Source",
"Inventory.NewSubCategory",
"AlertType",
"AutoRemediationActions",
"Inventory.Name",
"CustomRemediation",
"CloudAccount.CloudAccountType",
"CloudAccount.CloudProviderId",
"LastUpdated",
"RelatedCompliances",
"Status",
"CloudAccount.VendorId",
"CveIds",
"StatusTime",
"Title",
"RuleType",
"Labels",
"RemediationConsole",
"AlertSource",
"RiskFindings",
"Recommendation",
"Inventory.CiSource",
"AlertId",
"Score",
"Details",
"RiskLevel",
"CloudAccount.CloudProvider"
]
}
Alert Definition API

POST {baseUrl}/api/serving-layer/query

Uses the same query as Alert. Alert definitions are derived from alert data and deduplicated by ruleId.

Container API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]":
[
"CloudAccount",
"Content.Compute.Vm"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"Container",
"Fargate",
"CloudRun",
"Aci"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Container Image API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 23000,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"ContainerImage"
],
"keys":
[
"ContainerImage"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Database API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 1000,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"Inventory"
],
"keys":
[
"Inventory"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"key": "NewSubCategory",
"type": "str",
"operator": "in",
"values":
[
"Databases"
]
}
]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Function API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 1000,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"Function",
"AwsLambdaFunction",
"AzureFunctionApp",
"AzureFunction",
"AwsStepFunctionsStateMachine",
"GcpCloudFunction"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Installed Package API

POST {baseUrl}/api/serving-layer/query

The InstallDate filter is applied when the installDateInPastDays operation option is configured.

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]":
[
"CloudAccount",
"Package"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"InstalledPackage"
],
"keys":
[
"InstalledPackage"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Package API

POST {baseUrl}/api/serving-layer/query

The ReleaseDate filter is applied when the releaseDateInPastDays operation option is configured.

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]": [],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"Package"
],
"keys":
[
"Package"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Secret API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"AzureKeyVaultSecret",
"GcpSecretManagerSecret",
"GcpSecretManagerSecretVersion",
"AwsSecretsManagerSecret",
"OciIamCustomerSecretKey"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Storage API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]":
[
"CloudAccount",
"Content.Storage"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"Inventory"
],
"keys":
[
"Inventory"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"key": "NewSubCategory",
"type": "str",
"operator": "in",
"values":
[
"Buckets"
]
}
]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
User API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"User"
],
"keys":
[
"User"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Virtual Machine API

POST {baseUrl}/api/serving-layer/query

A pre-fetch query for VmImage records is made first (with no conditions) to build an imageId → assetUniqueId lookup map, then the main VM query is executed:

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]": [],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"VulnerablePackage"
],
"keys":
[
"VulnerablePackage"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object_set",
"operator": "has",
"models":
[
"Package"
],
"keys":
[
"Package"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object_set",
"operator": "has",
"models":
[
"InstalledPackage"
],
"keys":
[
"InstalledPackages"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
}
]
}
}
]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Virtual Machine Image API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 1000,
"additional_models[]":
[
"CloudAccount"
],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"VmImage"
],
"keys":
[
"VmImage"
],
"with":
{
"type": "operation",
"operator": "and",
"values": []
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Vulnerability API

POST {baseUrl}/api/serving-layer/query

Vulnerability queries include nested ObjectSet conditions to join CVE, Inventory, and InstalledPackage data. Additional conditions from operation options (e.g. cisaKev, cvss3Score, assetCategory) are injected into the respective nested ObjectSet.

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]": [],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"VulnerabilityV2"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object_set",
"operator": "has",
"models":
[
"InstalledPackage"
],
"keys":
[
"InstalledPackage"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object",
"operator": "has",
"models":
[
"CloudAccount"
],
"keys":
[
"CloudAccount"
]
},
{
"type": "object_set",
"operator": "has",
"models":
[
"Package"
],
"keys":
[
"Package"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object_set",
"operator": "has",
"models":
[
"VulnerablePackage"
],
"keys":
[
"VulnerablePackages"
]
}
]
}
}
]
}
},
{
"type": "object_set",
"operator": "has",
"models":
[
"Inventory"
],
"keys":
[
"Inventory"
]
},
{
"type": "object_set",
"operator": "has",
"models":
[
"CVE"
],
"keys":
[
"CVE"
]
}
]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select":
[
"Name",
"Description",
"CvssSeverity",
"HasExploit",
"FirstSeen",
"PatchAvailable",
"PatchedVersions",
"CisaKev",
"CvssScore",
"EpssProbability",
"Inventory.Name",
"Inventory.AssetUniqueId",
"InstalledPackage.Name",
"InstalledPackage.Version",
"InstalledPackage.IsOsPackage",
"InstalledPackage.IsInstalledByPackageManager",
"InstalledPackage.NonOsPackagePaths",
"InstalledPackage.PackagePathProperties",
"InstalledPackage.ReachabilityStatus",
"CVE.Id",
"CVE.Name",
"CVE.LastModifiedDate",
"CloudAccount.Name",
"CloudAccount.CloudProvider",
"CloudAccount.CloudProviderId",
"CloudAccount.CloudAccountType",
"CloudAccount.VendorId"
]
}
Vulnerability Definition API

POST {baseUrl}/api/serving-layer/query

Queries VulnerabilityV2 records that have a related CVE object. Each unique CVE generates one vulnerability definition.

{
"ui": false,
"get_results_and_count": false,
"order_by_pk": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"additional_models[]": [],
"query":
{
"type": "object_set",
"operator": "has",
"models":
[
"VulnerabilityV2"
],
"keys":
[
"VulnerabilityV2"
],
"with":
{
"type": "operation",
"operator": "and",
"values":
[
{
"type": "object",
"operator": "has",
"models":
[
"CVE"
],
"keys":
[
"CVE"
]
}
]
}
},
"full_graph_fetch":
{
"enabled": true,
"limit_children": 0
},
"max_tier": 5,
"select": []
}
Vulnerable Package API

POST {baseUrl}/api/serving-layer/query

{
"ui": false,
"enable_pagination": true,
"limit": 1000,
"start_at_index": 0,
"query": {
"type": "object_set",
"operator": "has",
"models": ["VulnerablePackage"],
"keys": ["VulnerablePackage"],
"with": {
"type": "operation",
"operator": "and",
"values": [
{
"type": "object_set",
"operator": "has",
"models": ["Package"],
"keys": ["Package"],
"with": {
"type": "operation",
"operator": "and",
"values": [
{
"type": "object_set",
"operator": "has",
"models": ["InstalledPackage"],
"keys": ["InstalledPackages"],
"with": {
"type": "operation",
"operator": "and",
"values": []
}
}
]
}
}
]
}
},
"full_graph_fetch": { "enabled": true }
}

Changelog

The Orca connector has undergone the following changes:

Table 27: Orca connector changelog

VersionDescriptionDate Published
3.2.1- Added BUSINESS_UNITS attribute to the Account object.
- Added ASSET_CATEGORY, ASSET_SUBCATEGORY, and ASSET_REGION attributes to the Alert object.
- Optimized Account and Alert sync queries for improved performance. No migration required.
May 20th, 2026
3.2.0- Added broader inventory coverage through the serving-layer integration, including support for additional asset types such as Secrets, Packages, Installed Packages, and Vulnerable Packages.
- Expanded Alert and Vulnerability data with richer security context, including cloud account metadata, related compliance, CVE identifiers, package details, remediation guidance, and risk scoring fields.
- Improved cloud account handling and vulnerability definition enrichment with attack vector, exploitability, EPSS, patch availability, and other metadata.
- Fixed alert and alert definition attribute mapping issues and sync/schema issues affecting account, vulnerability, and package-related models. Migration required: purge previously synced Orca data for VM Asset, Package, Installed Package, Vulnerability Definition, and related finding models and run a full re-sync after upgrading.
April 14th, 2026
3.1.9- Added two new operation options to filter the retrieved alerts by their asset_subcategory or asset_type.
- Added RESULTS and RECOMMENDATION attributes to the Vulnerability object.
October 30th, 2025
3.1.8Updated the API endpoint used by test connection.October 8th, 2025
3.1.7Code clean up and general maintenance.September 25th, 2025
3.1.6- Updated the API endpoint used by the Alert and Alert Definition objects. The Alert and Alert Definition objects now use the api/sonar/query endpoint.
- Fixed an issue where several connector object syncs were failing.
- Replaced the SYS_ID attribute on all objects with UID.
September 25th, 2025
3.1.5- Improved the legibility of several timestamps by converting raw epoch values to ISO-8601 format. For example, the 1,733,424,289,000 timestamp on the UP_TIME attribute now displays as 2024-12-05T18:44:49Z.
- Added the IMAGE_ASSET_UID attribute to the Virtual Machine object.
June 27th, 2025
3.1.4Fixed an issue where the Alert Definition object did not populate normalized status or severity information.May 30th, 2025
3.1.3- Added the PACKAGE_PATH attribute to the Vulnerable Package object.
- Added a new operation option to specify whether to exclude large fields in the retrieved alerts: exclude_large_fields. Starting June 1, 2025, the Orca Alert API endpoint excludes large fields by default. If you want the alerts to include these fields, set this option to 'false'.
May 19th, 2025
3.1.2- Added the RELATED_COMPLIANCES attribute to the Alert object.
- Added a new operation option to filter the retrieved alerts by their related compliance frameworks: related_compliances.
April 24th, 2025
3.1.1Fixed an issue where the Vulnerability object sync was failing due to performance limitations with the default pagination settings. As a result, the default page size has been increased from 1,000 to 10,000, per Orca’s recommendation, to improve sync speed and reliability.April 1st, 2025
3.1.0Added support for the Orca Serving Layer API.November 1st, 2024
3.0.2Changed the DISTRIBUTION_VERSION attribute type on the Container, Function, and Virtual Machine objects from string to integer.October 30th, 2024
3.0.1Removed the use of ImmutableSet.March 24th, 2024
3.0.0Initial Integration+ release.March 5th, 2024