Skip to main content

Horizon3.ai NodeZero

Horizon3.ai NodeZero is an autonomous penetration testing platform that continuously assesses your attack surface for exploitable weaknesses. You can bring assessment, pentest finding, and host data from Horizon3.ai into Brinqa to gain a unified view of your attack surface, thus strengthening your cybersecurity posture.

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

  • API URL: The Horizon3.ai API base URL. The default URL is https://api.horizon3ai.com.

  • API Key: The API key used to authenticate with the Horizon3.ai API. The connector exchanges this key for a short-lived bearer token that is automatically refreshed before expiry.

Generate a Horizon3.ai API key

You can generate an API key from the Horizon3.ai Portal. For additional information, see Horizon3.ai API documentation.

Additional settings

The Horizon3.ai NodeZero connector contains additional options for specific configuration:

  • Page size: The maximum number of records to get per API request. The default setting is 100. It is not recommended to go over 100.
  • Parallel requests: The maximum number of parallel API requests. The default setting is 4.
  • Maximum retries: The maximum number of times that the integration attempts to connect to the Horizon3.ai API before giving up and reporting a failure. The default setting is 5.

Types of data to retrieve

The Horizon3.ai NodeZero connector can retrieve the following types of data from the Horizon3.ai API:

Table 1: Data retrieved from Horizon3.ai NodeZero

Connector ObjectRequiredMaps to Data Model
HostYesHost
OpYesAssessment
WeaknessYesPentest Finding
Weakness DefinitionYesPentest Finding Definition
info

The Horizon3.ai NodeZero 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 Horizon3.ai NodeZero 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.

Host

Table 2: Host attribute mappings

Source Field NameSDM Attribute
Host.attack_paths_countATTACK_PATHS_COUNT
Host.cloud_arnsCLOUD_ARNS
Host.cloud_providerCLOUD_PROVIDER
Host.cloud_regionREGION
Host.cname_chainsDNS_NAMES
Host.context_score_descriptionCONTEXT_SCORE_DESCRIPTION
Host.created_atSOURCE_CREATED_DATE
Host.credentials_countCREDENTIALS_COUNT
Host.data_resources_countDATA_RESOURCES_COUNT
Host.data_stores_countDATA_STORES_COUNT
Host.device_fingerprintsDEVICE_FINGERPRINTS
Host.display_name / Host.host_name / Host.ip / Host.uuidNAME
Host.downstream_impact_typesDOWNSTREAM_IMPACT_TYPES
Host.hardware_fingerprintsHARDWARE_FINGERPRINTS
Host.host_name + Host.host_namesHOSTNAMES
Host.ipIP_ADDRESSES
Host.ip (fallback: Host.uuid)UID
Host.is_database_serverIS_DATABASE_SERVER
Host.is_domain_controllerIS_DOMAIN_CONTROLLER
Host.is_in_scopeIS_IN_SCOPE
Host.is_load_balancerIS_LOAD_BALANCER
Host.is_mail_serverIS_MAIL_SERVER
Host.is_publicIS_PUBLIC
Host.is_vpnIS_VPN
Host.is_wafIS_WAF
Host.macMAC_ADDRESSES
Host.op_idLAST_OP
Host.os_fingerprintsOS_FINGERPRINTS
Host.os_namesOS_NAMES
Host.portal_urlPORTAL_URL
Host.portal_urlURL
Host.scoreSOURCE_SEVERITY_SCORE
Host.services_countSERVICES_COUNT
Host.severitySEVERITY
Host.severitySEVERITY_SCORE
Host.severitySOURCE_SEVERITY
Host.subnetIPV4_RANGES
Host.weaknesses_countWEAKNESSES_COUNT
Host.web_resources_countWEB_RESOURCES_COUNT
Generated (always "Host")CATEGORIES
Generated (always "active")STATUS
Generated (sync capture timestamp)LAST_CAPTURED
Op

Table 3: Op attribute mappings

Source Field NameSDM Attribute
Op.asset_group_uuidASSET_GROUP_UUID
Op.attack_paths_countATTACK_PATHS_COUNT
Op.canceled_atCANCELED_AT
Op.completed_atLAST_STOPPED
Op.confirmed_credentials_countCONFIRMED_CREDENTIALS_COUNT
Op.created_atSOURCE_CREATED_DATE
Op.credentials_countCREDENTIALS_COUNT
Op.data_resources_countDATA_RESOURCES_COUNT
Op.data_stores_countDATA_STORES_COUNT
Op.duration_hmsDURATION_HMS
Op.duration_humanizeDURATION_HUMANIZE
Op.duration_sDURATION_S
Op.etl_completed_atETL_COMPLETED_AT
Op.external_domains_countEXTERNAL_DOMAINS_COUNT
Op.hosts_countHOSTS_COUNT
Op.impact_paths_countIMPACT_PATHS_COUNT
Op.in_scope_hosts_countIN_SCOPE_HOSTS_COUNT
Op.launched_atLAST_STARTED
Op.nodezero_ipNODEZERO_IP
Op.nodezero_script_urlNODEZERO_SCRIPT_URL
Op.op_idUID
Op.op_name (fallback: op_id)NAME
Op.op_param_blacklistOP_PARAM_BLACKLIST
Op.op_param_max_scopeOP_PARAM_MAX_SCOPE
Op.op_param_min_scopeOP_PARAM_MIN_SCOPE
Op.op_statePROVIDER_STATUS
Op.op_stateSOURCE_STATUS
Op.op_template_nameOP_TEMPLATE_NAME
Op.op_template_uuidOP_TEMPLATE_UUID
Op.op_typeTYPE
Op.out_of_scope_hosts_countOUT_OF_SCOPE_HOSTS_COUNT
Op.phished_attack_paths_countPHISHED_ATTACK_PATHS_COUNT
Op.phished_impact_paths_countPHISHED_IMPACT_PATHS_COUNT
Op.portal_op_statePORTAL_OP_STATE
Op.portal_urlURL
Op.proven_weaknesses_countPROVEN_WEAKNESSES_COUNT
Op.runner_nameRUNNER_NAME
Op.runner_uuidRUNNER_UUID
Op.schedule_nameSCHEDULE_NAME
Op.schedule_uuidSCHEDULE_UUID
Op.scheduled_atSCHEDULED_AT
Op.services_countSERVICES_COUNT
Op.users_countUSERS_COUNT
Op.weaknesses_countWEAKNESSES_COUNT
Op.websites_countWEBSITES_COUNT
Generated (always "Penetration Test")CATEGORIES
Generated (sync capture timestamp)LAST_CAPTURED
Weakness

Table 4: Weakness attribute mappings

Source Field NameSDM Attribute
WeaknessSeries.affected_asset_nameAFFECTED_ASSET_DISPLAY_NAME
WeaknessSeries.annotation_statusANNOTATION_STATUS
WeaknessSeries.attack_paths_countATTACK_PATHS_COUNT
WeaknessSeries.business_risksTAGS
WeaknessSeries.credentials_countCREDENTIALS_COUNT
WeaknessSeries.critical_impacts_countCRITICAL_IMPACTS_COUNT
WeaknessSeries.critical_impacts_percentageCRITICAL_IMPACTS_PERCENTAGE
WeaknessSeries.first_found_op_idFIRST_FOUND_OP_ID
WeaknessSeries.first_found_op_typeFIRST_FOUND_OP_TYPE
WeaknessSeries.first_seen_atFIRST_FOUND
WeaknessSeries.ipIP
WeaknessSeries.ip / WeaknessSeries.affected_asset_nameTARGETS
WeaknessSeries.last_found_op_idASSESSMENT
WeaknessSeries.last_found_op_typesLAST_FOUND_OP_TYPES
WeaknessSeries.last_mitigated_atLAST_FIXED
WeaknessSeries.last_mitigated_op_idLAST_MITIGATED_OP_ID
WeaknessSeries.last_pentested_op_idLAST_PENTESTED_OP_ID
WeaknessSeries.last_seen_atLAST_FOUND
WeaknessSeries.last_weakness_uuidLAST_WEAKNESS_UUID
WeaknessSeries.min_time_to_finding_hmsMIN_TIME_TO_FINDING_HMS
WeaknessSeries.portPORT
WeaknessSeries.protocolPROTOCOL
WeaknessSeries.scoreSEVERITY_SCORE
WeaknessSeries.scoreSOURCE_SEVERITY_SCORE
WeaknessSeries.severitySEVERITY
WeaknessSeries.severitySOURCE_SEVERITY
WeaknessSeries.statusPROVIDER_STATUS
WeaknessSeries.total_impacts_countTOTAL_IMPACTS_COUNT
WeaknessSeries.vuln_categoryCATEGORIES
WeaknessSeries.vuln_categoryTAGS
WeaknessSeries.vuln_idTYPE
WeaknessSeries.vuln_idVULN_ID
WeaknessSeries.vuln_id + WeaknessSeries.ipUID
WeaknessSeries.vuln_nameNAME
WeaknessSeries.weakness_series_found_countTIMES_FOUND
Generated (normalized from PROVIDER_STATUS)SOURCE_STATUS
Generated (sync capture timestamp)LAST_CAPTURED
Weakness Definition

Table 5: Weakness Definition attribute mappings

Source Field NameSDM Attribute
Vuln.aliasesCVE_IDS
Vuln.aliasesCVE_RECORDS
Vuln.aliasesTAGS
Vuln.base_scoreSOURCE_SEVERITY_SCORE
Vuln.base_severitySEVERITY
Vuln.base_severitySEVERITY_SCORE
Vuln.base_severitySOURCE_SEVERITY
Vuln.category / Vuln.impact_categoriesCATEGORIES
Vuln.cisa_kevCISA_EXPLOITED
Vuln.descriptionDESCRIPTION
Vuln.idUID
Vuln.impactIMPACT
Vuln.known_ransomware_campaign_useOBSERVED_IN_THE_WILD
Vuln.mitigations[].descriptionRECOMMENDATION
Vuln.nameNAME
Vuln.one_click_verifyONE_CLICK_VERIFY
Vuln.references[].urlREFERENCES
Vuln.short_nameSHORT_NAME
Vuln.threat_actors[].nameTHREAT_ACTORS
Generated (sync capture timestamp)LAST_CAPTURED

APIs

The Horizon3.ai NodeZero connector uses the Horizon3.ai GraphQL API. Specifically, it uses the following endpoints:

Table 6: Horizon3.ai NodeZero API endpoints

Connector ObjectAPI Endpoint
HostPOST /v1/graphqlhosts_page query
OpPOST /v1/graphqlops_page query
WeaknessPOST /v1/graphqlweakness_series_page query
Weakness DefinitionPOST /v1/graphqlweaknesses_page query (embedded vuln subobject)

Changelog

The Horizon3.ai NodeZero connector has undergone the following changes:

note

This connector is part of a bundled release with other connectors from the same vendor. If a version shows "No change", it means that the connector version was updated for consistency as part of the bundle, but no functional changes were made to this specific connector. You can update to or skip this version without affecting your existing configuration.

Table 7: Horizon3.ai NodeZero changelog

VersionDescriptionDate Published
3.0.0Initial Integration+ release.April 1st, 2026