Skip to main content

CyCognito

CyCognito is an attack surface management tool that scans your external-facing assets. You can bring certificate, domain, IP address, IP range, security findings, and web application data from CyCognito into Brinqa to prioritize risks across your attack surface and strengthen your cybersecurity posture.

This document details the information you must provide for the connector to authenticate with CyCognito and how to obtain that information from CyCognito. 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 CyCognito from the Connector drop-down. If you cannot find the connector in the drop-down, make sure that you have installed it first. You must provide the following information to authenticate CyCognito with Brinqa:

  • API URL: The CyCognito API Server URL. The default URL is https://api.platform.cycognito.com.

  • API token: The API token associated with the CyCognito account, which must have permissions to log in to the API server and return data.

Generate a new CyCognito API token

For the CyCognito connector to use the CyCognito API, you must provide an API token. Only administrators can generate new API tokens. To generate a new API token, follow these steps:

  1. Log in to your organization's CyCognito server as an administrator.

  2. On the left-hand side of the page, click Workflows & Integrations, and then click API Key Management.

  3. Click Add API key. A new window displays. Provide the following information:

    • Key Name: Give your API token a name.

    • Key Access: The CyCognito connector requires read access only, so select Read Only.

    • Set Expiration: Determine whether the token expires or not. If you select On, indicate a time limit for how long the new token is valid.

  4. Click Create.

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

note

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

Additional settings

The CyCognito connector contains additional options for specific configuration:

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

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

Types of data to retrieve

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

Table 1: Data retrieved from CyCognito

Connector ObjectRequiredMaps to Data Model
CertificateYesCertification
DomainYesSite
IP AddressYesHost
IP RangeYesIP Range
IssueYesVulnerability
Issue DefinitionYesVulnerability Definition
Web ApplicationYesSite
info

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

Certificate

Table 2: Certificate attribute mappings

Source Field NameMaps to Attribute
Alternative namesLocal variable
At riskLocal variable
CertLocal variable
CommentLocal variable
ContinentLocal variable
Creation datedateCreated
DiscoverabilityLocal variable
ExpirationLocal variable
First detectedfirstSeen
First seenfirstSeen
Hosting typeLocal variable
Investigation statusLocal variable
IP namesipAddresses
Is activeLocal variable
Issuer common nameLocal variable
Issuer countryLocal variable
Issuer orgLocal variable
Issuer org unitLocal variable
Issuer stateLocal variable
Last detectedlastSeen
Last seenlastSeen
LocationsLocal variable
Owned byLocal variable
Ownersowners
OrganizationsLocal variable
RegionsLocal variable
Security gradeLocal variable
Signature algoSignature algorithm
Statusstatus
Subject common nameLocal variable
Subject countryLocal variable
Subject localityLocal variable
Subject orgLocal variable
Subject stateLocal variable
Sys IDuid
Tagstags
Typetype
Domain

Table 3: Domain attribute mappings

Source Field NameMaps to Attribute
At riskLocal variable
CommentLocal variable
ContinentLocal variable
DiscoverabilityLocal variable
DNS response codeLocal variable
DomainLocal variable
First detectedfirstSeen
First seenfirstSeen
Hosting typeLocal variable
IP namesipAddresses
Investigation statusLocal variable
Last detectedlastSeen
Last seenlastSeen
LocationsLocal variable
Owned byLocal variable
Ownersowners
OrganizationsLocal variable
RegionsLocal variable
Security gradeLocal variable
Statusstatus
Sub domainssubdomains
Sys IDuid
Tagstags
Typetype
IP Address

Table 4: IP Address attribute mappings

Source Field NameMaps to Attribute
AliveLocal variable
At riskLocal variable
Closed portsLocal variable
CommentLocal variable
ContinentLocal variable
DiscoverabilityLocal variable
Domain namesLocal variable
Dynamically resolvedLocal variable
Filtered portsLocal variable
First detectedfirstSeen
First seenfirstSeen
Hosting typeLocal variable
IPipAddresses
Investigation statusLocal variable
Last detectedlastSeen
Last seenlastSeen
LocationsLocal variable
Open portsLocal variable
Owned byLocal variable
Ownersowners
OrganizationsLocal variable
RegionsLocal variable
Security gradeLocal variable
Statusstatus
Sys IDuid
Tagstags
Typetype
IP Range

Table 5: IP Range attribute mappings

Source Field NameMaps to Attribute
As listLocal variable
At riskLocal variable
CIDRLocal variable
CommentLocal variable
ContinentLocal variable
Country CodeLocal variable
Descriptionname, ipRange
DiscoverabilityLocal variable
First detectedfirstSeen
First seenfirstSeen
Hosting typeLocal variable
IP rangeLocal variable
Investigation statusLocal variable
Last detectedlastSeen
Last seenlastSeen
LocationsLocal variable
Namename
Owned byLocal variable
OrganizationsLocal variable
Ownersowners
RegionsLocal variable
Security gradeLocal variable
SourceLocal variable
Statusstatus
Sys iduid
Tagstags
Typetype
Issue

Table 6: Issue attribute mappings

Source Field NameMaps to Attribute
Asset IDtargets
CommentLocal variable
Definition IDtype
EvidenceLocal variable
First detectedfirstFound
Investigation statusLocal variable
Last detectedlastFound
LocationsLocal variable
OrganizationsLocal variable
Resolved atLocal variable
Statusstatus, statusCategory
Sys IDuid
Tagstags
Issue Definition

Table 7: Issue Definition attribute mappings

Source Field NameMaps to Attribute
CVEcveRecords, cveIds
Detection complexityLocal variable
Exploitation scoreLocal variable
Exploitation methodLocal variable
Potential impactLocal variable
Referencesreferences
Remediation stepsLocal variable
Severityseverity, severityScore
Severity scoreLocal variable
Summarysummary
Sys IDuid
ThreatLocal variable
TitleLocal variable
Typetype
Web Application

Table 8: Web Application attribute mappings

Source Field NameMaps to Attribute
At riskLocal variable
CommentLocal variable
ContinentLocal variable
Descriptiondescription
DiscoverabilityLocal variable
First detectedfirstSeen
First seenfirstSeen
FormLocal variable
Has loginLocal variable
Home page display labelLocal variable
Hosting typeLocal variable
Investigation statusLocal variable
Is encryptedLocal variable
Last detectedlastSeen
Last seenlastSeen
LocationsLocal variable
OrganizationsLocal variable
Owned byLocal variable
Ownersowners
RegionsLocal variable
Security gradeLocal variable
Statusstatus
Supported protocolsLocal variable
Sys IDname, uid
Tagstags
TitleLocal variable
Typecategories
Webapp addressLocal variable
Web resource URLsLocal variable
Web serversLocal variable
info

Local variable indicates that the field is processed within a specific context, such as a particular workflow or calculation. Unlike other attributes, local variables aren't mapped to the unified data models. They only exist on the source data model.

Operation options

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

Table 9: CyCognito connector operation options

Connector ObjectOptionAll Possible valuesDescriptionExample
Certificateactivetrue, falseRetrieve certificates that match the specified status. true corresponds to certificates that are active while false corresponds to certificates that are inactive.Key: active Value: true. This key and value combination only retrieves active certificates.
scan_statuschanged, normal, new, removedRetrieve certificates by the specified scan status.Key: scan_status Value: normal. This key and value combination only retrieves certificates with a scan status of normal.
Domainactivetrue, falseRetrieve domains that match the specified status. true corresponds to domains that are active while false corresponds to domains that are inactive.Key: active Value: false. This key and value combination only retrieves inactive.
scan_statuschanged, normal, new, removedRetrieve domains by the specified scan status.Key: scan_status Value: new. This key and value combination only retrieves domains with a scan status of new.
security_gradeA, B, C, D, FRetrieve domains based on the specified security grade, ranging from A (Secure or minimal risk) to F (Highly vulnerable).Key: security_grade Value: F. This key and value combination only retrieves domains with a security grade of F, or highly vulnerable domains.
IP Addressactivetrue, falseRetrieve IP addresses that match the specified status. true corresponds to IP addresses that are active while false corresponds to IP addresses that are inactive.Key: active Value: true. This key and value combination only retrieves active IP addresses.
scan_statuschanged, normal, new, removedRetrieve IP addresses by the specified scan status.Key: scan_status Value: changed. This key and value combination only retrieves IP addresses with a scan status of changed.
security_gradeA, B, C, D, FRetrieve IP addresses based on the specified security grade, ranging from A (Secure or minimal risk) to F (Highly vulnerable).Key: security_grade Value: D. This key and value combination only retrieves IP Addresses with a security grade of D, or vulnerable IPs.
IP Rangeactivetrue, falseRetrieve IP ranges that match the specified status. true corresponds to IP ranges that are active while false corresponds to IP ranges that are inactive.Key: active Value: true. This key and value combination only retrieves active IP ranges.
scan_statuschanged, normal, new, removedRetrieve IP ranges by the specified scan status.Key: scan_status Value: removed. This key and value combination only retrieves IP ranges with a scan status of removed.
Web Applicationactivetrue, falseRetrieve web applications that match the specified status. true corresponds to web applications that are active while false corresponds to web applications that are inactive.Key: active Value: true. This key and value combination only retrieves active IP addresses.
scan_statuschanged, normal, new, removedRetrieve web applications by the specified scan status.Key: scan_status Value: normal. This key and value combination only retrieves web applications with a scan status of normal.
security_gradeA, B, C, D, FRetrieve web applications based on the specified security grade, ranging from A (Secure or minimal risk) to F (Highly vulnerable).Key: security_grade Value: F. This key and value combination only retrieves web applications with a security grade of F, or highly vulnerable web applications.
note

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

APIs

The CyCognito connector uses the CyCognito REST API v1. Specifically, it uses the following endpoints:

Table 10: CyCognito API endpoints used by the connector

Connector ObjectAPI Endpoints
CertificateGET /v1/assets/cert/{asset_id}
DomainGET /v1/assets/domain/{asset_id}
IP AddressGET /v1/assets/ip/{asset_id}
IP RangeGET /v1/assets/iprange/{asset_id}
IssueGET /v1/issues/issue/{issue_instance_id}
Web ApplicationGET /v1/assets/webapp/{asset_id}

Changelog

The CyCognito connector has undergone the following changes:

3.0.12

  • Removed prefixes (e.g., ip/, domain/) from related asset attributes to standardize values. For example, ip/1.1.1.1 is now displayed as 1.1.1.1.

3.0.11

  • Fixed an issue where the Issue Definition object sync was failing.

3.0.10

  • Fixed an issue where the connector wasn't retrieving inactive and removed assets from CyCognito.

  • Updated the default behavior to retrieve assets with SCAN_STATUS values of normal, new, change, and removed.

  • Replaced the alive operation option with active.

    note

    If you are currently using the alive operation option, please update your integration configuration to use active to avoid potential errors during syncs.

  • Added support for parallel processing for faster syncs.

  • Increased the default page size to 1000.

  • Added the SOURCE_STATUS attribute to the Certificate, Domain, IP Address, IP Range, and Web Application objects.

3.0.9

  • Fixed an issue where assets with a status of "Inactive" or "Removed" in CyCognito were incorrectly displayed as "Active" in Brinqa.

3.0.8

  • Changed the COUNTRY attribute on the IP Range object to COUNTRY_CODE.

3.0.7

  • Changed the attribute type of CLOSED_PORTS, FILTERED_PORTS, and OPEN_PORTS on the IP Address object from string to integer.

3.0.6

  • Fixed an issue with the deserialization of IP addresses.

3.0.5

  • Removed the DOMAINS attribute from the Certificate object.

3.0.4

  • Added the following attributes to the Certificate, Domain, IP Address, IP Range, and Web Application objects:

    • ATTRIBUTION_CERTAINTY
    • DISCOVERY_PATH
    • DOMAINS
    • ENVIRONMENTS
    • IP_RANGES
    • PLATFORMS
    • RELATED_ASSET_IDs
    • SERVICES
  • Added the PORT attribute field to the Issue object.

3.0.3

  • Fixed inconsistencies between CVEs (Common Vulnerabilities and Exposures) in the Brinqa Platform and CyCognito.

3.0.2

  • Enhanced to include 'resolved' issues in the sync process of the Issue object.

  • Added exceptions to prevent retry attempts in cases where the CyCognito API responds with a 500 Internal Server Error.

3.0.1

  • Removed a duplicated NAME attribute.

3.0.0