Skip to main content

Bishop Fox Cosmos

Bishop Fox Cosmos is an External Attack Surface Management (EASM) platform that discovers and monitors your organization's external attack surface. You can bring domain, network, DNS record, subdomain, IP address, port, service, and pentest finding data from Bishop Fox Cosmos into Brinqa to construct a unified view of your attack surface and strengthen your cybersecurity posture.

This document details the information you must provide for the connector to authenticate with Bishop Fox Cosmos and how to obtain that information from Bishop Fox. 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 Bishop Fox Cosmos 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 Bishop Fox Cosmos with Brinqa:

  • Server URL: The Cosmos API base URL. The default URL is https://api.cosmos.bishopfox.com.

  • Login URL: The OAuth token endpoint. The default URL is https://bishopfox.auth0.com/oauth/token.

  • Audience: The OAuth audience. The default value is cosmos_public.

  • API key: The API key (client ID) associated with the Bishop Fox Cosmos account.

  • API secret: The API secret (client secret) associated with the Bishop Fox Cosmos account.

  • Organization ID: The Bishop Fox organization UUID.

The connector authenticates using the OAuth 2.0 Client Credentials grant. It exchanges the API key and API secret for a bearer token at the Bishop Fox Auth0 token endpoint, then includes the token in the Authorization header on every Cosmos API request. The token is valid for 10 hours and is automatically refreshed when it expires.

Additional settings

The Bishop Fox Cosmos connector contains additional options for specific configuration:

  • Page size: The maximum number of records to get per API request. The default setting is 100.

  • Parallel requests: The maximum number of concurrent page-number page fetches per sync. Cursor-paginated endpoints stay sequential. The default setting is 4.

Types of data to retrieve

The Bishop Fox Cosmos connector can retrieve the following types of data from the Bishop Fox Cosmos API:

Table 1: Data retrieved from Bishop Fox Cosmos

Connector ObjectRequiredMaps to Data Model
DnsRecordNo
DomainNoSite
FindingNoPentest Finding
Finding DefinitionNoPentest Finding Definition
Hostname ServiceNoAPI Endpoint
IP AddressNoHost
IP ServiceNoAPI Endpoint
NetworkNoIP Range
PortNo
SubdomainNoHost
info

The Bishop Fox Cosmos connector does not currently support operation options for the types of data it retrieves.

For detailed steps on how to view the data retrieved from Bishop Fox Cosmos 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.

DnsRecord

Table 2: DnsRecord attribute mappings

Source Field NameSDM Attribute
cdn_categoryCDN_CATEGORY
cdn_vendorCDN_VENDOR
client_idCLIENT_ID
cloudCLOUD
created_atSOURCE_CREATED_DATE
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
designationDESIGNATION
enabledENABLED
engagementsENGAGEMENTS
hostnameHOSTNAME
hostnameNAME
idUID
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
record_typeRECORD_TYPE
reserved_engagementsRESERVED_ENGAGEMENTS
asset_typeTYPE
tagsTAGS
ttlTTL
updated_atSOURCE_LAST_MODIFIED
valueRECORD_VALUE
Generated (sync capture timestamp)LAST_CAPTURED
Domain

Table 3: Domain attribute mappings

Source Field NameSDM Attribute
client_idCLIENT_ID
cloudCLOUD
confidence_levelCONFIDENCE_LEVEL
created_atSOURCE_CREATED_DATE
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
domainDOMAIN_NAME
domainNAME
enabledENABLED
engagementsENGAGEMENTS
expiryEXPIRY
idUID
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
registrant_organizationREGISTRANT_ORGANIZATION
registrarREGISTRAR
reserved_engagementsRESERVED_ENGAGEMENTS
asset_typeTYPE
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
Generated (sync capture timestamp)LAST_CAPTURED
Finding

Table 4: Finding attribute mappings

Source Field NameSDM Attribute
finding_idTYPE
subject.asset_idASSET_ID
subject.asset_idTARGETS
subject.asset_typeASSET_TYPE
subject.client_idCLIENT_ID
subject.client_noteCLIENT_NOTE
subject.created_atSOURCE_CREATED_DATE
subject.remediated_atLAST_FIXED
subject.remediation_descriptionRECOMMENDATION
subject.retest_countRETEST_COUNT
subject.statusPROVIDER_STATUS
subject.statusSOURCE_STATUS
subject.updated_atSOURCE_LAST_MODIFIED
Generated (MD5 of finding_id and subject_id)UID
Generated (sync capture timestamp)LAST_CAPTURED
Finding Definition

Table 5: Finding Definition attribute mappings

Source Field NameSDM Attribute
additional_resourcesREFERENCES
bfidBFID
bfidNAME
category, sub_categoryCATEGORIES
client_noteCLIENT_NOTE
definitionDESCRIPTION
delivery_datePUBLISHED_DATE
detailsDETAILS
emerging_threat_idEMERGING_THREAT_ID
engagement_idENGAGEMENT_ID
finding_idUID
finding_typeFINDING_TYPE
organization_idORGANIZATION_ID
recommendationsRECOMMENDATION
reported_atSOURCE_CREATED_DATE
severitySEVERITY
severitySEVERITY_SCORE
severitySOURCE_SEVERITY
sourceSOURCE
sub_categorySUB_CATEGORY
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
Generated (sync capture timestamp)LAST_CAPTURED
Hostname Service

Table 6: Hostname Service attribute mappings

Source Field NameSDM Attribute
application_protocolPROTOCOL
cdn_nameCDN_NAME
cdn_typeCDN_TYPE
client_idCLIENT_ID
cloudCLOUD
cpe_list[].cpes[]CPE_RECORDS
created_atSOURCE_CREATED_DATE
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
enabledENABLED
engagementsENGAGEMENTS
hostnameHOST
ip_listIP_ADDRESSES
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_idHOSTS
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
pathPATH
portPORT
reserved_engagementsRESERVED_ENGAGEMENTS
asset_typeTYPE
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
idUID
Generated (sync capture timestamp)LAST_CAPTURED
IP Address

Table 7: IP Address attribute mappings

Source Field NameSDM Attribute
aged_outAGED_OUT
aged_out_sourceAGED_OUT_SOURCE
client_idCLIENT_ID
cloudCLOUD
correlation_idCORRELATION_ID
created_atSOURCE_CREATED_DATE
created_byCREATED_BY
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
deletedDELETED
deleted_atDELETED_AT
enabledENABLED
engagementsENGAGEMENTS
idUID
ip_addressIP_ADDRESSES
ip_addressNAME
ip_address (when classified as public)PUBLIC_IP_ADDRESSES
locationLOCATION
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
refreshed_atREFRESHED_AT
reserved_engagementsRESERVED_ENGAGEMENTS
scan_level_overrideSCAN_LEVEL_OVERRIDE
sources[*].systemSOURCES
asset_typeTYPE
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
updated_byUPDATED_BY
Generated (sync capture timestamp)LAST_CAPTURED
IP Service

Table 8: IP Service attribute mappings

Source Field NameSDM Attribute
application_protocolPROTOCOL
cdn_nameCDN_NAME
cdn_typeCDN_TYPE
client_idCLIENT_ID
cloudCLOUD
cpe_list[].cpes[]CPE_RECORDS
created_atSOURCE_CREATED_DATE
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
enabledENABLED
engagementsENGAGEMENTS
idUID
ip_addressIP_ADDRESSES
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
portPORT
reserved_engagementsRESERVED_ENGAGEMENTS
asset_typeTYPE
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
Generated (resolved via Port → IpAddress)HOSTS
Generated (sync capture timestamp)LAST_CAPTURED
Network

Table 9: Network attribute mappings

Source Field NameSDM Attribute
addressADDRESS
address/prefixIPV4_RANGES
address/prefixIPV6_RANGES
address/prefixNAME
client_idCLIENT_ID
cloudCLOUD
confidence_levelCONFIDENCE_LEVEL
created_atSOURCE_CREATED_DATE
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
enabledENABLED
engagementsENGAGEMENTS
idUID
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
prefixPREFIX
reserved_engagementsRESERVED_ENGAGEMENTS
asset_typeTYPE
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
Generated (sync capture timestamp)LAST_CAPTURED
Port

Table 10: Port attribute mappings

Source Field NameSDM Attribute
aged_outAGED_OUT
aged_out_sourceAGED_OUT_SOURCE
client_idCLIENT_ID
cloudCLOUD
correlation_idCORRELATION_ID
created_atSOURCE_CREATED_DATE
created_byCREATED_BY
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
deletedDELETED
deleted_atDELETED_AT
enabledENABLED
engagementsENGAGEMENTS
first_reachable_atFIRST_REACHABLE_AT
first_verified_atFIRST_VERIFIED_AT
idUID
ip_addressIP_ADDRESSES
ip_address/portNAME
last_probed_atLAST_PROBED_AT
last_reachable_atLAST_REACHABLE_AT
last_verified_atLAST_VERIFIED_AT
organization_idORGANIZATION_ID
originationORIGINATION
ownershipOWNERSHIP
parent_asset_id (when parent_asset_type=ip-address)HOSTS
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
portPORT
reachableREACHABLE
refreshed_atREFRESHED_AT
reserved_engagementsRESERVED_ENGAGEMENTS
scan_level_overrideSCAN_LEVEL_OVERRIDE
sources[*].systemSOURCES
suggested_protocolsSUGGESTED_PROTOCOLS
suggested_protocols (first)PROTOCOL
asset_typeTYPE
tagsTAGS
transport_protocolTRANSPORT_PROTOCOL
updated_atSOURCE_LAST_MODIFIED
updated_byUPDATED_BY
verifiedVERIFIED
Generated (sync capture timestamp)LAST_CAPTURED
Subdomain

Table 11: Subdomain attribute mappings

Source Field NameSDM Attribute
client_idCLIENT_ID
cloudCLOUD
confidence_levelCONFIDENCE_LEVEL
created_atSOURCE_CREATED_DATE
customer_idCUSTOMER_ID
data_updated_atLAST_SCANNED
designationDESIGNATION
enabledENABLED
engagementsENGAGEMENTS
hostnameHOST
hostnameHOSTNAMES
hostnameNAME
idUID
is_apexIS_APEX
organization_idORGANIZATION_ID
originationORIGINATION
orphaned_cnameORPHANED_CNAME
ownershipOWNERSHIP
parent_asset_idPARENT_ASSET_ID
parent_asset_typePARENT_ASSET_TYPE
reserved_engagementsRESERVED_ENGAGEMENTS
rfc1918RFC1918
serviceableSERVICEABLE
asset_typeTYPE
tagsTAGS
updated_atSOURCE_LAST_MODIFIED
viableVIABLE
wildcardWILDCARD
wildcard_scan_overrideWILDCARD_SCAN_OVERRIDE
Generated (sync capture timestamp)LAST_CAPTURED

APIs

The Bishop Fox Cosmos connector uses the Bishop Fox Cosmos v5 API. Specifically, it uses the following endpoints:

Table 12: Bishop Fox Cosmos API endpoints

Connector ObjectAPI Endpoint
DnsRecordGET /v5/asset-view/dns-records
DomainGET /v5/asset-view/domains
FindingGET /v5/findings
Finding DefinitionGET /v5/findings
Hostname ServiceGET /v5/asset-view/hostname-services
IP AddressGET /v5/asset-view/ip-addresses
IP ServiceGET /v5/asset-view/ip-services
NetworkGET /v5/asset-view/networks
PortGET /v5/asset-view/ports
SubdomainGET /v5/asset-view/subdomains
note

The /v5/asset-view/ports and /v5/asset-view/ip-addresses endpoints are functional but absent from the public Bishop Fox API documentation. The IP Service sync also performs an auxiliary fetch of GET /v5/asset-view/ports (cached once per sync) to resolve the HOSTS attribute by following the Port → IpAddress parent chain.

Changelog

The Bishop Fox Cosmos connector has undergone the following changes:

Table 13: Bishop Fox Cosmos connector changelog

VersionDescriptionDate Published
3.0.1Bug Fixes
- Projection-restricted asset types no longer fail the sync. Some asset types (notably ports and IP addresses) are not exposed under the 'cosmos_public' audience and the Bishop Fox API rejects them with a '400 public projection not supported for this asset type'. The connector now detects this response and skips the affected asset type, logging a warning, instead of failing the run. IP service syncs still complete in this case, just without the port-derived host back-link. To ingest ports and IP addresses, configure an audience whose token is entitled to the private projection.
- Findings pagination. The connector now retrieves every page of '/v5/findings', not just the first. Previously a token-based pagination loop terminated after page 1 because the Bishop Fox v5 API is page-number-based and never returns the expected token field, so customers with more than one page (100 records) of findings or finding definitions were missing the rest of their data.
Improvements
- Parallel page-number pagination. Endpoints that advertise 'total' + 'limit' (currently '/v5/findings' and '/v5/asset-view/networks', with others auto-detected at runtime) now fetch their pages concurrently, bounded by the 'Parallel requests' configuration property (default: 4). For large tenants this dramatically shortens sync time. Cursor-paginated endpoints stay sequential because each page's continuation token is only known after the previous response.
- Attribute consolidation precedence. All custom Bishop Fox attributes now participate in the platform's data-consolidation pipeline at the standard connector priority (50) instead of being last-in. When the same record receives values from multiple sources, the values reported by this connector now win ties against non-connector channels (manual UI edits, bulk imports, etc.), matching how every other Brinqa connector already behaves.
No Migration
June 3rd, 2026
3.0.0Initial Integration+ release.
The BishopFox connector integrates with Bishop Fox Cosmos (External Attack Surface Management) to synchronize asset surface data: registered domains, network ranges, DNS records, subdomains, IP addresses, open ports, and discovered services, together with pentest findings and their definitions.
Migration Required
- Schema rebuild required. All ten model schemas changed: standard 'connectors-model' 'AttributeInfos' (UID, HOST, IP_ADDRESSES, PORT, PROTOCOL, etc.) replace the previous String-keyed attributes; 'OBJECT_TYPE' constants stabilized; 'LAST_CAPTURED' added everywhere. Action: re-sync all data after upgrade.
- Hierarchy expanded. Three asset classes that were previously implicit are now first-class models: 'IpAddress', 'Port', and 'DnsRecord'. Action: enable them in your sync schedule if you want the full asset graph.
- UDM targets assigned. Subdomain and IpAddress map to 'Host'; HostnameService and IpService map to 'ApiEndpoint'; Domain to 'Site'; Network to 'IpRange'; Finding/FindingDefinition to 'PentestFinding'/'PentestFindingDefinition'. Action: review downstream feeds that key on these UDMs.
- Asset → Host references are now explicit via the HOSTS attribute on HostnameService (links to Subdomain) and IpService (links to IpAddress, resolved via Port lookup). The platform-reserved TARGETS is no longer used on assets, only on Findings.
- Findings API behavior fixed. The legacy connector sent 'since', 'severity', and CSV-formatted 'status' to '/v5/findings', all of which the v5 API rejects with '400 validation failed'. The new connector sends only documented parameters; 'status' and 'category' are emitted as repeated keys per the v5 spec.
June 3rd, 2026